/* HabiCord v2 : feuille de style partagée. Aucune ressource externe. */
:root{
  --navy:#122641;
  --navy-dark:#0b1a2e;
  --anthracite:#2c313a;
  --accent:#1f6f6f;
  --accent-light:#2f8f8a;
  --accent-tint:#e8f3f2;
  --bg:#f4f6f8;
  --card:#fff;
  --text:#1c222b;
  --muted:#5a6472;
  --border:#e1e5ea;
  --danger-bg:#fbf1ec;
  --danger-border:#e7b89c;
  --danger-ink:#9a4a22;
  --error:#a33a3a;
  --r-lg:18px;
  --r-md:12px;
  --r-sm:8px;
  --max:1160px;
  --header-h:72px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --gutter:24px;
  --section-y:128px;
}
@media (max-width:700px){:root{--gutter:16px;--section-y:72px;}}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--sans);font-size:clamp(16px,1.1vw + 11px,18px);line-height:1.6;color:var(--text);background:#fff;overflow-x:clip;}
img{max-width:100%;display:block;height:auto;}
a{color:var(--accent);text-underline-offset:3px;}
a:hover{color:var(--navy);}
p{margin:0 0 1em;}
ul{margin:0;padding:0;}
h1,h2,h3{color:var(--navy-dark);margin:0;}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.12;}
h1{font-size:clamp(36px,2.6vw + 19px,56px);}
h2{font-size:clamp(28px,1.6vw + 18px,40px);}
h3{font-size:clamp(19px,.4vw + 17px,22px);line-height:1.3;font-weight:600;}
h1 em,h2 em{font-style:italic;color:var(--accent);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}
.on-dark :focus-visible,.site-footer :focus-visible,.mobile-panel :focus-visible{outline-color:#9fd4d0;}

.skip-link{position:absolute;left:12px;top:-60px;z-index:300;background:var(--navy);color:#fff;padding:12px 18px;border-radius:var(--r-sm);font-weight:600;text-decoration:none;}
.skip-link:focus{top:12px;color:#fff;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);}
.section{padding:var(--section-y) 0;}
.bg-soft{background:var(--bg);}
.bg-white{background:#fff;}
.bg-tint{background:var(--accent-tint);}
.bg-navy{background:var(--navy);color:#fff;}
.bg-navy h2,.bg-navy h3{color:#fff;}

/* Eyebrow */
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 20px;}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--accent);flex-shrink:0;}
.center .eyebrow{justify-content:center;}
.lead{font-size:clamp(17px,.4vw + 15.5px,20px);line-height:1.55;color:var(--text);max-width:64ch;}
.muted{color:var(--muted);}
.small{font-size:14px;}

/* Section heads */
.head-center{text-align:center;max-width:760px;margin:0 auto 64px;}
.head-center .lead{margin:20px auto 0;max-width:52ch;}
.head-split{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:end;margin-bottom:72px;}
.head-split .lead{margin:0;}
@media (max-width:900px){.head-split{grid-template-columns:1fr;gap:20px;margin-bottom:48px;}.head-center{margin-bottom:48px;}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 24px;border-radius:var(--r-sm);font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease;text-align:center;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#17595a;color:#fff;}
.btn-secondary{border-color:var(--navy);color:var(--navy);background:transparent;}
.btn-secondary:hover{background:var(--accent-tint);color:var(--navy);}
.btn-white{background:#fff;color:var(--navy);}
.btn-white:hover{background:var(--accent-tint);color:var(--navy);}
.btn-ghost-white{border-color:rgba(255,255,255,.6);color:#fff;background:transparent;}
.btn-ghost-white:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff;}
.btn-block{width:100%;}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.link-arrow .arr{display:inline-block;transition:transform .2s ease;text-decoration:none;}
.link-arrow:hover{color:var(--navy);text-decoration-color:var(--accent);}
.link-arrow:hover .arr{transform:translateX(4px);}
.on-dark .link-arrow,.link-arrow.light{color:#fff;}
.on-dark .link-arrow:hover,.link-arrow.light:hover{color:#fff;text-decoration-color:#9fd4d0;}

/* Header */
.site-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{font-family:var(--sans);font-size:22px;font-weight:800;letter-spacing:.01em;color:var(--navy-dark);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;}
.logo span{color:var(--accent);}
.logo:hover{color:var(--navy-dark);}
.site-nav{display:flex;align-items:center;gap:28px;}
.site-nav ul{list-style:none;display:flex;gap:26px;}
.site-nav a.nav-link{color:var(--text);text-decoration:none;font-size:15px;font-weight:500;display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid transparent;}
.site-nav a.nav-link:hover,.site-nav a.nav-link[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent);}
.header-cta{padding:10px 18px;min-height:44px;font-size:15px;}
.header-actions{display:none;align-items:center;gap:10px;}
.menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 14px;border:1.5px solid var(--border);background:#fff;border-radius:var(--r-sm);color:var(--navy);font:600 15px var(--sans);cursor:pointer;}
.menu-toggle svg{width:18px;height:18px;}
@media (max-width:1079px){
  .site-nav{display:none;}
  .header-actions{display:flex;}
}
@media (max-width:479px){.header-actions .header-cta{display:none;}}

/* Mobile panel */
.mobile-panel{position:fixed;inset:0;z-index:200;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:0 var(--gutter) 32px;overflow-y:auto;}
.mobile-panel[hidden]{display:none;}
.mobile-panel-top{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);flex-shrink:0;}
.mobile-panel .logo{color:#fff;}
.mobile-panel .logo span{color:#9fd4d0;}
.menu-close{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--r-sm);background:transparent;color:#fff;font:600 15px var(--sans);cursor:pointer;}
.mobile-panel ul{list-style:none;margin:16px 0 32px;}
.mobile-panel li{border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-panel li a{display:flex;align-items:center;min-height:64px;font-family:var(--serif);font-size:28px;line-height:1.2;color:#fff;text-decoration:none;padding:8px 0;}
.mobile-panel li a:hover{color:#9fd4d0;}
.mobile-panel .btn{margin-top:auto;}
body.menu-open{overflow:hidden;}

/* Floating pill (mobile) */
.float-pill{position:fixed;left:50%;bottom:16px;z-index:90;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;display:flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border-radius:999px;padding:6px;box-shadow:0 8px 24px rgba(11,26,46,.25);max-width:calc(100% - 24px);}
.float-pill{visibility:hidden;}
.float-pill.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;visibility:visible;}
.float-pill a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 16px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap;}
.float-pill a.pill-cta{background:#fff;color:var(--navy);}
.float-pill .pill-count{font-size:14px;padding:0 6px 0 10px;white-space:nowrap;color:#d6dde6;}
.float-pill a[aria-disabled="true"]{opacity:.4;pointer-events:none;}
@media (min-width:900px){.float-pill.mobile-only{display:none;}}

/* Hero */
.hero{background:var(--bg);padding:96px 0 112px;}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center;}
.hero h1{margin-bottom:28px;}
.hero .lead{margin-bottom:36px;}
.hero-figure{margin:0;}
.hero-figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:45% 50%;border-radius:var(--r-lg);}
.hero-note{margin-top:20px;padding-left:16px;border-left:2px solid var(--accent);}
.hero-note .t{font-size:16px;font-weight:600;line-height:1.4;color:var(--navy-dark);margin:0 0 4px;}
.bg-navy h2 em{color:#9fd4d0;}
.risk-label{display:flex;flex-direction:column;gap:8px;}
.risk-label .cap{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
@media (max-width:700px){.risk-label{flex-direction:row;align-items:baseline;gap:12px;}}
.hero-note p{font-size:15px;color:var(--muted);margin:0;line-height:1.55;}
@media (max-width:900px){
  .hero{padding:56px 0 72px;}
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hero .btn-row{flex-direction:column;align-items:stretch;}
  .hero .btn-row .btn{width:100%;}
  .hero .btn-row .link-arrow{justify-content:center;}
  .hero-figure img{aspect-ratio:16/10;}
}

/* Trust band */
.trust{background:var(--accent-tint);}
.trust ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);}
.trust li{display:flex;align-items:center;gap:12px;padding:32px 28px;font-weight:600;font-size:16px;color:var(--navy-dark);line-height:1.35;}
.trust li+li{border-left:1px solid rgba(31,111,111,.3);}
.check-ico{flex-shrink:0;width:20px;height:20px;color:var(--accent);}
@media (max-width:900px){
  .trust ul{grid-template-columns:1fr 1fr;}
  .trust li{padding:24px 16px;}
  .trust li+li{border-left:0;}
  .trust li:nth-child(even){border-left:1px solid rgba(31,111,111,.3);}
  .trust li:nth-child(n+3){border-top:1px solid rgba(31,111,111,.3);}
}

/* Risk manifest bands */
.manifest{border-top:1px solid var(--border);}
.manifest-row{display:grid;grid-template-columns:2fr 10fr;gap:32px;padding:56px 0;border-bottom:1px solid var(--border);}
.big-num{font-family:var(--serif);font-weight:400;font-size:clamp(48px,2vw + 36px,64px);line-height:1;color:var(--accent-light);}
.manifest-row .kind{margin-bottom:16px;}
.manifest-row h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,1vw + 18px,34px);line-height:1.25;margin:0 0 16px;}
.manifest-row p{font-size:clamp(17px,.4vw + 15.5px,20px);line-height:1.55;max-width:64ch;margin:0;}
@media (max-width:700px){.manifest-row{grid-template-columns:1fr;gap:12px;padding:40px 0;}}

.transition-band{padding:72px 0;}
.transition-inner{display:grid;grid-template-columns:8fr 4fr;gap:48px;align-items:center;}
.transition-band h2{font-size:clamp(24px,1vw + 18px,34px);line-height:1.25;margin:0 0 12px;}
.transition-band p{color:rgba(255,255,255,.82);margin:0;max-width:64ch;}
.transition-inner .link-arrow{justify-self:end;}
@media (max-width:900px){.transition-inner{grid-template-columns:1fr;gap:20px;}.transition-inner .link-arrow{justify-self:start;}}

/* Kind label */
.kind{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);border-radius:999px;padding:4px 10px;line-height:1.5;}

/* Role: two lists */
.role-cols{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.role-cols h3{padding-bottom:16px;border-bottom:2px solid var(--navy);margin-bottom:8px;}
.role-cols .col-no h3{border-bottom-color:var(--muted);}
.mark-list{list-style:none;}
.mark-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border);line-height:1.5;}
.mark-list .check-ico{margin-top:3px;}
.cross-ico{flex-shrink:0;width:20px;height:20px;margin-top:3px;color:var(--muted);}
@media (max-width:900px){.role-cols{grid-template-columns:1fr;gap:48px;}}

/* Steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:64px 48px;}
.step .big-num{display:block;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px;}
.step h3{margin-bottom:12px;}
.step p{margin:0;color:var(--text);}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){
  .steps{grid-template-columns:1fr;gap:0;position:relative;}
  .step{position:relative;padding:0 0 40px 72px;}
  .step::before{content:"";position:absolute;left:23px;top:56px;bottom:0;width:2px;background:var(--accent-light);opacity:.5;}
  .step:last-child::before{display:none;}
  .step .big-num{position:absolute;left:0;top:0;font-size:44px;border:0;padding:0;margin:0;}
  .step h3{padding-top:8px;}
}

/* Pricing grid */
.pricing{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--bg);}
.plan{display:flex;flex-direction:column;padding:36px 28px 32px;background:var(--bg);position:relative;}
.plan+.plan{border-left:1px solid var(--border);}
.plan.featured{background:#fff;box-shadow:inset 0 4px 0 var(--accent);}
.plan .kind{align-self:flex-start;margin-bottom:16px;}
.plan .kind-spacer{height:29px;margin-bottom:16px;}
.plan h3{margin-bottom:16px;}
.price{font-family:var(--serif);font-size:40px;line-height:1;color:var(--navy);margin:0 0 6px;}
.price small{font-family:var(--sans);font-size:16px;font-weight:600;color:var(--navy);margin-left:4px;}
.plan .hook{font-weight:600;color:var(--navy-dark);font-size:16px;line-height:1.45;margin:16px 0 12px;}
.plan .desc{font-size:15.5px;color:var(--muted);line-height:1.55;}
.plan .incl-title{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-dark);margin:8px 0 4px;padding-top:16px;border-top:1px solid var(--border);}
.plan ul{list-style:none;margin-bottom:28px;flex-grow:1;}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5;padding:7px 0;}
.plan li .check-ico{width:16px;height:16px;margin-top:3px;}
.plan .btn{width:100%;}
@media (max-width:1100px){
  .pricing{grid-template-columns:1fr 1fr;}
  .plan:nth-child(3){border-left:0;}
  .plan:nth-child(n+3){border-top:1px solid var(--border);}
}
@media (max-width:700px){
  .pricing{grid-template-columns:1fr;}
  .plan+.plan{border-left:0;border-top:1px solid var(--border);}
  .plan.featured + .plan{border-top:1px solid var(--border);}
  .plan:first-child{border-top:1px solid var(--border);}
  .plan .kind-spacer{display:none;}
  .plan{padding:32px 24px;}
}
@media (max-width:700px){.pricing > .plan:first-child:not(.featured){border-top:1px solid var(--border);}}

.notes-panel{margin-top:32px;background:var(--accent-tint);border-radius:var(--r-lg);display:grid;grid-template-columns:repeat(3,1fr);}
.notes-panel > div{padding:36px 32px;}
.notes-panel > div+div{border-left:1px solid rgba(31,111,111,.3);}
.notes-panel h3{font-family:var(--serif);font-weight:500;font-size:22px;margin-bottom:12px;}
.notes-panel p{margin:0;font-size:16px;line-height:1.6;}
@media (max-width:900px){
  .notes-panel{grid-template-columns:1fr;}
  .notes-panel > div{padding:28px 24px;}
  .notes-panel > div+div{border-left:0;border-top:1px solid rgba(31,111,111,.3);}
}

/* Split photo / text */
.split{display:grid;grid-template-columns:6fr 1fr 5fr;align-items:center;}
.split .split-media{grid-column:1;}
.split .split-text{grid-column:3;}
.split-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);}
.split-text h2{margin-bottom:24px;}
.split-text .lead{font-size:18px;}
.split-text h3{margin:32px 0 8px;}
.offer-list{list-style:none;border-top:1px solid var(--border);margin-bottom:24px;}
.offer-list li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);line-height:1.55;}
.offer-list li .check-ico{margin-top:3px;}
.offer-list strong{color:var(--navy-dark);}
.note{font-size:15px;color:var(--muted);margin:0;}
@media (max-width:900px){
  .split{grid-template-columns:1fr;gap:40px;}
  .split .split-media,.split .split-text{grid-column:1;}
  .split-media img{aspect-ratio:16/10;}
}

