/* ===== additions for the 2026 Advise + Build redesign ===== */
.nav-links > li > a.active { color:var(--accent); }
.nav-links > li > a.nav-cta { margin-left:0.8rem; }

.eyebrow { font-size:0.75rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:0.75rem; }
.lead { font-size:1.1rem; color:var(--text); max-width:760px; }
.muted { color:var(--gray); }
.section-alt { background:var(--navy-mid); }

/* symptom cards */
.symptoms { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:1rem; }
.symptom { border:1px solid rgba(0,170,255,0.14); border-radius:4px; padding:1.25rem 1.4rem; background:rgba(17,34,64,0.55); }
.symptom strong { display:block; font-family:var(--font-head); font-size:1.1rem; color:var(--white); letter-spacing:0.02em; margin-bottom:0.3rem; }
.symptom span { font-size:0.9rem; color:var(--gray); line-height:1.55; }

/* two tracks: advise / build */
.tracks { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.track { background:var(--navy); border:1px solid rgba(0,170,255,0.15); border-top:3px solid var(--accent); padding:2rem; border-radius:3px; display:flex; flex-direction:column; }
.track.build { border-top-color:#5fd08a; }
.track h3 { font-size:1.6rem; text-transform:uppercase; margin-bottom:0.25rem; }
.track .q { color:var(--accent); font-family:var(--font-head); font-size:1.05rem; letter-spacing:0.04em; margin-bottom:1rem; }
.track.build .q { color:#5fd08a; }
.track p { color:var(--text); font-size:0.95rem; margin-bottom:1rem; }
.track ul { list-style:none; margin-bottom:1.5rem; }
.track li { padding:0.45rem 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:0.92rem; }
.track li a { color:var(--off-white); }
.track li a:hover { color:var(--accent); }
.track .btn { margin-top:auto; align-self:flex-start; }

/* offer cards */
.offers { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr)); gap:1.5px; background:rgba(0,170,255,0.08); border:1px solid rgba(0,170,255,0.08); }
.offer { background:var(--navy-mid); padding:2rem; position:relative; display:flex; flex-direction:column; transition:background 0.2s; }
.offer:hover { background:var(--navy-light); }
.offer .num { font-family:var(--font-head); font-size:0.8rem; letter-spacing:0.14em; color:var(--accent); text-transform:uppercase; margin-bottom:0.6rem; }
.offer h3 { font-size:1.25rem; text-transform:uppercase; letter-spacing:0.03em; margin-bottom:0.6rem; }
.offer p { font-size:0.9rem; color:var(--gray); line-height:1.6; margin-bottom:1rem; }
.offer .meta { font-size:0.8rem; color:var(--off-white); margin-top:auto; margin-bottom:0.8rem; }
.offer .meta b { color:var(--accent); font-weight:600; }
.offer a { font-size:0.8rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); min-height:44px; display:inline-flex; align-items:center; }
.offer a::after { content:''; position:absolute; inset:0; }
.offer a:hover { color:var(--white); }

/* process steps */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:step; }
.step { position:relative; padding:1.5rem 1.5rem 1.5rem 0; }
.step::before { counter-increment:step; content:counter(step,decimal-leading-zero); display:block; font-family:var(--font-head); font-size:2.4rem; font-weight:700; color:rgba(0,170,255,0.35); line-height:1; margin-bottom:0.5rem; }
.step::after { content:'→'; position:absolute; right:0.6rem; top:1.6rem; color:rgba(0,170,255,0.5); font-size:1.4rem; }
.step:last-child::after { content:none; }
.step h3 { font-size:1.15rem; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:0.35rem; }
.step p { font-size:0.88rem; color:var(--gray); line-height:1.55; }

/* principle band */
.principle { text-align:center; padding:4.5rem 2rem; background:linear-gradient(90deg,var(--navy) 0%,var(--navy-mid) 50%,var(--navy) 100%); border-top:1px solid rgba(0,170,255,0.12); border-bottom:1px solid rgba(0,170,255,0.12); }
.principle blockquote { font-family:var(--font-head); font-size:clamp(1.5rem,3vw,2.3rem); color:var(--white); text-transform:uppercase; letter-spacing:0.03em; line-height:1.2; max-width:900px; margin:0 auto 1rem; }
.principle blockquote span { color:var(--accent); }
.principle p { color:var(--gray); max-width:680px; margin:0 auto; }

