:root{--navy:#10233D;--brand:#003574;--accent:#015CAC;--sage:#7DA480;--paper:#F7F7F4;--ink:#1A2430;--muted:#5B6672;--line:#dcdedb;--serif:'Fraunces',Georgia,serif;--sans:'Public Sans',sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;color:var(--navy);letter-spacing:-.04em;line-height:1.1}h1{font-size:clamp(2.6rem,4.6vw,4.5rem)}h2{font-size:clamp(2.2rem,3.2vw,3.2rem)}h3{font-size:1.125rem;line-height:1.35;font-weight:600}h1 em,h2 em{font-weight:400}p{color:var(--muted)}p+p{margin-top:1em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:108px}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.5;color:var(--brand);margin-bottom:23px}.section-index{color:var(--muted);margin-right:19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:56px;padding:15px 24px;background:var(--accent);border:1px solid var(--accent);border-radius:4px;color:#fff;font-size:.875rem;font-weight:600;line-height:1.35;text-align:center;transition:background .25s,box-shadow .25s,transform .25s}.button span{font-size:1.2rem;font-weight:400}.button:hover{background:var(--brand);border-color:var(--brand);box-shadow:0 6px 20px #00357420;transform:translateY(-2px)}.button-small{min-height:44px;padding:12px 18px;gap:18px;font-size:.8rem}.button-outline{background:transparent;color:var(--brand);border-color:#b9c8d6}.button-outline:hover{color:#fff}.text-link{display:inline-flex;align-items:center;gap:24px;color:var(--brand);font-size:.9rem;font-weight:600;border-bottom:1px solid #9fb1c3;padding-bottom:7px}.text-link:hover{border-color:var(--accent);color:var(--accent)}.text-link span{font-size:1.2rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;padding:12px 20px;background:var(--paper);color:var(--brand);z-index:1000;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid transparent;transition:box-shadow .3s,background .3s,border-color .3s}.site-header.is-scrolled{background:#f7f7f4f2;border-color:var(--line);box-shadow:0 4px 20px #10233d08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner{width:min(1390px,calc(100% - 80px));height:100px;margin:auto;display:flex;align-items:center;gap:26px}.brand{flex-shrink:0;margin-right:auto}.logo-crop{display:block;width:193px;aspect-ratio:993/261;overflow:hidden;position:relative}.logo-crop img{position:absolute;width:154.683%;max-width:none;height:auto;left:-29.708%;top:-126.053%}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{font-size:.8rem;font-weight:500;white-space:nowrap;padding-block:12px;position:relative}.site-header nav a::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover::after,.site-header nav a[aria-current]::after{transform:scaleX(1)}.header-phone{font-size:.84rem;white-space:nowrap;font-weight:600}.menu-toggle{display:none}
.hero{background:var(--navy);color:var(--paper);padding-top:76px}.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:90px;align-items:center;padding-bottom:69px}.hero-eyebrow{color:#c4d0da;font-size:.7rem;display:flex;align-items:center;gap:10px;margin-bottom:28px}.hero-eyebrow span{height:6px;width:6px;background:var(--sage);border-radius:50%;flex-shrink:0}.hero h1{color:var(--paper);max-width:790px}.hero h1 em{color:#bcd1c2}.hero-intro{font-size:1rem;color:#c1cad6;line-height:1.85;max-width:610px;margin-top:25px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.light-link{font-size:.86rem;border-bottom:1px solid #8794a4;padding-bottom:6px;display:flex;gap:20px;align-items:center;white-space:nowrap}.light-link:hover{color:#bcd1c2}.hero-credential{padding-top:20px;max-width:405px;justify-self:end;width:100%}.credential-head{display:flex;justify-content:space-between;gap:10px;color:#a8b8ca;font-size:.62rem;letter-spacing:.12em;margin-bottom:14px}.credential-paper{background:var(--paper);padding:33px 30px 26px;border-radius:4px;box-shadow:12px 14px 0 #ffffff05}.credential-paper .eyebrow{font-size:.62rem;letter-spacing:.12em;margin-bottom:27px;color:var(--muted)}.credential-paper img{width:100%;mix-blend-mode:multiply}.credential-rule{height:1px;background:var(--line);margin:27px 0 20px}.credential-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--navy);font-size:.69rem;line-height:1.6}.credential-bottom strong{font-size:.75rem}.credential-bottom span{text-align:right;color:var(--muted)}.credential-note{font-size:.8rem;color:#aebdca;line-height:1.7;margin-top:25px}.hero-bottom{padding-block:22px;border-top:1px solid #ffffff20;display:flex;align-items:center;gap:32px}.hero-bottom>span{font-size:.62rem;letter-spacing:.13em;color:#a4b4c6}.hero-bottom p{font-size:.75rem;color:#bac6d3}.hero-bottom b{font-weight:400;color:var(--sage);margin:0 12px}.scroll-down{height:32px;width:32px;border:1px solid #ffffff30;border-radius:50%;display:grid;place-items:center;margin-left:auto}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:58px}.section-heading>p{max-width:355px;font-size:.93rem;line-height:1.8;padding-bottom:6px}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.steps li{border-top:1px solid #cbd0d0;padding-top:24px}.step-number{font-family:var(--serif);font-size:2.5rem;line-height:1;color:var(--brand);display:block;margin-bottom:30px}.steps h3{margin-bottom:15px;font-size:1rem}.steps p{font-size:.875rem;line-height:1.85}.offers{background:#eeefeb}.offers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.offer-card{background:var(--paper);border:1px solid #d8dddb;border-radius:5px;padding:30px;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}.offer-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px #10233d0c}.offer-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:26px}.offer-top .eyebrow{font-size:.63rem;margin-bottom:0;letter-spacing:.1em}.offer-number{font-family:var(--serif);color:#6e7c89;font-size:.8rem}.offer-card h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;letter-spacing:-.035em;color:var(--navy);line-height:1.22;min-height:64px}.offer-description{font-size:.825rem;margin-top:20px;min-height:66px}.price{font-family:var(--serif);font-size:2.8rem;line-height:1.2;letter-spacing:-.04em;margin-top:22px;color:var(--navy)}.price span{font-family:var(--sans);font-size:.85rem;letter-spacing:0;font-weight:400}.fixed-price{font-size:.7rem;margin-top:6px}.check-list{list-style:none;padding:24px 0 0;margin:24px 0 29px;border-top:1px solid var(--line);font-size:.8rem}.check-list li{position:relative;padding-left:22px;margin-bottom:12px;line-height:1.65}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--brand)}.offer-detail{font-size:.75rem;align-self:flex-start;margin-top:auto;margin-bottom:26px;gap:12px}.offer-card .button{font-size:.8rem;justify-content:space-between;gap:10px;min-height:49px;padding:12px 16px}.offer-featured{border-color:var(--brand);background:var(--navy)}.offer-featured h3,.offer-featured .price,.offer-featured .offer-detail{color:var(--paper)}.offer-featured .eyebrow{color:#c5d5c6}.offer-featured .offer-description,.offer-featured .fixed-price,.offer-featured .offer-number{color:#becbd8}.offer-featured .check-list{color:#d2dbe3;border-color:#ffffff25}.offer-featured .check-list li::before{color:#a5c4a7}.offers-note{font-size:.75rem;max-width:790px;margin:25px auto 0;text-align:center}.transparency{border-bottom:1px solid var(--line)}.transparency-inner{display:grid;grid-template-columns:.65fr 1.8fr;gap:80px}.quote-mark{font-family:var(--serif);font-size:8rem;line-height:1;color:var(--sage);display:block;margin-top:35px}.transparency blockquote{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.45rem);line-height:1.38;letter-spacing:-.025em;margin:0;color:var(--navy)}.transparency-inner>div>p:not(.eyebrow){font-size:.875rem;margin-top:25px;max-width:700px;line-height:1.9}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-grid h2{font-size:clamp(2rem,3vw,2.9rem);margin-bottom:27px}.about-grid p:not(.eyebrow){font-size:.9rem;line-height:1.9}.about-grid .text-link{margin-top:28px}.project-placeholder{min-height:350px;border:1px solid #cfd5d0;background:#eceee9;padding:25px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.placeholder-top{display:flex;justify-content:space-between;font-size:.62rem;color:var(--muted);letter-spacing:.1em}.project-placeholder>p{margin:auto;text-align:center!important;color:var(--muted);font-family:var(--serif);font-size:1.6rem!important;line-height:1.5!important}.placeholder-bottom{font-size:.62rem;letter-spacing:.14em;color:var(--muted)}.contact-band{background:var(--navy);padding-block:78px}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}.contact-band h2{color:var(--paper);font-size:clamp(2.4rem,3.7vw,3.6rem)}.contact-band h2 em{color:#bcd1c2}.contact-band .eyebrow{color:#b6c7d4;font-size:.68rem}.contact-band-action{display:flex;flex-direction:column;gap:16px;text-align:center}.contact-tel{font-size:.8rem;color:#c6d0db}.site-footer{padding:65px 0 25px;background:var(--paper)}.footer-grid{display:grid;grid-template-columns:1.3fr .9fr 1.15fr .7fr;gap:45px}.footer-logo{display:inline-block}.footer-logo .logo-crop{width:200px}.footer-brand p{margin-top:20px;font-size:.8rem;line-height:1.8}.footer-location{font-size:.68rem;color:var(--muted);display:block;margin-top:20px}.footer-grid h2{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:0;margin:4px 0 23px}.footer-grid>div>a:not(.footer-logo){display:block;font-size:.75rem;margin-bottom:11px}.footer-grid a:hover{color:var(--accent)}.footer-grid .footer-tel{font-size:1.03rem!important;color:var(--navy);font-weight:500}.footer-grid>div>p{font-size:.75rem;line-height:1.8}.footer-cert img{width:140px;mix-blend-mode:multiply;margin-bottom:16px}.footer-cert p{font-size:.63rem!important}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;margin-top:50px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-bottom p,.footer-bottom a{font-size:.65rem;color:var(--muted)}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:24px}
[data-reveal].will-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease) var(--delay,0ms),transform .6s var(--ease) var(--delay,0ms)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){.hero-grid{gap:115px}.hero{padding-top:95px}.hero h1{font-size:4.8rem}.hero-grid{padding-bottom:90px}}
@media(max-width:1200px){.header-inner{width:calc(100% - 48px);gap:22px}.header-phone{display:none}.site-header nav{gap:20px}.container{width:calc(100% - 72px)}.hero-grid{gap:50px;grid-template-columns:1.45fr 1fr}.hero-actions{gap:20px}.hero-actions .button{padding-inline:17px;font-size:.8rem}.credential-paper{padding:28px 24px}.offer-card{padding:25px}.about-grid{gap:55px}.footer-grid{gap:27px}}
@media(max-width:960px){.header-inner{height:84px}.logo-crop{width:176px}.header-cta{display:none}.hero-grid{gap:35px;grid-template-columns:1.35fr 1fr}.hero h1{font-size:3rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-credential{padding-top:0}.hero-bottom{gap:20px}.hero-bottom>span{display:none}.section{padding-block:80px}.steps{gap:24px;grid-template-columns:repeat(2,1fr);row-gap:36px}.step-number{margin-bottom:20px}.offers-grid{gap:12px}.offer-card{padding:21px}.offer-card h3{font-size:1.4rem}.offer-top .eyebrow{font-size:.56rem}.offer-description{min-height:88px}.offer-card .button{font-size:.75rem;min-height:58px}.check-list{font-size:.75rem}.transparency-inner{grid-template-columns:.7fr 2fr;gap:35px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:40px}.footer-bottom{align-items:flex-start}.footer-bottom>div{gap:12px;justify-content:flex-end;max-width:55%}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{height:77px;width:calc(100% - 40px)}.logo-crop{width:167px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:3px;color:var(--navy);font-size:.8rem}.menu-toggle i{width:15px;height:10px;border-top:1px solid;border-bottom:1px solid}.site-header nav{display:none;position:absolute;top:77px;left:0;right:0;padding:15px 20px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 20px #10233d12;flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{padding:12px 4px;font-size:.95rem}.site-header nav a::after{display:none}.hero{padding-top:43px}.hero-grid{display:flex;flex-direction:column;gap:42px;padding-bottom:37px;align-items:stretch}.hero h1{font-size:clamp(2.6rem,9vw,3.8rem);line-height:1.12;letter-spacing:-.042em}.hero-eyebrow{font-size:.58rem;letter-spacing:.11em;margin-bottom:22px}.hero-intro{font-size:.91rem;line-height:1.85;margin-top:23px}.hero-actions{flex-direction:row;flex-wrap:wrap;gap:20px;margin-top:28px;align-items:center}.hero-actions .button{font-size:.75rem;min-height:52px;padding:13px 17px;gap:15px}.light-link{font-size:.75rem;gap:12px}.hero-credential{max-width:none;width:100%;display:grid;grid-template-columns:1fr;position:relative}.credential-head{font-size:.57rem;margin-bottom:10px}.credential-paper{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;align-items:center}.credential-paper .eyebrow{grid-column:1/-1;margin:0;font-size:.59rem}.credential-paper img{max-width:160px;width:100%}.credential-rule{display:none}.credential-bottom{display:block;border-left:1px solid var(--line);padding-left:20px}.credential-bottom strong{font-size:.71rem;display:block;line-height:1.6;margin-bottom:8px}.credential-bottom span{display:block;text-align:left;font-size:.65rem}.credential-note{display:none}.hero-bottom{padding-block:19px}.hero-bottom p{font-size:.62rem;line-height:1.9;max-width:290px}.hero-bottom b{margin-inline:5px}.scroll-down{flex-shrink:0}.section{padding-block:65px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:22px;max-width:100%;font-size:.875rem}.eyebrow{font-size:.65rem;margin-bottom:18px}.section-index{margin-right:13px}h2{font-size:2.2rem}.steps{gap:30px 23px}.steps h3{font-size:.91rem}.steps p{font-size:.79rem;line-height:1.8}.step-number{font-size:2.1rem}.offers-grid{grid-template-columns:1fr;gap:18px}.offer-card{padding:28px}.offer-top .eyebrow{font-size:.64rem}.offer-card h3{font-size:1.9rem;min-height:0}.offer-description{min-height:0;font-size:.875rem;max-width:320px}.offer-card .price{font-size:3rem}.check-list{font-size:.875rem}.offer-card .button{font-size:.875rem;min-height:52px}.offer-detail{font-size:.82rem}.offers-note{font-size:.72rem;text-align:left}.transparency-inner{display:block}.transparency .eyebrow{margin-bottom:27px}.quote-mark{display:none}.transparency blockquote{font-size:1.75rem}.transparency-inner>div>p:not(.eyebrow){font-size:.83rem}.about-grid{grid-template-columns:1fr;gap:35px}.project-placeholder{min-height:280px}.about-grid h2{font-size:2.2rem}.contact-band{padding-block:57px}.contact-band-inner{display:block}.contact-band h2{font-size:2.65rem}.contact-band-action{margin-top:30px;align-items:flex-start;text-align:left}.contact-tel{font-size:.75rem}.site-footer{padding-top:47px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-brand{grid-column:1/-1}.footer-grid>div>a:not(.footer-logo){font-size:.7rem;overflow-wrap:anywhere}.footer-grid>div>p{font-size:.7rem}.footer-cert{grid-column:1/-1;display:flex;gap:25px;align-items:center}.footer-cert img{width:108px;margin:0}.footer-cert p{font-size:.62rem!important}.footer-bottom{display:block;margin-top:35px}.footer-bottom>div{justify-content:flex-start;max-width:100%;margin-top:15px;gap:10px 18px}.footer-bottom a{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal{opacity:1!important;transform:none!important}.button:hover,.offer-card:hover{transform:none}}
.breadcrumb{display:flex;gap:15px;align-items:center;font-size:.72rem;color:var(--muted);padding-top:30px}.breadcrumb a:hover{color:var(--accent)}.breadcrumb>span[aria-hidden]{color:#a1abb4}.service-hero{padding:65px 0 85px}.service-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:center}.service-hero h1{font-size:clamp(2.8rem,4.7vw,4.5rem)}.service-hero h1 em,.about-hero h1 em,.contact-info h1 em,.legal-page h1 em{color:var(--brand)}.service-intro{font-size:1rem;line-height:1.9;margin-top:26px;max-width:620px}.service-price{background:#ecefe9;border:1px solid #d4dcd3;padding:35px;align-self:center;border-radius:4px}.service-price>.eyebrow{font-size:.65rem;margin-bottom:22px}.service-price .price{font-size:3.9rem;margin-top:0}.service-price .price span{font-size:1rem}.service-price-detail{font-size:.85rem;margin-top:15px;margin-bottom:25px}.service-price .button{width:100%;justify-content:space-between}.small-note{font-size:.65rem;margin-top:16px}.section-border{border-top:1px solid var(--line)}.tinted{background:#eeefeb}.editorial-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;align-items:start}.prose p{font-size:.94rem;line-height:1.9}.inline-cert{display:flex;align-items:center;gap:30px;margin-top:32px;padding-top:30px;border-top:1px solid var(--line)}.inline-cert img{width:142px;mix-blend-mode:multiply}.inline-cert strong{font-size:.85rem;color:var(--navy)}.inline-cert p{font-size:.72rem;margin-top:5px;line-height:1.7}.section-summary{font-size:.92rem;line-height:1.9;max-width:360px;margin-top:24px}.detail-steps{list-style:none;padding:0;margin:0}.detail-steps li{display:grid;grid-template-columns:40px 1fr;gap:22px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #ccd2cd}.detail-steps li:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.detail-steps li>span{font-family:var(--serif);color:var(--brand);font-size:1.65rem;line-height:1.1}.detail-steps h3{font-size:1rem;margin-bottom:10px}.detail-steps p{font-size:.88rem;line-height:1.85}.report-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:100px}.large-list{list-style:none;margin:0;padding:0}.large-list li{padding:18px 0;border-bottom:1px solid var(--line);font-size:.96rem;display:flex;gap:20px;align-items:baseline}.large-list li:first-child{padding-top:0}.large-list li::before{content:'↗';color:var(--brand);font-size:1.2rem}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.scope-grid h2{margin-bottom:25px}.scope-grid p{font-size:.93rem;line-height:1.9}.scope-box{padding:35px;border:1px solid #c8d0d5;background:var(--paper)}.scope-box h3{font-family:var(--serif);font-size:1.65rem;letter-spacing:-.025em;font-weight:400;color:var(--navy);margin-bottom:20px}.scope-box p{font-size:.85rem}.scope-box .text-link{font-size:.78rem;margin-top:24px}.plain-list{padding:0 0 0 18px;margin:0 0 25px;color:var(--muted);font-size:.9rem}.plain-list li{margin:10px 0}.about-hero{padding:65px 0 85px}.about-hero h1{font-size:clamp(2.7rem,4.5vw,4.5rem)}.about-hero .service-intro{max-width:670px}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.proof-grid>div>p:not(.eyebrow){font-size:.86rem;line-height:1.9;margin-top:25px}.proof-grid .inline-cert{border:none;padding-top:0;margin:30px 0 25px}.insurance-placeholder{padding:24px;border:1px dashed #9caaa3}.territory-intro{font-size:1.05rem;line-height:1.85}.territory-list{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.territory-list span{font-size:.77rem;padding:9px 16px;border:1px solid #cbd2d3;border-radius:3px;color:var(--brand)}address{font-style:normal;color:var(--muted);font-size:.9rem;line-height:1.85}.contact-page{padding-top:60px}.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;align-items:start}.contact-info h1{font-size:clamp(2.8rem,4.7vw,4.6rem)}.contact-info .service-intro{font-size:.92rem;max-width:360px}.contact-methods{margin-top:43px;display:flex;flex-direction:column;gap:26px}.contact-methods .eyebrow{display:block;font-size:.62rem;margin-bottom:8px}.contact-methods a{font-size:.95rem;color:var(--brand)}.contact-methods .big-phone{font-family:var(--serif);font-size:2.1rem;letter-spacing:-.025em;line-height:1.3}.contact-territory{margin-top:33px;font-size:.73rem;padding-top:24px;border-top:1px solid var(--line);max-width:330px}.form-panel{background:#edefe9;border:1px solid #dce0d8;border-radius:4px;padding:37px}.form-panel h2{font-size:1.8rem;line-height:1.25}.form-intro{font-size:.7rem;margin-top:12px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:.76rem;color:var(--navy);font-weight:500;margin-bottom:8px}.optional{font-size:.66rem;color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;border:1px solid #c7ceca;border-radius:3px;background:var(--paper);padding:12px;color:var(--ink);font-size:1rem;min-height:48px;transition:border-color .2s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#849baf}.field textarea{resize:vertical;min-height:135px;line-height:1.7}.field textarea::placeholder{color:#687682;font-size:.82rem}.field-help{font-size:.63rem;margin-top:6px}.consent{display:flex;gap:12px;align-items:flex-start;margin-top:23px}.consent input{width:19px;height:19px;flex-shrink:0;accent-color:var(--accent);margin:3px 0 0}.consent label{font-size:.7rem;line-height:1.85;color:var(--muted)}.consent a{text-decoration:underline;text-underline-offset:3px;color:var(--brand)}.form-delivery{font-size:.68rem;line-height:1.8;margin-top:20px;padding-top:20px;border-top:1px solid #d3d9d1}.form-panel .button{margin-top:24px;min-width:170px}.form-status{margin-top:22px;padding:20px;border:1px solid #a7b8ae;background:var(--paper);font-size:.82rem;overflow-wrap:anywhere}.form-status p{color:var(--navy)}.form-status button{font-size:.8rem;margin-top:15px}.form-status textarea{display:block;width:100%;margin-top:15px;min-height:200px;background:var(--paper);border:1px solid var(--line);padding:12px;color:var(--ink);font-size:.8rem}.legal-page{padding-top:60px}.legal-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:90px}.legal-page h1{font-size:clamp(2.6rem,4vw,4rem)}.legal-date{font-size:.72rem;margin-top:24px}.legal-copy section{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.legal-copy h2{font-family:var(--sans);font-weight:600;font-size:1.05rem;letter-spacing:0;line-height:1.4;margin-bottom:15px}.legal-copy p{font-size:.875rem;line-height:1.9}.legal-copy a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-copy dl{font-size:.85rem;color:var(--muted)}.legal-copy dt{font-weight:600;color:var(--ink);margin-top:16px}.legal-copy dd{margin:3px 0 0}.hero h1 em,.contact-band h2 em{color:#d4dee7}
@media(max-width:1100px){.service-hero-grid,.editorial-grid,.report-grid,.scope-grid,.proof-grid,.contact-layout,.legal-layout{gap:55px}.service-price{padding:28px}.form-panel{padding:28px}.contact-layout{grid-template-columns:1fr 1.25fr}}
@media(max-width:850px){.service-hero-grid{gap:35px}.service-hero h1{font-size:3rem}.service-price{padding:24px}.service-price .price{font-size:3rem}.service-price .button{font-size:.75rem;padding-inline:14px;gap:12px}.editorial-grid,.report-grid{gap:40px;grid-template-columns:1fr 1.2fr}.scope-grid,.proof-grid{gap:35px}.inline-cert{gap:18px}.inline-cert img{width:105px}.contact-layout{gap:35px;grid-template-columns:1fr 1.2fr}.form-grid{grid-template-columns:1fr}.contact-info h1{font-size:3rem}.legal-layout{gap:40px;grid-template-columns:1fr 1.2fr}}
@media(max-width:700px){.breadcrumb{padding-top:23px;font-size:.65rem}.service-hero,.about-hero{padding:40px 0 55px}.service-hero-grid{grid-template-columns:1fr;gap:35px}.service-hero h1,.about-hero h1,.contact-info h1{font-size:2.75rem}.service-intro{font-size:.9rem;margin-top:23px}.service-price{padding:26px}.service-price .price{font-size:3.5rem}.service-price .button{font-size:.875rem}.editorial-grid,.report-grid,.scope-grid,.proof-grid,.contact-layout,.legal-layout{grid-template-columns:1fr;gap:35px}.prose p{font-size:.875rem}.inline-cert{gap:22px}.inline-cert img{width:115px}.section-summary{max-width:100%;font-size:.875rem}.detail-steps li{grid-template-columns:30px 1fr;gap:16px}.detail-steps p{font-size:.85rem}.large-list li{font-size:.875rem}.scope-box{padding:26px}.scope-grid p{font-size:.875rem}.proof-grid{gap:45px}.contact-page{padding-top:38px}.contact-info .service-intro{max-width:100%}.contact-methods{gap:22px;margin-top:28px}.contact-territory{max-width:100%}.form-panel{padding:25px 20px}.form-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.form-panel h2{font-size:1.65rem}.field label{font-size:.7rem}.form-intro,.consent label,.form-delivery{font-size:.72rem}.form-panel .button{width:100%}.legal-page{padding-top:38px}.legal-page h1{font-size:2.75rem}.legal-copy p{font-size:.85rem}}
@media(max-width:380px){.form-grid{grid-template-columns:1fr}.credential-paper{padding:20px;gap:14px}.credential-bottom{padding-left:14px}.hero-actions{gap:20px}.site-header .logo-crop{width:150px}}
/* Form fields remain fully readable on narrow screens. */
.field input,.field select,.field textarea{border-color:#7d8b97}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
.offer-number{color:var(--muted)}

/* Service pages: "formule en bref" panel. No published price: the serif lead takes the price slot. */
.service-price{padding:34px 34px 30px;box-shadow:0 1px 0 #ffffff inset}
.service-price>.eyebrow{margin-bottom:14px}
.service-price-lead{font-family:var(--serif);font-weight:400;font-size:2.15rem;line-height:1.12;letter-spacing:-.035em;color:var(--navy)}
.service-price-lead em{color:var(--brand)}
.service-price-detail{font-size:.85rem;line-height:1.6;color:var(--muted);margin:14px 0 0}
.service-includes-title{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);margin-top:24px;padding-top:22px;border-top:1px solid #d4dcd3}
.service-price .service-includes{border-top:0;padding:14px 0 0;margin:0 0 26px;font-size:.85rem}
.service-price .service-includes li{margin-bottom:8px}
.service-price-tel{display:block;text-align:center;font-size:.78rem;color:var(--brand);margin-top:14px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#01357440}
.service-price-tel:hover{text-decoration-color:currentColor}
.service-price .small-note{text-align:center;color:var(--muted);margin-top:10px}
@media(max-width:850px){.service-price-lead{font-size:1.9rem}}
@media(max-width:700px){.service-price{padding:26px 22px 22px}.service-price-lead{font-size:2rem}.service-price-tel{padding:8px 0;margin-top:6px}}

/* Offer cards: hover lift uses the independent `translate` property so it no longer
   collides with the reveal `transform` ([data-reveal].is-visible has equal specificity and comes later). */
.offer-card{transition:translate .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.offer-card.will-reveal{transition:opacity .6s var(--ease) var(--delay,0ms),transform .6s var(--ease) var(--delay,0ms),translate .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.offer-card:hover{transform:none;translate:0 -6px;box-shadow:0 18px 40px #10233d14}
.offer-card:not(.offer-featured):hover{border-color:#b9c3c9}
.offer-card.will-reveal:not(.is-visible):hover{transform:translateY(20px)}
@media(prefers-reduced-motion:reduce){.offer-card:hover{translate:none}}

/* Readability floor (finish pass): uppercase labels >= 12px, functional small text >= 13px, at every breakpoint. */
.eyebrow,.credential-head span,.hero-bottom span,.placeholder-top span,.placeholder-bottom,.section-index,.service-includes-title{font-size:.75rem}
.hero-credential .eyebrow,.credential-bottom span,.hero-bottom p,.footer-location,.footer-cert p,.footer-bottom p,.footer-bottom a,.breadcrumb,.breadcrumb a,.breadcrumb span,.optional,.field-help,.form-delivery,.small-note,.service-price .small-note,.fixed-price{font-size:.8125rem}
.offer-top .eyebrow{font-size:.75rem}
.service-price>.eyebrow,.contact-band .eyebrow,.contact-methods .eyebrow{font-size:.75rem}
.footer-cert p{font-size:.8125rem!important}
.footer-grid>div>a:not(.footer-logo),.footer-grid>div>p,.footer-brand p,.inline-cert p,.contact-territory,.form-intro,.legal-date,.offers-note,.credential-bottom strong{font-size:.8125rem}
.field label{font-size:.875rem}
.consent label{font-size:.8125rem;line-height:1.7}
/* Header shares the content grid so the logo lines up with breadcrumbs and headings. */
.header-inner{width:min(1280px,calc(100% - 112px))}
@media(max-width:1200px){.header-inner{width:calc(100% - 72px)}}
@media(max-width:700px){.header-inner{width:calc(100% - 40px)}}
/* Offer cards: the confirmed "Tarif communiqué sur demande" takes the former price slot. */
.offer-price-lead{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.25;letter-spacing:-.02em;color:var(--navy);margin-top:22px}
.offer-featured .offer-price-lead{color:var(--paper)}
@media(max-width:960px){.offer-price-lead{font-size:1.15rem}}
@media(max-width:700px){.offer-price-lead{font-size:1.4rem}}

/* ===== Technical-drawing language (sample: home hero + process). Palette only: navy, brand, accent, sage. Strokes only. ===== */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-plan{display:block;width:100%;height:auto;margin:2px 0 4px;overflow:visible}
.hero-plan .gd path{stroke:var(--brand);stroke-width:1;opacity:.07;vector-effect:non-scaling-stroke}
.hero-plan .ln{fill:none;stroke:var(--brand);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hero-plan .ln-thin{opacity:.6}
.hero-plan .ln-ins{stroke:var(--sage);stroke-width:1.2}
.hero-plan .ln-dash{stroke-dasharray:3 3;stroke:var(--sage)}
.hero-plan .an{fill:none;stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}
.hero-plan .an-lead{opacity:.55}
.hero-plan .an-t{fill:var(--navy);font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.hero-plan .an-title{fill:var(--accent);font-size:10.5px;letter-spacing:.16em}
.credential-cartouche{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px}
.credential-cartouche img{width:100%;max-width:190px}
.credential-cartouche .credential-bottom{display:block;border-left:1px solid var(--line);padding-left:18px;text-align:left}
.credential-cartouche .credential-bottom strong{display:block;margin-bottom:6px}
.credential-cartouche .credential-bottom span{text-align:left;display:block}
.credential-paper .eyebrow{margin-bottom:16px}
.credential-rule{margin:18px 0 18px}
.credential-paper{box-shadow:0 1px 2px #10233d40,0 18px 40px -12px #00000066}

/* Process: plan-style reference bubbles joined by a dotted path (01 → 04). */
.steps{--steps-gap:35px;column-gap:var(--steps-gap)}
.steps li{border-top:0;padding-top:0;position:relative}
.step-marker{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--brand);border-radius:50%;background:var(--paper);margin-bottom:26px}
.step-marker::before{content:'';position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px dashed #00357440;border-radius:50%}
.step-icon{width:34px;height:34px;fill:none;stroke:var(--brand);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.step-icon .ac{stroke:var(--sage);stroke-width:1.5}
.steps li:not(:last-child)::after{content:'';position:absolute;top:32px;left:72px;right:calc(8px - var(--steps-gap));border-top:1px dashed var(--sage)}
.steps li:not(:last-child)::before{content:'';position:absolute;top:28px;right:calc(8px - var(--steps-gap));width:7px;height:7px;border-top:1px solid var(--sage);border-right:1px solid var(--sage);transform:translateX(-1px) rotate(45deg)}
.steps .step-number{font-size:1.9rem;margin-bottom:14px}
@media(max-width:960px){
 .steps{grid-template-columns:1fr;row-gap:34px}
 .steps li{display:grid;grid-template-columns:64px 1fr;column-gap:24px;align-content:start}
 .step-marker{grid-row:1/span 3;margin:0}
 .steps .step-number{margin:6px 0 8px}
 .steps li:not(:last-child)::after{top:72px;left:32px;right:auto;bottom:-26px;border-top:0;border-left:1px dashed var(--sage)}
 .steps li:not(:last-child)::before{top:auto;bottom:-26px;right:auto;left:29px;transform:rotate(135deg)}
}
@media(max-width:700px){.credential-paper{display:block}.credential-rule{display:block}.credential-cartouche .credential-bottom{padding-left:16px}}
.hero-credential .credential-paper{padding:24px 26px 20px}
.hero-credential .credential-rule{margin:12px 0 16px}
.hero-grid{padding-bottom:52px}
.credential-note{margin-top:18px}
.step-icon{width:40px;height:40px}
.hero-plan .an-t:not(.an-title){font-size:11px;letter-spacing:.04em}
/* Narrow sheets: callouts keep only their codes, legend moves under the drawing. */
.plan-legend{display:none}
.hero-credential .credential-paper{container-type:inline-size}
@container (max-width:339px){
 .hero-plan .an-full{display:none}
 .hero-plan .an-short{display:inline}
 .hero-plan .an-t:not(.an-title){font-size:19px;letter-spacing:.02em}
 .hero-plan .an-title{font-size:16px}
 .plan-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;list-style:none;margin:10px 0 0;padding:0;font-size:.75rem;color:var(--navy)}
 .plan-legend b{font-weight:600;color:var(--accent);margin-right:4px}
}
@container (max-width:339px){
 .credential-cartouche{grid-template-columns:1fr;gap:14px}
 .credential-cartouche img{max-width:180px}
 .credential-cartouche .credential-bottom{border-left:0;padding-left:0}
}

/* ===== Technical-drawing language, site-wide rollout ===== */
:root{--shadow-card:0 1px 2px #10233d12,0 16px 34px -18px #10233d4d;--shadow-card-hover:0 2px 4px #10233d14,0 24px 44px -18px #10233d59}
.plan-sheet{display:block;width:100%;height:auto}
.plan-sheet .gd path{stroke:var(--brand);stroke-width:1;opacity:.08;vector-effect:non-scaling-stroke}
.plan-sheet .ln{fill:none;stroke:var(--brand);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.plan-sheet .ln-thin{opacity:.6}
.plan-sheet .ln-ins{stroke:var(--sage);stroke-width:1.2}
.plan-sheet .ln-dash{stroke-dasharray:3 3}
.plan-sheet .ln-ins.ln-dash,.plan-sheet .an.ln-dash{stroke:var(--sage)}
.plan-sheet .an{fill:none;stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}
.plan-sheet .an-lead{opacity:.55}
.plan-sheet .an-t{fill:var(--navy);font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.plan-sheet .an-title{fill:var(--accent);font-size:10.5px;letter-spacing:.16em}
/* Compact callouts on narrow sheets (hero card and project sheets). */
.project-sheet{container-type:inline-size}
@container (max-width:339px){
 .plan-sheet .an-full{display:none}
 .plan-sheet .an-short{display:inline}
 .plan-sheet .an-t:not(.an-title){font-size:19px;letter-spacing:.02em}
 .plan-sheet .an-title{font-size:16px}
 .project-sheet .plan-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;list-style:none;margin:10px 0 0;padding:0;font-size:.75rem;color:var(--navy)}
 .project-sheet .plan-legend b{font-weight:600;color:var(--accent);margin-right:4px}
}
/* Former photo placeholders are now drawing sheets. */
.project-sheet{min-height:0;gap:18px;box-shadow:var(--shadow-card);background:var(--paper)}
.project-sheet .plan-sheet{margin:6px 0}

/* Card depth, one shadow scale. */
.offer-card,.service-price,.scope-box,.form-panel{box-shadow:var(--shadow-card)}
.offer-card:hover{box-shadow:var(--shadow-card-hover)}
.offer-featured{box-shadow:0 2px 4px #10233d26,0 24px 48px -20px #10233d99}

/* Grain on every navy surface, barely perceptible. */
.contact-band,.offer-featured{position:relative;isolation:isolate}
.hero::after,.contact-band::after,.offer-featured::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero::after{z-index:-2}

/* Offer + service icons: plan reference bubbles. */
.offer-mark{position:relative;display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border:1px solid var(--brand);border-radius:50%}
.offer-mark::before{content:'';position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px dashed #00357440;border-radius:50%}
.offer-mark .step-icon{width:32px;height:32px}
.offer-top{align-items:flex-start;margin-bottom:22px}
.offer-tag{display:block;margin-bottom:14px}
.offer-featured .offer-mark{border-color:var(--sage)}
.offer-featured .offer-mark::before{border-color:#7da48059}
.offer-featured .step-icon{stroke:var(--paper)}
.offer-featured .offer-tag{color:#c5d5c6}
.service-price-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.service-price-head .eyebrow{margin:0}
.service-price-head .offer-mark{width:50px;height:50px;background:var(--paper)}
.service-price-head .step-icon{width:30px;height:30px}

/* Transparency: a margin note on a tracing sheet. */
.transparency-inner{align-items:start}
.note-margin{position:relative;padding-top:6px}
.note-ref{display:flex;align-items:center;margin-top:8px}
.note-callout{width:68px;height:68px;flex-shrink:0;overflow:visible}
.note-callout circle{fill:var(--paper);stroke:var(--brand);stroke-width:1}
.note-callout .note-in{fill:none;stroke-dasharray:3 3;opacity:.5}
.note-callout text{fill:var(--brand);font-family:var(--serif);font-size:20px;text-anchor:middle}
.note-link{position:relative;flex:1;border-top:1px dashed var(--sage);margin-left:6px;margin-right:-72px}
.note-link::after{content:'';position:absolute;right:0;top:-4px;width:7px;height:7px;border-top:1px solid var(--sage);border-right:1px solid var(--sage);transform:rotate(45deg)}
.note-caption{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:16px}
.note-sheet{position:relative;padding:44px 48px 40px;background-color:var(--paper);background-image:linear-gradient(#0035740d 1px,transparent 1px),linear-gradient(90deg,#0035740d 1px,transparent 1px);background-size:20px 20px;box-shadow:var(--shadow-card)}
.note-sheet::before,.note-sheet::after{content:'';position:absolute;width:22px;height:22px;border-color:var(--brand);border-style:solid;border-width:0}
.note-sheet::before{top:-9px;left:-9px;border-top-width:1px;border-left-width:1px}
.note-sheet::after{bottom:-9px;right:-9px;border-bottom-width:1px;border-right-width:1px}
.transparency .note-sheet>p{font-size:.875rem;margin-top:25px;max-width:700px;line-height:1.9}
@media(max-width:1100px){.note-link{margin-right:-50px}}
@media(max-width:960px){.note-link{margin-right:-30px}.note-sheet{padding:34px 34px 30px}}
@media(max-width:700px){.note-margin{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-bottom:26px}.note-margin .eyebrow{flex-basis:100%}.note-ref{margin:0}.note-link{display:none}.note-caption{margin:0}.note-sheet{padding:28px 22px 24px}}

/* Service-page steps: numbered bubbles joined by a dotted path. */
.detail-steps li{grid-template-columns:46px 1fr;border-bottom:0;position:relative}
.detail-steps li>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--brand);border-radius:50%;font-size:1.05rem;line-height:1;background:inherit;position:relative;z-index:1}
.detail-steps li:not(:last-child)::after{content:'';position:absolute;left:23px;top:52px;bottom:-22px;border-left:1px dashed var(--sage)}

/* Contact details with line icons. */
.contact-methods>div{display:grid;grid-template-columns:34px 1fr;column-gap:16px;align-items:start}
.contact-methods>div>:not(.contact-icon){grid-column:2}
.contact-icon{grid-row:1/span 2;width:32px;height:32px;fill:none;stroke:var(--brand);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.contact-icon .ac{stroke:var(--sage);stroke-width:1.5}
.lost-plan{max-width:440px;margin-top:56px}
.offer-card .offer-mark{width:60px;height:60px}.offer-card .offer-mark .step-icon{width:38px;height:38px}

/* ===== Cross-browser fallbacks (no effect in current Chrome) ===== */
.an-short{display:none}
/* Logo box relies on aspect-ratio (Safari < 15 would collapse it to 0 height). */
@supports not (aspect-ratio:1/1){.logo-crop::before{content:'';display:block;padding-top:26.284%}}
/* Browsers without container queries (Safari < 16, Firefox < 110): same compact callouts, driven by viewport ranges measured in Chrome. */
@supports not (container-type:inline-size){
 @media (min-width:1201px) and (max-width:1220px),(min-width:701px) and (max-width:1080px),(max-width:430px){
  .hero-plan .an-full{display:none}.hero-plan .an-short{display:inline}
  .hero-plan .an-t:not(.an-title){font-size:19px;letter-spacing:.02em}.hero-plan .an-title{font-size:16px}
  .credential-paper .plan-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;list-style:none;margin:10px 0 0;padding:0;font-size:.75rem;color:var(--navy)}
  .credential-paper .plan-legend b{font-weight:600;color:var(--accent);margin-right:4px}
  .credential-cartouche{grid-template-columns:1fr;gap:14px}.credential-cartouche img{max-width:180px}.credential-cartouche .credential-bottom{border-left:0;padding-left:0}
 }
 @media (min-width:701px) and (max-width:910px),(max-width:430px){
  .plan-sheet .an-full{display:none}.plan-sheet .an-short{display:inline}
  .plan-sheet .an-t:not(.an-title){font-size:19px;letter-spacing:.02em}.plan-sheet .an-title{font-size:16px}
  .project-sheet .plan-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;list-style:none;margin:10px 0 0;padding:0;font-size:.75rem;color:var(--navy)}
  .project-sheet .plan-legend b{font-weight:600;color:var(--accent);margin-right:4px}
 }
}
/* Zoomed or short viewports: the open mobile menu (inside the sticky header) scrolls instead of overflowing off-screen. No change when it fits. */
@media(max-width:700px){.site-header nav.is-open{max-height:calc(100vh - 77px);max-height:calc(100dvh - 77px);overflow-y:auto;overscroll-behavior:contain}}
/* About page: insurance details are final — solid frame, same spacing as the Qualification block beside it. */
.proof-grid>div>p.insurance-placeholder{border:1px solid #c8d0d5;margin:30px 0 25px}

/* Zone d'intervention: plan-legend markers (crosshair = Nord (59), dashed perimeter = toute la France). */
.zone-mark{width:18px;height:18px;flex-shrink:0;fill:none;stroke:var(--brand);stroke-width:1.25;stroke-linecap:round}
.zone-mark--nord .zm-dot{fill:var(--sage);stroke:none}
.zone-mark--nord circle:first-child{stroke:var(--sage)}
.hero-bottom .zone-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.hero-bottom .zone-line b{margin:0 8px}
.hero-bottom .zone-mark{stroke:#bac6d3}
.hero-bottom .zone-mark--nord circle:first-child{stroke:var(--sage)}
.zone-legend{list-style:none;margin:28px 0;padding:0;display:grid;gap:14px}
.zone-legend li{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid #c8d0d5;background:var(--paper)}
.zone-legend .zone-mark{width:24px;height:24px;margin-top:1px}
.zone-legend span{display:flex;flex-direction:column;gap:2px;font-size:.875rem;color:var(--muted)}
.zone-legend b{font-family:var(--serif);font-weight:400;font-size:1.2rem;letter-spacing:-.02em;color:var(--navy)}
.territory-intro+.zone-legend+address .eyebrow,address .eyebrow{display:block;margin-bottom:8px}

/* Contact form sent from the site (envoyer-demande.php). */
.field-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{color:var(--navy);font-size:.875rem;line-height:1.7}
.form-status.is-pending{border-color:var(--line);color:var(--muted)}
.form-status.is-success{border-left:3px solid var(--sage)}
.form-status.is-error{border-left:3px solid var(--accent)}
#contact-form[aria-busy="true"] button[type="submit"]{opacity:.6;cursor:progress}
