*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-body);overflow-wrap:anywhere}
body.admin-shell{background:var(--color-bg)}
a{color:var(--color-brand);text-underline-offset:.18em}
a:hover{text-decoration-thickness:.12em}
img,svg{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
h1,h2,h3{line-height:var(--line-tight);text-wrap:balance}
h1{font-size:var(--font-size-3xl);margin:0 0 var(--space-5)}
h2{font-size:var(--font-size-2xl);margin:0 0 var(--space-5)}
h3{font-size:var(--font-size-xl);margin:0 0 var(--space-3)}
p{margin:0 0 var(--space-4)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.skip-link{position:fixed;left:var(--space-4);top:var(--space-4);z-index:100;transform:translateY(-200%);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.skip-link:focus{transform:none}
.container{width:min(var(--content),calc(100% - 2rem));margin-inline:auto}
.narrow{max-width:var(--content-narrow)}
.section{padding-block:var(--space-16);background:var(--surface)}
.section-alt{background:var(--surface-subtle)}
.section-intro{max-width:42rem;color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-8)}
.eyebrow,.kicker{display:block;color:var(--color-brand);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:var(--space-3)}
.muted{color:var(--color-text-muted)}
.grid{display:grid;gap:var(--space-4)}
.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}
.card{background:var(--color-surface-raised);border:var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:none;color:var(--color-text)}
.card-flat{box-shadow:none}
.badge{display:inline-flex;align-items:center;min-height:1.75rem;padding:.2rem .55rem;border-radius:999px;background:var(--color-brand-soft);color:var(--color-brand-strong);font-size:var(--font-size-xs);font-weight:750}
.actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);border:2px solid var(--color-brand);border-radius:var(--radius-md);padding:.65rem 1rem;background:var(--color-brand);color:var(--color-on-brand);font-weight:750;text-align:center;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}
.button:hover{background:var(--metier-primary-hover);border-color:var(--metier-primary-hover);text-decoration:none}
.button:active{background:var(--metier-primary-active);border-color:var(--metier-primary-active);transform:translateY(1px)}
.button-outline{background:transparent;color:var(--color-brand)}
.button-outline:hover{background:var(--metier-primary-soft);color:var(--metier-primary-active)}
.button-quiet{background:transparent;border-color:var(--color-border-strong);color:var(--color-text)}
.button-call{background:var(--color-brand-strong);border-color:var(--color-brand-strong);color:#fff}
.button-small{min-height:var(--touch);padding:.45rem .8rem;font-size:var(--font-size-sm)}
.text-link{font-weight:750}

.site-header{position:sticky;top:0;z-index:var(--z-header);background:rgb(255 255 255 / .98);border-bottom:var(--border);box-shadow:0 1px 0 rgb(18 48 71 / .04)}
.header-row{min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.brand{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text);font-weight:850;text-decoration:none;line-height:1.15}
.brand img{width:auto;max-width:5rem;height:2rem;object-fit:contain;flex:0 1 auto}
.brand-logo{max-width:min(18rem,32vw);flex:0 1 auto}
.brand-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:48px;object-fit:contain}
.brand span{min-width:0;max-width:min(12rem,calc(100vw - 8.5rem));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desktop-nav,.header-actions{display:none}
.mobile-menu{position:relative;flex:0 0 auto}
.mobile-menu summary{display:flex;align-items:center;min-width:4.25rem;min-height:var(--touch);padding:.5rem .75rem;border:var(--border);border-radius:var(--radius-md);font-weight:750;white-space:nowrap;cursor:pointer;list-style:none}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu[open] nav{position:absolute;right:0;top:calc(100% + .45rem);width:min(19rem,calc(100vw - 2rem));display:grid;padding:var(--space-2);background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.mobile-menu nav a{min-height:var(--touch);display:flex;align-items:center;padding:var(--space-2) var(--space-3);color:var(--color-text);text-decoration:none;border-radius:var(--radius-md)}
.mobile-menu nav a:hover{background:var(--color-brand-soft)}
@media(max-width:767px){.brand-logo{max-width:min(12rem,48vw)}.brand-logo img{max-height:40px}}

.hero{padding-block:var(--space-16);background:var(--color-brand-strong);color:#fff}
.hero-grid{display:grid;gap:var(--space-8);align-items:center}
.hero--text-only{padding-block:var(--space-12)}
.hero-grid--text-only{display:block}
.hero-grid--text-only>div{max-width:58rem}
.hero .eyebrow{color:var(--color-accent)}
.hero h1{font-size:var(--font-size-hero);line-height:1.03;max-width:14ch;margin-bottom:var(--space-5)}
.hero-copy{max-width:38rem;color:#e9f2f6;font-size:var(--font-size-lg)}
.hero .button-outline{border-color:#fff;color:#fff}
.hero .button-outline:hover{background:#fff;color:var(--color-brand-strong)}
.hero-zone-link{display:inline-flex;margin-top:var(--space-5);color:#fff;font-weight:700;text-underline-offset:.22em}
.hero-media{position:relative;min-height:15rem;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-brand);border:1px solid rgb(255 255 255 / .24)}
.hero-media img{width:100%;height:100%;min-height:15rem;object-fit:cover}
.hero-location{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);padding:var(--space-4);background:rgb(23 32 39 / .9);color:#fff;border-radius:var(--radius-md)}
.hero-location a{color:#fff}
.service-area-context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin:var(--space-6) 0 0;color:#d8e8ee}
.service-area-context a{color:#fff;font-weight:700;text-underline-offset:.22em}
.service-preparation,.service-evidence,.service-parent-nav{margin-top:var(--space-8);padding-top:var(--space-6);border-top:var(--border)}
.service-preparation h2,.service-evidence h2{font-size:var(--font-size-xl)}
.service-preparation p{margin-bottom:0;color:var(--color-text-muted)}
.service-parent-nav a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch)}
.zone-intro{max-width:48rem}
.zone-department{color:var(--color-text-muted)}
.zone-primary,.zone-served,.zone-not-listed,.zone-services,.zone-final-cta{margin-top:var(--space-10)}
.zone-primary{padding:var(--space-6);background:var(--surface-subtle);border-radius:var(--radius-lg)}
.zone-primary h2{margin-bottom:var(--space-2)}
.zone-primary h2 span{color:var(--color-text-muted);font-weight:650}
.zone-primary p{margin-bottom:0;color:var(--color-text-muted)}
.zone-area-list{display:grid;grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;border-top:var(--border)}
.zone-area-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:var(--border)}
.zone-area-list li span{color:var(--color-text-muted);white-space:nowrap}
.zone-not-listed{padding:var(--space-6);background:var(--color-brand-soft);border-radius:var(--radius-lg)}
.zone-not-listed p{max-width:42rem}
.zone-services ul{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;border-top:var(--border)}
.zone-services li{padding:var(--space-3) 0;border-bottom:var(--border)}
.zone-final-cta{padding-block:var(--space-8);border-top:var(--border)}
.zone-final-cta>p{max-width:40rem;color:var(--color-text-muted)}
.pricing-catalogue,.pricing-factors,.pricing-before,.pricing-final-cta{margin-top:var(--space-10)}
.pricing-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin:0}
.pricing-item{display:grid;gap:var(--space-2);padding:var(--space-6);background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.pricing-item dt{font-weight:700;color:var(--color-text)}
.pricing-item dd{margin:0;font-size:var(--font-size-xl);font-weight:800;color:var(--color-brand-strong)}
.pricing-factors,.pricing-before{max-width:48rem}
.pricing-factors ul{display:grid;gap:var(--space-2);padding-left:1.25rem}
.pricing-before{padding:var(--space-6);background:var(--surface-subtle);border-radius:var(--radius-lg)}
.pricing-before p{margin-bottom:0}
.pricing-final-cta{padding-block:var(--space-8);border-top:var(--border)}
.pricing-final-cta>p{max-width:40rem;color:var(--color-text-muted)}

.need-list{display:grid;border-top:var(--border)}
.service-card{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-5) 0;border-bottom:var(--border);color:var(--color-text);text-decoration:none}
.service-card p{color:var(--color-text-muted);margin:var(--space-2) 0 0}
.service-card .arrow{font-size:1.5rem;color:var(--color-brand)}
.section-tail{margin:var(--space-6) 0 0}
.split-panel{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-brand-strong);color:#fff}
.split-panel.project{background:var(--color-brand-soft);color:var(--color-text)}
.split-panel .kicker{color:inherit}
.split-panel.project .button{background:var(--color-brand);color:var(--color-on-brand)}
.trust-layout{display:grid;gap:var(--space-8);align-items:center}
.trust-layout .section-intro{margin-bottom:0}
.trust-portrait{min-height:16rem;border-radius:var(--radius-lg);background:var(--color-brand-soft);overflow:hidden;display:grid;place-items:center;color:var(--color-brand-strong);font-weight:800}
.trust-portrait img{width:100%;height:100%;object-fit:cover}
.pricing-list{margin:0;display:grid}
.pricing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--border)}
.pricing-row dt{font-weight:700}.pricing-row dd{margin:0;text-align:right;color:var(--color-text-muted)}

.pulse-feed{display:grid;gap:var(--space-6)}
.pulse-card{padding:0;overflow:hidden}
.pulse-card--text-only{overflow:visible}
.pulse-card-head,.pulse-card-body,.pulse-card-actions{padding-inline:var(--space-5)}
.pulse-card-head{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);padding-bottom:var(--space-3);font-size:var(--font-size-sm)}
.pulse-media,.pulse-placeholder{aspect-ratio:4/3;width:100%;background:var(--color-brand-soft)}
.pulse-media{object-fit:cover}
.pulse-placeholder{display:grid;place-items:center;padding:var(--space-6);color:var(--color-brand-strong);text-align:center;font-weight:800}
.pulse-card-body{padding-top:var(--space-4)}
.pulse-card-body h3{font-size:var(--font-size-xl)}
.pulse-meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}
.pulse-card-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2);padding-bottom:var(--space-5)}
.share-button{border:0;background:transparent;color:var(--color-brand);font-weight:750;text-decoration:underline;text-underline-offset:.18em;cursor:pointer;min-height:var(--touch);padding:.4rem}
.share-status:empty{display:none}
.share-status{position:fixed;right:var(--space-4);bottom:calc(5rem + env(safe-area-inset-bottom));z-index:var(--z-overlay);max-width:18rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text);color:#fff;box-shadow:var(--shadow-md)}
.filter-list{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) 0 var(--space-4);scrollbar-width:thin}
.filter-list a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:var(--touch);padding:.45rem .85rem;border:var(--border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-weight:700;text-decoration:none}
.filter-list a[aria-current="page"]{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}

