/* NIXA — feuille de style du site (v0.12.1)
   Couleurs et logo : NIXA Logo Guidelines v1.0. Police : Manrope (SIL OFL), auto-hébergée. */

@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-wght.woff") format("woff");
  font-weight:200 800;
  font-style:normal;
  font-display:swap;
}

:root{
  --navy:#0E1827;
  --blue:#125CCD;
  --blue-on-dark:#3D8BFF;
  --paper:#FFFFFF;
  --greige:#EDECE8;
  --slate:#4A5568;
  --mist:#B8C2D3;
  --line:#D5DAE1;
  --line-greige:#D2D0CA;
  --line-dark:rgba(184,194,211,.24);
  --field:#B9C1CD;
  --error:#B42318;
  --rule:var(--line);
  --font:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --container:1240px;
  --gutter:clamp(20px,4vw,40px);
  --section:clamp(80px,9vw,136px);
  --stitch-v:repeating-linear-gradient(180deg,var(--blue) 0 11px,transparent 11px 18px);
  --navy-2:#132039;
  --pinked:polygon(0% 0,1.923% 5px,3.846% 0,5.769% 5px,7.692% 0,9.615% 5px,11.538% 0,13.462% 5px,15.385% 0,17.308% 5px,19.231% 0,21.154% 5px,23.077% 0,25% 5px,26.923% 0,28.846% 5px,30.769% 0,32.692% 5px,34.615% 0,36.538% 5px,38.462% 0,40.385% 5px,42.308% 0,44.231% 5px,46.154% 0,48.077% 5px,50% 0,51.923% 5px,53.846% 0,55.769% 5px,57.692% 0,59.615% 5px,61.538% 0,63.462% 5px,65.385% 0,67.308% 5px,69.231% 0,71.154% 5px,73.077% 0,75% 5px,76.923% 0,78.846% 5px,80.769% 0,82.692% 5px,84.615% 0,86.538% 5px,88.462% 0,90.385% 5px,92.308% 0,94.231% 5px,96.154% 0,98.077% 5px,100% 0,calc(100% - 5px) 2.5%,100% 5%,calc(100% - 5px) 7.5%,100% 10%,calc(100% - 5px) 12.5%,100% 15%,calc(100% - 5px) 17.5%,100% 20%,calc(100% - 5px) 22.5%,100% 25%,calc(100% - 5px) 27.5%,100% 30%,calc(100% - 5px) 32.5%,100% 35%,calc(100% - 5px) 37.5%,100% 40%,calc(100% - 5px) 42.5%,100% 45%,calc(100% - 5px) 47.5%,100% 50%,calc(100% - 5px) 52.5%,100% 55%,calc(100% - 5px) 57.5%,100% 60%,calc(100% - 5px) 62.5%,100% 65%,calc(100% - 5px) 67.5%,100% 70%,calc(100% - 5px) 72.5%,100% 75%,calc(100% - 5px) 77.5%,100% 80%,calc(100% - 5px) 82.5%,100% 85%,calc(100% - 5px) 87.5%,100% 90%,calc(100% - 5px) 92.5%,100% 95%,calc(100% - 5px) 97.5%,100% 100%,98.077% calc(100% - 5px),96.154% 100%,94.231% calc(100% - 5px),92.308% 100%,90.385% calc(100% - 5px),88.462% 100%,86.538% calc(100% - 5px),84.615% 100%,82.692% calc(100% - 5px),80.769% 100%,78.846% calc(100% - 5px),76.923% 100%,75% calc(100% - 5px),73.077% 100%,71.154% calc(100% - 5px),69.231% 100%,67.308% calc(100% - 5px),65.385% 100%,63.462% calc(100% - 5px),61.538% 100%,59.615% calc(100% - 5px),57.692% 100%,55.769% calc(100% - 5px),53.846% 100%,51.923% calc(100% - 5px),50% 100%,48.077% calc(100% - 5px),46.154% 100%,44.231% calc(100% - 5px),42.308% 100%,40.385% calc(100% - 5px),38.462% 100%,36.538% calc(100% - 5px),34.615% 100%,32.692% calc(100% - 5px),30.769% 100%,28.846% calc(100% - 5px),26.923% 100%,25% calc(100% - 5px),23.077% 100%,21.154% calc(100% - 5px),19.231% 100%,17.308% calc(100% - 5px),15.385% 100%,13.462% calc(100% - 5px),11.538% 100%,9.615% calc(100% - 5px),7.692% 100%,5.769% calc(100% - 5px),3.846% 100%,1.923% calc(100% - 5px),0% 100%,5px 97.5%,0 95%,5px 92.5%,0 90%,5px 87.5%,0 85%,5px 82.5%,0 80%,5px 77.5%,0 75%,5px 72.5%,0 70%,5px 67.5%,0 65%,5px 62.5%,0 60%,5px 57.5%,0 55%,5px 52.5%,0 50%,5px 47.5%,0 45%,5px 42.5%,0 40%,5px 37.5%,0 35%,5px 32.5%,0 30%,5px 27.5%,0 25%,5px 22.5%,0 20%,5px 17.5%,0 15%,5px 12.5%,0 10%,5px 7.5%,0 5%,5px 2.5%);
  --pinked-sm:polygon(0% 0,6.25% 2.5px,12.5% 0,18.75% 2.5px,25% 0,31.25% 2.5px,37.5% 0,43.75% 2.5px,50% 0,56.25% 2.5px,62.5% 0,68.75% 2.5px,75% 0,81.25% 2.5px,87.5% 0,93.75% 2.5px,100% 0,calc(100% - 2.5px) 8.333%,100% 16.667%,calc(100% - 2.5px) 25%,100% 33.333%,calc(100% - 2.5px) 41.667%,100% 50%,calc(100% - 2.5px) 58.333%,100% 66.667%,calc(100% - 2.5px) 75%,100% 83.333%,calc(100% - 2.5px) 91.667%,100% 100%,93.75% calc(100% - 2.5px),87.5% 100%,81.25% calc(100% - 2.5px),75% 100%,68.75% calc(100% - 2.5px),62.5% 100%,56.25% calc(100% - 2.5px),50% 100%,43.75% calc(100% - 2.5px),37.5% 100%,31.25% calc(100% - 2.5px),25% 100%,18.75% calc(100% - 2.5px),12.5% 100%,6.25% calc(100% - 2.5px),0% 100%,2.5px 91.667%,0 83.333%,2.5px 75%,0 66.667%,2.5px 58.333%,0 50%,2.5px 41.667%,0 33.333%,2.5px 25%,0 16.667%,2.5px 8.333%);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--font);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}
ol,ul{padding:0;list-style:none}
address{font-style:normal}
[id]{scroll-margin-top:96px}

.container{width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.col-head{grid-column:1/span 5}
.col-body{grid-column:7/span 6}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:var(--gutter);top:-80px;z-index:100;background:var(--navy);color:#fff;padding:12px 16px;border-radius:4px;text-decoration:none;font-weight:650}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--blue-on-dark);outline-offset:3px}

/* Typographie */
.h1{font-size:clamp(2.5rem,4.6vw + 1rem,4.75rem);font-weight:720;letter-spacing:-.035em;line-height:1.02}
.h1--page{font-size:clamp(2.375rem,3.4vw + 1rem,4rem)}
.h2{font-size:clamp(1.875rem,2vw + 1.15rem,2.75rem);font-weight:700;letter-spacing:-.028em;line-height:1.1;text-wrap:balance}
.h2 .line{display:block}
.h3{font-size:1.25rem;font-weight:680;letter-spacing:-.012em;line-height:1.3}
.lead{font-size:clamp(1.125rem,.45vw + 1rem,1.3125rem);line-height:1.55;color:var(--slate);max-width:40rem}
.fine{font-size:.875rem;line-height:1.55;color:var(--slate)}
.body-text{color:var(--slate);max-width:40rem}
.body-text+.body-text{margin-top:16px}

/* Boutons et liens */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:4px;border:1.5px solid transparent;font:inherit;font-size:1rem;font-weight:680;letter-spacing:-.005em;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--navy)}
.btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-secondary:hover{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:var(--greige)}
.btn-sm{min-height:44px;padding:0 18px;font-size:.9375rem}
.btn[disabled]{opacity:.6;cursor:progress}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.text-link{display:inline-block;font-weight:680;color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:6px;transition:color .15s}
.text-link:hover{color:var(--blue)}
.inline-link{color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:1.5px;text-underline-offset:4px}
.inline-link:hover{color:var(--blue)}