/* offer detail pages */
.offer-layout { max-width:1180px; margin:0 auto; padding:4rem 2rem; display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:3rem; align-items:start; }
.offer-layout .content-body { padding:0; max-width:none; margin:0; }
.offer-layout .content-body > h2:first-child { margin-top:0; }
.facts { position:sticky; top:88px; background:var(--navy-mid); border:1px solid rgba(0,170,255,0.15); border-top:3px solid var(--accent); padding:1.6rem; border-radius:3px; }
.facts dt { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); margin-top:1rem; }
.facts dt:first-child { margin-top:0; }
.facts dd { color:var(--off-white); font-size:0.95rem; line-height:1.5; }
.facts .btn { margin-top:1.4rem; width:100%; text-align:center; }
.trigger { border-left:3px solid var(--accent); padding:0.9rem 1.2rem; margin:1.25rem 0 1.5rem; background:rgba(0,170,255,0.05); font-size:1.08rem; font-style:italic; color:var(--off-white); }
.endstate { border:1px solid rgba(95,208,138,0.35); background:rgba(95,208,138,0.06); border-radius:4px; padding:1.25rem 1.4rem; margin:1.5rem 0; }
.endstate .eyebrow { color:#5fd08a; margin-bottom:0.35rem; }
.endstate p { margin:0!important; color:var(--white)!important; font-size:1.05rem; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; }
.two-col ul { margin-bottom:0.5rem; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1rem 0 1.5rem; }
.split > div { border:1px solid rgba(0,170,255,0.14); border-radius:4px; padding:1rem 1.2rem; }
.split h3 { margin-top:0!important; font-size:1.05rem!important; }
.split ul { margin-bottom:0!important; }
.split li { font-size:0.9rem; }
.content-body table.grid { width:100%; margin:1rem 0 1.5rem; font-size:0.92rem; }
.content-body table.grid th, .content-body table.grid td { text-align:left; padding:0.65rem 0.8rem; border-bottom:1px solid rgba(255,255,255,0.08); vertical-align:top; }
.content-body table.grid th { font-family:var(--font-head); font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); }
.content-body table.grid td:first-child { color:var(--white); font-weight:600; white-space:nowrap; }
.pill { display:inline-block; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; padding:0.2rem 0.55rem; border:1px solid rgba(0,170,255,0.35); border-radius:2px; color:var(--accent); margin-right:0.35rem; }
.next-step { margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,0.08); }

/* keep the original service-page CTA look */
.ready { background:var(--navy); padding:4rem 2rem; text-align:center; }
.ready h2 { text-transform:uppercase; margin-bottom:1rem; }
.ready p { color:var(--gray); margin-bottom:2rem; }

@media (max-width:900px) {
    .tracks, .two-col, .split { grid-template-columns:1fr; }
    .steps { grid-template-columns:1fr 1fr; }
    .step:nth-child(2)::after { content:none; }
    .offer-layout { grid-template-columns:1fr; }
    .facts { position:static; }
    .nav-links > li > a.nav-cta { margin:0.5rem 1.5rem; text-align:center; }
}
@media (max-width:600px) {
    .steps { grid-template-columns:1fr; }
    .step::after { content:none; }
    .offer-layout { padding:3rem 1.2rem; }
}
.hero { min-height:min(80vh,760px); }
/* contact form: the generic ".dxform input {width:100%}" also stretched the consent checkbox */
.dxform .consent input[type=checkbox] { width:auto!important; flex:0 0 auto; min-height:0; }
/* typical engagement cards (who we are) */
.cases { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); gap:1rem; margin:1rem 0 2rem; }
.case { border:1px solid rgba(0,170,255,0.14); border-radius:4px; padding:1.3rem 1.4rem; background:rgba(17,34,64,0.55); }
.case h3 { margin:0.6rem 0 0.7rem!important; font-size:1.15rem!important; color:var(--white)!important; }
.case p { font-size:0.9rem; line-height:1.55; margin-bottom:0.55rem!important; }
.case p b { color:var(--accent); font-weight:600; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; display:block; }
.case .svc { font-size:0.8rem; color:var(--gray); margin:0.4rem 0 0!important; }
.case .svc a { color:var(--gray); text-decoration:underline; text-decoration-color:rgba(136,153,170,0.4); }
.case .svc a:hover { color:var(--accent); }
.who-wide { max-width:1180px; margin:0 auto; padding:0 2rem 1rem; }
.case p, .symptom span { hyphens:manual; }