/* Who does what table */
.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:#fff;}
table.roles{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;}
table.roles th,table.roles td{text-align:left;vertical-align:top;padding:18px 24px;border-bottom:1px solid var(--border);}
table.roles thead th{background:var(--navy);color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
table.roles tbody th{font-weight:600;color:var(--navy-dark);width:28%;}
table.roles td.hc{color:var(--accent);font-weight:600;width:28%;}
table.roles tbody tr:last-child th,table.roles tbody tr:last-child td{border-bottom:0;}
.table-note{margin-top:28px;max-width:80ch;color:var(--muted);font-size:16px;}
@media (max-width:760px){
  table.roles thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  table.roles,table.roles tbody,table.roles tr,table.roles th,table.roles td{display:block;width:auto!important;}
  table.roles tr{padding:20px;border-bottom:1px solid var(--border);}
  table.roles tbody tr:last-child{border-bottom:0;}
  table.roles th,table.roles td{padding:4px 0;border:0;}
  table.roles tbody th{font-size:17px;padding-bottom:10px;}
  table.roles td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
}

/* Example teasers */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-bottom:56px;}
.teaser{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:28px;border-top:1px solid var(--border);}
.teaser h3{margin:0;}
.teaser p{margin:0;flex-grow:1;}
@media (max-width:900px){.cols3{grid-template-columns:1fr;gap:40px;margin-bottom:40px;}}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:64px;align-items:start;}
.faq-side{position:sticky;top:calc(var(--header-h) + 32px);}
.faq-side h2{margin-bottom:24px;}
.faq-list{border-top:1px solid var(--border);}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:56px;padding:20px 0;font-size:19px;font-weight:600;line-height:1.4;color:var(--navy-dark);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{flex-shrink:0;width:24px;height:24px;color:var(--accent);transition:transform .2s ease;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item summary:hover{color:var(--accent);}
.faq-answer{padding:0 48px 24px 0;}
.faq-answer p{margin:0;max-width:64ch;}
@media (max-width:900px){
  .faq-grid{grid-template-columns:1fr;gap:32px;}
  .faq-side{position:static;}
  .faq-item summary{font-size:17px;padding:16px 0;}
  .faq-answer{padding-right:0;}
}

/* Contact */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start;}
.contact-intro h2{margin-bottom:24px;}
.contact-intro .lead{margin-bottom:32px;}
.direct{padding-top:24px;border-top:1px solid var(--border);}
.direct a{font-weight:600;}
.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:40px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.field{margin-bottom:22px;}
.field label{display:block;font-size:15px;font-weight:600;color:var(--navy-dark);margin-bottom:8px;}
.field label .opt{font-weight:400;color:var(--muted);}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 14px;font:inherit;font-size:16px;color:var(--text);background:#fff;border:1.5px solid var(--border);border-radius:var(--r-sm);transition:border-color .15s ease,box-shadow .15s ease;}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122641' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px;}
.field textarea{min-height:140px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #1f6f6f;outline-offset:2px;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);}
.field input[aria-invalid="true"]{border-color:var(--error);}
.field .help{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.5;}
.field-error{display:none;align-items:center;gap:6px;font-size:14px;color:var(--error);margin:8px 0 0;}
.field-error.show{display:flex;}
.field-error svg{width:16px;height:16px;flex-shrink:0;}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-status{margin:16px 0 0;font-size:15px;min-height:1.4em;color:var(--navy-dark);}
.form-status.error{color:var(--error);}
.form-status.success{color:var(--accent);font-weight:600;}
.rgpd{font-size:13px;color:var(--muted);margin:16px 0 0;line-height:1.5;}
.urgent{margin-top:24px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--r-md);padding:16px 20px;color:var(--danger-ink);font-size:15px;line-height:1.5;}
.urgent strong{color:var(--danger-ink);}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}.form-card{padding:24px;}}