.area-layout{display:grid;gap:var(--space-8)}
.area-list{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;list-style:none}
.area-list li{padding:.45rem .75rem;background:var(--color-surface);border:var(--border);border-radius:999px}
.timeline{display:grid;gap:0;counter-reset:process}
.timeline-item{position:relative;display:grid;grid-template-columns:2.75rem 1fr;gap:var(--space-3);padding-bottom:var(--space-6)}
.timeline-item::before{counter-increment:process;content:counter(process,decimal-leading-zero);display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--color-brand);color:var(--color-on-brand);font-size:var(--font-size-xs);font-weight:800}
.timeline-item:not(:last-child)::after{content:"";position:absolute;left:1.1rem;top:2.35rem;bottom:.1rem;width:1px;background:var(--color-border-strong)}
.review-featured{font-size:var(--font-size-lg);border-left:4px solid var(--color-brand)}
.faq-list{display:grid;gap:var(--space-3)}
.faq-item{background:var(--color-surface);border:var(--border);border-radius:var(--radius-md)}
.faq-item summary{min-height:var(--touch);padding:var(--space-4);font-weight:750;cursor:pointer}
.faq-item p{padding:0 var(--space-4) var(--space-4)}
.final-cta{background:var(--color-brand-strong);color:#fff}
.final-cta p{color:#dceaf0}
.final-cta .button-outline{border-color:#fff;color:#fff}
.services-final-cta{background:var(--color-surface);color:var(--color-text)}
.home-services{background:var(--color-surface)}
.home-final-cta{background:var(--surface-subtle)}
.home-terrain .pulse-feed{margin-top:var(--space-6)}
.home-area-localities{align-self:start;margin:0;padding-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1.8}
.home-area-localities strong,.home-area-more{color:var(--color-text);font-weight:750}
.home-process{padding-block:var(--space-10)}
.home-process .timeline-item{padding-bottom:var(--space-4)}
.services-final-cta-copy{max-width:40rem;color:var(--color-text-muted);font-size:var(--font-size-lg)}
.services-final-cta-clarification{max-width:40rem;margin:var(--space-5) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}

.profile-page{padding-top:var(--space-6)}
.profile-shell{display:grid;gap:var(--space-6);max-width:56rem}
.profile-cover{height:clamp(16.25rem,19.5vw,18.125rem);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-brand-soft);overflow:hidden}
.profile-cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.profile-card{display:flow-root;position:relative;margin-top:0;padding-top:0;border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.profile-card--no-cover{margin-top:0;padding-top:var(--space-5);border-top:var(--border);border-radius:var(--radius-lg)}
.profile-avatar{display:grid;place-items:center;width:8.75rem;aspect-ratio:1;margin-top:calc(-1 * clamp(3.125rem,4.8vw,3.75rem));margin-bottom:var(--space-2);border:4px solid var(--color-surface);border-radius:50%;background:var(--color-brand-soft);box-shadow:0 2px 8px rgb(18 48 71 / .1);object-fit:cover;object-position:center;color:var(--color-brand-strong);font-size:var(--font-size-2xl);font-weight:850}
.profile-card--no-cover .profile-avatar{margin-top:0}
.profile-identity h1{margin-bottom:var(--space-1)}
.profile-profession,.profile-handle{margin-bottom:var(--space-1);color:var(--color-text-muted)}
.profile-handle{font-size:var(--font-size-sm);font-weight:600;overflow-wrap:anywhere}.profile-bio{max-width:44rem;margin:var(--space-3) 0 0;line-height:1.6}
.profile-primary-actions{margin-top:var(--space-5)}
.profile-contact-card h2{margin-bottom:var(--space-4)}
.profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0}
.profile-fact{min-width:0;padding-top:var(--space-3);border-top:var(--border)}
.profile-fact dt{font-weight:750}.profile-fact dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}
.qr-card{display:grid;grid-template-columns:minmax(8rem,11rem) 1fr;gap:var(--space-5);align-items:center}
.profile-share-action{display:inline-flex;gap:var(--space-2);align-items:center}.profile-share-action img{flex:0 0 auto}
.qr{width:100%;aspect-ratio:1;background:#fff;border:.4rem solid #fff}
.album-gallery{display:grid;gap:var(--space-4)}
.album-gallery picture{display:block;min-width:0}
.album-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);background:var(--color-brand-soft)}
.album-gallery--count-1{max-width:56rem}
.pulse-relations{display:grid;gap:var(--space-4)}