/* En-tête */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.is-scrolled{border-bottom-color:var(--line)}
.header-inner{display:flex;align-items:center;gap:44px;height:88px}
.brand{flex:none;display:block;border-radius:2px}
.brand svg{width:123px;height:48px}
.main-nav ul{display:flex;gap:26px}
.main-nav a{display:block;padding:8px 0;font-size:.9375rem;font-weight:580;text-decoration:none;color:var(--navy);transition:color .15s}
.main-nav a:hover{color:var(--blue)}
.main-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:8px}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:18px}
.lang{display:flex;gap:2px;font-size:.875rem;font-weight:650}
.lang a{padding:6px 7px;border-radius:3px;text-decoration:none;color:var(--slate)}
.lang a:hover{color:var(--navy)}
.lang a[aria-current="true"]{color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:5px}
.menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 4px 0 12px;background:none;border:0;font:inherit;font-weight:680;font-size:1rem;color:var(--navy);cursor:pointer}
.menu-icon{position:relative;width:20px;height:12px}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;transition:transform .2s,top .2s}
.menu-icon::before{top:0}
.menu-icon::after{top:10px}
.menu-toggle[aria-expanded="true"] .menu-icon::before{top:5px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon::after{top:5px;transform:rotate(-45deg)}
.mobile-panel{border-top:1px solid var(--line);background:#fff}
.mobile-panel ul{padding-top:4px}
.mobile-panel li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:1.125rem;font-weight:650;text-decoration:none}
.mobile-panel li a[aria-current="page"]{color:var(--blue)}
.mobile-panel .panel-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 28px}

/* Accueil : premier écran (fond navy), planche technique et fil du projet */
.hero{background:var(--navy);color:#fff;padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(56px,6vw,88px)}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.hero-text{grid-column:1/span 6}
.hero-visual{grid-column:7/span 6}
.hero .h1{margin-bottom:28px;color:#fff;font-size:clamp(2.5rem,2.1vw + 1.5rem,3.5rem)}
.hero .lead{margin-bottom:40px;color:var(--mist)}
.hero .btn-primary:hover{background:#fff;color:var(--navy)}
.hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.62)}
.hero .btn-secondary:hover{background:#fff;color:var(--navy);border-color:#fff}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:.8125rem;font-weight:720;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--blue-on-dark)}
.eyebrow::before{content:"";flex:none;width:30px;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 7px,transparent 7px 11px)}
.hero-facts{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line-dark)}
.hero-facts li{display:flex;align-items:center;gap:10px;font-size:.9375rem;font-weight:560;line-height:1.35;color:var(--mist)}
.hero-facts .glyph{width:22px;height:22px;color:var(--blue-on-dark)}

