/* ==========================================================================
   Boldorg — Inner pages (services, projects, about, quote)
   ========================================================================== */

.bo-breadcrumb { font-size: .9rem; color: var(--bo-text-soft); margin-bottom: 1.5rem; }
.bo-breadcrumb a { color: var(--bo-text); font-weight: 500; }
.bo-breadcrumb a:hover { color: var(--bo-blue); }
.bo-breadcrumb span { margin: 0 .4rem; }

/* ---------- Services archive: zigzag rows ---------- */
.bo-svc-list { display: flex; flex-direction: column; gap: clamp(2.5rem, 5vw, 4.5rem); }
.bo-svc-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.bo-svc-row--flip .bo-svc-row__art { order: 2; }
.bo-svc-row__art { border-radius: var(--bo-r-lg); overflow: hidden; box-shadow: var(--bo-shadow-md); border: 1px solid var(--bo-border); }
.bo-svc-row__img { width: 100%; aspect-ratio: 720/520; object-fit: cover; }
.bo-svc-row__text h2, .bo-svc-row__text h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin: 1.1rem 0 .6rem; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.bo-svc-row__lead { font-size: 1.1rem; }

/* ---------- References: logo wall ---------- */
.bo-logo-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
.bo-logo-wall__item { display: grid; place-items: center; min-height: 130px; padding: 1.5rem; background: #fff; border: 1px solid var(--bo-border); border-radius: var(--bo-r-lg); transition: box-shadow .3s var(--bo-ease), transform .3s var(--bo-ease); }
.bo-logo-wall__item:hover { box-shadow: var(--bo-shadow-md); transform: translateY(-4px); }
.bo-logo-wall__item img { max-height: 64px; max-width: 100%; width: auto; object-fit: contain; }
.bo-logo-wall__name { font-family: var(--bo-font-display); font-weight: 700; font-size: 1.15rem; color: var(--bo-ink); }
@media (max-width: 480px) { .bo-logo-wall { grid-template-columns: 1fr 1fr; } }
.bo-svc-row__features { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1.2rem; margin: 1.4rem 0; }
.bo-svc-row__features li { display: flex; align-items: center; gap: .5rem; font-size: .95rem; color: var(--bo-ink); }
.bo-svc-row__features .bo-icon { color: var(--bo-blue); flex: 0 0 auto; }
@media (max-width: 760px) {
	.bo-svc-row { grid-template-columns: 1fr; }
	.bo-svc-row--flip .bo-svc-row__art { order: 0; }
	.bo-svc-row__features { grid-template-columns: 1fr; }
}

/* ---------- Single service ---------- */
.bo-svc-hero { position: relative; overflow: hidden; padding-block: clamp(2.5rem, 5vw, 4rem); }
.bo-svc-hero__mesh { position: absolute; inset: 0; background: transparent; z-index: 0; }
.bo-svc-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,4vw,3.5rem); align-items: center; }
.bo-svc-hero__text h1 { font-size: var(--bo-fs-h1); margin: 1.2rem 0 .8rem; }
.bo-svc-hero__lead { font-size: var(--bo-fs-lead); margin-bottom: 1.6rem; }
.bo-svc-hero__art { border-radius: var(--bo-r-lg); overflow: hidden; box-shadow: var(--bo-shadow-lg); border: 1px solid var(--bo-border); }
.bo-svc-hero__img { width: 100%; }
@media (max-width: 820px) { .bo-svc-hero__inner { grid-template-columns: 1fr; } .bo-svc-hero__art { order: -1; } }