/* Final CTA */
.final-cta{padding:var(--section-y) 0;text-align:center;}
.final-cta h2{max-width:24ch;margin:0 auto 20px;}
.final-cta p{color:rgba(255,255,255,.78);max-width:52ch;margin:0 auto 36px;}
.final-cta .btn-row{justify-content:center;}
@media (max-width:600px){.final-cta .btn-row{flex-direction:column;align-items:stretch;}}

/* Footer */
.site-footer{background:var(--anthracite);color:#c7ccd3;padding:80px 0 32px;font-size:15px;line-height:1.6;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.site-footer h2{font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:0;color:#fff;margin:0 0 16px;}
.site-footer .f-logo{font-size:22px;font-weight:800;}
.site-footer .f-logo span{color:#9fd4d0;}
.site-footer p{margin:0;max-width:52ch;}
.site-footer ul{list-style:none;}
.site-footer li a{display:inline-flex;align-items:center;min-height:44px;}
.site-footer a{color:#9fd4d0;text-decoration:none;}
.site-footer a:hover{color:#fff;text-decoration:underline;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:#aab1bb;}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:4px 20px;}
.footer-bottom li a{min-height:44px;}
@media (max-width:900px){.site-footer{padding:56px 0 32px;}.footer-grid{grid-template-columns:1fr;gap:36px;margin-bottom:40px;}}

/* Examples page */
.page-head{background:var(--bg);padding:96px 0 80px;}
.page-head h1{font-size:clamp(34px,1.8vw + 22px,48px);max-width:26ch;margin-bottom:24px;}
.page-head .lead{margin-bottom:32px;}
.quick-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:16px;}
.quick-links a{color:var(--navy);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid transparent;}
.quick-links a:hover{border-bottom-color:var(--accent);color:var(--navy);}
.quick-links .sep{color:var(--muted);padding:0 12px;}
@media (max-width:700px){.page-head{padding:56px 0 48px;}}

.example{padding:112px 0;}
.example-grid{display:grid;grid-template-columns:3fr 9fr;gap:48px;}
.example-side{position:sticky;top:calc(var(--header-h) + 32px);align-self:start;}
.example-side .big-num{display:block;margin-bottom:16px;font-size:64px;}
.example h2{font-size:clamp(26px,.8vw + 21px,32px);margin-bottom:32px;max-width:28ch;}
.story{margin:0 0 32px;border-top:1px solid var(--border);}
.story > div{display:grid;grid-template-columns:1fr;padding:24px 0;border-bottom:1px solid var(--border);}
.story dt{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.story dd{margin:0;font-size:clamp(16px,.4vw + 14.5px,18px);max-width:64ch;}
.formula-box{display:inline-block;background:var(--accent-tint);border-radius:var(--r-md);padding:14px 20px;font-size:15px;color:var(--navy-dark);}
.formula-box strong{color:var(--accent);}
@media (max-width:760px){
  .example{padding:72px 0;}
  .example-grid{grid-template-columns:1fr;gap:16px;}
  .example-side{position:static;display:flex;align-items:center;gap:16px;}
  .example-side .big-num{margin:0;font-size:48px;}
}
.caveat{background:var(--accent-tint);border-radius:var(--r-lg);padding:56px;max-width:900px;margin:0 auto;}
.caveat h2{font-size:clamp(26px,.8vw + 21px,32px);margin-bottom:16px;}
.caveat p{margin:0;font-size:18px;max-width:64ch;}
@media (max-width:700px){.caveat{padding:32px 24px;}}

/* Legal pages */
.legal{padding:80px 0 112px;background:#fff;}
.legal-grid{display:grid;grid-template-columns:3fr 9fr;gap:64px;align-items:start;}
.legal-grid.no-toc{grid-template-columns:1fr;}
.toc{position:sticky;top:96px;}
.toc-title{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-dark);margin:0 0 12px;}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--border);}
.toc a{display:flex;align-items:center;min-height:40px;padding:6px 0 6px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);font-size:15px;line-height:1.4;text-decoration:none;}
.toc a:hover{color:var(--navy);}
.toc a.active{border-left-color:var(--accent);color:var(--navy);font-weight:600;}
.toc-mobile{display:none;margin:0 0 32px;border:1px solid var(--border);border-radius:var(--r-md);}
.toc-mobile summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:0 16px;font-weight:600;color:var(--navy-dark);}
.toc-mobile ol{margin:0;padding:0 16px 12px 36px;}
.toc-mobile li{padding:0;}
.toc-mobile a{display:inline-flex;min-height:44px;align-items:center;}
.anchor-row{display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 32px;font-size:15px;}
.anchor-row a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;}
.anchor-row a:hover{border-bottom-color:var(--accent);}
.anchor-row .sep{color:var(--muted);padding:0 12px;display:inline-flex;align-items:center;}
.prose{max-width:68ch;font-size:17px;line-height:1.7;}
.prose h1{font-size:clamp(32px,1vw + 25px,40px);margin-bottom:12px;}
.prose .updated{font-size:14px;color:var(--muted);margin:0 0 32px;}
.prose h2{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:0;line-height:1.3;margin:48px 0 16px;color:var(--navy-dark);}
.prose ul{padding-left:0;list-style:none;margin:0 0 1em;}
.prose ul li{position:relative;padding-left:22px;margin-bottom:10px;}
.prose ul li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--accent);}
.prose a{color:var(--accent);font-weight:600;}
.box-status{background:var(--bg);border-left:3px solid var(--navy);padding:16px 20px;margin:0 0 20px;font-size:16px;}
.box-summary{background:var(--accent-tint);border-radius:var(--r-md);padding:20px 24px;margin:0 0 8px;font-size:16px;}
.box-summary p:last-child,.box-status p:last-child{margin:0;}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.55;margin:8px 0 16px;}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--border);}
.prose thead th{background:var(--bg);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-dark);}
.back-link{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);}
@media (max-width:900px){
  .legal{padding:48px 0 72px;}
  .legal-grid{grid-template-columns:1fr;gap:0;}
  .toc{display:none;}
  .toc-mobile{display:block;}
  .prose{font-size:16.5px;}
  .prose h2{font-size:21px;margin-top:40px;}
}
@media (max-width:640px){
  .prose table,.prose tbody,.prose tr,.prose td,.prose th{display:block;width:auto;}
  .prose thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .prose tr{padding:12px 0;border-bottom:1px solid var(--border);}
  .prose td{padding:2px 0;border:0;}
  .prose td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
}

/* 404 */
.notfound{background:var(--bg);padding:144px 0 176px;}
.notfound h1{margin-bottom:20px;}
.notfound p{margin-bottom:32px;}
.notfound .btn-row{gap:8px 32px;}

/* Reveal motion (only when JS is on and motion is allowed) */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease-out,transform .4s ease-out;}
  .js .reveal.in{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none!important;animation:none!important;}
}

/* Ajustements après contrôle visuel */
@supports (grid-template-rows:subgrid){
  .pricing{grid-auto-rows:auto;}
  .plan{display:grid;grid-row:span 8;grid-template-rows:subgrid;row-gap:0;align-content:start;}
  .plan .kind,.plan .kind-spacer{align-self:start;justify-self:start;}
  .plan .btn{align-self:end;}
}
.plan .btn{padding:12px 14px;font-size:15px;}
.faq-side .link-arrow{display:inline;line-height:1.6;}
.form-row.end{align-items:end;}