/* Planche technique interactive : l'état (couleur, ton, tissu, logo) est porté par les attributs data-* de .board */
.hero-visual{container:heroviz / inline-size}
.board{position:relative;container-type:inline-size;aspect-ratio:560/440;border:1px solid rgba(184,194,211,.16);border-radius:6px;background-color:var(--navy-2);background-image:linear-gradient(rgba(184,194,211,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(184,194,211,.055) 1px,transparent 1px);background-size:5% 6.3636%;background-position:-1px -1px;--garment:#125CCD;--ink:#fff;--ink-soft:var(--mist);--weave:rgba(255,255,255,.3);--weave-l:rgba(255,255,255,.42);--patch:rgba(255,255,255,.14)}
/* Teintes de l'exemple (liste dans build.py, POLO) : couleur du polo et de sa pastille */
.board[data-color="marine"]{--garment:#0E1827}
.board[data-color="bleu"]{--garment:#125CCD}
.board[data-color="blanc"]{--garment:#F4F6F9}
.board[data-color="ciel"]{--garment:#8FB9E8}
.board[data-color="vert"]{--garment:#2F7D69}
.board[data-color="bordeaux"]{--garment:#7A2234}
.board[data-color="gris"]{--garment:#8A9099}
.board[data-color="noir"]{--garment:#17191D}
.board[data-color="anthracite"]{--garment:#3A3F47}
.board[data-color="gris-clair"]{--garment:#C7CCD4}
.board[data-color="ecru"]{--garment:#EDE5D3}
.board[data-color="sable"]{--garment:#C8B38A}
.board[data-color="royal"]{--garment:#1E4FD0}
.board[data-color="petrole"]{--garment:#1D5C68}
.board[data-color="turquoise"]{--garment:#26A1B3}
.board[data-color="vert-eau"]{--garment:#A6D4C3}
.board[data-color="bouteille"]{--garment:#1D4B38}
.board[data-color="kaki"]{--garment:#6A6A3E}
.board[data-color="rouge"]{--garment:#C5242D}
.board[data-color="orange"]{--garment:#E2752A}
.board[data-color="jaune"]{--garment:#EFBF2C}
.board[data-color="prune"]{--garment:#57284B}
.board[data-color="rose"]{--garment:#E5A0B3}
.board[data-color="charte"]{--garment:#22304D}
.board[data-tone="light"]{--ink:#14203A;--ink-soft:rgba(20,32,58,.5);--weave:rgba(20,32,58,.24);--weave-l:rgba(20,32,58,.34);--patch:rgba(20,32,58,.1)}
.board-art{position:absolute;inset:0;width:100%;height:100%}
.board-art .garment{fill:var(--garment);transition:fill .35s ease}
.board-art .weave{opacity:0;transition:opacity .35s ease}
.board[data-fabric="pique"] .weave--pique,.board[data-fabric="jersey"] .weave--jersey,.board[data-fabric="technique"] .weave--technique{opacity:1}
.board-art .pt circle,.board-art .pt path{fill:var(--weave)}
.board-art #pt-jersey path,.board-art #pt-technique circle{fill:none;stroke:var(--weave)}
.board-art .pt-l circle,.board-art .pt-l path{fill:var(--weave-l)}
.board-art #pt-jersey-l path,.board-art #pt-technique-l circle{fill:none;stroke:var(--weave-l)}
.board-art .sheen{fill:url(#polo-sheen);opacity:0;transition:opacity .35s ease}
.board[data-fabric="technique"] .sheen{opacity:1}
/* Loupe : la fibre de près, pour que le changement de tissu se voie */
.board-art .loupe-halo{fill:none;stroke:rgba(3,8,18,.35);stroke-width:4}
.board-art .loupe-bg{fill:var(--garment);transition:fill .35s ease}
.board-art .loupe-w{opacity:0;transition:opacity .35s ease}
.board[data-fabric="pique"] .loupe-w--pique,.board[data-fabric="jersey"] .loupe-w--jersey,.board[data-fabric="technique"] .loupe-w--technique{opacity:1}
.board-art .loupe-charte{fill:url(#pt-charte);opacity:0;transition:opacity .35s ease}
.board[data-color="charte"] .loupe-charte{opacity:1}
.board-art .loupe-ring{fill:none;stroke:var(--ink);stroke-width:1.4;transition:stroke .35s ease}
.board-art #pt-charte rect{fill:rgba(255,255,255,.07)}
.board-art .charte{fill:url(#pt-charte);opacity:0;transition:opacity .35s ease}
.board-art .shade{fill:url(#polo-shade)}
.board-art .charte-t{fill:#fff;font-size:12px;font-weight:650;letter-spacing:.02em;opacity:0;transition:opacity .35s ease}
.board[data-color="charte"] .charte,.board[data-color="charte"] .charte-t{opacity:1}
.board-art .g,.board-art .gt{fill:none;stroke:var(--ink);stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;transition:stroke .35s ease}
.board-art .g{stroke-width:1.6}
.board-art .gt{stroke-width:1.1}
.board-art .st{fill:none;stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:3 3;transition:stroke .35s ease}
.board-art .dim{fill:none;stroke:var(--mist);stroke-width:1;opacity:.6}
.board-art .ld{fill:none;stroke:var(--blue-on-dark);stroke-width:1.25;stroke-dasharray:1}
.board-art .ld--logo{transition:stroke-dashoffset .5s ease}
.board-art .ld--logo.is-moving{stroke-dashoffset:1;transition:none}
.board-art .dot{fill:var(--blue-on-dark);stroke:var(--navy-2);stroke-width:1.2;paint-order:stroke}
.board-art .btn-dot{fill:var(--garment);stroke:var(--ink);stroke-width:1;transition:fill .35s ease,stroke .35s ease}
.board-art .logo{transition:transform .45s cubic-bezier(.3,.7,.2,1)}
.board[data-logo="coeur"] .logo{transform:translate(219px,118.5px) rotate(0deg) scale(1)}
.board[data-logo="droit"] .logo{transform:translate(141px,118.5px) rotate(0deg) scale(1)}
.board[data-logo="manche"] .logo{transform:translate(271px,130px) rotate(-32deg) scale(.66)}
.board-art .logo-zone{fill:var(--patch);stroke:var(--ink);stroke-width:1;stroke-dasharray:2.4 1.6;transition:fill .35s ease,stroke .35s ease}
.board[data-tech="impression"] .logo-zone{fill:transparent;stroke:transparent}
.board-art .logo-mark{fill:var(--ink);transition:fill .35s ease}
.board-art .hot{fill:transparent;stroke:transparent;stroke-width:1;stroke-dasharray:2 2;cursor:pointer;pointer-events:all;transition:stroke .2s}
@media (hover:hover){.board-art:hover .hot{stroke:var(--ink-soft)}}
.board[data-logo="coeur"] .hot--coeur,.board[data-logo="droit"] .hot--droit,.board[data-logo="manche"] .hot--manche{display:none}
.board-cap{position:absolute;left:4.3%;top:4.6%;margin:0;font-size:clamp(.6875rem,2.2cqw,.8125rem);font-weight:560;color:var(--mist)}
.tag{position:absolute;left:65.5%;right:2%;min-width:0;margin:0;padding:0;border:0;font-size:clamp(.6875rem,2.75cqw,1rem);line-height:1.3;translate:0 -.65em}
.tag-t{float:left;margin:0 .45em 0 0;padding:0;font-weight:680;color:#fff}
.tag-s{display:block;clear:both;padding-top:.3em;font-size:.82em;font-weight:500;color:var(--mist)}
.tag--logo{top:22.73%}
.tag--color{top:41.36%}
.tag--fabric{top:60%}
.tag--size{top:85%}
.t-short{display:none}
/* Choix : chaque option est un vrai bouton radio (clavier, lecteurs d'écran), la zone cliquable fait au moins 24 px */
.opt{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.opt-in{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.opt-in:focus-visible + .opt-ui{outline:2px solid var(--blue-on-dark);outline-offset:2px}
.opts{display:flex;clear:both}
.opts--dots{margin:.2em 0 0 -.32em}
.opt--dot{flex:0 0 24px;width:24px;height:24px}
.opt--dot .opt-ui{width:.82em;height:.82em;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px rgba(255,255,255,.55);transition:box-shadow .2s,transform .2s}
.opt--dot:hover .opt-ui{transform:scale(1.15)}
.opt--dot .opt-in:checked + .opt-ui{box-shadow:0 0 0 2px var(--navy-2),0 0 0 3.5px #fff}
.board.is-demo .opt--dot .opt-in:checked + .opt-ui{box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.board.is-demo .opt--dot.is-demo .opt-ui{box-shadow:0 0 0 2px var(--navy-2),0 0 0 3.5px var(--blue-on-dark)}
.c-marine{--c:#0E1827}.c-bleu{--c:#125CCD}.c-blanc{--c:#F4F6F9}.c-ciel{--c:#8FB9E8}.c-vert{--c:#2F7D69}.c-bordeaux{--c:#7A2234}.c-gris{--c:#8A9099}.c-noir{--c:#17191D}.c-anthracite{--c:#3A3F47}.c-gris-clair{--c:#C7CCD4}.c-ecru{--c:#EDE5D3}.c-sable{--c:#C8B38A}.c-royal{--c:#1E4FD0}.c-petrole{--c:#1D5C68}.c-turquoise{--c:#26A1B3}.c-vert-eau{--c:#A6D4C3}.c-bouteille{--c:#1D4B38}.c-kaki{--c:#6A6A3E}.c-rouge{--c:#C5242D}.c-orange{--c:#E2752A}.c-jaune{--c:#EFBF2C}.c-prune{--c:#57284B}.c-rose{--c:#E5A0B3}
.c-plus{position:relative;--c:transparent}
.c-plus::before,.c-plus::after{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;background:#fff}
.c-plus::before{width:.46em;height:1.5px}
.c-plus::after{width:1.5px;height:.46em}
/* Bouton « + » : ouvre la palette ; cerclé quand la teinte choisie vient de la palette */
.opt--more{padding:0;border:0;background:none;font:inherit;color:inherit}
.opt--more:focus-visible .opt-ui{outline:2px solid var(--blue-on-dark);outline-offset:2px}
.opt--more[aria-expanded="true"] .opt-ui,.opt--more.has-pick .opt-ui{box-shadow:0 0 0 2px var(--navy-2),0 0 0 3.5px #fff}
.palette{position:absolute;z-index:6;top:calc(100% + .35em);left:-2.6em;right:-.6em;padding:.5em .6em .65em;background:var(--navy-2);border:1px solid rgba(184,194,211,.3);border-radius:6px;box-shadow:0 14px 30px rgba(3,8,18,.5)}
.palette[hidden]{display:none}
.board.is-palette .tag--color{z-index:6}
.palette-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2em}
.palette-t{font-size:.72em;font-weight:650;letter-spacing:.02em;color:var(--mist)}
.palette-x{position:relative;flex:none;width:24px;height:24px;margin:-2px -4px 0 0;padding:0;border:0;border-radius:3px;background:none;cursor:pointer}
.palette-x::before,.palette-x::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:#fff;translate:-50% -50%;rotate:45deg}
.palette-x::after{rotate:-45deg}
.palette-x:hover{background:rgba(255,255,255,.08)}
.palette-x:focus-visible{outline:2px solid var(--blue-on-dark);outline-offset:1px}
.palette-grid{display:grid;grid-template-columns:repeat(8,24px);justify-content:space-between}
.opt--charte{display:flex;justify-content:flex-start;min-height:24px;margin-top:.45em}
.opt--charte .opt-ui{display:flex;align-items:center;gap:.5em;padding:.38em .5em;border:1px solid rgba(184,194,211,.45);border-radius:3px;font-size:.68em;font-weight:600;line-height:1.25;color:#fff;transition:background-color .2s,color .2s,border-color .2s}
.opt--charte:hover .opt-ui{border-color:#fff}
.opt--charte .opt-in:checked + .opt-ui{background:#fff;border-color:#fff;color:var(--navy)}
.c-charte-ico{flex:none;width:1.25em;height:1.25em;border-radius:50%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.7) 0 2px,transparent 2px 4px);box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.opt--charte .opt-in:checked + .opt-ui .c-charte-ico{background:repeating-linear-gradient(45deg,var(--navy) 0 2px,transparent 2px 4px);box-shadow:0 0 0 1px var(--navy)}
.seg{display:inline-flex;vertical-align:top}
.opts--chips{gap:.3em;margin-top:.35em}
.opt--chip,.opt--seg{min-height:24px}
.opt--chip .opt-ui,.opt--seg .opt-ui{display:block;font-size:.72em;font-weight:650;line-height:1;padding:.42em .55em;border:1px solid rgba(184,194,211,.45);color:#fff;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.opt--chip .opt-ui{border-radius:3px}
.opt--seg:first-child .opt-ui{border-radius:3px 0 0 3px}
.opt--seg:last-child .opt-ui{border-left:0;border-radius:0 3px 3px 0}
.opt--chip:hover .opt-ui,.opt--seg:hover .opt-ui{border-color:#fff}
.opt--chip .opt-in:checked + .opt-ui,.opt--seg .opt-in:checked + .opt-ui{background:#fff;border-color:#fff;color:var(--navy)}
.opts--sw{gap:.5em;margin-top:.4em}
.opt--sw{flex-direction:column;align-items:flex-start;gap:.3em}
.opt--sw .opt-ui{display:block;padding:2px;border:1px solid transparent;border-radius:3px;transition:border-color .2s}
.opt--sw:hover .opt-ui{border-color:rgba(255,255,255,.45)}
.opt--sw .opt-in:checked + .opt-ui{border-color:#fff}
.opt-name{font-size:.66em;font-weight:600;line-height:1;color:var(--mist)}
.opt--sw .opt-in:checked ~ .opt-name{color:#fff}
.tx-mini{display:block;width:2.4em;height:1.8em;clip-path:var(--pinked-sm)}
.opts--sizes{flex-wrap:wrap;gap:.3em;padding-top:.4em}
.opt--size{min-width:24px;min-height:24px}
.opt--size .opt-ui{display:block;min-width:24px;padding:.42em .5em;text-align:center;border:1px solid rgba(184,194,211,.45);border-radius:2px;font-size:.72em;font-weight:650;line-height:1;color:#fff;transition:background-color .2s,color .2s,border-color .2s}
.opt--size:hover .opt-ui{border-color:#fff}
.opt--size .opt-in:checked + .opt-ui{background:#fff;border-color:#fff;color:var(--navy)}
/* Planches de 520 à 574 px (écrans de 1181 à 1279 px, petites tablettes) : pastilles sur deux rangées de 24 px, tailles sur une ligne */
@container (max-width:574px){
  .tag--color .tag-s{display:none}
  .tag--color .opts--dots{display:grid;grid-template-columns:repeat(4,24px)}
  .opts--sizes{gap:2px}
  .opt--size .opt-ui{padding:.42em .3em}
}
/* Sous la planche : résumé de l'exemple, lien vers la demande préremplie, mention « indicatif » */
.board-out{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:18px}
.board-sum{flex:1 1 260px;margin:0;font-size:.9375rem;line-height:1.45;color:#fff}
.board-sum-k{font-weight:680;color:var(--mist)}
.board-cta{flex:none}
.board-note{flex:1 1 100%;margin:0;font-size:.8125rem;line-height:1.45;color:var(--mist)}
/* Téléphone (planche de moins de 520 px) : le polo en haut, les choix en lignes dessous, avec de grandes zones tactiles */
@container heroviz (max-width:519px){
  .board{aspect-ratio:auto;display:flex;flex-direction:column}
  .board-art{position:relative;inset:auto;height:auto;aspect-ratio:352/344;margin-top:34px}
  .board-art .ld,.board-art .dot{display:none}
  .t-long{display:none}
  .t-short{display:inline}
  .board-cap{left:14px;top:12px;font-size:.8125rem}
  .tag{position:static;translate:none;display:grid;grid-template-columns:4.6em minmax(0,1fr);column-gap:10px;align-items:center;padding:11px 14px;border-top:1px solid rgba(184,194,211,.14);font-size:15px}
  .tag-t{grid-column:1;margin:0}
  .tag-s,.tag--color .tag-s{display:block;grid-column:1;padding-top:2px;font-size:.73em}
  .opts,.seg{grid-column:2;margin:0;padding:0}
  .tag--logo .tag-t{grid-row:1/span 2}
  .tag--logo .seg{grid-row:1;justify-self:start}
  .tag--logo .opts--chips{grid-row:2;margin-top:8px}
  .tag--color .tag-t{grid-row:1;align-self:end}
  .tag--color .tag-s{grid-row:2;align-self:start}
  .tag--color .opts--dots{grid-row:1/span 2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin:0}
  .opt--dot{width:auto;min-width:0;height:32px}
  .opt--dot .opt-ui{width:20px;height:20px}
  .c-plus::before{width:9px;height:2px}
  .c-plus::after{width:2px;height:9px}
  .palette{position:static;grid-column:1/-1;grid-row:3;margin-top:10px;padding:10px 10px 12px;box-shadow:none;background:rgba(255,255,255,.03)}
  .palette-t{font-size:.8125rem}
  .palette-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .palette .opt--dot{height:32px}
  .opt--charte .opt-ui{padding:9px 10px;font-size:.8125rem}
  .opt--chip,.opt--seg{min-height:36px}
  .opt--chip .opt-ui,.opt--seg .opt-ui{font-size:.875rem;padding:10px 11px}
  .opts--chips{flex-wrap:wrap;gap:6px}
  .opts--sw{gap:14px}
  .tx-mini{width:40px;height:28px}
  .opt-name{font-size:.75rem}
  .opts--sizes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .opt--size{min-height:36px;min-width:0}
  .opt--size .opt-ui{flex:1 1 auto;min-width:0;padding:10px 0;font-size:.8125rem}
  .board-out{margin-top:16px}
  .board-cta{flex:1 1 100%}
}
@container heroviz (max-width:339px){
  .tag{grid-template-columns:4.2em minmax(0,1fr);padding:10px 12px;font-size:14px}
  .opt--chip .opt-ui,.opt--seg .opt-ui{padding:10px 9px}
}
@container heroviz (max-width:299px){
  .tag--color .opts--dots{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:2px}
  .opts--sizes{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
}

.chain-wrap{margin-top:clamp(56px,6vw,88px)}
.chain{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}
.chain::before{content:"";position:absolute;top:5px;left:6.5px;width:87.5%;height:3px;background:repeating-linear-gradient(90deg,var(--blue-on-dark) 0 11px,transparent 11px 18px);animation:sew-h 1.6s linear 1.5s backwards}
.chain li{position:relative;padding-right:12px}
.node{position:relative;z-index:1;display:block;width:13px;height:13px;border:2px solid var(--blue-on-dark);border-radius:50%;background:var(--navy);animation:node .3s ease-out 1.5s backwards}
.chain li:nth-child(2) .node{animation-delay:1.73s}
.chain li:nth-child(3) .node{animation-delay:1.96s}
.chain li:nth-child(4) .node{animation-delay:2.19s}
.chain li:nth-child(5) .node{animation-delay:2.42s}
.chain li:nth-child(6) .node{animation-delay:2.65s}
.chain li:nth-child(7) .node{animation-delay:2.88s}
.chain li:nth-child(8) .node{animation-delay:3.11s}
.chain li:last-child .node{background:var(--blue-on-dark)}
.chain .label{display:block;margin-top:18px;font-size:1rem;font-weight:680;letter-spacing:-.01em;line-height:1.3;color:#fff}
.chain-caption{margin-top:28px;font-size:.9375rem;color:var(--mist)}

/* Un seul moment animé par page : la planche se dessine et se colore, puis le fil du projet se coud. */
.board .g{animation:draw 1.1s cubic-bezier(.45,0,.2,1) .15s backwards}
.board .gt{animation:draw .8s cubic-bezier(.45,0,.2,1) .7s backwards}
.board .garment,.board .weave,.board .shade,.board .sheen{animation:fade .6s ease-out 1s backwards}
.board .loupe{animation:fade .5s ease-out 1.1s backwards}
.board .ld{animation:draw 1s linear 1.05s backwards}
.board .st,.board .logo,.board .btn-dot,.board .dim{animation:fade .5s ease-out 1s backwards}
.board .dot{animation:fade .3s ease-out 1.05s backwards}
.board-cap{animation:fade .5s ease-out .1s backwards}
.tag{animation:rise .5s ease-out backwards}
.tag--logo{animation-delay:1.15s}
.tag--color{animation-delay:1.35s}
.opts--dots .opt{animation:fade .3s ease-out backwards}
.opts--dots .opt:nth-child(1){animation-delay:1.5s}.opts--dots .opt:nth-child(2){animation-delay:1.56s}
.opts--dots .opt:nth-child(3){animation-delay:1.62s}.opts--dots .opt:nth-child(4){animation-delay:1.68s}
.opts--dots .opt:nth-child(5){animation-delay:1.74s}.opts--dots .opt:nth-child(6){animation-delay:1.8s}
.opts--dots .opt:nth-child(7){animation-delay:1.86s}.opts--dots .opt:nth-child(8){animation-delay:1.92s}
.tag--fabric{animation-delay:1.55s}
.tag--size{animation-delay:1.75s}
.board-out{animation:fade .5s ease-out 1.9s backwards}
@keyframes draw{from{stroke-dashoffset:1}}
@keyframes fade{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}
@keyframes settle{from{opacity:0;transform:translateY(14px) rotate(0)}}
@keyframes swing{from{opacity:0;transform:translateY(-10px) rotate(-8deg)}}
@keyframes sew-h{from{width:0}}
@keyframes sew-v{from{height:0}}
@keyframes node{from{opacity:0;transform:scale(.3)}}

/* Textures tissées et échantillons à bord cranté (emplacements photo) */
.tx{position:absolute;inset:0}
.tx--twill-navy{background-image:url("../img/tx/twill-navy.svg")}
.tx--twill-blue{background-image:url("../img/tx/twill-blue.svg")}
.tx--pique-blue{background-image:url("../img/tx/pique-blue.svg")}
.tx--pique-navy{background-image:url("../img/tx/pique-navy.svg")}
.tx--toile-white{background-image:url("../img/tx/toile-white.svg")}
.tx--toile-greige{background-image:url("../img/tx/toile-greige.svg")}
.tx--ripstop-greige{background-image:url("../img/tx/ripstop-greige.svg")}
.tx--jersey-mist{background-image:url("../img/tx/jersey-mist.svg")}
.tx--maille-grey{background-image:url("../img/tx/maille-grey.svg")}
.swatch-wrap{position:relative;filter:drop-shadow(0 0 .6px rgba(14,24,39,.32)) drop-shadow(0 14px 22px rgba(14,24,39,.14)) drop-shadow(0 2px 3px rgba(14,24,39,.12))}
.swatch{position:relative;display:block;margin:0;overflow:hidden;clip-path:var(--pinked);background:#E2E0D9;aspect-ratio:4/3}
.swatch--5-4{aspect-ratio:5/4}
.swatch--4-5{aspect-ratio:4/5}
.swatch--1-1{aspect-ratio:1}
.swatch--3-2{aspect-ratio:3/2}
.swatch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Pictogrammes et dessins à plat */
.glyph{display:block;flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--navy)}
.glyph .glyph-full{fill:currentColor}
.glyph .glyph-dash{stroke:var(--blue);stroke-width:1.2;stroke-dasharray:1.6 1.6}
.glyph .glyph-accent{fill:var(--blue);stroke:none}
.glyph--lg{width:44px;height:44px;stroke-width:1.25}
.flat{display:block;color:var(--navy)}
.flat path{fill:none;stroke:currentColor;stroke-linejoin:round;stroke-linecap:round}
.flat .flat-o,.flat .flat-d{stroke-dasharray:1}
.flat .flat-o{stroke-width:1.4}
.flat .flat-d{stroke-width:1.1}
.flat .flat-s{stroke:var(--blue);stroke-width:1;stroke-dasharray:2.2 2}
.flat .flat-b{fill:var(--paper);stroke:currentColor;stroke-width:1}

/* Accueil : promesses, points de départ, bande photo */
.promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
.promise{padding-top:24px;border-top:2px solid var(--navy)}
.promise .glyph{width:36px;height:36px;margin-bottom:20px;stroke-width:1.3}
.promise p{margin-top:8px;color:var(--slate)}
.photo-band{display:grid;grid-template-columns:5fr 3.4fr 3fr;gap:clamp(16px,2.4vw,32px);align-items:end;margin-top:clamp(64px,7vw,104px)}
.pb-1{transform:rotate(-.8deg)}
.pb-2{transform:translateY(-28px) rotate(.7deg)}
.pb-3{transform:rotate(-.5deg)}
.swatch-cap{margin-top:14px;font-size:.875rem;font-weight:650;color:var(--navy)}
.photo-band-note{margin-top:28px;max-width:40rem;font-size:.9375rem;color:var(--slate)}

/* Pages intérieures */
.page-hero{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(56px,6vw,96px)}
.page-hero .lead{margin-top:28px}
.page-hero .actions{margin-top:36px}
.page-hero--rule{border-bottom:1px solid var(--line)}
.page-hero--visual{background:var(--greige);--rule:var(--line-greige)}
.page-hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.page-hero-text{grid-column:1/span 6}
.page-hero-visual{grid-column:8/span 5}
.page-hero--visual .anchor-nav{margin-top:44px}
.swatch-stack{position:relative;aspect-ratio:1/.86}
.swatch-stack > *{position:absolute}
.ss-b{top:0;right:0;width:42%;transform:rotate(6deg);animation:settle .7s cubic-bezier(.2,.7,.2,1) .1s backwards}
.ss-a{top:10%;left:0;width:78%;transform:rotate(-2.5deg);animation:settle .7s cubic-bezier(.2,.7,.2,1) .25s backwards}
.ss-c{right:4%;bottom:0;width:48%;transform:rotate(3.5deg);animation:settle .7s cubic-bezier(.2,.7,.2,1) .4s backwards}
.woven-label{left:8%;top:56%;width:23%;padding:3% 3.6%;background:var(--navy);transform:rotate(-2.5deg);outline:1px dashed rgba(184,194,211,.6);outline-offset:-4px;box-shadow:0 2px 4px rgba(14,24,39,.25);animation:settle .6s cubic-bezier(.2,.7,.2,1) .7s backwards}
.woven-label .label-logo{width:100%;height:auto}

/* Premiers écrans des pages intérieures : scènes illustrées */
.page-hero--greige{background:var(--greige);--rule:var(--line-greige)}
.page-hero--visual .note,.page-hero--greige .note{background:#fff}

.tag-scene{position:relative;padding:0 16% 8% 0}
.ts-photo{transform:rotate(-1.5deg)}
.hang-tag{position:absolute;right:0;bottom:0;width:44%;padding:26px 18px 16px;background:#fff;border-radius:8px 8px 4px 4px;box-shadow:0 10px 24px rgba(14,24,39,.18),0 1px 2px rgba(14,24,39,.12);transform:rotate(6deg);transform-origin:50% 0;animation:swing .9s cubic-bezier(.2,.7,.2,1) .45s backwards}
.hang-tag::before{content:"";position:absolute;top:10px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--greige);box-shadow:inset 0 0 0 1.5px var(--line-greige)}
.hang-string{position:absolute;right:50%;top:-29px;width:64px;height:44px;margin-right:-4px;fill:none;stroke:var(--slate);stroke-width:1.3;stroke-linecap:round}
.hang-title{font-size:.9375rem;font-weight:720;color:var(--navy)}
.hang-tag ul{margin-top:10px}
.hang-tag li{position:relative;padding:7px 0 7px 22px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600}
.hang-tag li::before{content:"";position:absolute;left:2px;top:50%;width:9px;height:5px;margin-top:-4px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.hang-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:.75rem;color:var(--slate)}

.line-sheet ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.line-sheet a{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;padding:14px 8px 14px;background:#fff;border:1px solid var(--line-greige);border-radius:4px;text-decoration:none;text-align:center;font-size:.8125rem;font-weight:650;line-height:1.3;color:var(--navy);transition:border-color .15s,color .15s}
.line-sheet .flat{width:76%;max-width:104px;height:auto;aspect-ratio:1;transition:color .15s}
.line-sheet a:hover{border-color:var(--blue);color:var(--blue)}
.line-sheet a:hover .flat{color:var(--blue)}
.line-sheet a:hover .flat-o,.line-sheet a:hover .flat-d{animation:draw .8s cubic-bezier(.45,0,.2,1)}
.flat--lg{width:96px;height:96px;margin:-10px 0 10px -12px}

.swimlane{margin:0}
.swimlane-art{display:block;width:100%;height:auto;font-family:var(--font)}
.sl-lane{fill:#fff;stroke:var(--line-greige)}
.sl-lane--nixa{fill:#F6F5F2}
.sl-label{font-size:15px;font-weight:720;fill:var(--navy)}
.sl-label--vous{fill:var(--blue)}
.sl-path{fill:none;stroke:var(--blue);stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round;animation:fade .6s ease-out .2s backwards}
.sl-node{transform-box:fill-box;transform-origin:center;animation:node .35s ease-out backwards}
.sl-node circle{stroke-width:2}
.sl-node text{font-size:13px;font-weight:720}
.sl-node--vous circle{fill:var(--blue);stroke:var(--blue)}
.sl-node--vous text{fill:#fff}
.sl-node--nixa circle{fill:#fff;stroke:var(--navy)}
.sl-node--nixa text{fill:var(--navy)}
.sl-node--both circle{fill:#fff;stroke:var(--blue)}
.sl-node--both text{fill:var(--blue)}
.sl-node:nth-of-type(1){animation-delay:0.25s}
.sl-node:nth-of-type(2){animation-delay:0.39s}
.sl-node:nth-of-type(3){animation-delay:0.53s}
.sl-node:nth-of-type(4){animation-delay:0.67s}
.sl-node:nth-of-type(5){animation-delay:0.81s}
.sl-node:nth-of-type(6){animation-delay:0.95s}
.sl-node:nth-of-type(7){animation-delay:1.09s}
.sl-node:nth-of-type(8){animation-delay:1.23s}
.sl-node:nth-of-type(9){animation-delay:1.37s}
.sl-node:nth-of-type(10){animation-delay:1.51s}
.swimlane figcaption{margin-top:16px;max-width:32rem;font-size:.9375rem;color:var(--slate)}

.doc-scene{position:relative;aspect-ratio:1/.9}
.doc-sheet{position:absolute;left:6%;top:3%;width:64%;height:90%;padding:7% 7% 0;background:#fff;border-radius:3px;box-shadow:0 12px 28px rgba(14,24,39,.14),0 1px 2px rgba(14,24,39,.1);transform:rotate(-2deg);animation:settle .7s cubic-bezier(.2,.7,.2,1) .2s backwards}
.doc-sheet--back{left:13%;top:6%;background:#F7F6F3;transform:rotate(3deg);animation-delay:.05s}
.doc-title{padding-bottom:10px;border-bottom:2px solid var(--navy);font-size:clamp(.9375rem,1.4vw,1.125rem);font-weight:720;letter-spacing:-.01em}
.doc-line{display:block;height:7px;margin-top:12px;border-radius:2px;background:#E7E9ED}
.doc-line--90{width:90%}
.doc-line--80{width:80%}
.doc-line--70{width:70%}
.doc-line--50{width:50%}
.doc-checks{margin-top:14px}
.doc-checks li{position:relative;padding:8px 0 8px 26px;border-top:1px solid var(--line);font-size:clamp(.75rem,1.05vw,.875rem);font-weight:600;line-height:1.35}
.doc-checks li:last-child{border-bottom:1px solid var(--line)}
.doc-checks li::before{content:"";position:absolute;left:0;top:50%;width:15px;height:15px;margin-top:-7.5px;border:1.5px solid var(--blue);border-radius:2px}
.doc-checks li::after{content:"";position:absolute;left:4px;top:50%;width:7px;height:4px;margin-top:-3.5px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.doc-swatch{position:absolute;right:4%;bottom:5%;width:36%;transform:rotate(7deg);animation:settle .7s cubic-bezier(.2,.7,.2,1) .55s backwards}
.doc-clip{position:absolute;right:26%;bottom:36%;width:6%;fill:none;stroke:var(--slate);stroke-width:2;stroke-linecap:round;transform:rotate(14deg);animation:fade .4s ease-out .9s backwards}

.label-scene{position:relative;padding:5% 5% 0 0}
.ls-photo{transform:rotate(-1.5deg)}
.label-scene .woven-label{position:absolute}
.woven-label--lg{left:30%;top:34%;width:34%;padding:5% 5% 4%;text-align:center}
.woven-label span{display:block;margin-top:.5em;font-size:clamp(.625rem,1vw,.8125rem);font-weight:650;color:var(--mist)}

[data-intro].is-done,[data-intro].is-done *,[data-intro].is-done::before{animation:none!important}

/* Sections */
.section{padding-block:var(--section)}
.section--tight{padding-block:clamp(64px,7vw,104px)}
.section--greige{background:var(--greige);--rule:var(--line-greige)}
.section--navy{background:var(--navy);color:#fff;--rule:var(--line-dark)}
.section-head{align-items:baseline;margin-bottom:clamp(40px,5vw,72px)}
.section + .section:not(.section--greige):not(.section--navy){border-top:1px solid var(--line)}
.section--greige + .section,.section--navy + .section{border-top:0}

.list-title{margin:40px 0 6px;font-size:1rem;font-weight:680}
.col-body > .list-title:first-child{margin-top:0}
.rule-list li{position:relative;padding:14px 0 14px 30px;border-top:1px solid var(--rule);font-weight:540}
.rule-list li:last-child{border-bottom:1px solid var(--rule)}
.rule-list li::before{content:"";position:absolute;left:0;top:calc(14px + .8em - 1px);width:12px;height:2px;background:var(--blue)}
.rule-list--dark{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.rule-list--dark li{font-weight:520}
.rule-list--dark li:nth-last-child(2){border-bottom:1px solid var(--rule)}
.rule-list--dark li::before{background:var(--blue-on-dark)}

.solutions{border-bottom:1px solid var(--line)}
.solution{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:30px 0;border-top:1px solid var(--line)}
.solution .glyph{grid-column:1;width:32px;height:32px;stroke-width:1.35;margin-top:-2px;transition:color .15s}
.solution .h3{grid-column:2/span 4}
.solution p{grid-column:7/span 6;color:var(--slate)}
.solution a{text-decoration:none;transition:color .15s}
.solution a::after{content:"";position:absolute;inset:0}
.solution:hover .glyph{color:var(--blue)}
.solution:hover a{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

.production .lead{margin-top:28px}
.production .text-link{margin-top:32px}
.spec{background:#fff;border:1px solid var(--line-greige);padding:clamp(22px,3vw,36px)}
.spec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding-bottom:16px;border-bottom:2px solid var(--navy)}
.spec-title{font-size:1.25rem;font-weight:720;letter-spacing:-.01em}
.spec-sub{font-size:.875rem;color:var(--slate)}
.spec-list>div{display:grid;grid-template-columns:minmax(118px,36%) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.spec-list dt{font-size:.9375rem;font-weight:680}
.spec-list dd{font-size:.9375rem;color:var(--slate)}
.spec-note{margin-top:18px}

.steps{margin-bottom:40px}
.step{--nc:32.4px;position:relative;display:grid;grid-template-columns:72px minmax(0,3fr) minmax(0,6fr) 132px;column-gap:24px;align-items:baseline;padding:18px 0}
.step::after{content:"";position:absolute;left:5px;top:var(--nc);width:3px;height:100%;background:var(--stitch-v)}
.step:last-child::after{display:none}
.step-n{position:relative;padding-left:30px;font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--slate)}
.step-n::before{content:"";position:absolute;z-index:1;left:0;top:calc(50% - 6.5px);width:13px;height:13px;border:2px solid var(--blue);border-radius:50%;background:#fff}
.step[data-role="vous"] .step-n::before{background:var(--blue)}
.step[data-role="vous"] .step-n{color:var(--navy)}
.step-t{font-size:1.125rem;font-weight:700;letter-spacing:-.01em;line-height:1.6}
.step-d{font-size:1rem;color:var(--slate)}
.step-r{font-size:.875rem;font-weight:650;color:var(--slate);text-align:right}
.step[data-role="vous"] .step-r{color:var(--blue)}
.steps--detailed .step{grid-template-columns:72px minmax(0,3fr) minmax(0,6fr) 132px;padding:24px 0}
.steps--detailed .step{--nc:38.4px}

/* Accueil : « Des tenues adaptées à votre métier » (3 cartes avec visuel, 3 cartes avec dessin à plat) */
.trades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.trade-photo{margin-bottom:26px}
.trade:nth-child(1) .trade-photo{transform:rotate(-.6deg)}
.trade:nth-child(2) .trade-photo{transform:rotate(.5deg)}
.trade:nth-child(3) .trade-photo{transform:rotate(-.4deg)}
.trade .h3 a{text-decoration:none;transition:color .15s}
.trade .h3 a:hover{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.trade p{margin-top:8px;color:var(--slate)}
.trade .text-link{margin-top:18px}
.trades--compact{margin-top:56px;gap:24px 32px}
.trade--compact{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:16px;align-items:start;padding-top:20px;border-top:2px solid var(--navy)}
.trade--compact .flat{width:64px;height:64px;margin:-6px 0 0 -8px;transition:color .15s}
.trade--compact .h3{font-size:1.125rem}
.trade--compact p{margin-top:4px;font-size:.9375rem}
.trade--compact a::after{content:"";position:absolute;inset:0}
.trade--compact:hover .flat,.trade--compact:hover a{color:var(--blue)}
.trade--compact:hover .flat .flat-o,.trade--compact:hover .flat .flat-d{animation:draw .8s cubic-bezier(.45,0,.2,1)}
.trades-note{margin-top:32px}

/* Accueil : deux points de départ */
.entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.entry{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3vw,44px);background:#fff;border-radius:4px;outline:1px dashed rgba(18,92,205,.4);outline-offset:-9px;box-shadow:0 1px 2px rgba(14,24,39,.06)}
.entry-n{font-size:.9375rem;font-weight:720;letter-spacing:.06em;color:var(--blue)}
.entry .h3{margin-top:12px;font-size:clamp(1.375rem,.8vw + 1rem,1.625rem);letter-spacing:-.02em}
.entry > p{margin-top:12px;color:var(--slate)}
.entry .rule-list{align-self:stretch;margin:24px 0 32px}
.entry .btn{margin-top:auto}

/* Accueil : contact direct et engagements */
.contact-person .lead{margin-top:28px}
.contact-card{margin-top:36px;max-width:28rem;padding:22px 26px 24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:4px}
.contact-card-name{font-size:1.25rem;font-weight:720;letter-spacing:-.01em}
.contact-card-sub{margin-top:2px;font-size:.9375rem;color:var(--slate)}
.contact-card-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;font-size:.9375rem}
.promises--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}

/* Accueil : questions fréquentes */
.faq{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{position:relative;display:block;padding:22px 52px 22px 0;font-size:1.0625rem;font-weight:680;line-height:1.4;cursor:pointer;list-style:none;transition:color .15s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";position:absolute;right:6px;top:50%;width:16px;height:16px;margin-top:-8px;background:linear-gradient(var(--blue),var(--blue)) center/16px 2px no-repeat,linear-gradient(var(--blue),var(--blue)) center/2px 16px no-repeat}
.faq-item[open] summary::after{background:linear-gradient(var(--blue),var(--blue)) center/16px 2px no-repeat}
.faq-item summary:hover{color:var(--blue)}
.faq-item summary:focus-visible{outline:3px solid var(--blue-on-dark);outline-offset:2px}
.faq-item p{padding:0 52px 24px 0;color:var(--slate);max-width:40rem}

.section--navy .lead{color:var(--mist);margin-top:28px}
.section--navy .actions{margin-top:40px}
.section--navy .list-title{margin-top:0}
.note-dark{margin-top:28px;color:var(--mist);max-width:36rem}
.text-link--dark{margin-top:24px;color:#fff;text-decoration-color:var(--blue-on-dark)}
.text-link--dark:hover{color:var(--mist)}

.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.pillars--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pillars li{padding-top:22px;border-top:2px solid var(--navy)}
.pillars p{margin-top:10px;color:var(--slate)}
.pillars .glyph{width:36px;height:36px;margin-bottom:18px;stroke-width:1.3}

/* Blocs de détail (pages intérieures) */
.detail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-block:clamp(48px,5vw,72px);border-top:1px solid var(--rule)}
.detail:first-child{border-top:0;padding-top:0}
.detail:last-child{padding-bottom:0}
.detail > .detail-head{grid-column:1/span 5}
.detail > .detail-body{grid-column:7/span 6}
.detail-head .h2{font-size:clamp(1.625rem,1.4vw + 1.1rem,2.25rem)}
.detail-head .body-text{margin-top:16px}
.detail-body .rule-list{margin-top:0}
.detail-body .fine,.detail-body .text-link{margin-top:20px}
.detail-body .text-link{display:inline-block}
.detail .glyph--lg{margin-bottom:20px}
.detail-photo{margin-top:36px;max-width:420px}
.detail--solution:nth-child(odd) .detail-photo{transform:rotate(-1deg)}
.detail--solution:nth-child(even) .detail-photo{transform:rotate(.8deg)}
.detail-meta{margin-top:24px}
.detail-meta dt{font-size:.9375rem;font-weight:680}
.detail-meta dd{color:var(--slate);margin-bottom:16px}
.sector-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:24px}
.sector-links .text-link{margin-top:0}

.anchor-nav{margin-top:32px}
.anchor-nav ul{display:flex;flex-wrap:wrap;gap:10px 24px}
.anchor-nav a{font-size:.9375rem;font-weight:620;color:var(--navy);text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:2px;text-underline-offset:6px;transition:text-decoration-color .15s,color .15s}
.anchor-nav a:hover{color:var(--blue);text-decoration-color:var(--blue)}
.note{margin-top:28px;padding:18px 22px;border:1px solid var(--rule);border-left:3px solid var(--blue);background:var(--paper);font-size:.9375rem;color:var(--slate);max-width:40rem}
.note strong{color:var(--navy);font-weight:680}
.section--greige .note{background:#fff}

.cta-band .h2{max-width:14ch}
.cta-band .actions{margin-top:32px}
.faq-section .lead{margin-top:20px}

/* Texte juridique */
.prose{max-width:46rem}
.prose h2{margin:56px 0 16px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}
.prose h2:first-child{margin-top:0}
.prose h3{margin:28px 0 8px;font-size:1.125rem;font-weight:700}
.prose p,.prose ul,.prose dl{margin-top:12px;color:var(--slate)}
.prose ul{padding-left:1.2em;list-style:disc}
.prose li+li{margin-top:6px}
.prose strong{color:var(--navy);font-weight:680}
.prose dl{display:grid;grid-template-columns:minmax(150px,32%) 1fr;gap:8px 20px}
.prose dt{color:var(--navy);font-weight:650}
.prose a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}
.prose .version{font-size:.875rem;color:var(--slate)}
.todo{background:#FFF1B8;color:var(--navy);padding:0 4px;border-radius:2px;font-weight:600}

/* Formulaire */
.form-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.form-layout > .form-main{grid-column:1/span 7}
.form-layout > .form-aside{grid-column:9/span 4}
.form-aside .contact-card{margin-top:16px}
.after-title{margin-top:44px}
.after-steps{counter-reset:etape;margin-top:12px}
.after-steps li{position:relative;padding:12px 0 12px 42px;border-top:1px solid var(--line);color:var(--slate)}
.after-steps li:last-child{border-bottom:1px solid var(--line)}
.after-steps li::before{counter-increment:etape;content:counter(etape);position:absolute;left:0;top:11px;width:26px;height:26px;border-radius:50%;background:var(--greige);font-size:.875rem;font-weight:720;line-height:26px;text-align:center;color:var(--navy)}
.form-more{border:1.5px solid var(--field);border-radius:4px;background:#fff}
.form-more > summary{position:relative;display:block;min-height:56px;padding:15px 56px 15px 18px;font-size:1rem;font-weight:680;line-height:1.5;cursor:pointer;list-style:none;border-radius:3px}
.form-more > summary::-webkit-details-marker{display:none}
.form-more > summary .opt{font-weight:500;color:var(--slate)}
.form-more > summary::after{content:"";position:absolute;right:20px;top:50%;width:16px;height:16px;margin-top:-8px;background:linear-gradient(var(--blue),var(--blue)) center/16px 2px no-repeat,linear-gradient(var(--blue),var(--blue)) center/2px 16px no-repeat}
.form-more[open] > summary::after{background:linear-gradient(var(--blue),var(--blue)) center/16px 2px no-repeat}
.form-more > summary:hover{background:#F7F8FA}
.form-more > summary:focus-visible{outline:3px solid rgba(61,139,255,.35);outline-offset:0}
.form-more[open] > summary{border-bottom:1px solid var(--line);border-radius:3px 3px 0 0}
.form-more-body{display:grid;gap:28px;padding:24px 18px 26px}
.form{display:grid;gap:28px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.field label,.field .label,.field legend{display:block;margin-bottom:8px;font-size:.9375rem;font-weight:680;color:var(--navy)}
.field .req{color:var(--blue);margin-left:2px}
.field .opt{font-weight:500;color:var(--slate)}
.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--field);border-radius:4px;background:#fff;font:inherit;font-size:1rem;line-height:1.4;color:var(--navy);transition:border-color .15s}
.field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.field textarea{min-height:200px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(61,139,255,.35);outline-offset:0;border-color:var(--blue)}
.field .hint{margin-top:8px;font-size:.875rem;color:var(--slate)}
.field fieldset{margin:0;padding:0;border:0;min-width:0}
.choices{display:flex;flex-wrap:wrap;gap:10px 12px}
.field .choice{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:0 16px 0 12px;border:1.5px solid var(--field);border-radius:4px;background:#fff;font-size:.9375rem;font-weight:560;color:var(--navy);cursor:pointer;transition:border-color .15s,background-color .15s}
.field .choice input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--blue)}
.field .choice:hover{border-color:var(--slate)}
.field .choice:has(input:checked){border-color:var(--blue);background:#F2F6FD}
.field .choice:has(input:focus-visible){outline:3px solid rgba(61,139,255,.35)}
.field .dropzone{position:relative;display:block;margin:0;padding:28px 24px;border:2px dashed var(--field);border-radius:4px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}
.dropzone:hover,.dropzone.is-over{border-color:var(--blue);background:#F2F6FD}
.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dropzone:has(input:focus-visible){outline:3px solid rgba(61,139,255,.35)}
.dropzone-title{display:block;font-weight:680}
.dropzone-sub{display:block;margin-top:4px;font-size:.875rem;color:var(--slate)}
.file-list{margin-top:12px}
.file-list li{display:flex;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.file-list .file-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.file-list .file-size{color:var(--slate);white-space:nowrap}
.file-list .file-remove{padding:0;border:0;background:none;font:inherit;font-size:.875rem;font-weight:650;color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:4px;cursor:pointer;white-space:nowrap}
.file-list .file-remove:hover,.file-actions button:hover{color:var(--blue)}
.file-actions{margin-top:10px}
.file-actions button{padding:0;border:0;background:none;font:inherit;font-size:.875rem;font-weight:650;color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:4px;cursor:pointer}
.field.has-error input,.field.has-error select,.field.has-error textarea,.field.has-error .dropzone{border-color:var(--error)}
.error-msg{margin-top:8px;font-size:.875rem;font-weight:600;color:var(--error)}
.form-summary{padding:16px 20px;border:1.5px solid var(--error);border-radius:4px;background:#FEF3F2;color:var(--error);font-weight:600}
.form-foot{display:grid;gap:16px}
.form-foot .fine a{color:var(--navy)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.required-note{font-size:.875rem;color:var(--slate)}

/* Pied de page */
.site-footer{background:var(--navy);color:#fff;padding-top:clamp(64px,7vw,104px)}
.footer-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px;padding-bottom:64px}
.footer-brand{grid-column:1/span 3}
.footer-brand svg{width:144px;height:56px}
.footer-brand p{margin-top:24px;color:var(--mist);max-width:20rem}
.footer-nav{grid-column:5/span 8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.footer-title{margin-bottom:14px;font-size:.9375rem;font-weight:700;color:#fff}
.footer-nav li+li{margin-top:8px}
.footer-nav a,.footer-nav address{font-size:.9375rem;color:var(--mist);text-decoration:none;line-height:1.5}
.footer-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:24px 0 32px;border-top:1px solid var(--line-dark);font-size:.875rem;color:var(--mist)}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-bottom a{color:var(--mist);text-decoration:none}
.footer-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-bottom .lang{margin-left:auto}
.lang--dark a{color:var(--mist)}
.lang--dark a:hover{color:#fff}
.lang--dark a[aria-current="true"]{color:#fff;text-decoration-color:var(--blue-on-dark)}

.mobile-cta{display:none}

/* Responsive */
@media (max-width:1180px){
  .main-nav,.header-actions .lang{display:none}
  .menu-toggle{display:inline-flex}
  .hero-text,.hero-visual{grid-column:1/-1}
  .hero-visual{margin-top:56px;max-width:680px}
  .hero .h1{font-size:clamp(2.5rem,4.4vw + .75rem,3.75rem)}
}
@media (max-width:899px){
  .col-head,.col-body{grid-column:1/-1}
  .section-head .lead{margin-top:20px}
  .production .spec,.section--navy .col-body,.contact .col-body,.contact-person .col-body,.faq-section .col-body{margin-top:40px}
  .page-hero-text,.page-hero-visual{grid-column:1/-1}
  .hero-visual{margin-top:48px}
  .page-hero-visual{margin-top:56px;width:100%;max-width:520px}
  .promises{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-band{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pb-1{grid-column:1/-1}
  .pb-2{transform:rotate(.7deg)}
  .detail-photo{max-width:480px}
  .chain{grid-template-columns:1fr}
  .chain::before{top:22px;left:5px;width:3px;height:calc(100% - 44px);background:repeating-linear-gradient(180deg,var(--blue-on-dark) 0 11px,transparent 11px 18px);animation-name:sew-v}
  .chain li{display:flex;align-items:center;gap:18px;height:44px;padding-right:0}
  .chain .label{margin-top:0}
  .solution{grid-template-columns:48px minmax(0,1fr)}
  .solution .glyph{grid-row:1/span 2}
  .solution .h3,.solution p{grid-column:2}
  .solution p{margin-top:8px}
  .step,.steps--detailed .step{grid-template-columns:64px minmax(0,1fr)}
  .step-t{grid-column:2}
  .step-d,.step-r{grid-column:2;text-align:left}
  .step-d{margin-top:2px}
  .step-r{margin-top:6px}
  .trades{grid-template-columns:1fr;gap:40px}
  .trade:not(.trade--compact){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:32px;align-items:center}
  .trade-photo{margin-bottom:0}
  .trades--compact{grid-template-columns:1fr;gap:20px;margin-top:48px}
  .entries{grid-template-columns:1fr}
  .form-layout > .form-aside{margin-top:56px}
  .pillars,.pillars--two{grid-template-columns:1fr;gap:32px}
  .detail > .detail-head,.detail > .detail-body{grid-column:1/-1}
  .detail > .detail-body{margin-top:28px}
  .form-layout > .form-aside,.form-layout > .form-main{grid-column:1/-1}
  .footer-brand,.footer-nav{grid-column:1/-1}
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .header-inner{height:72px}
  [id]{scroll-margin-top:80px}
  .header-actions>.btn{display:none}
  .hero .actions .btn,.page-hero .actions .btn,.section--navy .actions .btn{flex:1 1 100%}
  .btn{white-space:normal;text-align:center;padding-block:12px}
  .h1{text-wrap:balance}
  .h1 br{display:none}
  .trade:not(.trade--compact){display:block}
  .trade-photo{margin-bottom:22px}
  .promises--two{grid-template-columns:1fr}
  .hero-facts{flex-direction:column;gap:12px}
  .faq-item summary{padding-right:44px}
  .faq-item p{padding-right:0}
  .rule-list--dark{grid-template-columns:1fr}
  .rule-list--dark li:nth-last-child(2){border-bottom:0}
  .promises{grid-template-columns:1fr;gap:28px}
  .promise{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:8px}
  .promise .glyph{grid-row:1/span 2;width:32px;height:32px;margin:2px 0 0}
  .line-sheet ul{gap:8px}
  .line-sheet a{padding:10px 4px;font-size:.75rem}
  .hang-tag{width:52%;padding:22px 14px 12px}
  .hang-tag li{font-size:.8125rem;padding:6px 0 6px 20px}
  .contact .actions .btn,.cta-band .actions .btn{flex:1 1 100%}
  .form-row{grid-template-columns:1fr}
  .form .btn-primary{width:100%}
  .prose dl{grid-template-columns:1fr;gap:2px}
  .prose dd{margin-bottom:10px}
  .footer-bottom .lang{margin-left:0}
  .mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s ease}
  .mobile-cta.is-visible{transform:none}
  .menu-open .mobile-cta{transform:translateY(110%)}
  .mobile-cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-intro],[data-intro] *,[data-intro]::before,.flat path,.board-out{animation:none!important}
  *,*::before,*::after{transition:none!important}
}
@media print{
  .site-header,.mobile-cta,.site-footer .lang{display:none}
  .section--navy{background:#fff;color:var(--navy)}
}