.bo-svc-body { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(2rem,4vw,3.5rem); align-items: start; }
.bo-svc-body__aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 1.2rem; }
.bo-svc-aside-card { background: #fff; border: 1px solid var(--bo-border); border-radius: var(--bo-r-lg); padding: 1.8rem; box-shadow: var(--bo-shadow-sm); }
.bo-svc-aside-card h4 { font-size: 1.15rem; margin-bottom: 1rem; }
.bo-svc-aside-card--accent { background: var(--bo-blue-100); }
.bo-svc-aside-card--accent .bo-icon-tile { margin-bottom: 1rem; }
.bo-feature-list--ink li { color: var(--bo-ink); }
.bo-feature-list--ink .bo-icon { color: var(--bo-blue); }
@media (max-width: 820px) { .bo-svc-body { grid-template-columns: 1fr; } .bo-svc-body__aside { position: static; } }

/* ---------- Projects archive ---------- */
.bo-filter { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.5rem; }
.bo-filter__btn { padding: .55rem 1.1rem; border-radius: var(--bo-r-pill); border: 1.5px solid var(--bo-border); font-weight: 600; font-size: .92rem; color: var(--bo-ink); transition: all .2s var(--bo-ease); }
.bo-filter__btn:hover { border-color: var(--bo-blue); color: var(--bo-blue); }
.bo-filter__btn.is-active { background: var(--bo-blue); border-color: var(--bo-blue); color: #fff; }
.bo-proj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.8rem; }
.bo-proj-card { background: #fff; border: 1px solid var(--bo-border); border-radius: var(--bo-r-lg); overflow: hidden; text-decoration: none; transition: transform .35s var(--bo-ease-out), box-shadow .35s; }
.bo-proj-card.is-hidden { display: none; }
.bo-proj-card:hover { transform: translateY(-6px); box-shadow: var(--bo-shadow-lg); }
.bo-proj-card__media { overflow: hidden; }
.bo-proj-card__media img { aspect-ratio: 16/11; object-fit: cover; width: 100%; transition: transform .5s var(--bo-ease-out); }
.bo-proj-card:hover .bo-proj-card__media img { transform: scale(1.04); }
.bo-proj-card__body { padding: 1.5rem; }
.bo-proj-card__meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: .6rem; }
.bo-proj-card__year { font-size: .85rem; color: var(--bo-text-soft); font-weight: 600; }
.bo-proj-card__body h3 { font-size: 1.3rem; color: var(--bo-ink); }
.bo-proj-card__body p { margin: .5rem 0 1rem; font-size: .95rem; }
@media (max-width: 900px) { .bo-proj-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bo-proj-grid { grid-template-columns: 1fr; } }

/* ---------- Single project ---------- */
.bo-case-hero { padding-block: clamp(2.5rem,5vw,4rem) clamp(1.5rem,3vw,2.5rem); }
.bo-case-hero__top { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2.5rem; align-items: end; }
.bo-case-hero__text h1 { font-size: var(--bo-fs-h1); margin: .8rem 0; }
.bo-case-hero__lead { font-size: var(--bo-fs-lead); margin-bottom: 1rem; }
.bo-case-hero__facts { display: grid; gap: 1rem; background: var(--bo-bg-soft); border-radius: var(--bo-r-lg); padding: 1.5rem; }
.bo-case-hero__facts div { display: flex; flex-direction: column; }
.bo-case-hero__facts dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--bo-text-soft); font-weight: 600; }
.bo-case-hero__facts dd { color: var(--bo-ink); font-weight: 600; margin-top: .15rem; }
.bo-case-cover { border-radius: var(--bo-r-xl); overflow: hidden; box-shadow: var(--bo-shadow-lg); border: 1px solid var(--bo-border); }
.bo-case-cover__img { width: 100%; }
@media (max-width: 760px) { .bo-case-hero__top { grid-template-columns: 1fr; } }

