:root {
  --paper:#F7F3EC; --paper-2:#EFE7DA; --frame:#FFFDF8;
  --ink:#0B0E13; --ink-2:#4A4F57; --muted:#8D95A1;
  --line:#8D95A1; --line-soft:#DCD4C6;
  --accent:#F0762B; --accent-text:#A75523; --on-accent:#0B0E13; --accent-soft:rgba(240,118,43,.14);
  --blue:#1E78B8; --sky:#8FD0FF; --sky-tint:#D9EDFF;
  --grid:rgba(30,120,184,.10);
  --bg-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  --bg-size:32px 32px;
  --font-display:"Big Shoulders Display","Arial Narrow",Arial,sans-serif;
  --font-body:"Archivo","Segoe UI",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono","Consolas",monospace;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --paper:#0B0E13; --paper-2:#141920; --frame:#12171E;
  --ink:#F7F3EC; --ink-2:#C9CDD3; --muted:#8D95A1;
  --line:#4A4F57; --line-soft:#2A313A;
  --accent-text:#F0762B; --accent-soft:rgba(240,118,43,.18);
  --blue:#8FD0FF; --sky-tint:#16283A;
  --grid:rgba(143,208,255,.16);
  --bg-image:radial-gradient(var(--grid) 1px,transparent 1px);
  --bg-size:22px 22px;
  color-scheme:dark;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 17px/1.55 var(--font-body); -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
button,input,select { border-radius:0; }
button { color:inherit; }
button:disabled { cursor:default; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
[tabindex="-1"]:focus { outline:none; }
::selection { background:var(--accent); color:var(--on-accent); }
[hidden] { display:none !important; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:5px; }
a:hover { text-decoration-color:var(--accent-text); }
img,svg { display:block; max-width:100%; }
figure,p,h1,h2,h3,ol { margin:0; }
p { max-width:34em; }
h1,h2,h3 { font-family:var(--font-display); font-weight:700; letter-spacing:.005em; text-wrap:balance; }
h1 { font-size:clamp(2.9rem,6.2vw,5rem); font-weight:800; line-height:1.01; }
h2 { font-size:clamp(2.2rem,4.6vw,3.4rem); line-height:1.03; }
h3 { font-size:2rem; line-height:1.05; }
strong { font-weight:600; }
.wrap { width:min(100% - 90px,1200px); margin-inline:auto; }
.section { padding-block:91px; border-bottom:1px solid var(--line-soft); }
.section h2 { margin-bottom:32px; }
.eyebrow { font-family:var(--font-mono); font-size:.74rem; font-weight:400; line-height:1.6; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.section .eyebrow { margin-bottom:23px; }
.section-number { padding-right:16px; margin-right:16px; border-right:1px solid var(--blue); }
.grid-paper { background-image:var(--bg-image); background-size:var(--bg-size); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:23px; min-height:51px; padding:12px 20px; font-weight:600; font-size:16px; line-height:1.55; text-decoration:none; border:1.5px solid transparent; border-radius:0; transition:background-color .18s,color .18s,border-color .18s; }
.button > span[aria-hidden] { font-size:22px; line-height:1; margin-left:auto; }
.primary { background:var(--accent); color:var(--on-accent); }
.primary:hover { background:var(--ink); color:var(--paper); }
.secondary { border-color:var(--line); background:var(--frame); color:var(--ink); }
.secondary:hover { border-color:var(--accent); background:var(--accent-soft); }
.skip-link { position:fixed; top:-80px; left:16px; background:var(--paper); z-index:100; padding:12px; }
.skip-link:focus { top:8px; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Un en-tête de plan : la marque, trois repères, le choix du papier. */
.header { position:sticky; top:0; z-index:20; background:var(--paper); border-bottom:1px solid var(--line-soft); }
.header-inner { min-height:80px; display:flex; align-items:center; gap:32px; }
.wordmark { font-family:var(--font-display); font-size:34px; line-height:1; font-weight:800; text-decoration:none; letter-spacing:-.035em; white-space:nowrap; }
.wordmark > span:first-child { color:var(--accent-text); }
.header nav { display:flex; gap:32px; margin-left:auto; }
.header nav a { display:flex; align-items:center; min-height:44px; font-size:13px; font-weight:500; text-decoration:none; }
.header nav a:hover { color:var(--accent-text); }
.theme-toggle { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 0 8px 23px; background:none; border:0; border-left:1px solid var(--line-soft); font:400 11px var(--font-mono); white-space:nowrap; }
.theme-swatch { width:13px; height:13px; background:var(--ink); border:1px solid var(--ink); }
#header-cta-slot:empty { display:none; }
#header-cta-slot .button { min-height:44px; font-size:13px; gap:16px; padding:8px 16px; }
.header.has-cta .header-inner { gap:23px; }
.header.has-cta nav { gap:23px; }

/* Premier écran : le texte reste fixe, seul le flux se déplace. */
.hero { border-bottom:1px solid var(--line-soft); }
.hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:45px; padding-top:45px; padding-bottom:45px; align-items:center; }
.hero-copy { display:flex; flex-direction:column; align-items:flex-start; }
.hero-copy > .eyebrow { margin-bottom:23px; }
.hero h1 { margin-bottom:23px; }
.hero h1 > span { display:block; color:var(--accent); }
.hero-hook { color:var(--ink-2); max-width:33em; margin-bottom:23px; }
.hero-hook strong { color:var(--ink); }
.hero-action { width:100%; }
#hero-cta-slot { min-height:51px; }
.visit-note { font-size:13px; line-height:1.55; max-width:33em; margin-top:11px; color:var(--ink-2); }
.signature { font-size:13px; margin-top:23px; color:var(--ink-2); }
.infrastructure { align-self:center; padding-top:16px; }
.drawing-heading { display:flex; align-items:center; justify-content:space-between; gap:11px; border-bottom:1px solid var(--line-soft); padding-bottom:11px; }
.drawing-heading .eyebrow { font-size:10px; }
.motion-toggle { min-height:44px; border:0; padding:4px 0 4px 8px; color:var(--ink-2); background:var(--paper); font:400 10px var(--font-mono); text-decoration:underline; text-underline-offset:4px; }
.system-drawing { width:100%; height:auto; margin-top:16px; overflow:visible; }
.guide-lines { stroke:var(--sky); }
.circuit { stroke:var(--line); }
.flow { stroke:var(--accent); stroke-dasharray:28 1117; animation:circulate 18s linear infinite; }
.flow-one { animation-delay:-2s; }
.flow-two { animation-delay:-8s; }
.flow-three { animation-delay:-14s; }
@keyframes circulate { to { stroke-dashoffset:-1145; } }
.drawing-node rect { fill:var(--frame); stroke:var(--line); stroke-width:1; }
.node-label { font:400 10px var(--font-mono); letter-spacing:1px; fill:var(--blue); }
.node-title { font:700 30px var(--font-display); fill:var(--ink); }
.document-mark { stroke:var(--line); stroke-width:1; }
.cockpit-node > rect:first-child { fill:var(--frame); stroke:var(--accent); stroke-width:1.5; }
.cockpit-node > path { stroke:var(--accent); }
.cockpit-title { font:800 28px var(--font-display); fill:var(--ink); letter-spacing:.4px; }
.copilot-label { font:400 12px var(--font-mono); fill:var(--ink-2); }
.copilot-note { font:400 10px var(--font-mono); fill:var(--accent-text); }
.signal { fill:var(--accent); animation:signal 5s ease-in-out infinite; }
@keyframes signal { 0%,80%,100% { opacity:1; } 40% { opacity:.35; } }
.motion-paused .flow,.motion-paused .signal { animation-play-state:paused; }
.flow-caption { text-align:center; font:400 10px/1.8 var(--font-mono); color:var(--ink-2); margin:0 auto 23px; }
.flow-caption span { color:var(--accent-text); }
.infrastructure figcaption { padding-top:16px; border-top:1px solid var(--line-soft); font-size:13px; line-height:1.6; color:var(--ink-2); max-width:38em; }
.hero-contact { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:64px; border-top:1px solid var(--line-soft); }
.hero-contact .eyebrow { font-size:10px; }
.hero-contact > div { display:flex; gap:23px; }
.hero-contact a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font:400 12px var(--font-mono); text-decoration:none; }
.hero-contact a:hover { text-decoration:underline; }

.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:91px; }
.split > * { min-width:0; }
.house-figure { padding:16px 32px 23px; background-color:var(--paper-2); }
.house-drawing { max-width:350px; margin:auto; }
.house-roof,.house-floors { stroke:var(--line); }
.house-body { fill:var(--frame); stroke:var(--line); }
.house-label { font:400 14px var(--font-mono); fill:var(--ink-2); }
.house-support { fill:var(--accent); }
.house-you { font:800 29px var(--font-display); fill:var(--on-accent); }
.house-pillar { font:400 8px var(--font-mono); fill:var(--on-accent); }
.house-figure figcaption { margin:auto; text-align:center; font:400 11px/1.6 var(--font-mono); color:var(--ink-2); }
.pain-list { padding:0; list-style:none; }
.pain-list li { padding:16px 0 16px 23px; position:relative; border-bottom:1px solid var(--line-soft); color:var(--ink-2); }
.pain-list li:first-child { padding-top:0; }
.pain-list li::before { content:""; position:absolute; left:0; width:5px; height:5px; background:var(--accent); top:27px; }
.pain-list li:first-child::before { top:11px; }
.pain-list li:last-child { border:0; color:var(--ink); }

.promise-section { background:var(--paper-2); }
.promise-heading { display:grid; grid-template-columns:1.45fr 1fr; gap:91px; align-items:end; }
.promise-heading h2 { margin:0; }
.promise-heading h2 > span { color:var(--accent-text); }
.promise-heading > p { color:var(--ink-2); }
.benefits { display:grid; grid-template-columns:1.45fr 1fr 1fr; margin-top:45px; border-top:1px solid var(--line); }
.benefits > p { padding:23px 23px 0; border-left:1px solid var(--line-soft); }
.benefits > p:first-child { padding-left:0; border:0; }
.benefits > p:last-child { padding-right:0; }
.benefits .eyebrow { margin:0; display:block; }
.benefits > p > span:last-child { display:block; color:var(--ink-2); margin-top:11px; }

.concrete-grid { grid-template-columns:1fr 1fr; }
.concrete-story { font-size:20px; line-height:1.65; }
.concrete-story strong { font-weight:500; }
.example-note { margin-top:45px; padding-left:16px; border-left:2px solid var(--blue); color:var(--ink-2); font:400 11px/1.8 var(--font-mono); }
.phone-figure { padding:32px 23px; background-color:var(--paper-2); }
.phone { width:360px; max-width:100%; padding:23px 16px 16px; border:2px solid var(--line); border-radius:34px; background:var(--paper); margin:auto; }
.phone-top { text-align:center; }
.phone-time { display:block; font:400 42px/1.2 var(--font-mono); letter-spacing:-2px; }
.phone-date { display:block; font:400 10px/1.5 var(--font-mono); color:var(--ink-2); margin-top:4px; }
.phone-heading { margin-block:23px 16px; text-align:center; }
.phone-heading .eyebrow { display:block; margin:0; }
.phone-example { font:400 9px/1.5 var(--font-mono); color:var(--ink-2); }
.notifications { list-style:none; padding:0; display:grid; gap:11px; }
.notification { border:1px solid var(--line-soft); border-radius:12px; background:var(--frame); padding:16px; }
.sender { display:block; font:400 9px/1.5 var(--font-mono); color:var(--blue); letter-spacing:.035em; margin-bottom:8px; }
.notification p { font-size:15px; line-height:1.5; }
.notification .source { font:400 .64rem/1.65 var(--font-mono); color:var(--muted); margin-top:8px; }
.phone-disclosure { font:400 10px/1.7 var(--font-mono); color:var(--ink-2); margin:16px 8px 0; }

.principle-section { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.principle-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:0 64px; }
.principle-grid > .eyebrow { grid-column:1/-1; }
.principle-grid h2 { margin:0; }
.principle-grid h2 span { color:var(--accent-text); }
.principle-grid > p:last-child { align-self:center; color:var(--ink-2); }
.proofs { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:32px; margin-top:45px; }
.proof { display:flex; flex-direction:column; border-top:1.5px solid var(--line); padding-top:16px; }
.item-number { font:400 12px/1.5 var(--font-mono); color:var(--blue); }
.proof > .item-number { margin-bottom:23px; }
.proof h3 { margin-bottom:16px; }
.proof > div > p { color:var(--ink-2); }
.verification { margin-top:auto; padding-top:32px; font:400 10px/1.8 var(--font-mono); color:var(--ink-2); }
.verification > span { display:block; color:var(--accent-text); text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; }

.advance-section { background-color:var(--paper-2); }
.journey { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; padding:0; margin:45px 0; }
.journey-step { border-top:1px solid var(--line); padding:16px 16px 0; border-right:1px solid var(--line-soft); }
.journey-step:first-child { padding-left:0; }
.journey-step:last-child { padding-right:0; border-right:0; }
.journey-step.phase { border-top:3px solid var(--accent); padding-top:14px; }
.timing { font:400 10px/1.55 var(--font-mono); text-transform:uppercase; color:var(--blue); min-height:65px; }
.timing > span { display:block; margin-top:4px; font-size:9px; line-height:1.5; }
.journey-step .item-number { display:block; margin:11px 0; }
.journey-step h3 { font-size:29px; margin-bottom:16px; min-height:62px; }
.journey-step > p:last-child { font-size:17px; color:var(--ink-2); }

.founder-grid { display:grid; grid-template-columns:350px 1fr; gap:91px; align-items:center; }
.portrait { margin-inline:auto; width:260px; }
.portrait img { width:260px; height:260px; object-fit:cover; }
.portrait figcaption { font:400 12px/1.8 var(--font-mono); padding-top:16px; border-bottom:1px solid var(--line-soft); padding-bottom:16px; }
.portrait figcaption > span { color:var(--blue); font-size:10px; }
.founder-copy { display:grid; gap:23px; color:var(--ink-2); }
.founder-signature { color:var(--accent-text); padding-top:23px; border-top:1px solid var(--line-soft); max-width:34rem; }
.data-section { background:var(--paper-2); }
.data-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:91px; }
.data-answers { list-style:none; padding:0; }
.data-answers > li { display:grid; grid-template-columns:32px 1fr; gap:16px; border-top:1px solid var(--line-soft); padding-block:16px; }
.data-answers > li:first-child { padding-top:0; border:0; }
.data-answers .item-number { padding-top:5px; }
.data-answers p { color:var(--ink-2); }

