/* Quanid V9 — editorial design, responsive layouts. No external font dependency. */
:root {
  --ink:#112c24; --forest:#244e3e; --paper:#fcfaf5; --ivory:#f2eee5;
  --gold:#b29861; --pale-gold:#d5c496; --muted:#59675e; --line:#dcded3;
  --white:#fff; --radius:22px; --max:1180px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
img,svg { max-width:100%; }
img { display:block; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,summary { cursor:pointer; }
button { color:inherit; }
button:disabled { cursor:wait; opacity:.65; }
:focus-visible { outline:3px solid #8c702d; outline-offset:5px; }
::selection { color:#fff; background:var(--forest); }
p { margin:0 0 20px; }
h1,h2,h3 { margin:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.045em; text-wrap:balance; }
h2 { font-size:clamp(36px,4vw,53px); line-height:1.09; margin:18px 0 24px; }
h3 { font-size:22px; line-height:1.3; letter-spacing:-.02em; }
em { font-weight:400; }
.container { width:min(var(--max),calc(100% - 80px)); margin-inline:auto; }
.section { padding:96px 0; }
.section-sm { padding:70px 0; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:10.5px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; color:var(--forest); line-height:1.6; }
.eyebrow::before { content:""; width:24px; height:1px; flex:0 0 24px; background:var(--gold); }
.display { font-size:clamp(48px,5.5vw,74px); line-height:1.04; margin:23px 0 24px; }
.display em { color:var(--forest); }
.lead { font-size:18px; line-height:1.75; color:var(--muted); }
.small { font-size:14px; }
.muted { color:var(--muted); }
.skip-link { position:absolute; left:-9999px; top:8px; background:var(--ink); color:#fff; padding:12px 18px; z-index:10001; border-radius:5px; }
.skip-link:focus { left:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:52px; padding:13px 23px; border:1px solid var(--ink); border-radius:6px; font-size:13px; line-height:1.4; font-weight:700; text-align:center; transition:background .18s,color .18s,box-shadow .18s; }
.btn span[aria-hidden] { font-size:19px; font-weight:400; line-height:1; }
.btn-primary { background:var(--ink); color:#fff; }
.btn-primary:hover { background:var(--forest); border-color:var(--forest); }
.btn-secondary { background:transparent; color:var(--ink); border-color:#a7b0a2; }
.btn-secondary:hover { background:#ebece2; border-color:var(--ink); }
.btn-light { background:var(--paper); color:var(--ink); }
.btn-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:28px; }
.text-link { display:inline-flex; align-items:center; gap:18px; padding:3px 0; border-bottom:1px solid var(--gold); font-size:14px; font-weight:700; }
.text-link:hover { color:var(--forest); border-color:var(--forest); }
.site-header { position:sticky; top:0; z-index:100; background:rgba(252,250,245,.97); border-bottom:1px solid var(--line); }
.nav { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; flex-shrink:0; gap:10px; font-size:23px; font-weight:750; letter-spacing:-.06em; line-height:1; }
.brand-mark { width:34px; height:37px; display:grid; place-items:center; background:var(--ink); color:var(--paper); font:24px Georgia,serif; border-radius:7px; }
.nav-links { display:flex; gap:25px; align-items:center; font-size:12px; font-weight:650; }
.nav-links>a:not(.btn) { padding-block:12px; }
.nav-links>a:not(.btn):hover { color:var(--forest); text-decoration:underline; text-underline-offset:5px; }
.nav-links .btn { min-height:45px; font-size:12px; padding:11px 17px; }
.header-phone { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700; white-space:nowrap; }
.nav-toggle { display:none; flex-shrink:0; border:1px solid var(--line); border-radius:5px; width:44px; height:44px; background:transparent; padding:10px; }
.nav-toggle span { display:block; width:22px; height:1.5px; background:var(--ink); margin:5px 0; }
.hero { padding:78px 0 66px; border-bottom:1px solid var(--line); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(0,.84fr); gap:76px; align-items:center; }
.hero-copy { min-width:0; }
.hero-copy .lead { max-width:600px; }
.hero-reassurance { font-size:11px; color:var(--muted); margin:20px 0 0; letter-spacing:.01em; }
.hero-proof { color:var(--paper); background:var(--ink); border-radius:var(--radius); padding:31px; position:relative; }
.proof-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.proof-label { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--pale-gold); }
.proof-year { font-size:11px; border:1px solid #456050; padding:3px 8px; border-radius:3px; color:#e1e3d6; }
.hero-proof h2 { font-size:35px; letter-spacing:-.035em; margin:25px 0 8px; }
.proof-sector { font-size:12px; color:#c3cfbf; margin:0; }
.proof-main { border-top:1px solid #3d5345; border-bottom:1px solid #3d5345; padding:20px 0; margin:25px 0 22px; }
.proof-main>strong { display:block; font:86px/1.1 Georgia,serif; letter-spacing:-.065em; color:#f0e2bf; }
.proof-main>strong>span { font-size:.55em; padding-left:6px; }
.proof-main>p { font-size:15px; margin:8px 0 5px; font-weight:650; }
.proof-main>span { display:block; font-size:12px; line-height:1.6; color:#c3cfbf; }
.proof-bottom { display:flex; align-items:flex-end; gap:16px; justify-content:space-between; }
.proof-bottom strong { display:block; font:31px/1.2 Georgia,serif; letter-spacing:-.03em; }
.proof-bottom div>span { display:block; font-size:11px; line-height:1.6; color:#c3cfbf; margin-top:5px; }
.proof-link { display:flex; gap:14px; align-items:center; font-size:11px; white-space:nowrap; border-bottom:1px solid #6d7f68; padding-bottom:4px; }
.proof-link>span { font-size:19px; }
.proof-note { font-size:10px; line-height:1.6; color:#b8c7b4; margin:22px 0 0; }
.value-strip { border-bottom:1px solid var(--line); background:#f7f5ef; }
.value-strip .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.value-strip .container>span { font-size:12px; display:flex; gap:12px; align-items:center; padding:22px 15px; }
.value-strip .container>span:first-child { padding-left:0; }
.value-strip .container>span+span { border-left:1px solid var(--line); }
.value-strip b { color:var(--forest); font-size:11px; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:76px; align-items:end; margin-bottom:42px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { color:var(--muted); font-size:16px; margin:0 0 3px; }
.case-section { background:var(--ivory); }
.case-study { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); border:1px solid #cfd4c5; border-radius:var(--radius); overflow:hidden; }
.case-summary { padding:38px; background:#e5e9dc; }
.case-label { font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; display:block; }
.case-heading h3 { font:36px/1.1 Georgia,serif; letter-spacing:-.04em; margin:16px 0; }
.case-heading p { color:#4b5f4e; font-size:14px; }
.case-results { display:grid; grid-template-columns:1fr 1fr; gap:18px; border-top:1px solid #c2cab8; padding-top:24px; margin-top:30px; }
.case-results strong { display:block; font:53px/1.1 Georgia,serif; letter-spacing:-.07em; white-space:nowrap; }
.case-results strong>span { font-size:.58em; margin-left:2px; }
.case-results div>span { font-size:12px; display:block; margin-top:10px; font-weight:650; }
.case-results small { font-size:11px; display:block; margin-top:3px; color:#4b5f4e; }
.metric-note { font-size:10.5px; line-height:1.65; color:#52634f; margin:22px 0; max-width:790px; }
.case-tags { display:flex; flex-wrap:wrap; gap:7px; padding-top:10px; }
.case-tags>span { padding:5px 8px; border:1px solid #b4c0a9; border-radius:3px; font-size:10px; }
.case-site { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-top:23px; margin-top:30px; border-top:1px solid #c2cab8; font-size:12px; font-weight:700; }
.case-site:hover { text-decoration:underline; text-underline-offset:5px; }
.case-work { padding:38px; background:var(--paper); }
.case-work>h3 { font:33px/1.15 Georgia,serif; letter-spacing:-.035em; margin:18px 0; }
.case-work>p { font-size:14px; color:var(--muted); }
.case-details { border-top:1px solid var(--line); margin-top:26px; }
.case-details details { border-bottom:1px solid var(--line); }
.case-details summary { display:flex; align-items:center; gap:10px; list-style:none; font-size:12px; font-weight:700; min-height:53px; padding:12px 0; }
summary::-webkit-details-marker { display:none; }
.detail-num { font-size:10px; color:var(--muted); font-weight:500; min-width:20px; }
.detail-sign { margin-left:auto; font:22px/1 Georgia,serif; }
.case-details details[open] .detail-sign { transform:rotate(45deg); }
.case-details details p { font-size:13px; color:var(--muted); padding:0 5px 0 30px; }
.pipeline { display:flex; align-items:center; gap:12px; margin-top:23px; font-size:11px; font-weight:650; }
.pipeline>b { font-size:16px; color:#8f9d82; font-weight:400; }
.section-end { margin-top:26px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:13px; color:var(--muted); }
.section-end .text-link { color:var(--ink); }
.expertise-list { border-top:1px solid var(--line); }
.expertise-row { display:grid; grid-template-columns:40px minmax(0,1fr) minmax(0,.85fr) 46px; gap:25px; padding:30px 0; border-bottom:1px solid var(--line); align-items:center; }
.expertise-num { font:18px Georgia,serif; color:var(--muted); align-self:start; }
.expertise-title>span { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--forest); font-weight:700; }
.expertise-title h3 { font:27px/1.18 Georgia,serif; letter-spacing:-.025em; margin-top:10px; max-width:370px; }
.expertise-row>p { font-size:14px; color:var(--muted); margin:0; }
.row-arrow { display:grid; place-items:center; width:44px; height:44px; border:1px solid #c9cebf; border-radius:50%; font-size:23px; transition:background .18s,color .18s; }
.expertise-row:hover .row-arrow { color:white; background:var(--ink); }
.dark { background:var(--ink); color:var(--paper); }
.dark .eyebrow { color:var(--pale-gold); }
.dark .section-heading>p { color:#c3cfbf; }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; margin-top:52px; }
.step { border-top:1px solid #4b5e4c; padding-top:22px; }
.step-num { display:block; font:36px/1.1 Georgia,serif; color:var(--pale-gold); margin-bottom:34px; }
.step h3 { font-size:18px; font-weight:550; margin-bottom:13px; }
.step p { color:#c3cfbf; font-size:13px; margin:0; }
.method-note { margin-top:38px; padding-top:24px; border-top:1px solid #3d5345; font-size:12px; color:#c3cfbf; }
.person-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:90px; align-items:center; }
.person-line { display:flex; align-items:center; gap:20px; margin-top:26px; }
.monogram { display:grid; place-items:center; flex-shrink:0; width:85px; height:104px; border-radius:44px 44px 8px 8px; background:#e5e9dc; font:32px Georgia,serif; color:var(--forest); }
.person-identity h2 { font-size:30px; margin:0 0 8px; }
.person-identity p { font-size:12px; color:var(--muted); margin:0; }
.person-copy h3 { font:33px/1.15 Georgia,serif; margin-bottom:18px; letter-spacing:-.035em; }
.person-copy p { color:var(--muted); font-size:14px; }
.audience-section { background:var(--ivory); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.audience-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:85px; align-items:center; }
.audience-grid h2 { margin-bottom:0; }
.audience-grid p { font-size:16px; color:var(--muted); }
.sector-list { display:flex; flex-wrap:wrap; gap:9px; }
.sector-list>span { font-size:12px; padding:8px 12px; border:1px solid #c8cebe; border-radius:4px; }
.faq-grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:85px; }
.faq-grid>div:first-child>p { color:var(--muted); font-size:14px; line-height:2; }
.faq { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-q { display:flex; align-items:center; gap:18px; justify-content:space-between; width:100%; padding:23px 0; border:0; background:none; text-align:left; font-size:14px; font-weight:650; line-height:1.5; }
.faq-q::after { content:"+"; flex:0 0 auto; font:25px/1 Georgia,serif; color:var(--forest); }
.faq-item.open .faq-q::after { content:"−"; }
.faq-a { display:none; font-size:14px; color:var(--muted); padding:0 20px 12px 0; }
.faq-item.open .faq-a { display:block; }
.contact-section { background:#e9eddf; border-top:1px solid #d0d7c4; }
.contact-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:85px; align-items:start; }
.contact-copy .lead { font-size:16px; max-width:430px; }
.contact-copy h2 { font-size:clamp(35px,3.8vw,48px); }
.next-steps { margin-top:33px; }
.next-steps h3 { font-size:13px; margin-bottom:18px; }
.next-steps ol { list-style:none; padding:0; margin:0; display:grid; gap:17px; }
.next-steps li { display:flex; gap:14px; }
.next-steps li>span { flex:0 0 auto; font-size:10px; line-height:25px; color:var(--forest); border:1px solid #bfccb1; width:27px; height:27px; text-align:center; border-radius:50%; }
.next-steps strong { display:block; font-size:12px; }
.next-steps p { margin:2px 0 0; font-size:12px; color:var(--muted); line-height:1.65; }
.contact-direct { padding-top:25px; margin-top:28px; border-top:1px solid #c8d1ba; }
.contact-direct>span { display:block; color:var(--muted); font-size:11px; }
.phone-link { display:flex; align-items:center; justify-content:space-between; max-width:270px; gap:15px; font:30px/1.4 Georgia,serif; letter-spacing:-.04em; margin:6px 0; }
.contact-card { padding:34px; border-radius:var(--radius); background:var(--paper); box-shadow:0 12px 40px #233f1910; border:1px solid #d4dcca; min-width:0; }
.form-heading h3 { font:29px/1.15 Georgia,serif; letter-spacing:-.035em; margin:12px 0 9px; }
.form-heading p { color:var(--muted); font-size:12px; margin-bottom:26px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 16px; }
.field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.field.full { grid-column:1/-1; }
label { font-size:11px; font-weight:700; display:flex; justify-content:space-between; align-items:baseline; gap:5px; }
label>span[aria-hidden] { margin-right:auto; }
.optional { font-size:10px; font-weight:400; color:var(--muted); }
input,select,textarea { min-width:0; max-width:100%; width:100%; border:1px solid #cbd2c2; border-radius:5px; background:white; color:var(--ink); padding:12px; outline:none; font-size:16px; line-height:1.4; min-height:48px; }
input::placeholder,textarea::placeholder { color:#778071; opacity:1; font-size:13px; }
input:focus,select:focus,textarea:focus { border-color:var(--forest); box-shadow:0 0 0 3px #244e3e13; }
textarea { min-height:92px; resize:vertical; }
.hp { position:absolute!important; left:-9999px!important; opacity:0!important; height:1px!important; min-height:0!important; width:1px!important; }
.form-extra { margin-top:20px; padding-block:2px 18px; border-bottom:1px solid var(--line); }
.form-extra summary { font-size:12px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; list-style:none; }
.form-extra summary::before { content:"+"; font-size:20px; line-height:1; }
.form-extra[open] summary::before { content:"−"; }
.form-extra summary>span { font-size:10px; color:var(--muted); margin-left:auto; }
.form-extra>.form-grid { padding-top:17px; }
.form-meta { margin-top:21px; }
.form-meta .btn { width:100%; min-height:54px; }
.form-hint { font-size:10px; color:var(--muted); margin:13px 0 7px; }
.form-status { font-size:11px; color:var(--muted); min-height:20px; line-height:1.65; }
.form-status a { text-decoration:underline; text-underline-offset:3px; }
.site-footer { padding:62px 0 26px; color:#d2dccc; background:#10271f; }
.footer-grid { display:grid; grid-template-columns:1.3fr .8fr .9fr; gap:55px; }
.footer-brand { color:var(--paper); font-size:28px; margin-bottom:21px; }
.footer-grid p { font-size:12px; color:#c0cdbc; }
.footer-location { display:inline-block; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.footer-col>strong { font-size:10px; text-transform:uppercase; letter-spacing:.13em; color:var(--pale-gold); display:block; margin-bottom:20px; }
.footer-links { display:grid; gap:10px; font-size:12px; }
.footer-links a { width:fit-content; }
.footer-links a:hover,.footer-bottom a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-links>span { font-size:10px; color:#b6c7b1; }
.footer-links .footer-phone { font:23px Georgia,serif; color:var(--paper); margin-bottom:9px; }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #364c3c; padding-top:25px; margin-top:44px; font-size:10px; color:#b6c7b1; }
.footer-bottom>div { display:flex; flex-wrap:wrap; gap:25px; }
.mobile-actions { display:none; }
/* Service pages */
.service-hero { padding-top:27px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:44px; font-size:10px; color:var(--muted); }
.breadcrumbs>a { text-decoration:underline; text-underline-offset:3px; }
.service-hero .display { font-size:clamp(45px,5vw,68px); }
.service-panel { padding:31px; background:#e7ebde; border:1px solid #ced6c2; border-radius:var(--radius); }
.service-panel h2 { font-size:32px; margin:20px 0 30px; }
.service-panel ol { padding:0; margin:0; list-style:none; }
.service-panel li { display:flex; gap:15px; padding-block:18px; border-top:1px solid #c7d0bc; }
.service-panel li:last-child { padding-bottom:0; }
.service-panel li>span { font:18px Georgia,serif; color:#657853; line-height:1.5; }
.service-panel h3 { font-size:14px; margin-bottom:5px; }
.service-panel p { font-size:12px; color:var(--muted); margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-card { background:var(--ivory); border:1px solid var(--line); padding:28px; border-radius:10px; }
.service-num { display:block; font:26px Georgia,serif; color:#728364; margin-bottom:28px; }
.service-card h3 { font:27px/1.2 Georgia,serif; margin-bottom:15px; letter-spacing:-.03em; }
.service-card p { color:var(--muted); font-size:14px; margin:0; }
.case-compact { background:var(--ivory); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.compact-results { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:30px; align-items:center; border-top:1px solid #cbd2c1; padding-top:35px; }
.compact-results strong { font:53px/1.1 Georgia,serif; letter-spacing:-.05em; display:block; }
.compact-results span { display:block; font-size:12px; margin-top:12px; color:var(--muted); }
.compact-results .btn span { margin:0; color:inherit; }
.case-compact .metric-note { margin-bottom:0; }
/* Existing legal pages and confirmation */
.legal { max-width:800px; padding:75px 0 95px; margin-inline:auto; overflow-wrap:anywhere; }
.legal h1 { font:clamp(35px,5vw,58px)/1.1 Georgia,serif; letter-spacing:-.04em; margin-bottom:30px; }
.legal h2 { font-size:30px; margin:35px 0 18px; }
.legal p { font-size:15px; color:var(--muted); }
.legal .text-link { font-size:inherit; }
.thanks-section { padding:80px 0 90px; background:var(--ivory); }
.thanks-content { max-width:750px; text-align:center; }
.thanks-content>.eyebrow { justify-content:center; }
.success-mark { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:#dce5cf; color:var(--forest); font-size:26px; margin:0 auto 24px; }
.thanks-next { padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:12px; margin:28px 0; text-align:left; }
.thanks-next h2 { font-size:27px; margin:0 0 10px; }
.thanks-next p { font-size:14px; color:var(--muted); margin:0; }
/* Original consent behavior retained in main.js. */
.consent-banner { position:fixed; left:20px; right:20px; bottom:20px; z-index:9999; display:none; align-items:center; justify-content:space-between; gap:25px; max-width:1080px; margin:0 auto; padding:19px 22px; border:1px solid #526146; border-radius:12px; background:#112c24; color:var(--paper); box-shadow:0 16px 55px #0003; }
.consent-banner.show { display:flex; }
.consent-copy { max-width:690px; }
.consent-copy strong { display:block; font-size:13px; margin-bottom:5px; }
.consent-copy p { margin:0; font-size:11px; line-height:1.65; color:#d0dac7; }
.consent-copy a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.consent-actions { display:flex; flex-shrink:0; gap:9px; }
.consent-actions .btn { min-height:44px; padding:10px 15px; font-size:11px; white-space:nowrap; }
.consent-actions .btn-light { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.consent-actions .btn-ghost { background:transparent; color:var(--paper); border-color:#abb99e; }
@media (max-width:1100px) {
  .container { width:calc(100% - 56px); }
  .hero-grid { gap:40px; }
  .nav-links { gap:18px; }
  .header-phone { font-size:12px; }
  .section-heading,.person-grid,.audience-grid,.faq-grid,.contact-grid { gap:45px; }
  .display { font-size:62px; }
  .hero-proof { padding:25px; }
  .case-summary,.case-work { padding:30px; }
  .case-results strong { font-size:46px; }
  .contact-card { padding:28px; }
}
@media (max-width:900px) {
  html { scroll-padding-top:88px; }
  .nav { min-height:74px; gap:18px; }
  .nav-toggle { display:block; order:3; }
  .header-phone { margin-left:auto; font-size:13px; }
  .nav-links { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 14px 20px #16302010; padding:18px 28px 24px; gap:0; max-height:calc(100dvh - 74px); overflow-y:auto; }
  .nav-links.open { display:flex; }
  .nav-links>a:not(.btn) { padding:15px 0; border-bottom:1px solid var(--line); font-size:14px; }
  .nav-links .btn { margin-top:18px; min-height:48px; font-size:13px; }
  .hero { padding:52px 0; }
  .hero-grid { gap:30px; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); }
  .display { font-size:51px; }
  .lead { font-size:16px; }
  .hero-copy .eyebrow { font-size:9px; }
  .hero-reassurance { font-size:10px; }
  .hero-proof h2 { font-size:30px; }
  .proof-main>strong { font-size:70px; }
  .proof-bottom { flex-wrap:wrap; }
  .proof-label { font-size:9px; }
  .proof-year { font-size:9px; }
  .value-strip .container>span { font-size:10px; padding:18px 12px; gap:8px; }
  .section { padding:72px 0; }
  .section-heading { gap:35px; }
  .section-heading>p { font-size:14px; }
  .case-study { grid-template-columns:1fr; }
  .case-summary { padding:32px; }
  .case-work { padding:32px; }
  .case-results { max-width:490px; }
  .case-results strong { font-size:58px; }
  .case-tags { padding-top:0; }
  .case-site { max-width:490px; }
  .expertise-row { grid-template-columns:30px minmax(0,1fr) minmax(0,.85fr) 38px; gap:18px; }
  .expertise-title h3 { font-size:24px; }
  .row-arrow { width:38px; height:38px; }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
  .step-num { margin-bottom:20px; }
  .person-grid { grid-template-columns:1fr; gap:32px; }
  .person-copy { max-width:620px; }
  .audience-grid { gap:30px; }
  .faq-grid { grid-template-columns:1fr; gap:22px; }
  .faq-grid h2 br { display:none; }
  .contact-grid { grid-template-columns:1fr; gap:35px; }
  .contact-copy .lead { max-width:600px; }
  .next-steps ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .next-steps li { flex-direction:column; gap:8px; }
  .contact-card { padding:32px; }
  .footer-grid { gap:30px; grid-template-columns:1.1fr .9fr .9fr; }
  .service-hero { padding-top:25px; }
  .service-hero .display { font-size:49px; }
  .service-panel { padding:24px; }
  .service-panel h2 { font-size:29px; }
  .service-grid { gap:12px; }
  .service-card { padding:23px; }
  .service-card h3 { font-size:24px; }
  .compact-results { grid-template-columns:1fr 1fr; }
  .compact-results>.btn { justify-self:start; grid-column:1/-1; }
  .consent-banner { align-items:stretch; gap:15px; }
  .consent-actions { flex-direction:column; justify-content:center; }
}
@media (max-width:640px) {
  html { scroll-padding-top:82px; }
  .container { width:calc(100% - 36px); }
  .nav { min-height:68px; gap:12px; }
  .brand { font-size:22px; }
  .brand-mark { width:29px; height:33px; font-size:22px; }
  .header-phone { font-size:11px; gap:6px; }
  .header-phone svg { width:14px; height:14px; }
  .nav-toggle { width:42px; height:42px; padding:9px; }
  .nav-links { padding:12px 18px 22px; max-height:calc(100dvh - 68px); }
  .hero { padding:37px 0 39px; }
  .hero-grid { grid-template-columns:minmax(0,1fr); gap:31px; }
  .eyebrow,.hero-copy .eyebrow { font-size:9px; letter-spacing:.1em; gap:8px; }
  .eyebrow::before { width:18px; flex-basis:18px; }
  .display { font-size:clamp(41px,10.8vw,59px); line-height:1.06; letter-spacing:-.045em; margin:20px 0; }
  .hero-copy .lead { font-size:15px; line-height:1.75; margin-bottom:0; }
  .btn-row { display:grid; grid-template-columns:1fr; gap:10px; margin-top:23px; }
  .btn-row .btn { width:100%; }
  .btn { min-height:50px; }
  .hero-reassurance { font-size:10px; line-height:1.65; margin-top:16px; max-width:340px; }
  .hero-proof { padding:24px; border-radius:16px; }
  .hero-proof h2 { font-size:30px; margin:18px 0 6px; }
  .hero-proof h2 br { display:none; }
  .proof-main { margin:19px 0 20px; padding:16px 0 18px; }
  .proof-main>strong { font-size:73px; }
  .proof-main>p { font-size:14px; margin-top:5px; }
  .proof-main>span { font-size:11px; }
  .proof-bottom { flex-wrap:nowrap; }
  .proof-bottom strong { font-size:29px; }
  .proof-note { margin-top:19px; font-size:9px; }
  .value-strip .container { grid-template-columns:1fr; }
  .value-strip .container>span,.value-strip .container>span:first-child { padding:13px 0; font-size:11px; gap:12px; }
  .value-strip .container>span+span { border-left:0; border-top:1px solid var(--line); }
  .section { padding:57px 0; }
  .section-sm { padding:49px 0; }
  h2 { font-size:clamp(33px,8.5vw,43px); line-height:1.12; margin:15px 0 20px; }
  .section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:29px; }
  .section-heading h2 br { display:none; }
  .section-heading>p { font-size:14px; }
  .case-study { border-radius:16px; }
  .case-summary,.case-work { padding:25px 21px; }
  .case-label { font-size:8px; letter-spacing:.08em; }
  .case-heading h3 { font-size:32px; }
  .case-heading p { font-size:13px; }
  .case-results { gap:12px; margin-top:23px; padding-top:22px; }
  .case-results strong { font-size:47px; }
  .case-results div>span { font-size:11px; margin-top:10px; }
  .case-results small { font-size:10px; }
  .metric-note { font-size:10px; margin:19px 0; }
  .case-tags { gap:6px; }
  .case-tags>span { font-size:9px; }
  .case-site { margin-top:24px; padding-top:19px; font-size:11px; }
  .case-work>h3 { font-size:30px; }
  .case-work>p { font-size:13px; }
  .case-details summary { font-size:11.5px; min-height:52px; }
  .case-details details p { padding-left:0; font-size:12px; }
  .pipeline { font-size:10px; gap:10px; }
  .section-end { flex-direction:column; align-items:flex-start; gap:10px; font-size:12px; margin-top:22px; }
  .text-link { font-size:12px; }
  .expertise-row { grid-template-columns:24px minmax(0,1fr) 34px; gap:11px; padding:23px 0; }
  .expertise-num { font-size:15px; }
  .expertise-title>span { font-size:9px; }
  .expertise-title h3 { font-size:25px; margin-top:9px; }
  .expertise-row>p { grid-column:2/3; font-size:12px; margin-top:1px; }
  .row-arrow { grid-column:3; grid-row:1/3; width:32px; height:32px; font-size:19px; }
  .process-grid { gap:28px 22px; margin-top:32px; }
  .step { padding-top:18px; }
  .step-num { font-size:29px; margin-bottom:20px; }
  .step h3 { font-size:16px; }
  .step p { font-size:12px; }
  .method-note { margin-top:28px; font-size:11px; }
  .person-grid { gap:25px; }
  .person-line { gap:15px; margin-top:22px; }
  .monogram { width:65px; height:80px; font-size:27px; }
  .person-identity h2 { font-size:27px; }
  .person-identity p { font-size:10px; }
  .person-copy h3 { font-size:29px; }
  .person-copy p { font-size:13px; }
  .audience-grid { grid-template-columns:1fr; gap:20px; }
  .audience-grid h2 br { display:none; }
  .audience-grid p { font-size:14px; }
  .sector-list { gap:7px; }
  .sector-list>span { font-size:10px; padding:7px 10px; }
  .faq-grid { gap:16px; }
  .faq-grid>div:first-child>p { font-size:12px; }
  .faq-q { font-size:13px; padding:20px 0; gap:15px; }
  .faq-a { font-size:13px; padding-right:4px; }
  .contact-grid { gap:26px; }
  .contact-copy h2 { font-size:36px; }
  .contact-copy .lead { font-size:14px; }
  .next-steps { margin-top:23px; }
  .next-steps ol { grid-template-columns:1fr; gap:13px; }
  .next-steps li { flex-direction:row; gap:12px; }
  .next-steps p { font-size:11px; }
  .contact-direct { margin-top:22px; padding-top:18px; }
  .phone-link { font-size:28px; }
  .contact-card { padding:25px 20px; border-radius:16px; }
  .form-heading h3 { font-size:27px; }
  .form-heading p { font-size:11px; margin-bottom:23px; }
  .form-grid { grid-template-columns:1fr; gap:16px; }
  .field.full { grid-column:auto; }
  label { font-size:12px; }
  input,select,textarea { font-size:16px; min-height:49px; }
  textarea { min-height:95px; }
  .form-extra summary { font-size:11px; }
  .form-extra summary>span { font-size:9px; }
  .form-meta .btn { min-height:53px; }
  .form-status { font-size:10px; }
  .site-footer { padding:44px 0 calc(100px + env(safe-area-inset-bottom,0px)); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 22px; }
  .footer-grid>div:first-child { grid-column:1/-1; }
  .footer-grid p { font-size:12px; }
  .footer-brand { margin-bottom:16px; }
  .footer-col>strong { font-size:9px; letter-spacing:.07em; margin-bottom:14px; }
  .footer-links { gap:12px; font-size:11px; }
  .footer-links .footer-phone { font-size:18px; }
  .footer-links>span { font-size:9px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:16px; margin-top:31px; font-size:9px; }
  .mobile-actions { position:fixed; bottom:0; left:0; right:0; z-index:90; display:grid; grid-template-columns:.7fr 1.3fr; gap:9px; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)); background:rgba(252,250,245,.98); border-top:1px solid var(--line); box-shadow:0 -3px 18px #0f30200a; }
  .mobile-actions .btn { min-height:46px; padding:10px 12px; font-size:11px; gap:10px; }
  body:has(.consent-banner.show) .mobile-actions,body:has(#lead-form:focus-within) .mobile-actions { visibility:hidden; pointer-events:none; }
  .service-hero { padding-top:20px; }
  .breadcrumbs { margin-bottom:30px; font-size:9px; }
  .service-hero .display { font-size:clamp(41px,10.8vw,59px); }
  .service-panel { padding:25px; border-radius:16px; }
  .service-panel h2 { font-size:30px; margin-bottom:22px; }
  .service-panel li { padding:15px 0; }
  .service-grid { grid-template-columns:1fr; gap:13px; }
  .service-card { padding:24px; }
  .service-num { font-size:23px; margin-bottom:18px; }
  .service-card h3 { font-size:27px; }
  .service-card p { font-size:13px; }
  .compact-results { gap:24px 16px; padding-top:25px; }
  .compact-results strong { font-size:42px; }
  .compact-results span { font-size:11px; }
  .compact-results>.btn { width:100%; }
  .legal { padding:45px 0 60px; }
  .legal h1 { font-size:39px; }
  .legal h2 { font-size:27px; }
  .legal p { font-size:14px; }
  .thanks-section { padding:49px 0 57px; }
  .thanks-content .lead { font-size:15px; }
  .thanks-next { padding:23px; }
  .thanks-next h2 { font-size:26px; }
  .thanks-next p { font-size:13px; }
  .consent-banner { left:10px; right:10px; bottom:10px; padding:16px; flex-direction:column; gap:13px; border-radius:10px; max-height:calc(100dvh - 30px); overflow-y:auto; }
  .consent-copy strong { font-size:12px; }
  .consent-copy p { font-size:10px; }
  .consent-actions { flex-direction:row; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .consent-actions .btn { min-height:44px; padding:11px 9px; font-size:11px; }
}
@media (max-width:370px) {
  .container { width:calc(100% - 28px); }
  .header-phone span { display:none; }
  .header-phone { border:1px solid var(--line); padding:12px; border-radius:5px; min-width:42px; min-height:42px; justify-content:center; }
  .hero-proof,.case-summary,.case-work { padding:22px 18px; }
  .display,.service-hero .display { font-size:40px; }
  .case-results strong { font-size:43px; }
  .proof-bottom { gap:10px; }
  .proof-link { font-size:10px; gap:8px; }
  .process-grid { grid-template-columns:1fr; gap:25px; }
  .step-num { margin-bottom:14px; }
  .form-extra summary>span { margin-left:27px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid>div:first-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print {
  .site-header,.site-footer,.mobile-actions,.consent-banner,.btn-row,.nav-toggle { display:none!important; }
  .container { width:100%; }
  .section { padding:25px 0; }
  .faq-a { display:block; }
  .hero-grid,.contact-grid { display:block; }
}
