:root{
  --navy:#0b3264;
  --navy-2:#082851;
  --blue:#1d5d9d;
  --blue-bright:#2f78b9;
  --cream:#f8f4ec;
  --cream-2:#f3eee5;
  --warm:#fffdf9;
  --pale:#eaf4fd;
  --text:#193752;
  --muted:#5e7080;
  --line:#ded8ce;
  --shadow:0 16px 40px rgba(10,43,82,.09);
  --shadow-soft:0 8px 24px rgba(10,43,82,.07);
  --radius:14px;
  --shell:1280px;
  --serif:"DM Serif Display", Georgia, "Times New Roman", serif;
  --sans:"Inter", Arial, Helvetica, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--text);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:200;left:18px;top:-80px;background:#fff;color:var(--navy);padding:10px 14px;border-radius:8px;box-shadow:var(--shadow);font-weight:700}
.skip-link:focus{top:18px}
.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}

.eyebrow{margin:0 0 10px;color:var(--blue);font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow-light{color:#a9d7ff}
.section-title{font-family:var(--serif);font-size:clamp(44px,4vw,66px);line-height:.94;letter-spacing:-.025em;color:var(--navy);margin:0 0 10px;font-weight:400}
.section-lead{font-size:15px;color:#54687a;max-width:720px;margin:0 0 22px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border:1px solid var(--navy);border-radius:7px;font-size:13px;font-weight:800;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;color:var(--navy)}
.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(10,43,82,.12)}
.button-primary{background:var(--navy);color:#fff}
.button-primary:hover{background:var(--navy-2)}
.button-outline{background:rgba(255,255,255,.86);color:var(--navy)}
.button-light{background:#fff;color:var(--navy);border-color:#fff}
.button.small{min-height:40px;padding:0 14px;font-size:11px}
.text-link{display:inline-flex;gap:6px;margin-top:7px;color:var(--blue);font-size:13px;font-weight:800}
.text-link:hover{text-decoration:underline}

.site-header{position:relative;z-index:50;background:rgba(255,253,249,.95);border-bottom:1px solid rgba(11,50,100,.07);backdrop-filter:blur(12px)}
.header-inner{height:82px;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:26px}
.brand{width:142px;height:67px;display:flex;align-items:center;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:30px;font-size:12px;font-weight:700;color:#183554}
.primary-nav a{position:relative;padding:10px 0}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--blue);transition:right .18s ease}
.primary-nav a:hover:after{right:0}
.header-cta{min-height:44px;white-space:nowrap}
.nav-toggle{display:none;border:0;background:transparent;padding:8px}
.nav-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}

.hero{position:relative;isolation:isolate;min-height:650px;background:var(--cream);overflow:hidden}
.hero-photo{position:absolute;z-index:-3;inset:0 0 0 40%;overflow:hidden;background:#cbd6dd}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,244,236,.15),rgba(248,244,236,0) 35%),linear-gradient(0deg,rgba(6,34,66,.08),rgba(6,34,66,0) 45%)}
.hero-blend{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 35%,rgba(248,244,236,.97) 42%,rgba(248,244,236,.75) 49%,rgba(248,244,236,.20) 58%,rgba(248,244,236,0) 69%);pointer-events:none}
.hero-inner{min-height:650px;display:flex;align-items:center}
.hero-copy{width:52%;padding:44px 0 48px}
.display-title{font-family:var(--serif);font-size:clamp(76px,7.3vw,108px);line-height:.84;letter-spacing:-.042em;color:var(--navy);margin:0 0 18px;font-weight:400;text-wrap:balance}
.hero h1{font-size:18px;line-height:1.28;color:#14365d;margin:0 0 12px;font-weight:800;max-width:580px}
.hero-intro{font-size:14px;line-height:1.55;color:#3c536b;max-width:590px;margin:0 0 16px}
.hero-points{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px;font-size:13px;font-weight:700;color:#264664}
.hero-points li{display:flex;align-items:center;gap:10px}
.hero-points li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;box-shadow:0 4px 12px rgba(11,50,100,.14)}
.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}
.micro-proof{margin:12px 0 0;font-size:11px;color:#4a6177;font-weight:700}
.micro-proof span{color:var(--blue)}

.proof-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-grid>div{min-height:74px;display:flex;flex-direction:column;justify-content:center;padding:12px 24px;border-right:1px solid var(--line)}
.proof-grid>div:last-child{border-right:0}
.proof-grid strong{font-size:11.5px;color:#17395b}
.proof-grid span{font-size:10px;color:#6a7884;margin-top:2px}

.section-light,.section-white{background:var(--warm)}
.section-cream{background:var(--cream)}
.services{padding:42px 0 26px}
.services-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:end}
.mascot-column{align-self:stretch;display:flex;align-items:flex-end;justify-content:center}
.mascot-frame{width:180px;height:445px;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start;background:#fff}
.mascot-frame img{width:180px;height:540px;max-width:none;object-fit:cover;object-position:left top;transform:translateY(30px)}
.services-content{min-width:0}
.service-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.service-card{display:flex;flex-direction:column;min-height:312px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(17,52,86,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:#c8d4df}
.service-card>img{width:100%;aspect-ratio:1.65/1;object-fit:cover}
.service-card-body{display:flex;flex:1;flex-direction:column;padding:13px 13px 14px}
.service-card h3{font-family:var(--serif);font-size:17px;line-height:1.02;color:var(--navy);font-weight:400;margin:0 0 7px}
.service-card p{font-size:11px;line-height:1.43;color:#52677a;margin:0}
.service-card span{margin-top:auto;padding-top:12px;color:var(--blue);font-size:10.5px;font-weight:800}

.results{padding:8px 0 18px}
.results-panel{display:grid;grid-template-columns:185px 1fr;gap:26px;align-items:center;border-top:1px solid var(--line);padding-top:18px}
.results-intro h2,.trust-local h2,.reviews-area h2,.final-cta h2{font-family:var(--serif);font-weight:400;color:var(--navy)}
.results-intro h2{font-size:32px;line-height:.95;margin:0 0 7px}
.results-intro p{font-size:11px;color:#607183;margin:0 0 12px}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.result-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.before-after{display:grid;grid-template-columns:1fr 1fr}
.before-after>div{position:relative;overflow:hidden}
.before-after>div:first-child{border-right:1px solid rgba(255,255,255,.7)}
.before-after img{width:100%;aspect-ratio:1.75/1;object-fit:cover}
.before-after span{position:absolute;left:8px;top:8px;background:rgba(20,25,30,.85);color:#fff;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 7px;border-radius:3px}
.result-card figcaption{text-align:center;padding:7px 10px;color:#47617a;font-size:10.5px;font-weight:700}

.trust{padding:0 0 25px}
.trust-panel{display:grid;grid-template-columns:29% 71%;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.trust-local{padding:24px;border-right:1px solid var(--line)}
.trust-local h2{font-size:30px;line-height:1.01;margin:0 0 8px}
.trust-local>p:not(.eyebrow){font-size:11px;color:#607183;margin:0}
.trust-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}
.trust-icons span{display:flex;flex-direction:column;text-align:center;font-size:8.5px;color:#5c7184;line-height:1.25}
.trust-icons b{font-family:var(--serif);font-size:18px;color:var(--navy);font-weight:400;margin-bottom:3px}
.reviews-area{padding:22px 24px}
.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.reviews-area h2{font-size:25px;line-height:1;margin:0}
.source-pill{display:inline-flex;align-items:center;border:1px solid #d5e2ec;background:#f5f9fc;color:#5e7184;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:700;white-space:nowrap}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.review-card{border:1px solid var(--line);border-radius:9px;padding:13px 14px;min-height:130px;background:#fff}
.quote-mark{display:block;font-family:var(--serif);font-size:30px;line-height:.6;color:var(--blue)}
.review-card p{font-size:10.5px;line-height:1.45;color:#566b7e;margin:8px 0 11px}
.review-card small{font-size:9px;font-weight:700;color:#71808d}

.technical-band{background:var(--navy-2);color:#e7f2fb;padding:68px 0}
.technical-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start}
.technical-band h2{font-family:var(--serif);font-size:clamp(48px,4.5vw,70px);font-weight:400;line-height:.96;letter-spacing:-.025em;margin:0;color:#fff}
.technical-copy{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:4px}
.technical-copy p{margin:0;color:#c7d8e7;font-size:13px;line-height:1.7}

.editorial{padding:74px 0}
.editorial-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}
.editorial-grid.reverse{grid-template-columns:.98fr 1.02fr}
.editorial-grid.reverse .editorial-image{order:2}
.editorial-grid.reverse .editorial-copy{order:1}
.editorial-image{position:relative;overflow:hidden;border-radius:14px;box-shadow:var(--shadow);background:#d7dfe5;min-height:430px}
.editorial-image img{width:100%;height:100%;min-height:430px;object-fit:cover}
.frame-blue:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.62);border-radius:9px;pointer-events:none}
.image-kicker{position:absolute;left:20px;bottom:20px;background:#fff;color:var(--navy);border-radius:5px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.editorial-copy h2,.capability-body h2,.assessment h2,.process h2,.property-section h2,.project-proof h2,.service-area h2,.faq h2{font-family:var(--serif);font-weight:400;color:var(--navy);letter-spacing:-.02em}
.editorial-copy h2{font-size:clamp(44px,4vw,62px);line-height:.97;margin:0 0 16px}
.editorial-copy p{color:#53697b;font-size:14px;line-height:1.7;margin:0 0 12px}

.capability-grid{padding:70px 0 78px}
.capability-layout{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}
.capability-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}
.capability-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover}
.capability-card.large img{aspect-ratio:1.8/1}
.capability-body{padding:20px}
.capability-body h2{font-size:29px;line-height:1.02;margin:0 0 10px}
.capability-card.large .capability-body h2{font-size:34px}
.capability-body p{font-size:12px;line-height:1.6;color:#5a6e80;margin:0}

.section-blue{background:linear-gradient(135deg,#0a2d59,#0f477e);color:#fff}
.assessment{padding:74px 0}
.assessment-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.assessment h2{color:#fff;font-size:clamp(48px,4.4vw,68px);line-height:.95;margin:0 0 16px}
.assessment-copy>p:not(.eyebrow){color:#d3e2ef;font-size:13px;line-height:1.7;margin:0 0 14px}
.assessment-note{border-left:2px solid #7fc0f1;padding-left:12px!important;color:#a9cde7!important}
.assessment-form{background:#fff;color:var(--text);border-radius:14px;padding:22px;box-shadow:0 22px 50px rgba(0,0,0,.2);display:grid;gap:13px}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.assessment-form label{display:grid;gap:6px;font-size:10.5px;font-weight:800;color:#344f67;letter-spacing:.02em}
.assessment-form input,.assessment-form select,.assessment-form textarea{width:100%;border:1px solid #d8e0e6;background:#fbfcfd;border-radius:7px;padding:11px 12px;color:#233f59;outline:none;font-size:12px}
.assessment-form input:focus,.assessment-form select:focus,.assessment-form textarea:focus{border-color:#6da7d3;box-shadow:0 0 0 3px rgba(47,120,185,.12)}
.upload-box{border:1px dashed #a7bed1;border-radius:9px;padding:15px;background:#f6fafc;cursor:pointer}
.upload-box span{font-size:12px;color:var(--navy)}
.upload-box small{font-weight:500;color:#71818e}
.upload-box input{padding:9px;background:#fff}
.form-status{font-size:10px;color:#60788b;margin:0;min-height:1em}

.process{padding:78px 0}
.center-heading{text-align:center;max-width:760px;margin:0 auto 34px}
.center-heading h2{font-size:clamp(46px,4vw,62px);line-height:.96;margin:0 0 12px}
.center-heading p:not(.eyebrow){font-size:13px;color:#647686;margin:0 auto;max-width:650px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.process-grid article{position:relative;border-top:2px solid var(--navy);padding:19px 15px 6px}
.process-grid span{font-family:var(--serif);font-size:32px;color:#a4bdd1}
.process-grid h3{font-family:var(--serif);font-size:24px;color:var(--navy);font-weight:400;margin:3px 0 5px}
.process-grid p{font-size:11px;line-height:1.55;color:#617587;margin:0}

.property-section{padding:65px 0}
.property-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}
.property-section h2{font-size:50px;line-height:.98;margin:0 0 13px}
.property-section p{font-size:13px;color:#5c7082;line-height:1.7;margin:0}
.property-tags{display:flex;flex-wrap:wrap;gap:9px}
.property-tags span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:10px;font-weight:700;color:#456078;box-shadow:0 3px 10px rgba(20,50,80,.03)}

.project-proof{padding:76px 0}
.project-proof-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center}
.project-proof h2{font-size:56px;line-height:.95;margin:0 0 14px}
.project-proof-copy>p:not(.eyebrow){font-size:13px;color:#5d7182;line-height:1.7;margin:0 0 12px}
.proof-stack{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:10px;height:430px}
.proof-stack img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:var(--shadow-soft)}
.proof-stack img:first-child{grid-row:1/3}

.service-area{padding:70px 0}
.service-area-grid{display:grid;grid-template-columns:1fr 360px;gap:70px;align-items:center}
.service-area h2{font-size:54px;line-height:.95;margin:0 0 14px}
.service-area p{font-size:13px;color:#5e7283;line-height:1.7;margin:0 0 12px}
.area-card{background:var(--navy);color:#fff;border-radius:14px;padding:26px;display:grid;gap:7px;box-shadow:var(--shadow)}
.area-pin{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:20px;margin-bottom:6px}
.area-card strong{font-family:var(--serif);font-size:28px;font-weight:400;margin-bottom:3px}
.area-card span{font-size:12px;border-top:1px solid rgba(255,255,255,.16);padding-top:7px}
.area-card small{font-size:9.5px;color:#bed3e6;margin-top:6px;line-height:1.5}

.faq{padding:76px 0}
.faq-grid{display:grid;grid-template-columns:340px 1fr;gap:70px;align-items:start}
.faq h2{font-size:46px;line-height:.98;margin:0}
.faq-list details{border-top:1px solid var(--line);padding:16px 0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;font-size:13px;font-weight:800;color:#244764;padding-right:24px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:-4px;font-family:var(--serif);font-size:24px;color:var(--blue)}
.faq-list details[open] summary:after{content:"–"}
.faq-list p{font-size:12px;line-height:1.65;color:#607586;margin:10px 0 2px;max-width:760px}

.final-cta{background:var(--pale);border-top:1px solid #d1e1ef;border-bottom:1px solid #d1e1ef;overflow:hidden}
.final-cta-inner{min-height:126px;display:grid;grid-template-columns:95px 1fr auto;gap:24px;align-items:center}
.final-mascot{height:126px;overflow:hidden;align-self:end}
.final-mascot img{height:225px;width:80px;object-fit:cover;object-position:left top;transform:translateY(4px)}
.final-cta h2{font-size:34px;line-height:.98;margin:0 0 4px}
.final-cta p:not(.eyebrow){font-size:11px;color:#5b7285;margin:0;max-width:660px}
.final-actions{display:flex;gap:9px;align-items:center}
.phone-button{background:#fff}

.site-footer{background:#fff;padding:18px 0}
.footer-grid{display:grid;grid-template-columns:145px 1fr auto;gap:26px;align-items:center}
.footer-brand{width:118px;height:64px;overflow:hidden}
.footer-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.footer-grid nav{display:flex;justify-content:center;gap:23px;font-size:9.5px;font-weight:700;color:#405c76}
.footer-grid p{font-size:9.5px;color:#76838e;margin:0;text-align:right}
.footer-grid p a{font-weight:700;color:var(--navy)}

@media (max-width:1180px){
  .shell{width:min(var(--shell),calc(100% - 36px))}
  .primary-nav{gap:18px;font-size:11px}
  .header-inner{grid-template-columns:135px 1fr auto}
  .display-title{font-size:82px}
  .hero-copy{width:56%}
  .services-layout{grid-template-columns:150px 1fr}
  .mascot-frame{width:145px;height:375px}
  .mascot-frame img{width:150px;height:455px}
  .service-cards{grid-template-columns:repeat(3,1fr)}
  .service-card{min-height:285px}
  .capability-layout{grid-template-columns:1.15fr 1fr}
  .capability-card:last-child{grid-column:1/3;display:grid;grid-template-columns:.8fr 1.2fr}
  .capability-card:last-child img{height:100%;aspect-ratio:auto}
}

@media (max-width:900px){
  .header-inner{grid-template-columns:130px 1fr auto}
  .primary-nav{display:none;position:absolute;top:82px;left:18px;right:18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;flex-direction:column;align-items:flex-start;gap:4px}
  .primary-nav.is-open{display:flex}
  .nav-toggle{display:block;justify-self:end}
  .header-cta{grid-column:3}
  .hero{min-height:660px}
  .hero-photo{left:46%}
  .hero-blend{background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 40%,rgba(248,244,236,.97) 48%,rgba(248,244,236,.55) 60%,rgba(248,244,236,0) 78%)}
  .hero-copy{width:62%}
  .display-title{font-size:72px}
  .proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-grid>div:nth-child(2){border-right:0}
  .proof-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .services-layout{display:block}
  .mascot-column{display:none}
  .service-cards{grid-template-columns:repeat(3,1fr)}
  .results-panel{grid-template-columns:1fr}
  .trust-panel{grid-template-columns:1fr}
  .trust-local{border-right:0;border-bottom:1px solid var(--line)}
  .technical-grid,.editorial-grid,.editorial-grid.reverse,.assessment-grid,.property-grid,.project-proof-grid,.service-area-grid,.faq-grid{grid-template-columns:1fr;gap:36px}
  .technical-copy{grid-template-columns:1fr 1fr}
  .editorial-grid.reverse .editorial-image,.editorial-grid.reverse .editorial-copy{order:initial}
  .capability-layout{grid-template-columns:1fr 1fr}
  .capability-card.large{grid-column:1/3}
  .capability-card:last-child{grid-column:auto;display:flex}
  .capability-card:last-child img{height:auto;aspect-ratio:1.55/1}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .service-area-grid{grid-template-columns:1fr 320px}
  .faq-grid{grid-template-columns:260px 1fr}
  .final-cta-inner{grid-template-columns:70px 1fr;gap:18px;padding:15px 0}
  .final-actions{grid-column:2}
  .footer-grid{grid-template-columns:110px 1fr}
  .footer-grid p{grid-column:1/3;text-align:center}
}

@media (max-width:680px){
  .shell{width:min(100% - 28px,var(--shell))}
  .site-header{position:sticky;top:0}
  .header-inner{height:72px;grid-template-columns:104px 1fr auto;gap:8px}
  .brand{width:102px;height:58px}
  .primary-nav{top:72px}
  .header-cta{min-height:38px;padding:0 11px;font-size:10px}
  .header-cta span{display:none}
  .hero{min-height:0;padding-bottom:0}
  .hero-photo{position:relative;inset:auto;height:330px;margin-top:0}
  .hero-photo img{object-position:center 48%}
  .hero-photo:after{background:linear-gradient(180deg,var(--cream) 0,rgba(248,244,236,.35) 16%,rgba(248,244,236,0) 40%)}
  .hero-blend{display:none}
  .hero-inner{min-height:auto;display:block}
  .hero-copy{width:100%;padding:34px 0 26px}
  .display-title{font-size:clamp(53px,16vw,72px);line-height:.87}
  .hero h1{font-size:16px}
  .hero-intro{font-size:13px}
  .hero-actions{align-items:stretch;flex-direction:column}
  .hero-actions .button{width:100%}
  .proof-grid{grid-template-columns:1fr 1fr}
  .proof-grid>div{min-height:68px;padding:10px 12px}
  .services{padding-top:34px}
  .section-title{font-size:46px}
  .service-cards{grid-template-columns:1fr 1fr;gap:9px}
  .service-card{min-height:265px}
  .service-card h3{font-size:16px}
  .service-card p{font-size:10.5px}
  .result-grid,.review-grid{grid-template-columns:1fr}
  .trust-icons{grid-template-columns:repeat(3,1fr)}
  .reviews-head{align-items:flex-start;flex-direction:column}
  .technical-band,.editorial,.capability-grid,.assessment,.process,.project-proof,.service-area,.faq{padding:56px 0}
  .technical-grid{gap:26px}
  .technical-copy{grid-template-columns:1fr;gap:14px}
  .technical-band h2{font-size:46px}
  .editorial-image,.editorial-image img{min-height:320px}
  .editorial-copy h2{font-size:44px}
  .capability-layout{grid-template-columns:1fr}
  .capability-card.large,.capability-card:last-child{grid-column:auto}
  .capability-card.large .capability-body h2,.capability-body h2{font-size:30px}
  .form-row.two{grid-template-columns:1fr}
  .assessment h2{font-size:46px}
  .assessment-form{padding:17px}
  .process-grid{grid-template-columns:1fr 1fr}
  .property-section{padding:54px 0}
  .property-section h2,.project-proof h2,.service-area h2{font-size:44px}
  .proof-stack{height:360px;grid-template-columns:1fr 1fr}
  .service-area-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr;gap:24px}
  .faq h2{font-size:42px}
  .final-cta-inner{grid-template-columns:54px 1fr;min-height:0;padding:18px 0}
  .final-mascot{height:105px}
  .final-mascot img{height:190px;width:58px}
  .final-cta h2{font-size:30px}
  .final-actions{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr}
  .final-actions .button{padding:0 11px;font-size:10px}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-brand{margin:auto}
  .footer-grid nav{flex-wrap:wrap;gap:12px 18px}
  .footer-grid p{grid-column:auto}
}

@media (max-width:430px){
  .header-cta{display:none}
  .header-inner{grid-template-columns:112px 1fr auto}
  .display-title{font-size:55px}
  .service-cards{grid-template-columns:1fr}
  .service-card{min-height:0}
  .service-card>img{aspect-ratio:2/1}
  .process-grid{grid-template-columns:1fr}
  .proof-stack{grid-template-columns:1fr;height:auto;grid-template-rows:auto}
  .proof-stack img:first-child{grid-row:auto}
  .proof-stack img{aspect-ratio:1.7/1}
  .final-actions{grid-template-columns:1fr}
}


/* ---- Locked visual refinement pass: Sept 2026 ---- */
/* New approved JCA logo: clean transparent treatment, no box/halo. */
.brand{width:168px;height:74px;overflow:visible}
.brand img{width:168px;height:74px;object-fit:contain;object-position:left center;background:transparent}
.header-inner{grid-template-columns:176px 1fr auto}
.footer-brand{width:150px;height:70px;overflow:visible}
.footer-brand img{width:150px;height:70px;object-fit:contain;background:transparent}

/* Full mascot presentation — no clipping, no background patch. */
.mascot-column{align-items:flex-end}
.mascot-frame{width:184px;height:430px;overflow:visible;background:transparent;align-items:flex-end;justify-content:center}
.mascot-frame img{width:auto;height:414px;max-width:184px;object-fit:contain;object-position:center bottom;transform:none;background:transparent;filter:drop-shadow(0 7px 10px rgba(11,50,100,.06))}

/* Review cards: simple source labels + small JCA character, no review totals. */
.review-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.review-source-card{display:grid;grid-template-columns:82px 1fr;align-items:end;gap:12px;min-height:160px;padding:16px 17px 14px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)}
.review-character{align-self:end;height:124px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.review-character img{width:72px;height:auto;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 7px rgba(10,43,82,.08))}
.review-character-alt img{transform:translateX(1px)}
.review-source-content{align-self:center;min-width:0}
.review-source-content .quote-mark{margin-bottom:2px}
.review-source-content>p{font-size:11px;line-height:1.5;margin:7px 0 12px;color:#52677a}
.review-source-label{display:flex;align-items:center;gap:9px}
.review-source-label strong{display:block;color:var(--navy);font-size:11px;line-height:1.2}
.review-source-label small{display:block;margin-top:2px;color:#778590;font-size:8.5px;font-weight:600}
.source-badge{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:900;font-family:Arial,sans-serif;background:#fff;border:1px solid #d6dce1;box-shadow:0 2px 8px rgba(15,45,75,.06)}
.google-badge{color:#4285f4}
.thumbtack-badge{background:#1488d3;color:#fff;border-color:#1488d3}

/* Bottom CTA mascot: clean transparent character, fully visible. */
.final-cta-inner{grid-template-columns:110px 1fr auto}
.final-mascot{height:126px;overflow:visible;display:flex;align-items:flex-end;justify-content:center}
.final-mascot img{height:118px;width:auto;max-width:105px;object-fit:contain;object-position:center bottom;transform:none;background:transparent;filter:drop-shadow(0 4px 7px rgba(10,43,82,.07))}

@media (max-width:1180px){
  .header-inner{grid-template-columns:155px 1fr auto}
  .brand,.brand img{width:150px}
  .mascot-frame{width:150px;height:382px}
  .mascot-frame img{height:370px;max-width:150px}
}

@media (max-width:900px){
  .header-inner{grid-template-columns:142px 1fr auto}
  .brand,.brand img{width:138px;height:66px}
  .review-grid-two{grid-template-columns:1fr 1fr}
  .final-cta-inner{grid-template-columns:80px 1fr}
  .final-mascot img{height:105px;max-width:76px}
}

@media (max-width:680px){
  .header-inner{grid-template-columns:116px 1fr auto;height:72px}
  .brand,.brand img{width:112px;height:61px}
  .review-grid-two{grid-template-columns:1fr}
  .review-source-card{grid-template-columns:72px 1fr;min-height:145px;padding:14px}
  .review-character{height:110px}
  .review-character img{width:64px}
  .final-cta-inner{grid-template-columns:66px 1fr}
  .final-mascot{height:106px}
  .final-mascot img{height:96px;max-width:64px}
}

@media (max-width:430px){
  .header-inner{grid-template-columns:118px 1fr auto}
  .brand,.brand img{width:116px;height:62px}
}

/* Review-avatar correction: keep the full head/upper body visible. */
.review-character{overflow:visible;align-items:flex-end}
.review-character img{height:112px;width:auto;max-width:68px;object-fit:contain;object-position:center bottom}
@media (max-width:680px){
  .review-character{height:106px}
  .review-character img{height:100px;max-width:62px}
}

/* Production lead-form states */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-privacy{font-size:.78rem;line-height:1.45;color:#5b6a7c;margin:.35rem 0 .65rem}
.form-privacy a{color:#0b4f96;text-decoration:underline;text-underline-offset:2px}
.form-status{min-height:1.35em;margin-top:.55rem;font-size:.88rem;line-height:1.45}
.form-status.is-error{color:#9a2c2c}
.form-status.is-success{color:#1f6b43;font-weight:700}
button[disabled]{cursor:wait;opacity:.72}