.visit-section { padding-block:91px; }
.visit-heading { display:flex; justify-content:space-between; align-items:center; gap:45px; }
.visit-heading h2 { max-width:650px; }
.contact-direct { border-left:1px solid var(--line); padding-left:32px; flex:0 0 265px; }
.contact-direct p { font-size:13px; color:var(--ink-2); margin-bottom:16px; }
.contact-direct .button { width:100%; }
.text-link { display:flex; align-items:center; gap:16px; font-size:13px; min-height:44px; width:fit-content; }
/* La gratuité et sa limite sont lisibles avant de choisir une visite. */
.visit-offer { max-width:36em; margin-top:23px; padding:16px 20px; border-left:3px solid var(--accent); background:var(--accent-soft); }
.visit-offer p { margin:0; font-size:14px; line-height:1.6; }
.visit-offer .visit-offer-title { margin-bottom:8px; color:var(--ink); font-size:18px; font-weight:600; line-height:1.4; }
.visit-offer .visit-availability { margin-top:12px; color:var(--ink-2); font-size:12px; }
.visit-section.is-open .visit-start { display:none; }
.booking-panel { max-width:584px; margin:45px 0 0; background:var(--frame); border:1px solid var(--line-soft); border-top:3px solid var(--accent); padding:32px; }
.booking-topline { display:flex; align-items:center; justify-content:space-between; gap:23px; min-height:16px; }
.form-progress { display:flex; gap:5px; list-style:none; padding:0; flex-shrink:0; }
.form-progress li { position:relative; width:20px; height:3px; background:var(--line-soft); }
.form-progress li[aria-current],.form-progress li.is-complete { background:var(--accent); }
fieldset { border:0; padding:0; margin:32px 0 0; min-width:0; }
legend { font:700 34px/1.1 var(--font-display); letter-spacing:.005em; padding:0; margin-bottom:32px; max-width:100%; }
label,.field-label { display:block; font-size:14px; line-height:1.5; margin-bottom:8px; }
input:not([type="radio"]),select { display:block; border:1.5px solid var(--line); background:var(--paper); color:var(--ink); min-height:51px; padding:12px; width:100%; max-width:580px; font-size:16px; }
input::placeholder { color:var(--ink-2); }
select { padding-right:32px; text-overflow:ellipsis; }
.field-hint,.optional { color:var(--ink-2); font-size:12px; }
.field-hint { margin-top:8px; }
.form-fields { display:grid; grid-template-columns:1fr; gap:23px; align-items:start; }
.size-switch { display:flex; flex-wrap:wrap; gap:8px 23px; margin-bottom:8px; }
.size-switch > label { display:flex; align-items:center; gap:8px; min-height:36px; margin-bottom:0; cursor:pointer; }
input[type="radio"] { appearance:none; flex-shrink:0; width:16px; height:16px; margin:0; border:1.5px solid var(--line); border-radius:0; background:var(--paper); }
input[type="radio"]:checked { background:var(--accent); border-color:var(--accent-text); }
input[aria-invalid="true"],select[aria-invalid="true"] { border-color:var(--accent-text); }
.loss-choices { display:grid; grid-template-columns:1fr; gap:11px; margin-bottom:23px; }
.loss-choices > label { display:flex; align-items:center; gap:11px; background:var(--paper); border:1px solid var(--line-soft); padding:12px 16px; min-height:51px; margin:0; cursor:pointer; }
.loss-choices > label:has(:checked) { border-color:var(--accent-text); background:var(--accent-soft); }
.loss-choices > label:hover { border-color:var(--line); }
.form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:23px; margin-top:23px; }
.form-next { margin-left:auto; background:var(--accent); color:var(--on-accent); }
.form-next:hover { background:var(--ink); color:var(--paper); }
.booking-privacy { margin-top:23px; color:var(--ink-2); font:400 10px/1.8 var(--font-mono); }
.calendar-note { margin-top:23px; color:var(--ink-2); font-size:13px; }
.back-button { min-height:44px; padding:8px 0; border:0; background:transparent; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.back-button > span { margin-right:8px; }
.step-label { font:400 11px/1.6 var(--font-mono); text-transform:uppercase; letter-spacing:.08em; color:var(--blue); }
.form-error { margin-top:16px; color:var(--accent-text); font-size:14px; }
.no-script { margin-top:32px; }
.footer { padding-block:32px; }
.footer-top { display:flex; align-items:center; gap:32px; padding-bottom:32px; }
.footer-top > p { font-size:12px; color:var(--ink-2); }
.footer-contact { display:flex; align-items:center; gap:23px; margin-left:auto; font:400 12px var(--font-mono); }
.footer-contact a { display:flex; align-items:center; min-height:44px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:23px; border-top:1px solid var(--line-soft); padding-top:16px; font:400 10px/1.6 var(--font-mono); color:var(--ink-2); }
.footer-bottom nav { display:flex; gap:23px; flex-wrap:wrap; }
.footer-bottom a { display:flex; align-items:center; min-height:44px; text-decoration:none; }
.footer-bottom a:hover { text-decoration:underline; }

@media (min-width:1440px) {
  .hero-grid { padding-block:64px; gap:64px; }
}
@media (max-width:1100px) {
  .wrap { width:calc(100% - 64px); }
  .header-inner { gap:23px; }
  .header.has-cta nav { gap:16px; }
  .header.has-cta .theme-toggle { padding-left:16px; }
  .header.has-cta #theme-label { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
  .hero-grid { gap:32px; }
  .split { gap:45px; }
  .promise-heading { gap:45px; }
  .founder-grid { grid-template-columns:300px 1fr; gap:45px; }
  .data-grid { gap:45px; }
  .journey-step { padding-inline:11px; }
  .journey-step h3 { font-size:26px; }
  .journey-step > p:last-child { font-size:17px; }
}
@media (max-width:860px) {
  html { scroll-padding-top:91px; }
  .header-inner { min-height:72px; }
  .header nav { gap:23px; }
  .header.has-cta nav { display:none; }
  #header-cta-slot { margin-left:auto; }
  .header .theme-toggle { margin-left:auto; }
  .header.has-cta .theme-toggle { margin-left:0; }
  .hero-grid { grid-template-columns:1fr; gap:45px; }
  .hero-copy { max-width:650px; }
  .hero h1 { font-size:clamp(2.9rem,8vw,4.5rem); }
  .desktop-break { display:none; }
  .infrastructure { max-width:580px; width:100%; margin-inline:auto; padding:0; }
  .system-drawing { max-height:410px; }
  .section { padding-block:64px; }
  .split { gap:32px; }
  .house-figure { padding-inline:16px; }
  .promise-heading { grid-template-columns:1fr; gap:23px; }
  .promise-heading h2 { max-width:650px; }
  .benefits { grid-template-columns:1.35fr 1fr 1fr; }
  .benefits > p { font-size:15px; padding-inline:16px; }
  .concrete-grid { grid-template-columns:.8fr 1fr; }
  .phone-figure { padding:23px 8px; }
  .phone { padding-inline:11px; }
  .notification { padding:12px; }
  .notification p { font-size:14px; }
  .concrete-story { font-size:18px; }
  .principle-grid { gap:0 32px; }
  .proofs { gap:23px; }
  .proof h3 { font-size:28px; }
  .proof p { font-size:15px; }
  .proof .verification { font-size:10px; }
  .journey { grid-template-columns:1fr; margin-block:32px; }
  .journey-step,.journey-step:first-child,.journey-step:last-child { display:grid; grid-template-columns:32px 180px 1fr; gap:0 23px; padding:23px 0; border-right:0; }
  .journey-step .timing { grid-column:2; min-height:0; margin-bottom:11px; }
  .journey-step .item-number { grid-column:1; grid-row:1/3; margin:0; }
  .journey-step h3 { grid-column:2; min-height:0; margin-bottom:0; }
  .journey-step > p:last-child { grid-column:3; grid-row:1/3; font-size:16px; }
  .founder-grid { grid-template-columns:260px 1fr; gap:32px; }
  .data-grid { grid-template-columns:.8fr 1.2fr; gap:32px; }
  .visit-heading { align-items:flex-start; gap:32px; }
  .contact-direct { flex-basis:240px; padding-left:23px; }
  .footer-top { flex-wrap:wrap; gap:16px 23px; }
  .footer-contact { margin-left:0; }
}
@media (max-width:600px) {
  .wrap { width:calc(100% - 40px); }
  .header-inner { min-height:64px; gap:0 16px; flex-wrap:wrap; padding-top:11px; }
  .wordmark { font-size:31px; }
  .header nav { display:flex; order:4; flex-basis:100%; justify-content:space-between; gap:11px; margin-left:0; }
  .header nav a { font-size:11px; min-height:44px; }
  .theme-toggle { padding-left:16px; font-size:10px; }
  .header.has-cta .header-inner { gap:11px; padding-block:0; flex-wrap:nowrap; }
  .header.has-cta #header-cta-slot .button { font-size:11px; gap:8px; padding-inline:11px; min-height:44px; }
  .header.has-cta .wordmark { font-size:27px; }
  .header.has-cta .theme-toggle { padding:11px; min-width:44px; border:0; }
  .section { padding-block:64px; }
  .eyebrow { font-size:10px; }
  .section .eyebrow { margin-bottom:16px; }
  .section-number { padding-right:11px; margin-right:11px; }
  .section h2 { margin-bottom:23px; }
  .hero-grid { padding-top:32px; padding-bottom:32px; gap:32px; }
  .hero-copy > .eyebrow { margin-bottom:16px; max-width:28em; }
  .hero h1 { font-size:clamp(2.9rem,10.6vw,3.9rem); line-height:1.02; margin-bottom:23px; text-wrap:initial; }
  .hero-action { order:1; }
  .hero-hook { order:2; margin:23px 0 0; }
  .signature { order:3; margin-top:16px; font-size:11px; }
  .hero .button { width:100%; }
  .visit-note { font-size:12px; margin-top:11px; }
  .hero-contact { align-items:flex-start; flex-direction:column; padding-block:16px 8px; gap:0; }
  .hero-contact .eyebrow { font-size:9px; }
  .hero-contact > div { justify-content:space-between; width:100%; gap:16px; }
  .hero-contact a { font-size:11px; }
  .drawing-heading .eyebrow { font-size:9px; }
  .system-drawing { margin-top:11px; }
  .flow-caption { font-size:9px; margin-bottom:16px; }
  .infrastructure figcaption { font-size:13px; }
  .split { grid-template-columns:1fr; gap:32px; }
  .pain-copy { grid-row:1; }
  .house-figure { max-width:400px; width:100%; margin:auto; padding-block:16px 23px; }
  .house-drawing { max-height:380px; }
  .pain-list li { padding-block:16px; }
  .pain-list li:first-child { padding-top:0; }
  .promise-heading { gap:0; }
  .benefits { grid-template-columns:1fr; margin-top:32px; }
  .benefits > p,.benefits > p:first-child,.benefits > p:last-child { padding:23px 0; border-left:0; border-bottom:1px solid var(--line-soft); font-size:17px; }
  .benefits > p:last-child { padding-bottom:0; border:0; }
  .benefits .eyebrow { margin:0; }
  .concrete-story { font-size:19px; }
  .example-note { margin-top:23px; font-size:10px; }
  .phone-figure { width:100%; max-width:400px; margin:auto; padding:23px 11px; }
  .phone { padding:23px 11px 16px; }
  .notification p { font-size:15px; }
  .phone-time { font-size:40px; }
  .principle-grid { grid-template-columns:1fr; }
  .principle-grid h2 { margin-bottom:23px; }
  .principle-grid br { display:none; }
  .proofs { grid-template-columns:1fr; gap:32px; margin-top:32px; }
  .proof { display:grid; grid-template-columns:23px 1fr; gap:0 16px; }
  .proof > .item-number { grid-row:1/3; margin:3px 0 0; }
  .proof h3 { font-size:32px; }
  .proof > div > p { font-size:17px; }
  .proof .verification { grid-column:2; padding-top:16px; font-size:11px; }
  .journey-step,.journey-step:first-child,.journey-step:last-child { grid-template-columns:23px 1fr; gap:0 16px; padding-block:23px; }
  .journey-step .item-number { grid-row:1/4; }
  .journey-step .timing { grid-column:2; }
  .journey-step h3 { font-size:32px; margin-bottom:16px; }
  .journey-step > p:last-child { grid-column:2; grid-row:auto; font-size:17px; }
  .timing { font-size:11px; }
  .timing > span { font-size:10px; }
  .advance-section .button { width:100%; }
  .founder-grid { grid-template-columns:1fr; gap:32px; }
  .portrait { width:220px; margin-inline:0; }
  .portrait img { width:220px; height:220px; }
  .portrait figcaption { padding-block:11px; }
  .founder-copy { gap:16px; }
  .founder-signature { margin-top:23px; }
  .data-grid { grid-template-columns:1fr; gap:8px; }
  .data-grid h2 br { display:none; }
  .data-answers > li { grid-template-columns:23px 1fr; gap:16px; }
  .visit-heading { flex-direction:column; gap:32px; }
  .visit-heading > div:first-child { width:100%; }
  .visit-start { width:100%; }
  .contact-direct { border-left:0; border-top:1px solid var(--line); padding:23px 0 0; flex-basis:auto; width:100%; }
  .contact-direct .button { width:auto; min-width:220px; }
  .booking-panel { margin-top:32px; padding:23px 16px; }
  legend { font-size:30px; }
  .form-fields { grid-template-columns:1fr; gap:23px; }
  .loss-choices { grid-template-columns:1fr; }
  .loss-choices > label { padding:12px 11px; }
  .size-switch { flex-direction:column; gap:0; }
  .size-switch > label { min-height:44px; }
  .form-actions { gap:11px 16px; }
  .footer-top { align-items:flex-start; flex-direction:column; gap:16px; }
  .footer-top > p { font-size:11px; }
  .footer-contact { gap:23px; font-size:11px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:16px; }
  .footer-bottom nav { gap:0 23px; }
}
@media (max-width:360px) {
  .wrap { width:calc(100% - 32px); }
  .header.has-cta .theme-toggle { padding-inline:12px; min-width:44px; }
  .header.has-cta .wordmark { font-size:24px; }
  .header.has-cta .header-inner { gap:8px; }
  .header.has-cta #header-cta-slot .button { font-size:10px; padding-inline:8px; }
  .hero h1 { font-size:2.9rem; }
  .flow-caption { font-size:8px; }
  .phone-figure { padding:16px 0; background:none; }
  .notification p { font-size:14px; }
  .sender { font-size:8px; }
  .booking-panel { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .flow-one { stroke-dashoffset:-90; }
  .flow-two { stroke-dashoffset:-415; }
  .flow-three { stroke-dashoffset:-740; }
}
@media print {
  .header { position:static; }
  .theme-toggle,.motion-toggle,.booking-panel { display:none !important; }
  .section { break-inside:avoid; padding-block:32px; }
  .flow,.signal { animation:none; }
}