.bo-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1.5rem; background: var(--bo-ink); border-radius: var(--bo-r-xl); padding: clamp(2rem,4vw,3rem); }
.bo-result { text-align: center; }
.bo-result__value { display: block; font-family: var(--bo-font-display); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; }
.bo-result__label { display: block; margin-top: .4rem; color: #9AA3AF; font-size: .92rem; }

/* ---------- About ---------- */
.bo-about-hero { position: relative; overflow: hidden; padding-block: clamp(3rem,6vw,5rem); }
.bo-about-hero__mesh { position: absolute; inset: 0; background: transparent; z-index: 0; }
.bo-about-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,4vw,3.5rem); align-items: center; }
.bo-about-hero__text h1 { font-size: var(--bo-fs-hero); margin: 1.2rem 0 1rem; }
.bo-about-hero__text p { font-size: var(--bo-fs-lead); margin-bottom: 1.8rem; }
/* Team / founder placeholder card */
.bo-team-card { position: relative; background: #fff; border: 1px solid var(--bo-border); border-radius: var(--bo-r-xl); padding: clamp(1.4rem, 3vw, 2rem); box-shadow: var(--bo-shadow-lg); display: grid; gap: 1.3rem; }
.bo-team-card__photo { position: relative; aspect-ratio: 16 / 11; border-radius: var(--bo-r-lg); background: var(--bo-blue); display: grid; place-items: center; overflow: hidden; }
.bo-team-card__photo::after { content: none; }
.bo-team-card__avatar { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; font-family: var(--bo-font-display); font-weight: 800; color: var(--bo-blue); background: #fff; border: 2px solid #fff; }
.bo-team-card__avatar--lead { width: 96px; height: 96px; font-size: 1.6rem; box-shadow: var(--bo-shadow-md); position: relative; z-index: 1; }
.bo-team-card__badge { position: absolute; left: 1rem; bottom: 1rem; z-index: 2; display: inline-flex; align-items: center; gap: .35rem; font-size: .76rem; font-weight: 700; color: var(--bo-ink); background: rgba(255,255,255,.92); padding: .3rem .7rem; border-radius: var(--bo-r-pill); box-shadow: var(--bo-shadow-sm); }
.bo-team-card__badge .bo-icon { color: var(--bo-green); }
.bo-team-card__row { display: flex; }
.bo-team-card__row .bo-team-card__avatar { width: 44px; height: 44px; font-size: .95rem; margin-left: -12px; background: var(--bo-blue-100); }
.bo-team-card__row .bo-team-card__avatar:first-child { margin-left: 0; }
.bo-team-card__avatar--more { color: var(--bo-text); background: var(--bo-bg-soft) !important; }
.bo-team-card__meta { display: flex; flex-direction: column; gap: .2rem; }
.bo-team-card__meta strong { font-family: var(--bo-font-display); font-size: 1.1rem; color: var(--bo-ink); }
.bo-team-card__meta span { color: var(--bo-text); font-size: .92rem; }
@media (max-width: 820px) { .bo-about-hero__inner { grid-template-columns: 1fr; text-align: center; } .bo-about-hero__text .bo-btn-row, .bo-about-hero__text .bo-eyebrow { justify-content: center; } .bo-about-hero__art { max-width: 460px; margin-inline: auto; } .bo-team-card__meta { align-items: center; } .bo-team-card__row { justify-content: center; } }

/* ---------- Quote page ---------- */
.bo-quote-hero .bo-page-hero__title { max-width: 22ch; }
.bo-quote-form-sec { padding-top: clamp(1.5rem, 4vw, 2.5rem); }
@media (max-width: 760px) {
	.bo-quote-hero { padding-bottom: clamp(1.5rem, 4vw, 2rem); }
	.bo-quote-form-sec { padding-top: 1.25rem; }
}
.bo-quote-assure { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.bo-quote-assure__item { display: flex; gap: 1rem; align-items: flex-start; }
.bo-quote-assure__item strong { display: block; color: var(--bo-ink); font-family: var(--bo-font-display); font-size: 1.1rem; }
.bo-quote-assure__item p { font-size: .92rem; margin-top: .2rem; }
@media (max-width: 760px) { .bo-quote-assure { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; } }

/* ---------- Contact page ---------- */
.bo-contact-hero .bo-page-hero__title { max-width: 22ch; }
.bo-contact-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: stretch; }
.bo-contact-panel, .bo-contact-card, .bo-contact-route {
	position: relative;
	background: #fff;
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-r-xl);
	box-shadow: var(--bo-shadow-md);
}
.bo-contact-panel { padding: clamp(1.5rem, 4vw, 2.5rem); }
.bo-contact-panel h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: .9rem 0 .8rem; max-width: 12ch; }
.bo-contact-panel > p { max-width: 58ch; font-size: 1.05rem; }
.bo-contact-list { display: grid; gap: .9rem; margin-top: 2rem; }
.bo-contact-note { margin-top: 1.5rem; padding: 1rem; border-radius: var(--bo-r-md); background: var(--bo-bg-soft); border: 1px solid var(--bo-border); }
.bo-contact-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid var(--bo-border);
	border-radius: var(--bo-r-md);
	color: var(--bo-ink);
	background: var(--bo-bg-soft);
	transition: transform .25s var(--bo-ease), border-color .25s var(--bo-ease), background .25s var(--bo-ease);
}
.bo-contact-item:hover { color: var(--bo-ink); background: #fff; border-color: var(--bo-blue-300); transform: translateY(-2px); }
.bo-contact-item strong { display: block; font-family: var(--bo-font-display); font-size: 1.05rem; color: var(--bo-ink); }
.bo-contact-item small { display: block; margin-top: .12rem; color: var(--bo-text); font-size: .9rem; }
.bo-contact-card { overflow: hidden; padding: clamp(1.4rem, 3vw, 2rem); display: flex; flex-direction: column; justify-content: space-between; }
.bo-contact-card__glow { display: none; }
.bo-contact-card > *:not(.bo-contact-card__glow) { position: relative; z-index: 1; }
.bo-contact-card h3 { margin: 1.2rem 0 .35rem; font-size: 1.45rem; }
.bo-contact-facts { display: grid; gap: .75rem; margin-top: 1.6rem; }
.bo-contact-facts li { display: flex; gap: .55rem; align-items: flex-start; color: var(--bo-ink); font-size: .95rem; }
.bo-contact-facts .bo-icon { color: var(--bo-blue); flex: 0 0 auto; margin-top: .2rem; }
.bo-contact-routes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.bo-contact-route { padding: clamp(1.25rem, 3vw, 1.8rem); display: flex; flex-direction: column; align-items: flex-start; }
.bo-contact-route h3 { margin: 1.1rem 0 .55rem; font-size: 1.25rem; }
.bo-contact-route p { margin-bottom: 1.5rem; font-size: .96rem; }
.bo-contact-route .bo-btn { margin-top: auto; }
@media (max-width: 900px) {
	.bo-contact-grid, .bo-contact-routes { grid-template-columns: 1fr; }
	.bo-contact-card { min-height: 0; }
}
@media (max-width: 560px) {
	.bo-contact-panel, .bo-contact-card, .bo-contact-route { border-radius: var(--bo-r-lg); }
	.bo-contact-item { align-items: flex-start; }
	.bo-contact-route .bo-btn { width: 100%; justify-content: center; }
}
