:root { color-scheme: light; --ink:#102332; --navy:#0b1b27; --soft:#425663; --paper:#f5f6f4; --line:#d4dcd9; --gold:#e9ad4c; --gold-ink:#855813; --max:1260px; font-family:Aptos,"Segoe UI",Arial,sans-serif; }
    *,*::before,*::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:5rem; }
    body { margin:0; background:var(--paper); color:var(--ink); font-size:1rem; line-height:1.6; }
    a { color:inherit; } button { font:inherit; } :focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
    .skip { position:absolute; top:-5rem; left:1rem; z-index:10; background:white; padding:.7rem 1rem; } .skip:focus { top:1rem; }
    .wrap { width:min(calc(100% - 3rem),var(--max)); margin-inline:auto; }
    .eyebrow { margin:0; font-size:.8rem; line-height:1.4; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
    .section-label { display:inline-flex; align-items:center; gap:.8rem; color:var(--gold-ink); }
    .section-label::before { content:""; width:1.7rem; height:2px; background:currentColor; }
    h1,h2,h3,p { margin-top:0; } h1,h2,h3 { line-height:1.08; letter-spacing:-.04em; }
    h1 { font-size:clamp(3.5rem,6.7vw,6.8rem); font-weight:650; letter-spacing:-.065em; max-width:10.5ch; margin:1.4rem 0; }
    h2 { font-size:clamp(2.25rem,4vw,4.4rem); font-weight:650; margin:1.2rem 0 1.4rem; }
    h3 { font-size:clamp(1.45rem,2vw,2rem); font-weight:650; margin:0 0 .8rem; }
    .lead { font-size:clamp(1.1rem,1.6vw,1.32rem); line-height:1.55; }
    .btn { display:inline-flex; align-items:center; justify-content:center; min-height:3.35rem; padding:.75rem 1.3rem; border:1px solid transparent; text-decoration:none; font-size:.95rem; font-weight:750; line-height:1.25; transition:background-color .2s,color .2s,border-color .2s,transform .2s; }
    .btn:hover { transform:translateY(-2px); } .btn--gold { background:var(--gold); color:var(--navy); } .btn--gold:hover { background:#ffd084; }
    .btn--outline { border-color:#6b8088; color:white; } .btn--outline:hover { background:#ffffff1a; border-color:white; }
    .btn--dark { background:var(--ink); color:white; } .btn--dark:hover { background:#26485c; }
    .btn-arrow { margin-left:1.4rem; font-size:1.25rem; font-weight:400; line-height:.7; }
    .site-header { background:var(--navy); color:white; border-bottom:1px solid #ffffff26; }
    .nav { min-height:5.8rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
    .brand { display:inline-flex; align-items:center; gap:.85rem; flex:none; text-decoration:none; line-height:1; }
    .brand-mark { display:grid; place-items:center; width:2.45rem; height:2.45rem; border:1px solid var(--gold); color:var(--gold); font-size:1.36rem; font-weight:800; letter-spacing:-.12em; padding-right:.15rem; }
    .brand-name { font-size:1.12rem; font-weight:800; letter-spacing:-.045em; white-space:nowrap; }
    .brand-name small { display:block; margin-top:.33rem; color:#b4c3c9; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.19em; }
    .nav-links { display:flex; align-items:center; gap:clamp(1.2rem,2.8vw,2.8rem); }
    .nav-links a { color:#d6e0e3; text-decoration:none; font-size:.92rem; font-weight:650; } .nav-links a:hover { color:var(--gold); }
    .nav-links .nav-contact { color:var(--gold); border-bottom:1px solid currentColor; padding-bottom:.2rem; }
    .menu-toggle { display:none; border:1px solid #8ba0aa; color:white; background:transparent; padding:.5rem .75rem; cursor:pointer; }
    .hero { background:var(--navy); color:white; overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:1.04fr .96fr; min-height:740px; }
    .hero-copy { align-self:center; padding:5rem min(4vw,3.5rem) 6rem 0; position:relative; z-index:1; }
    .hero-copy .eyebrow { color:var(--gold); } .hero-copy .lead { max-width:39rem; color:#d4e0e3; margin-bottom:2.2rem; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; }
    .hero-note { display:flex; align-items:center; gap:.8rem; color:#b2c3c9; font-size:.85rem; margin-top:4.5rem; }
    .hero-note::before { content:""; width:1.7rem; height:1px; background:var(--gold); }
    .hero-visual { min-height:36rem; margin-right:calc((min(100vw - 3rem,var(--max)) - 100vw)/2); position:relative; overflow:hidden; background:#324c57; }
    .hero-visual img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% center; filter:saturate(.72) contrast(1.06); }
    .hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0b1b27 0%,transparent 22%),linear-gradient(0deg,#0b1b27c7,transparent 48%); pointer-events:none; }
    .visual-caption { position:absolute; z-index:1; left:3.4rem; right:3rem; bottom:2.6rem; display:flex; align-items:end; justify-content:space-between; gap:1rem; border-top:1px solid #ffffff70; padding-top:.85rem; color:white; font-size:.82rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
    .visual-caption span:last-child { font-size:.74rem; color:var(--gold); white-space:nowrap; }
    .intro,.assessment,.services,.approach,.about,.contact { padding:6.4rem 0; }
    .intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,9vw,10rem); }
    .intro h2 { max-width:12ch; } .intro-body,.about-content,.contact-side { border-top:1px solid #8fa19f; padding-top:1.3rem; }
    .intro-body .lead { margin-bottom:1.7rem; } .intro-body p:not(.lead),.about-content p:not(.lead) { max-width:58ch; color:var(--soft); }
    .signal-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; }
    .signal { border-left:2px solid var(--gold); padding-left:1rem; color:var(--soft); line-height:1.45; font-size:.94rem; }
    .signal strong { display:block; color:var(--ink); font-size:1rem; margin-bottom:.45rem; }
    .assessment { background:#e7ecea; } .assessment-grid { display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(3rem,9vw,10rem); }
    .assessment-head h2 { max-width:11ch; } .assessment-head p:not(.eyebrow) { max-width:31rem; color:var(--soft); font-size:1.08rem; }
    .assessment-head .btn { margin-top:1rem; }
    .assessment-panel { background:white; border-top:5px solid var(--gold); box-shadow:0 16px 40px #1023320d; }
    .panel-top { padding:2rem 2.2rem 1.45rem; border-bottom:1px solid var(--line); }
    .panel-top .eyebrow { color:var(--gold-ink); } .panel-top h3 { margin-top:.8rem; } .panel-top p { margin-bottom:0; color:var(--soft); }
    .deliverables { list-style:none; margin:0; padding:0 2.2rem; }
    .deliverables li { display:grid; grid-template-columns:2.2rem 1fr; align-items:baseline; gap:1rem; padding:1.12rem 0; border-bottom:1px solid var(--line); line-height:1.4; }
    .deliverables li:last-child { border:none; } .deliverables span { color:var(--gold-ink); font-size:.78rem; font-weight:800; letter-spacing:.08em; }
    .panel-foot { display:flex; justify-content:space-between; gap:1.5rem; padding:1.15rem 2.2rem; background:#f6f8f6; font-size:.84rem; font-weight:700; color:var(--soft); }
    .services { background:white; } .services-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2.3rem; }
    .services-heading h2 { max-width:13ch; margin-bottom:0; } .services-heading > p { max-width:30rem; margin-bottom:.35rem; color:var(--soft); }
    .service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; }
    .service-card { border:1px solid var(--line); padding:clamp(1.65rem,3vw,2.7rem); display:flex; flex-direction:column; min-height:23.5rem; }
    .service-card .num { color:var(--gold-ink); font-size:.82rem; font-weight:800; margin-bottom:3.2rem; }
    .service-card p { color:var(--soft); max-width:34rem; } .service-card .outcome { border-top:1px solid var(--line); padding-top:1.1rem; margin-top:auto; margin-bottom:0; color:var(--ink); font-size:.92rem; font-weight:700; }
    .approach { color:white; background:var(--ink); position:relative; overflow:hidden; }
    .approach::before { content:""; position:absolute; inset:0; opacity:.09; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:6rem 6rem; pointer-events:none; }
    .approach .wrap { position:relative; } .approach .section-label { color:var(--gold); } .approach h2 { max-width:15ch; }
    .step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; margin-top:4rem; }
    .step { border-top:1px solid #718996; padding-top:1.3rem; } .step .num { color:var(--gold); display:block; font-size:.8rem; font-weight:800; margin-bottom:2.5rem; }
    .step h3 { margin-bottom:.8rem; } .step p { color:#c7d5da; max-width:24rem; margin-bottom:0; }
    .about-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(3rem,12vw,12rem); } .about h2 { margin-bottom:0; }
    .about-content .lead { max-width:44rem; } .about-rule { border-left:2px solid var(--gold); padding-left:1.2rem; margin-top:2rem; font-weight:700; }
    .contact { background:#dce4e2; } .contact-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:5rem; align-items:end; }
    .contact h2 { max-width:11ch; margin-bottom:1.2rem; } .contact .lead { max-width:38rem; margin-bottom:0; }
    .contact-side .eyebrow { color:var(--gold-ink); margin-bottom:.85rem; }
    .contact-side a { font-size:clamp(1.2rem,2.1vw,1.8rem); line-height:1.25; font-weight:700; text-decoration-thickness:1px; text-underline-offset:.26em; overflow-wrap:anywhere; }
    .contact-side a:hover { color:var(--gold-ink); } .contact-side p { margin-top:1.8rem; color:var(--soft); font-size:.94rem; }
    footer { background:var(--navy); color:#bacbd0; padding:2.4rem 0; }
    .footer-grid { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; font-size:.84rem; }
    footer strong { color:white; font-size:1rem; } footer p { margin:0; } footer a { text-decoration:none; border-bottom:1px solid #779098; } footer a:hover { color:var(--gold); }
    @media (max-width:960px) {
      .hero-grid { min-height:unset; grid-template-columns:1fr; } .hero-copy { padding:5.3rem 0 4rem; } h1 { max-width:12ch; }
      .hero-note { margin-top:3.2rem; } .hero-visual { height:29rem; min-height:0; margin-left:-1.5rem; margin-right:-1.5rem; }
      .hero-visual::after { background:linear-gradient(0deg,#0b1b27b8,transparent 42%); }
      .intro-grid,.assessment-grid,.about-grid { gap:3.5rem; } .contact-grid { gap:2.5rem; }
    }
    @media (max-width:700px) {
      .wrap { width:min(calc(100% - 2.25rem),var(--max)); } .nav { min-height:4.8rem; flex-wrap:wrap; gap:0; }
      .brand-name { font-size:1rem; } .brand-mark { width:2.2rem; height:2.2rem; } .menu-toggle { display:block; }
      .nav-links { display:none; flex-basis:100%; flex-direction:column; align-items:stretch; gap:0; padding:.8rem 0 1.3rem; }
      .nav-links.open { display:flex; } .nav-links a { padding:.8rem .2rem; font-size:1rem; } .nav-links .nav-contact { border:0; padding-bottom:.8rem; }
      .hero-copy { padding:3.2rem 0 3.5rem; } h1 { font-size:clamp(2.8rem,11vw,4.5rem); }
      .hero-visual { height:23rem; margin-left:-1.125rem; margin-right:-1.125rem; } .visual-caption { left:1.3rem; right:1.3rem; bottom:1.4rem; }
      .intro,.assessment,.services,.approach,.about,.contact { padding:4.5rem 0; }
      .intro-grid,.assessment-grid,.about-grid,.contact-grid { grid-template-columns:1fr; gap:2.2rem; }
      .signal-row,.service-grid,.step-grid { grid-template-columns:1fr; } .signal-row { gap:1.5rem; margin-top:2.4rem; }
      .services-heading { display:block; } .services-heading > p { margin-top:1.4rem; } .service-card { min-height:19rem; }
      .service-card .num { margin-bottom:2rem; } .step-grid { margin-top:2.8rem; gap:2.3rem; } .step .num { margin-bottom:1.5rem; }
      .panel-top { padding:1.6rem; } .deliverables { padding:0 1.6rem; } .panel-foot { padding:1.1rem 1.6rem; flex-direction:column; gap:.3rem; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } .btn:hover { transform:none; } }

    /* Shared multi-page layout */
    .nav-links a[aria-current="page"] { color:white; border-bottom:1px solid var(--gold); padding-bottom:.2rem; }
    .page-hero { background:var(--navy); color:white; padding:6.6rem 0 7.2rem; }
    .page-hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(15rem,.6fr); gap:clamp(3rem,9vw,9rem); align-items:end; }
    .page-hero .eyebrow { color:var(--gold); }
    .page-hero h1 { font-size:clamp(3.25rem,6vw,6.25rem); max-width:14ch; margin:1.3rem 0 1.55rem; }
    .page-hero .lead { max-width:47rem; color:#d4e0e3; margin:0; }
    .page-hero-side { border-top:1px solid #70838c; padding-top:1.15rem; margin-bottom:.3rem; color:#c8d5d9; font-size:1rem; }
    .page-hero-side p:last-child { margin-bottom:0; }
    .page-hero-side .eyebrow { margin-bottom:1rem; }
    .content-section { padding:6.25rem 0; background:white; }
    .content-section.shaded { background:#e7ecea; }
    .content-section h2,.split-section h2 { max-width:16ch; }
    .content-section p,.split-section p { color:var(--soft); }
    .content-section .lead,.split-section .lead { color:var(--ink); }
    .split-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(3rem,9vw,10rem); }
    .split-grid > :last-child { border-top:1px solid #8fa19f; padding-top:1.3rem; }
    .split-grid > :last-child p { max-width:59ch; }
    .split-section { background:#dce4e2; padding:6.25rem 0; }
    .contact-band { background:var(--ink); color:white; padding:5.5rem 0; }
    .contact-band-grid { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:end; }
    .contact-band .section-label { color:var(--gold); }
    .contact-band h2 { max-width:14ch; margin-bottom:.8rem; }
    .contact-band p:not(.eyebrow) { max-width:42rem; margin-bottom:0; color:#d3dfe3; font-size:1.09rem; }
    .text-link { display:inline-block; width:max-content; max-width:100%; color:var(--ink); text-decoration:none; font-weight:800; border-bottom:2px solid var(--gold-ink); padding-bottom:.25rem; }
    .text-link:hover { color:var(--gold-ink); }
    .text-link--light { color:white; border-color:var(--gold); }
    .text-link--light:hover { color:var(--gold); }
    .service-card--link { text-decoration:none; transition:background-color .2s,border-color .2s,transform .2s; }
    .service-card--link:hover { border-color:#829b9d; background:#f4f7f6; transform:translateY(-3px); }
    .service-card--link .card-link { display:block; margin-top:auto; padding-top:1.1rem; border-top:1px solid var(--line); font-weight:800; text-decoration:underline; text-underline-offset:.27em; }
    .service-card--link p { margin-bottom:2rem; }
    .method-line { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #718996; border-bottom:1px solid #718996; margin:3.5rem 0 1.8rem; }
    .method-line span { padding:1.3rem .8rem 1.3rem 0; font-size:clamp(1.05rem,1.8vw,1.6rem); font-weight:700; letter-spacing:-.03em; }
    .method-line span:not(:first-child) { border-left:1px solid #718996; padding-left:1.1rem; }
    .method-summary { color:#c7d5da; max-width:44rem; font-size:1.1rem; margin-bottom:1.7rem; }
    .offer-list { border-top:1px solid var(--line); margin-top:2.5rem; }
    .offer-row { display:grid; grid-template-columns:5rem minmax(0,1fr) auto; gap:clamp(1.3rem,4vw,4.5rem); align-items:start; padding:2.5rem 0; border-bottom:1px solid var(--line); }
    .offer-no,.large-no { color:var(--gold-ink); font-weight:800; }
    .offer-no { font-size:1.3rem; }
    .offer-row h3 { margin-bottom:.7rem; }
    .offer-row p { max-width:49rem; margin-bottom:.75rem; }
    .offer-fit { font-size:.94rem; font-weight:700; color:var(--ink)!important; }
    .offer-row .text-link { margin-top:.4rem; white-space:nowrap; }
    .topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0 2rem; border-top:1px solid #a8b8b7; margin-top:2.5rem; }
    .topic-grid > div { border-bottom:1px solid #a8b8b7; padding:1.5rem 0 1.7rem; }
    .topic-grid strong { display:block; font-size:1.22rem; margin-bottom:.5rem; }
    .topic-grid p { max-width:30ch; margin:0; }
    .deliver-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,9rem); }
    .deliver-grid > div:first-child p { max-width:36rem; }
    .number-list { list-style:none; padding:0; margin:0; counter-reset:deliver; border-top:1px solid var(--line); }
    .number-list li { counter-increment:deliver; display:grid; grid-template-columns:2.7rem 1fr; gap:.15rem 1rem; border-bottom:1px solid var(--line); padding:1.2rem 0; }
    .number-list li::before { content:counter(deliver,decimal-leading-zero); grid-row:span 2; color:var(--gold-ink); font-size:.84rem; font-weight:800; padding-top:.2rem; }
    .number-list strong { font-size:1.08rem; }
    .number-list span { color:var(--soft); }
    .scope-note { background:#eef2f0; border-top:1px solid var(--line); padding:2rem 0; }
    .scope-note .wrap { display:grid; grid-template-columns:15rem 1fr; gap:3rem; }
    .scope-note .eyebrow { color:var(--gold-ink); }
    .scope-note p:last-child { margin:0; max-width:65rem; color:var(--soft); }
    .phase-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
    .phase-grid article { background:white; border-top:5px solid var(--gold); padding:clamp(1.7rem,3vw,3rem); }
    .phase-grid article h2 { max-width:16ch; font-size:clamp(2rem,3vw,3.1rem); }
    .phase-grid article p { max-width:37rem; }
    .large-no { display:block; font-size:1.15rem; margin-bottom:3rem; }
    .phase-grid article strong { display:block; border-top:1px solid var(--line); padding-top:1.25rem; margin-top:2rem; }
    .visual-options article { background:#f5f7f6; }
    .check-list { padding-left:1.1rem; margin:1.4rem 0 0; }
    .check-list li { padding:.2rem 0; }
    .check-list li::marker { color:var(--gold-ink); }
    .sample-report { align-self:start; background:var(--ink); color:white; box-shadow:0 18px 40px #10233224; }
    .sample-head { display:flex; justify-content:space-between; gap:1rem; background:var(--gold); color:var(--ink); font-size:.75rem; font-weight:800; letter-spacing:.09em; padding:1rem 1.4rem; }
    .sample-row { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; border-bottom:1px solid #ffffff35; padding:1.3rem 1.4rem; }
    .sample-row:last-child { border-bottom:0; }
    .sample-row strong { font-size:.92rem; }
    .sample-row span { color:#c8d6da; font-size:.92rem; }
    .small-note { font-size:.92rem; border-left:2px solid var(--gold-ink); padding-left:1rem; }
    .feature-list { list-style:none; padding:0; margin:0; }
    .feature-list li { border-bottom:1px solid #a8b8b7; padding:1rem 0; }
    .feature-list li:first-child { padding-top:0; }
    .feature-list strong,.feature-list span { display:block; }
    .feature-list span { color:var(--soft); margin-top:.25rem; }
    .method-stages { border-top:1px solid var(--line); }
    .method-stages article { display:grid; grid-template-columns:13rem 1fr 15rem; gap:2.5rem; border-bottom:1px solid var(--line); padding:2.2rem 0; }
    .method-stages article > span { color:var(--gold-ink); font-size:.85rem; font-weight:800; letter-spacing:.1em; }
    .method-stages h2 { font-size:clamp(1.8rem,3vw,2.8rem); margin:0 0 .6rem; }
    .method-stages p { max-width:44rem; margin:0; }
    .method-stages strong { align-self:end; font-size:.92rem; }
    .founder-caption { font-weight:800; }
    .principle-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.8rem; margin-top:2.5rem; }
    .principle-grid > div { border-top:1px solid #9caead; padding-top:1rem; }
    .principle-grid span { color:var(--gold-ink); font-size:.85rem; font-weight:800; }
    .principle-grid h3 { margin-top:2.5rem; font-size:1.5rem; }
    .contact-page-grid { display:grid; grid-template-columns:1fr .8fr; gap:clamp(3rem,10vw,10rem); }
    .contact-email { display:inline-block; font-size:clamp(1.5rem,3vw,2.5rem); font-weight:700; overflow-wrap:anywhere; text-underline-offset:.25em; }
    .contact-email:hover { color:var(--gold-ink); }
    .contact-location { margin-top:2rem; max-width:32rem; }
    .contact-prompt { border-top:4px solid var(--gold); padding:2rem; background:#e7ecea; }
    .contact-prompt ol { padding-left:1.3rem; }
    .contact-prompt li { margin-bottom:.7rem; }
    .contact-prompt p { margin-bottom:0; font-weight:700; }
    .quick-links { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem 2rem; margin-top:2rem; }
    .quick-links a { display:block; border-bottom:1px solid #9caead; padding:1rem 0; font-size:1.1rem; font-weight:700; text-decoration:none; }
    .quick-links a:hover { color:var(--gold-ink); }
    footer nav { display:flex; gap:1.2rem; flex-wrap:wrap; }
    @media (max-width:960px) {
      .page-hero-grid,.split-grid,.deliver-grid,.contact-page-grid { gap:2.5rem; }
      .method-stages article { grid-template-columns:9rem 1fr; }
      .method-stages strong { grid-column:2; }
      .principle-grid { grid-template-columns:repeat(2,1fr); }
    }
    @media (max-width:700px) {
      .page-hero,.content-section,.split-section { padding:4.5rem 0; }
      .page-hero-grid,.split-grid,.deliver-grid,.contact-page-grid,.contact-band-grid,.phase-grid { grid-template-columns:1fr; }
      .page-hero h1 { font-size:clamp(2.8rem,10.5vw,4.5rem); }
      .page-hero-side { max-width:27rem; }
      .contact-band { padding:4.5rem 0; }
      .method-line { grid-template-columns:repeat(2,1fr); }
      .method-line span { border-bottom:1px solid #718996; }
      .method-line span:not(:first-child) { border-left:0; padding-left:0; }
      .method-line span:nth-child(even) { border-left:1px solid #718996; padding-left:1rem; }
      .method-line span:last-child { border-bottom:0; }
      .offer-row { grid-template-columns:2.5rem 1fr; gap:1rem; }
      .offer-row .text-link { grid-column:2; }
      .topic-grid { grid-template-columns:repeat(2,1fr); }
      .scope-note .wrap { grid-template-columns:1fr; gap:.5rem; }
      .principle-grid { gap:1.2rem; }
      .method-stages article { grid-template-columns:1fr; gap:.6rem; }
      .method-stages strong { grid-column:1; margin-top:.5rem; }
      .quick-links { grid-template-columns:1fr; }
    }
    @media (max-width:460px) {
      .topic-grid,.principle-grid { grid-template-columns:1fr; }
      .sample-row { grid-template-columns:1fr; gap:.3rem; }
      .sample-head span:last-child { display:none; }
    }

.cert-strip{background:#17394b;color:#dce6e8;font-size:.77rem;padding:.55rem 0;letter-spacing:.04em}.cert-strip .wrap{display:flex;justify-content:space-between;gap:1rem}.cert-strip strong{color:#f0bd6b;white-space:nowrap}.audience-strip{background:#e7ecea}.audience-grid{display:grid;grid-template-columns:1fr 1fr}.audience-grid a{padding:2.4rem 2rem 2.4rem 0;text-decoration:none}.audience-grid a+a{padding-left:2.5rem;border-left:1px solid #b8c8c8}.audience-grid span{font-size:.8rem;font-weight:800;color:#855813;letter-spacing:.08em}.audience-grid strong{display:block;font-size:1.8rem;margin:.5rem 0}.audience-grid p{max-width:34rem;margin:0;color:#425663}.edge-panel{display:inline-flex;gap:1rem;align-items:center;border:1px solid #a8b7b6;padding:1rem 1.4rem;margin-top:1rem}.edge-panel strong{font-size:1.1rem}.edge-panel span{color:#425663}.nav-links{gap:1.35rem}.nav-links a[href='/portal']{padding:.55rem .8rem;border:1px solid #e9ad4c;color:#e9ad4c}.hero h1{font-size:clamp(3.25rem,5.8vw,5.8rem);max-width:11.8ch}.hero-grid{min-height:700px}.hero-visual img{object-position:57% center}.footer-edge{color:#f0bd6b}.hero-note{font-size:.9rem;margin-top:3rem}@media(max-width:1000px){.menu-toggle{display:block}.nav{flex-wrap:wrap}.nav-links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:.8rem 0 1.3rem}.nav-links.open{display:flex}.nav-links a{padding:.8rem .2rem;font-size:1rem}.nav-links a[href='/portal']{margin-top:.7rem}.cert-strip .wrap{flex-wrap:wrap;gap:.25rem}.hero h1{font-size:clamp(2.9rem,8vw,5rem)}}@media(max-width:650px){.audience-grid{grid-template-columns:1fr}.audience-grid a+a{padding-left:0;border-left:0;border-top:1px solid #b8c8c8}.audience-grid a{padding:2rem 0}.hero-note{display:block}.cert-strip span{display:none}}

/* Construction types and assessment review icons. */
.mb-icon { display:block; width:1.75rem; height:1.75rem; flex:none; }
.hero-sectors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; padding:1.35rem 0 0; margin:3rem 0 0; border-top:1px solid #ffffff30; color:#d4e0e3; font-size:.875rem; line-height:1.45; }
.hero-sectors li { display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; }
.hero-sectors .mb-icon { color:var(--gold); }
.topic-grid--icons { gap:0 2.5rem; }
.topic-grid--icons > div { padding:2rem 0; }
.topic-icon { display:grid; place-items:center; width:3.25rem; height:3.25rem; background:var(--ink); color:var(--gold); border-top:2px solid var(--gold); margin-bottom:1.3rem; }
.topic-grid--icons h3 { font-size:1.22rem; font-weight:750; line-height:1.3; letter-spacing:-.02em; margin:0 0 .6rem; }

/* A photographic split for the assessment decision point. */
.assessment-context { position:relative; background:#f5f6f4; }
.context-photo { position:absolute; inset:0 50% 0 0; overflow:hidden; }
.context-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:70% center; }
.context-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,#0b1b27e6,#0b1b2794); }
.context-grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.context-heading,.context-copy { padding:5rem 0; }
.context-heading { color:white; }
.context-heading .section-label { color:var(--gold); }
.context-heading h2 { max-width:13ch; margin-bottom:0; }
.context-copy { color:var(--soft); }
.context-copy .lead { color:var(--ink); border-top:3px solid var(--gold); padding-top:1.4rem; }
.context-copy p:last-child { margin-bottom:0; }

/* Clearly framed scope note, consistent with the assessment panels. */
.diagnostic-section { padding:0 0 6.25rem; background:white; }
.diagnostic-panel { display:grid; grid-template-columns:minmax(14rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(1.75rem,4vw,3.5rem); background:#e7ecea; border-left:4px solid var(--gold); }
.diagnostic-icon { display:grid; place-items:center; width:3.25rem; height:3.25rem; background:var(--ink); color:var(--gold); margin-bottom:1.25rem; }
.diagnostic-heading h2 { font-size:clamp(1.8rem,2.7vw,2.5rem); max-width:13ch; margin:0; }
.diagnostic-copy { border-left:1px solid #afbfbd; padding-left:clamp(1.5rem,3vw,3rem); color:var(--soft); }
.diagnostic-copy .lead { font-size:1.2rem; color:var(--ink); }
.diagnostic-copy p:last-child { margin-bottom:0; }

/* Audience-page photography uses the homepage's navy and gold treatment. */
.page-hero--photo { position:relative; overflow:hidden; }
.page-hero-photo { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:65% center; }
.page-hero--photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0b1b27f5 0%,#0b1b27e8 32%,#0b1b279e 59%,#0b1b2738 100%),linear-gradient(0deg,#0b1b27b0,transparent 55%); }
.page-hero--photo .page-hero-grid { position:relative; z-index:1; }
.page-hero--photo .page-hero-side { background:#0b1b27de; border-top:2px solid var(--gold); padding:1.5rem; color:#e0e9ec; }
.page-hero--contractors .page-hero-photo { object-position:75% center; }

/* The existing company monogram, sized to the two-line footer wordmark. */
.footer-grid { display:grid; grid-template-columns:minmax(25rem,1.6fr) minmax(9rem,.6fr) auto; gap:1.5rem 2rem; }
.footer-brand { display:flex; align-items:center; gap:1rem; }
.footer-brand .footer-brand-mark { flex:none; width:3rem; height:3rem; font-size:1.75rem; }
.footer-brand-copy strong { display:block; font-size:1rem; line-height:1.5rem; }
.footer-brand-copy > span { display:block; font-size:.875rem; line-height:1.5rem; }
.footer-copyright { grid-column:1/-1; border-top:1px solid #ffffff26; padding-top:1.2rem; font-size:.875rem; }
.footer-edge,footer nav { font-size:.875rem; }

@media (max-width:1100px) {
  .footer-grid { grid-template-columns:minmax(0,1fr) auto; }
  .footer-grid nav { grid-column:1/-1; }
}
@media (max-width:700px) {
  .context-photo { inset:0 0 auto; height:100%; }
  .context-grid { grid-template-columns:1fr; gap:0; width:100%; }
  .context-heading { padding:3.5rem 1.125rem; }
  .context-heading h2 { max-width:16ch; }
  .context-copy { position:relative; background:#f5f6f4; padding:2.75rem 1.125rem; }
  .diagnostic-section { padding-bottom:4.5rem; }
  .diagnostic-panel { grid-template-columns:1fr; gap:1.75rem; }
  .diagnostic-copy { padding:1.5rem 0 0; border-left:0; border-top:1px solid #afbfbd; }
  .page-hero--photo::after { background:linear-gradient(90deg,#0b1b27e8,#0b1b27a8),linear-gradient(0deg,#0b1b27dc,transparent); }
  .page-hero--photo .page-hero-side { max-width:none; }
  .footer-grid { grid-template-columns:minmax(0,1fr); }
  .footer-grid nav { grid-column:auto; }
}

/* Project inquiries stay on the site from first contact to confirmation. */
.contact-page-grid { grid-template-columns:minmax(0,1.45fr) minmax(15rem,.65fr); gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.contact-form-column h2 { max-width:16ch; }
.contact-form-intro { max-width:58ch; margin-bottom:2rem; }
.project-inquiry { border-top:3px solid var(--gold); padding-top:1.5rem; scroll-margin-top:2rem; }
.inquiry-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1.3rem; }
.project-inquiry label { display:flex; flex-direction:column; gap:.45rem; color:var(--ink); font-size:.95rem; font-weight:700; }
.project-inquiry input,.project-inquiry select,.project-inquiry textarea { width:100%; min-width:0; min-height:3.1rem; border:1px solid #98acae; border-radius:0; background:#fff; color:var(--ink); padding:.7rem .8rem; font:inherit; font-size:1rem; font-weight:400; line-height:1.5; }
.project-inquiry textarea { resize:vertical; }
.project-inquiry input::placeholder,.project-inquiry textarea::placeholder { color:#637783; opacity:1; }
.inquiry-wide { grid-column:1/-1; }
.project-inquiry .form-hint { font-size:.875rem; font-weight:400; line-height:1.5; color:var(--soft); }
.project-inquiry .btn { margin-top:.5rem; cursor:pointer; }
.project-inquiry .btn:disabled { opacity:.6; cursor:wait; }
.inquiry-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.inquiry-status:empty { display:none; }
.inquiry-status[data-error] { padding:1rem; margin:1.5rem 0; background:#fff0ec; border-left:3px solid #ad4736; color:#812e20; }
.inquiry-success { margin-top:2rem; padding:2rem; background:#e7ecea; border-top:4px solid var(--gold); }
.inquiry-success .eyebrow { color:var(--gold-ink); margin-bottom:1rem; }
.inquiry-success p:last-child { margin-bottom:0; }
.project-inquiry[hidden],.inquiry-success[hidden] { display:none; }
.contact-prompt .eyebrow { font-size:.8rem; color:var(--gold-ink); }
.contact-prompt .contact-location { margin:1.5rem 0; font-weight:400; }
.contact-prompt .contact-direct { margin:1.5rem 0 2.5rem; padding-bottom:1.5rem; border-bottom:1px solid #afbfbd; font-weight:700; }
.contact-direct a { font-weight:400; overflow-wrap:anywhere; text-underline-offset:.2em; }
@media (max-width:800px) {
  .contact-page-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:520px) {
  .inquiry-form-grid { grid-template-columns:minmax(0,1fr); }
}

/* Planning spans individual projects and the owner's capital program. */
.service-card--planning { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:clamp(2rem,5vw,5rem); min-height:0; background:#eef3f2; border-top:3px solid var(--gold); }
.service-card--planning .num { display:block; margin-bottom:1.5rem; }
.service-card--planning h3 { max-width:24ch; }
.service-card--planning p { margin-bottom:0; }
.planning-card-detail ul { margin:0 0 1.75rem; padding-left:1.1rem; color:var(--soft); line-height:1.6; }
.planning-card-detail li { margin:.45rem 0; }
.planning-card-detail li::marker { color:var(--gold-ink); }
.planning-tracks { margin-top:2.5rem; }
.planning-tracks article { background:#eef3f2; scroll-margin-top:2rem; }
.planning-tracks .eyebrow { color:var(--gold-ink); margin-bottom:1.5rem; }
.planning-tracks h3 { font-size:clamp(1.65rem,2.6vw,2.25rem); line-height:1.15; max-width:24ch; }
.planning-tracks li { padding:.4rem 0; color:var(--soft); }
.planning-section-intro { max-width:62ch; font-size:1.1rem; }
.page-hero--planning .page-hero-photo { object-position:75% center; }
@media (max-width:700px) {
  .service-card--planning { grid-template-columns:minmax(0,1fr); gap:1.75rem; }
  .planning-card-detail ul { margin-bottom:1.5rem; }
}