.form{display:grid;gap:var(--space-5);max-width:var(--content-narrow)}
.installer-page .narrow>h1{margin-bottom:var(--space-6)}.installer-page .narrow>p,.installer-page .narrow>ul,.installer-page .narrow>details{margin-bottom:var(--space-6)}.installer-page details{padding:var(--space-4);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface)}.installer-page details summary{cursor:pointer;font-weight:750}.installer-page details ul{margin-bottom:0}.installer-page .form+.button,.installer-page details+.button{margin-top:var(--space-6)}@media(max-width:47.99rem){.installer-page .button{width:100%}}
.field{display:grid;gap:var(--space-2)}
.field label,.field-label{font-weight:750}
.field-hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}
.field input,.field select,.field textarea{width:100%;min-height:var(--touch);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.7rem .8rem;background:var(--color-surface)}
.field textarea{min-height:8rem;resize:vertical}
.field input[type="file"]{padding:.55rem}
.form-step{display:grid;gap:var(--space-4);margin:0;padding:var(--space-5);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface)}
.form-step legend{padding-inline:var(--space-2);font-size:var(--font-size-lg);font-weight:800}
.step-number{color:var(--color-brand);font-size:var(--font-size-sm)}
.quote-progress{display:none;margin-bottom:var(--space-5)}
.js .quote-flow-enhanced .quote-progress{display:block}
.js .quote-flow-enhanced .form-step[hidden]{display:none}
.step-actions{display:flex;justify-content:space-between;gap:var(--space-3)}
.error,.success{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid currentColor}
.error{background:var(--color-danger-soft);color:var(--color-danger)}
.success{background:var(--color-success-soft);color:var(--color-success)}

.mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-2) max(var(--space-3),env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--space-3),env(safe-area-inset-left));background:rgb(255 255 255 / .97);border-top:var(--border);box-shadow:0 -8px 24px rgb(18 48 71 / .08);opacity:0;visibility:hidden;transform:translateY(.65rem);pointer-events:none;transition:opacity 200ms ease,transform 200ms ease,visibility 0s linear 200ms}
.mobile-actions.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition-delay:0s}
.mobile-actions .button{font-size:var(--font-size-sm);padding-inline:.5rem}
.publication-detail-cta{padding-block:var(--space-8);background:var(--color-surface);border-top:var(--border)}
.publication-detail-cta .container{padding:var(--space-6);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.publication-detail-cta h2{margin-bottom:var(--space-2)}
.publication-detail-cta p{max-width:42rem}
.publication-detail-cta-note{margin-top:var(--space-4);margin-bottom:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}
.site-footer{padding:var(--space-12) 0 calc(var(--space-20) + env(safe-area-inset-bottom));background:var(--color-brand-strong);color:#fff}
.site-footer a{color:#fff}
.footer-grid{display:grid;gap:0}
.footer-about p{margin-bottom:var(--space-2)}
.footer-grid nav{display:grid;align-content:start;gap:var(--space-2)}
.footer-disclosure{border-top:1px solid rgb(255 255 255 / .2)}
.footer-disclosure summary{display:flex;align-items:center;justify-content:space-between;min-height:var(--touch);font-weight:800;cursor:pointer;list-style:none}
.footer-disclosure summary::-webkit-details-marker{display:none}
.footer-disclosure summary::after{content:"+";font-size:1.25rem;font-weight:500;line-height:1}
.footer-disclosure[open] summary::after{content:"−"}
.footer-disclosure:not([open])>nav{display:none}
.footer-disclosure nav{padding:var(--space-2) 0 var(--space-4)}
.footer-brand{font-size:var(--font-size-xl);font-weight:850;text-decoration:none}
.footer-bottom{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid rgb(255 255 255 / .2);font-size:var(--font-size-sm);color:#cbdce4}
.consent{position:fixed;inset:auto var(--space-3) calc(5rem + env(safe-area-inset-bottom));z-index:var(--z-overlay);display:grid;gap:var(--space-4);max-height:calc(100dvh - 7rem);overflow:auto;padding:var(--space-5);background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.consent p{margin:.35rem 0 0}.consent-actions{display:grid;grid-template-columns:1fr;gap:var(--space-2)}
.consent-actions .button{width:100%;min-height:var(--touch)}
.legal-page .prose{max-width:56rem}.legal-facts,.legal-activity dl{display:grid;gap:var(--space-3)}
.legal-facts div,.legal-activity dl div{display:grid;gap:.25rem;padding-bottom:var(--space-3);border-bottom:var(--border)}
.legal-facts dt,.legal-activity dt{font-weight:750}.legal-facts dd,.legal-activity dd{margin:0}.legal-activity{margin-block:var(--space-8)}
.table-scroll{overflow-x:auto}.table-scroll table{min-width:48rem}.consent-preferences{scroll-margin-top:6rem;margin-top:var(--space-8);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.consent-form fieldset{margin:0;padding:0;border:0}.consent-form legend{margin-bottom:var(--space-3);font-weight:800}
.consent-purpose{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;padding:var(--space-3) 0;border:0;border-top:var(--border);border-radius:0}.consent-purpose:last-of-type{border-bottom:var(--border)}
.consent-purpose input{width:1.3rem;height:1.3rem;margin-top:.15rem}.consent-purpose small{display:block;color:var(--color-text-muted)}
.consent-preferences .consent-actions{margin-top:var(--space-4)}.consent-preferences .text-button{margin-top:var(--space-3)}
.text-button{border:0;background:transparent;color:var(--color-brand);text-decoration:underline;cursor:pointer;min-height:var(--touch)}
.form-privacy-notice{padding:var(--space-4);border-left:4px solid var(--color-brand);background:var(--color-brand-soft);font-size:var(--font-size-sm)}

.admin-bar{background:var(--color-brand-strong);color:#fff}
.admin-header-row{min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.admin-brand{flex:0 0 auto;color:#fff;font-weight:850;white-space:nowrap;text-decoration:none}
.admin-nav{display:flex;gap:var(--space-2);overflow-x:auto;padding-block:var(--space-2)}
.admin-nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding:.4rem .65rem;color:#fff;white-space:nowrap;text-decoration:none;border-radius:var(--radius-md)}
.admin-nav a:hover{background:rgb(255 255 255 / .12)}
.admin-main{padding-block:var(--space-8)}
.admin-intro{max-width:42rem;color:var(--color-text-muted)}
.composer{max-width:44rem}
.composer-primary{display:grid;gap:var(--space-5)}
.composer-submit{position:sticky;bottom:var(--space-3);z-index:10;padding:var(--space-3);margin-inline:calc(var(--space-3)*-1);background:rgb(247 249 250 / .96);border-top:var(--border)}
.composer-submit .button{width:100%}
.file-feedback{min-height:1.5rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}
.admin-pulse-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.danger-button{min-height:var(--touch);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:transparent;color:var(--color-danger);padding:.5rem .75rem;font-weight:700;cursor:pointer}
.breadcrumbs{padding-block:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;list-style-type:none}
.breadcrumbs li{display:inline-flex;align-items:baseline}
.breadcrumbs li::marker{content:""}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.35rem;color:var(--color-border-strong)}
.breadcrumbs [aria-current="page"]{color:var(--color-text)}
.profile-services{display:grid;gap:var(--space-2);padding-left:1.25rem}

@media(min-width:48rem){
  .container{width:min(var(--content),calc(100% - 3rem))}
  .section{padding-block:var(--space-20)}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero{padding-block:var(--space-16)}
  .hero--text-only{padding-block:var(--space-12)}
  .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}
  .hero-grid--text-only{display:block}
  .hero-grid--text-only h1{max-width:18ch}
  .hero-media,.hero-media img{min-height:24rem}
  .trust-layout,.area-layout{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr)}
  .trust-layout--no-media{grid-template-columns:minmax(0,1fr)}
  .pulse-feed{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pulse-feed .pulse-card:first-child{grid-column:span 2}
  .timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}
  .timeline-item{grid-template-columns:1fr;padding:0}
  .timeline-item:not(:last-child)::after{left:2.3rem;right:calc(-1 * var(--space-3));top:1.1rem;bottom:auto;width:auto;height:1px}
  .album-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .album-gallery--count-1{grid-template-columns:1fr}
  .album-gallery--count-3 picture:first-child{grid-column:span 2}
  .pulse-relations{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1.25fr repeat(3,minmax(0,1fr))}
  .footer-grid{gap:var(--space-6)}
  .footer-disclosure{border-top:0}
  .footer-disclosure>summary{display:none}
  .footer-disclosure:not([open])>nav{display:grid}
  .site-footer{padding-bottom:var(--space-12)}
  .consent{left:auto;right:var(--space-4);bottom:var(--space-4);max-width:42rem}.consent-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .share-status{bottom:var(--space-4)}
}
@media(min-width:48rem) and (max-width:63.99rem){body.has-contextual-cta{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom))}.mobile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.mobile-actions{display:none}body{padding-bottom:0}}
@media(min-width:64rem){
  .need-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-10)}
  .pulse-feed{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
  .pulse-feed .pulse-card{grid-column:span 4}
  .pulse-feed .pulse-card:first-child{grid-column:span 8;grid-row:span 2}
  .pulse-feed .pulse-card--text-only:first-child{grid-column:span 4;grid-row:auto}
  .pulse-feed .pulse-card:first-child .pulse-media,.pulse-feed .pulse-card:first-child .pulse-placeholder{aspect-ratio:16/9}
  .profile-shell{max-width:56rem}
}
@media(min-width:75rem){
  .mobile-menu{display:none}
  .desktop-nav{display:flex;align-items:center;gap:var(--space-1)}
  .desktop-nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding:.45rem .55rem;color:var(--color-text);font-size:var(--font-size-sm);font-weight:650;text-decoration:none}
  .header-actions{display:flex;align-items:center;gap:var(--space-3)}
  .phone-link{color:var(--color-text);font-weight:750;text-decoration:none}
  .header-row{min-height:4.75rem}
}
@media(max-width:47.99rem){html{scroll-padding-bottom:6rem}body.has-contextual-cta{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom))}.section{padding-block:var(--space-12)}.profile-page{padding-top:var(--space-6)}.hero{padding-block:var(--space-12)}.hero--text-only{padding-block:var(--space-10)}.hero h1{font-size:clamp(2.35rem,12vw,3.25rem)}.hero .actions{align-items:stretch}.hero .actions .button{width:100%}.footer-grid nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4)}.footer-about nav{grid-template-columns:1fr}.qr-card{grid-template-columns:1fr}.qr{max-width:10rem}.profile-cover{height:clamp(9.375rem,calc(16vw + 6.25rem),10.625rem)}.profile-card{margin-top:0;padding:0 var(--space-4) var(--space-4)}.profile-card--no-cover{margin-top:0;padding-top:var(--space-4)}.profile-avatar{width:7.125rem;margin-top:-3.125rem;margin-bottom:var(--space-2)}.profile-card--no-cover .profile-avatar{margin-top:0}.profile-identity h1{font-size:clamp(1.9rem,8vw,2.35rem)}.profile-facts{grid-template-columns:1fr}.profile-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-primary-actions .button{width:100%}.pricing-row{grid-template-columns:1fr;gap:var(--space-1)}.pricing-row dd{text-align:left}.publication-detail-cta{padding-block:var(--space-6)}.publication-detail-cta .container{padding:var(--space-5)}.publication-detail-cta .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.publication-detail-cta .button{width:100%;padding-inline:.45rem}}
@media(prefers-reduced-motion:reduce){.mobile-actions{transition:opacity 1ms linear,visibility 0s linear 1ms;transform:none}}
@media(min-width:48rem) and (max-width:63.99rem){.profile-cover{height:clamp(11.875rem,25vw,13.125rem)}.profile-avatar{width:7.75rem}}
.publication-feed-shell{max-width:48rem}
.terrain-feed{grid-template-columns:minmax(0,1fr)!important;align-items:start}
.terrain-feed .pulse-card{grid-column:auto!important;grid-row:auto!important}
.pulse-card-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;background:var(--color-brand-soft)}
.pulse-card-gallery .pulse-media{height:100%;aspect-ratio:4/3}
.link-preview{display:grid;gap:.25rem;margin-block:var(--space-4);padding:var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface)}
.link-preview-provider{color:var(--color-text-muted);font-size:var(--font-size-sm)}
.publication-pagination{display:flex;justify-content:center;margin-top:var(--space-8)}
.load-more[aria-busy="true"]{cursor:progress;opacity:.75}
.conseil-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
.conseil-card{padding:0;overflow:hidden}.conseil-card-body{padding:var(--space-5)}
.conseil-card-media{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--color-brand-soft)}
.conseil-detail .publication-body{font-size:var(--font-size-lg)}
.conseil-detail .publication-body h2,.conseil-detail .publication-body h3{margin-top:var(--space-8)}
.related-services{margin-block:var(--space-8);padding-top:var(--space-5);border-top:var(--border)}
.home-publication-proof-grid{display:grid;gap:var(--space-10);align-items:start}
.home-publication-proof-block{min-width:0}
.home-publication-proof-block>h2{margin-bottom:var(--space-5)}
.home-publication-proof-block .section-tail{margin-top:var(--space-4);margin-bottom:0}
.home-publication-proof-conseil{max-width:42rem}
.home-publication-proof-conseil .conseil-card-body h3{font-size:var(--font-size-xl)}
@media(min-width:48rem){.home-publication-proof-grid:not(.home-publication-proof-grid--single){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.home-publication-proof-grid--single{max-width:42rem}}
@media(min-width:48rem){.conseil-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:48rem){.zone-area-list,.zone-services ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8)}.zone-final-cta{padding-block:var(--space-10)}}
@media(min-width:48rem){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-final-cta{padding-block:var(--space-10)}}
@media(min-width:75rem){.zone-area-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* RC8 contact page: factual hours and consent-gated no-API map. */
.contact-intro{max-width:48rem;margin-bottom:var(--space-10)}
.breadcrumbs+:where(.section):not(.profile-page){padding-top:var(--space-6)}
.contact-facts{display:grid;gap:var(--space-5);margin-bottom:var(--space-12)}
.contact-details dl,.hours-list{display:grid;gap:0;margin:0}
.contact-details dl div,.hours-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border)}
.contact-details dl div:last-child,.hours-list div:last-child{border-bottom:0}
.contact-details dt,.hours-list dt{font-weight:750}.contact-details dd,.hours-list dd{margin:0;text-align:right}
.emergency-block{margin-top:var(--space-5);padding-top:var(--space-5);border-top:var(--border)}
.emergency-block h3{font-size:var(--font-size-lg)}
.contact-location{padding-top:var(--space-8);border-top:var(--border)}
.contact-location>p{color:var(--color-text-muted)}
.contact-map{width:100%;margin-top:var(--space-5);overflow:hidden;border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}
.contact-map iframe{display:block;width:100%;height:clamp(18rem,42vw,28rem);border:0}
.contact-map-consent{display:grid;place-items:start;gap:var(--space-3);min-height:16rem;padding:var(--space-6);align-content:center}
.contact-map-consent p{max-width:42rem;margin:0;color:var(--color-text-muted)}
.contact-utility-actions{margin-top:var(--space-4)}
@media(max-width:47.99rem){.contact-intro .actions{align-items:stretch}.contact-intro .actions .button{width:100%}.contact-details dl div,.hours-list div{grid-template-columns:1fr;gap:var(--space-1)}.contact-details dd,.hours-list dd{text-align:left}.contact-map-consent{padding:var(--space-5)}.contact-utility-actions{align-items:stretch}.contact-utility-actions .button{width:100%}}
@media(min-width:48rem){.contact-facts--with-hours{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}

/* B8.3B publication experience: presentation only. */
.publication-page-header{margin-bottom:var(--space-8)}
.publication-page-header .section-intro{margin-bottom:0}
.publication-feed-shell{max-width:52rem}
.terrain-feed{gap:var(--space-8)}
.terrain-feed .pulse-card{border-color:var(--color-border-strong);background:var(--color-surface);box-shadow:none}
.terrain-feed .pulse-card--text-only{border-left:4px solid var(--color-brand);padding-top:var(--space-2)}
.terrain-feed .pulse-card--text-only .pulse-card-head{padding-bottom:var(--space-2)}
.terrain-feed .pulse-card--text-only .pulse-card-body{padding-top:var(--space-2)}
.publication-attribution{align-items:baseline;color:var(--color-text-muted)}
.publication-attribution strong{color:var(--color-text);font-size:var(--font-size-sm)}
.publication-attribution time{white-space:nowrap}
.publication-meta{margin-bottom:var(--space-2);font-weight:650}
.pulse-card-body h3{margin-bottom:var(--space-3)}
.pulse-card-body h3 a{color:var(--color-text);text-decoration-thickness:.08em}
.pulse-card-body>p:not(.pulse-meta){max-width:42rem}
.terrain-feed .pulse-media{max-height:32rem;object-fit:cover}
.pulse-card-gallery{grid-auto-rows:minmax(7rem,14rem);background:var(--color-surface);gap:var(--space-1)}
.pulse-card-gallery-item{position:relative;min-width:0;overflow:hidden}
.publication-card-media-link{display:block;color:inherit;text-decoration:none}
.pulse-card-gallery-item picture{display:block;width:100%;height:100%}
.pulse-card-gallery--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pulse-card-gallery--count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.pulse-card-gallery--count-3 .pulse-card-gallery-item:first-child{grid-row:span 2}
.pulse-card-gallery--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.pulse-photo-overflow{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:rgb(5 18 32 / .58);color:#fff;font-size:clamp(1.4rem,6vw,2.25rem);font-weight:850;line-height:1;text-shadow:0 1px 2px rgb(0 0 0 / .35)}
.pulse-card-gallery .pulse-media{min-height:100%;aspect-ratio:auto}
.pulse-card-actions{border-top:var(--border);margin-top:var(--space-1)}
.pulse-card-actions .text-link,.pulse-card-actions .share-button{font-size:var(--font-size-sm)}
.link-preview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 var(--space-4);margin-block:var(--space-3);padding:var(--space-2) 0 var(--space-2) var(--space-3);border:0;border-left:2px solid var(--color-border-strong);border-radius:0;background:transparent}
.link-preview-provider,.link-preview strong{grid-column:1}
.link-preview strong{min-width:0;overflow-wrap:anywhere}
.link-preview a{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;min-height:var(--touch);white-space:nowrap}
.link-preview a::after{content:" →"}
.link-preview .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.publication-detail>.container.narrow:first-child{padding-bottom:var(--space-6)}
.publication-detail h1{max-width:18ch;margin-top:var(--space-4)}
.publication-detail .section-intro{font-size:var(--font-size-lg);line-height:var(--line-body)}
.publication-detail .album-gallery.section{padding-block:var(--space-6)}
.publication-relations{margin-top:var(--space-8);border-top:var(--border)}
.publication-relations aside{padding-block:var(--space-5);border-bottom:var(--border)}
.publication-relations h2{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}
.publication-relations p{margin-bottom:var(--space-2)}
.publication-page--conseils .container{max-width:72rem}
.conseil-grid{align-items:start;gap:var(--space-6)}
.conseil-card{border-color:var(--color-border-strong)}
.conseil-card--text-only{border-top:4px solid var(--color-brand);overflow:visible}
.conseil-card--text-only .conseil-card-body{gap:var(--space-2);padding:var(--space-4)}
.conseil-card-body{display:grid;align-content:start;gap:var(--space-3)}
.conseil-card-body>*{margin:0}
.conseil-card-body h2{font-size:var(--font-size-2xl);line-height:var(--line-tight)}
.conseil-card-body h2 a{color:var(--color-text);text-decoration-thickness:.08em}
.conseil-card-media{max-height:24rem}
.home-conseil-cover{aspect-ratio:16/9;max-height:15rem}
.conseil-detail-cover{width:100%;max-height:32rem;margin:0 0 var(--space-8);border-radius:var(--radius-lg);object-fit:cover}
.conseil-detail>.container{max-width:46rem}
.conseil-detail h1{margin-top:var(--space-5)}
.conseil-detail .section-intro{max-width:42rem;margin-bottom:var(--space-8)}
.publication-body{font-size:var(--font-size-lg);line-height:1.75}
.publication-body p,.publication-body ul,.publication-body ol{margin-block:0 var(--space-5)}
.publication-body h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}
.publication-body h3{font-size:var(--font-size-xl);margin-bottom:var(--space-3)}
.related-services{border-top:var(--border);padding-top:var(--space-5)}
.related-services h2{font-size:var(--font-size-lg)}
.publication-pagination{padding-top:var(--space-2)}
.publication-pagination .load-more{min-width:min(100%,18rem);background:var(--color-surface)}
.publication-pagination .load-more:hover{background:var(--metier-primary-soft)}
.publication-empty{max-width:36rem;padding:var(--space-6) 0;border-top:var(--border)}
.publication-empty h2{font-size:var(--font-size-xl)}
@media(max-width:47.99rem){.publication-page,.publication-detail,.conseil-detail{padding-block:var(--space-10)}.publication-page-header{margin-bottom:var(--space-5)}.publication-page-header .section-intro{font-size:var(--font-size-base);line-height:1.55}.terrain-feed{gap:var(--space-4)}.pulse-card-head,.pulse-card-body,.pulse-card-actions{padding-inline:var(--space-3)}.pulse-card-head{padding-block:var(--space-3) var(--space-2)}.pulse-card-body{padding-block:var(--space-3)}.pulse-card-body h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.pulse-card-body>p:not(.pulse-meta){line-height:1.55}.pulse-card-actions{padding-block:var(--space-2) var(--space-3)}.pulse-card-gallery{grid-auto-rows:minmax(5.75rem,9rem)}.link-preview{grid-template-columns:1fr;margin-block:var(--space-2)}.link-preview-provider,.link-preview strong,.link-preview a{grid-column:1;grid-row:auto}.link-preview a{white-space:normal}.publication-detail h1,.conseil-detail h1{font-size:clamp(1.9rem,8vw,var(--font-size-2xl));margin-bottom:var(--space-3)}.publication-detail .section-intro,.conseil-detail .section-intro{font-size:var(--font-size-base);margin-bottom:var(--space-5)}.publication-relations{display:block;margin-top:var(--space-6)}.conseil-card-body{gap:var(--space-2);padding:var(--space-3)}.conseil-card-body h2{font-size:var(--font-size-lg)}.publication-body{font-size:var(--font-size-base);line-height:1.65}.publication-body p,.publication-body ul,.publication-body ol{margin-bottom:var(--space-4)}.home-publication-proof .conseil-card-body{padding:var(--space-3)}.publication-pagination .load-more{width:100%}}
@media(min-width:48rem){.publication-relations{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.publication-relations aside{border-bottom:0}.conseil-card--text-only{min-height:auto}.conseil-grid{gap:var(--space-8)}}

/* v0.8.2 closed WhatsApp contact channel. */
.contact-channel-icon{display:inline-block;flex:0 0 auto;width:1.25rem;height:1.25rem;vertical-align:-.25em;margin-right:var(--space-2)}
.profile-fact--whatsapp dt,.contact-channel-whatsapp dt{display:flex;align-items:center}
