﻿
/* ============================================================
   FRESHMERCH — DESIGN SYSTEM
   Change colors, typography and spacing here first.
============================================================ */
:root{
  --blue-950:#020711;
  --blue-900:#071225;
  --blue-850:#0d2a4e;
  --blue:#2f7cff;
  --blue-electric:#5b9cff;
  --yellow:#ffed00;
  --yellow-soft:#fff45c;
  --white:#ffffff;
  --ink:#071225;
  --muted:#8290a7;
  --muted-strong:#98a6bc;
  --muted-on-light:#5c6879;
  --line:rgba(255,255,255,.13);
  --line-dark:rgba(8,18,37,.12);
  --surface-light:#f4f6f8;

  --font-display:"Space Grotesk",system-ui,sans-serif;
  --font-body:"DM Sans",system-ui,sans-serif;

  --container:1240px;
  --radius:24px;
  --radius-sm:14px;

  --ease:cubic-bezier(.2,.75,.2,1);
  --fast:.25s;
  --medium:.55s;
  --slow:.9s;

  --section-py:130px;
  --section-py-mobile:72px;
}

/* ============================================================
   THÈME CLAIR — palette alternative, activée via data-theme="light"
   sur <html> (bouton bascule dans le header, voir script.js).
   Les blocs "foncés" (hero, craft, studio, header, footer...) passent
   réellement au clair : fond quasi blanc + texte sombre, au lieu d'un
   simple changement de nuance de bleu. Le bleu de marque reste identique
   dans les deux thèmes ; le jaune, lui, passe en orange en thème clair
   (le jaune pur devient illisible sur fond blanc).
============================================================ */
:root[data-theme="light"]{
  --blue-950:#f4f6f8;
  --blue-900:#eceff7;
  --blue-850:#e4e9f3;
  --white:#0c1526;
  --muted-strong:#4a5872;
  --line:rgba(12,21,38,.14);
  --line-dark:rgba(12,21,38,.1);
  --surface-light:#ffffff;
  --yellow:#e2600c;
  --yellow-soft:#f2790c;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blue-950);color:var(--white);font-family:var(--font-body);font-size:18px;line-height:1.7;overflow-x:hidden;transition:background var(--medium) var(--ease),color var(--medium) var(--ease)}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
section{position:relative}
.container{width:min(calc(100% - 48px),var(--container));margin:auto}
.section-dark{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 160px),var(--blue-950);color:var(--white)}
.section-light{background:linear-gradient(180deg,rgba(3,8,20,.05),transparent 160px),var(--surface-light);color:var(--ink)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;color:var(--muted-strong);font-weight:700}
.eyebrow:before{content:"";width:28px;height:1px;background:var(--yellow)}
.eyebrow--dark{color:#647087}
.eyebrow--dark:before{background:var(--blue)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:72px}
.section-head h2{font:600 clamp(44px,6vw,82px)/.94 var(--font-display);letter-spacing:-.055em;margin:20px 0 0}
.section-head h2 em,.hero h1 em,.process h2 em,.cta h2 em{font-style:normal;color:var(--yellow)}
.section-head>p{max-width:360px;color:#657187;font-size:18px;line-height:1.7;margin:0 0 5px}
.section-head--light>p{color:var(--muted-strong)}

.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:0 24px;border-radius:999px;font-size:14px;font-weight:700;transition:transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease),background var(--fast) var(--ease);white-space:nowrap}
.button span{font-size:18px;transition:transform var(--fast) var(--ease)}
.button:hover{transform:translateY(-3px)}
.button:hover span{transform:translate(3px,-2px)}
.button--yellow{background:var(--yellow);color:#101827;box-shadow:0 10px 30px rgba(255,237,0,.16)}
.button--yellow:hover{box-shadow:0 16px 42px rgba(255,237,0,.22)}
.button--ghost{border:1px solid rgba(255,255,255,.25);color:#fff}
.button--ghost:hover{background:rgba(255,255,255,.06)}
:root[data-theme="light"] .button--ghost{border-color:rgba(12,21,38,.28);color:var(--white)}
:root[data-theme="light"] .button--ghost:hover{background:rgba(12,21,38,.06)}
.button--light{border:1px solid rgba(255,255,255,.28);color:#fff}
.button--small{min-height:44px;padding:0 18px;font-size:12px}
.button--large{min-height:60px;padding:0 28px}

.text-link{font-size:14px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:10px}
.text-link span{margin-left:15px;color:var(--yellow)}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal--delay{transition-delay:.14s}

/* ============================================================
   INTRO
============================================================ */
.intro{position:fixed;inset:0;z-index:100;background:var(--blue-950);display:grid;place-items:center;overflow:hidden;transition:opacity .75s var(--ease),visibility .75s}
.intro.is-done{opacity:0;visibility:hidden;pointer-events:none}
.intro__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1.1s var(--ease)}
.intro__video.is-ready{opacity:1}
.intro__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(2,7,17,.55) 0%,rgba(2,7,17,.1) 30%,rgba(2,7,17,.15) 65%,rgba(2,7,17,.75) 100%)}
.intro__brand{position:absolute;top:8%;left:6%;display:flex;flex-direction:column;gap:12px;z-index:2}
.intro__brand img{width:150px}
.intro__brand span{font-size:11px;letter-spacing:.2em;color:var(--muted-strong)}
.intro__bottom{position:absolute;bottom:7%;display:flex;flex-direction:column;align-items:center;gap:18px;z-index:3}
.intro__bottom>span{font-size:12px;letter-spacing:.28em}
.intro__skip{background:none;border:0;color:var(--muted-strong);font-size:12px;cursor:pointer;padding:8px}
@media (max-width:800px){.intro__brand{top:6%;left:6%}.intro__brand img{width:120px}}

/* ============================================================
   SCROLL PROGRESS
============================================================ */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:60;background:rgba(255,255,255,.06)}
.scroll-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--blue-electric),var(--yellow));transition:width .1s linear}

/* ============================================================
   MARQUEE
============================================================ */
.marquee{position:relative;overflow:hidden;background:var(--blue-900);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-top:60px}
.marquee + .univers{padding-top:60px}
.marquee__track{display:flex;width:max-content;--marquee-gap:56px;gap:var(--marquee-gap);animation:marqueeScroll 26s linear infinite}
.marquee__track span{font:600 15px var(--font-display);letter-spacing:.1em;color:var(--muted-strong);white-space:nowrap}
.marquee__track span:nth-child(odd){color:var(--yellow-soft)}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - (var(--marquee-gap) / 2)))}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}

/* ============================================================
   HEADER
============================================================ */
.site-header{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 48px),var(--container));height:68px;border:1px solid rgba(255,255,255,.1);background:color-mix(in srgb,var(--blue-950) 62%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:18px;display:flex;align-items:center;padding:0 14px;transition:background var(--medium) var(--ease),top var(--medium) var(--ease),height var(--medium) var(--ease)}
/* Le header partage la même largeur/marge que .container (voir :root --container) : le logo reste ainsi
   aligné avec le bord gauche du texte des sections en dessous. */
.brand{margin-left:8px;display:inline-flex}
.site-header.is-scrolled{top:10px;height:60px;background:color-mix(in srgb,var(--blue-950) 88%,transparent)}
.brand img{width:116px}
.desktop-nav{display:flex;gap:26px;margin:auto}
.desktop-nav a{font-size:13px;color:var(--muted-strong);position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--yellow);transition:width var(--fast) var(--ease)}
.desktop-nav a:hover{color:var(--white)}.desktop-nav a:hover:after{width:100%}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;margin-left:10px;flex-shrink:0;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}
.theme-toggle:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle__moon{display:block}
.theme-toggle__sun{display:none}
:root[data-theme="light"] .theme-toggle__moon{display:none}
:root[data-theme="light"] .theme-toggle__sun{display:block}
:root[data-theme="light"] .theme-toggle{border-color:rgba(18,33,60,.18);background:rgba(18,33,60,.06);color:var(--ink)}
:root[data-theme="light"] .theme-toggle:hover{background:rgba(18,33,60,.1)}
:root[data-theme="light"] .site-header{border-color:rgba(12,21,38,.12);box-shadow:0 8px 30px rgba(12,21,38,.08)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;margin-left:8px;cursor:pointer}
.menu-toggle span{display:block;width:20px;height:1px;background:var(--white);margin:6px auto;transition:transform var(--fast)}
.mobile-menu{position:fixed;inset:0;background:var(--blue-950);z-index:45;transform:translateY(-100%);transition:transform .65s var(--ease);display:none}
.mobile-menu.is-open{transform:none}
.mobile-menu__inner{height:100%;display:flex;flex-direction:column;justify-content:center;padding:40px}
.mobile-menu__inner>a{font:600 clamp(34px,10vw,58px) var(--font-display);padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.mobile-menu__inner>a span{font:13px var(--font-body);color:var(--muted-strong)}

/* ============================================================
   HERO
============================================================ */
.hero{min-height:100svh;display:flex;align-items:center;overflow:hidden}
.hero__noise{position:absolute;inset:0;opacity:.14;background-image:radial-gradient(rgba(255,255,255,.7) .5px,transparent .5px);background-size:5px 5px;mask-image:linear-gradient(to bottom,black,transparent)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(47,124,255,.16),transparent 32%),linear-gradient(90deg,var(--blue-950) 0%,var(--blue-900) 48%,var(--blue-950) 100%)}
.hero__layout{min-height:100svh;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:20px;padding-top:80px}
.hero__copy{position:relative;z-index:3;max-width:610px}
.hero h1{font:600 clamp(58px,7.4vw,112px)/.86 var(--font-display);letter-spacing:-.07em;margin:28px 0 28px}
.hero h1 em{background:linear-gradient(100deg,var(--yellow-soft) 30%,var(--white) 45%,var(--yellow) 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){.hero h1 em{animation:none;background-position:0 0}}
.hero__copy>p{max-width:500px;color:var(--muted-strong);font-size:19px;line-height:1.75;margin:0 0 34px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero__meta{display:flex;gap:32px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);max-width:500px}
.hero__meta div{display:flex;flex-direction:column;gap:7px}.hero__meta strong{font:600 19px var(--font-display)}.hero__meta span{font-size:11px;letter-spacing:.16em;color:var(--muted-strong)}
.hero__visual{height:88vh;min-height:600px;position:relative;display:grid;place-items:center;transform-style:preserve-3d}
.hero__jersey{position:relative;z-index:3;width:min(55vw,760px);filter:drop-shadow(0 40px 45px rgba(0,0,0,.5));animation:float 6s ease-in-out infinite}
.product-halo{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(91,156,255,.3);box-shadow:0 0 70px rgba(47,124,255,.2),inset 0 0 70px rgba(47,124,255,.12);transform:rotateX(67deg)}
.product-halo:after{content:"";position:absolute;inset:13%;border:1px solid rgba(255,237,0,.14);border-radius:50%}
.product-floor{position:absolute;bottom:12%;width:62%;height:5%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,237,0,.18),transparent 65%);filter:blur(7px)}
.product-tag{position:absolute;z-index:4;font-size:11px;letter-spacing:.18em;color:var(--muted-strong);line-height:1.6}
.product-tag--top{top:23%;right:3%}.product-tag--bottom{bottom:18%;left:11%}
.hero__scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.26em;color:var(--muted-strong);display:flex;align-items:center;gap:12px}
.hero__scroll span{width:45px;height:1px;background:#4c5a70}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(.4deg)}}

/* ============================================================
   UNIVERS
============================================================ */
.univers{padding:var(--section-py) 0}
.universe-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:300px;gap:12px}
.universe-card{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#dfe5ed;min-height:0;color:#fff}
.universe-card--large{grid-row:span 2}.universe-card--wide{grid-column:2 / 4}
.card-number{position:absolute;z-index:4;top:18px;left:18px;font-size:12px;letter-spacing:.15em;color:rgba(255,255,255,.75)}
.card-art{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,#0a1830,#1d4d9e)}
.card-art:before{content:"";position:absolute;width:120%;height:55%;left:-10%;top:17%;border-radius:50%;border:1px solid rgba(255,255,255,.18);transform:rotate(-14deg);box-shadow:0 0 80px rgba(61,144,255,.35)}
.card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.72) 100%)}
.art-tshirts{background:radial-gradient(circle at 70% 25%,#3d90ff,transparent 55%),linear-gradient(140deg,#071225,#0b2b66)}
.art-sweats{background:radial-gradient(circle at 20% 15%,#ffcc00,transparent 50%),linear-gradient(135deg,#0a1830,#143f8c)}
.art-polos{background:radial-gradient(circle at 70% 25%,#3d90ff,transparent 55%),linear-gradient(145deg,#0b1220,#18283e)}
.art-bas{background:radial-gradient(circle at 30% 20%,#ff5b6e,transparent 48%),linear-gradient(140deg,#071225,#153a79)}
.card-art i,.card-art b{position:absolute;z-index:2;border-radius:50%;border:2px solid rgba(255,237,0,.55);width:110px;height:110px;right:15%;top:18%;transform:rotate(25deg);box-shadow:0 0 35px rgba(255,237,0,.1)}
.card-art b{width:170px;height:170px;right:-4%;top:28%;border-color:rgba(61,144,255,.8);transform:rotate(-15deg)}
.card-content{position:absolute;z-index:5;left:22px;right:22px;bottom:20px}
.card-content span{font-size:11px;letter-spacing:.2em;color:#b8c5d8}
.card-content h3{font:600 32px var(--font-display);letter-spacing:-.04em;margin:6px 0}
.card-content small{font-size:13.5px;color:#c3cddb}
.card-content strong{position:absolute;right:0;bottom:4px;font-size:24px;font-weight:400}
.universe-card{transition:transform var(--fast) var(--ease),box-shadow var(--medium) var(--ease);transform-style:preserve-3d;will-change:transform}
.universe-card:hover{box-shadow:0 25px 55px rgba(6,17,38,.2)}
.universe-card:hover .card-art{transform:scale(1.035);transition:transform .8s var(--ease)}
.card-art{transition:transform .8s var(--ease)}

/* ============================================================
   CRAFT
============================================================ */
.craft{padding:var(--section-py) 0;overflow:hidden}
.craft__line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--line),transparent);opacity:.6}
.craft-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
.craft-index{position:sticky;top:130px;align-self:start}
.craft-index>span{font-size:11px;letter-spacing:.2em;color:var(--muted-strong)}
.craft-index__big{font:600 clamp(120px,18vw,250px)/.8 var(--font-display);letter-spacing:-.1em;color:rgba(255,255,255,.04);margin:40px 0}
.craft-index p{max-width:290px;color:var(--muted-strong);line-height:1.75;font-size:17px}
.craft-list{border-top:1px solid var(--line)}
.craft-row{display:grid;grid-template-columns:55px 1fr 35px;gap:20px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.craft-row>span{font-size:12px;color:var(--muted-strong)}.craft-row h3{font:600 32px var(--font-display);margin:0 0 6px;letter-spacing:-.03em}.craft-row p{margin:0;color:var(--muted-strong);font-size:17px;line-height:1.65;max-width:480px}.craft-row>b{font-size:20px;font-weight:400;color:var(--yellow);transition:transform var(--fast)}
.craft-row:hover>b{transform:translate(4px,-4px)}

/* ============================================================
   PROCESS
============================================================ */
.process{padding:var(--section-py) 0}
.process.section-light{background:var(--blue-950);color:var(--white)}
.process .eyebrow--dark{color:#91a0b5}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.timeline:before{content:"";position:absolute;top:22px;left:8%;right:8%;height:1px;background:var(--line-dark)}
.process .timeline:before{background:var(--line)}
.timeline-item{position:relative;padding:0 22px}
.timeline-item span{position:relative;z-index:2;width:46px;height:46px;border:1px solid #c8d0db;border-radius:50%;display:grid;place-items:center;background:var(--surface-light);font:600 13px var(--font-display);color:var(--blue);margin-bottom:32px}
.timeline-item h3{font:600 24px var(--font-display);margin:0 0 10px}.timeline-item p{font-size:16px;line-height:1.65;color:#7a8699;max-width:200px}
.process .timeline-item p{color:var(--muted-strong)}

/* ============================================================
   CTA / FOOTER
============================================================ */
.cta{padding:var(--section-py) 0;background:var(--blue);overflow:hidden}
.cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(255,237,0,.14),transparent 30%),linear-gradient(135deg,rgba(0,0,0,.16),transparent)}
.cta__rings{position:absolute;width:650px;height:650px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-120px;top:-180px;box-shadow:0 0 0 80px rgba(255,255,255,.02),0 0 0 160px rgba(255,255,255,.02)}
.cta--photo{background:var(--blue-950)}
.cta--photo:before{background:linear-gradient(90deg,var(--blue-950) 0%,var(--blue-950) 30%,rgba(2,7,17,.62) 46%,rgba(2,7,17,.1) 60%,transparent 68%),url("assets/jersey-banner.png") right center/cover no-repeat}
.cta--photo .cta__rings{display:none}
.cta__inner{position:relative;z-index:2}.cta h2{font:600 clamp(58px,8vw,112px)/.86 var(--font-display);letter-spacing:-.07em;margin:28px 0}
.cta p{max-width:540px;color:#e3e9f7;font-size:19px;line-height:1.75}
.cta__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

.contact-form{margin-top:42px;max-width:640px;display:flex;flex-direction:column;gap:18px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form__field{display:flex;flex-direction:column;gap:8px}
.contact-form__field label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#dbe4f7}
.contact-form__field input,.contact-form__field textarea{font:inherit;font-size:17px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;resize:vertical;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}
.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:rgba(255,255,255,.55)}
.contact-form__field input:focus,.contact-form__field textarea:focus{outline:none;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.16)}
.contact-form__status{margin:0;font-size:14px;min-height:20px;color:#fff5cf}
.footer{background:var(--blue-950);padding:70px 0 24px;transition:background var(--medium) var(--ease)}
.footer__top{display:flex;justify-content:space-between;gap:50px;padding-bottom:65px;border-bottom:1px solid var(--line)}
.footer__columns{display:grid;grid-template-columns:repeat(3,180px);gap:30px}.footer__columns div{display:flex;flex-direction:column;gap:12px}.footer__columns span{font-size:11px;letter-spacing:.18em;color:var(--muted-strong);margin-bottom:7px}.footer__columns a{font-size:14px;color:var(--muted-strong)}.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:var(--muted-strong);font-size:12px;letter-spacing:.1em}
.footer__credits{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:9px;line-height:1.8;color:var(--muted-strong)}
.footer__credits a{color:#6c7891;text-decoration:underline;text-underline-offset:2px}
.footer__credits a:hover{color:var(--muted-strong)}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:1100px){
  .desktop-nav{gap:17px}.hero__layout{grid-template-columns:.8fr 1.2fr}.hero__visual{height:75vh}.hero h1{font-size:76px}
  .universe-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.universe-card--large{grid-row:span 2}.universe-card--wide{grid-column:1 / 3}
  .cta--photo{background:var(--blue)}
  .cta--photo:before{background:radial-gradient(circle at 70% 50%,rgba(255,237,0,.14),transparent 30%),linear-gradient(135deg,rgba(0,0,0,.16),transparent)}
  .cta--photo .cta__rings{display:block}
}
@media (max-width:800px){
  .container{width:min(calc(100% - 32px),var(--container))}
  .site-header{width:calc(100% - 32px);top:12px;height:60px}.header-cta,.desktop-nav{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-menu{display:block}
  .brand img{width:105px}
  .hero__layout{grid-template-columns:1fr;min-height:100svh;padding-top:110px;padding-bottom:70px}.hero__copy{align-self:start}.hero h1{font-size:clamp(54px,15vw,82px);margin:20px 0}.hero__copy>p{font-size:17px}.hero__meta{margin-top:30px}
  .hero__visual{height:48vh;min-height:300px;margin-top:-30px}.hero__jersey{width:min(88vw,570px)}.product-halo{width:76%}.product-tag{display:none}
  .section-head{display:block;margin-bottom:45px}.section-head>p{margin-top:25px}.section-head h2{font-size:clamp(44px,13vw,68px)}
  .univers,.craft,.process,.cta{padding:var(--section-py-mobile) 0}
  .universe-grid{grid-template-columns:1fr;grid-auto-rows:280px}.universe-card--large,.universe-card--wide{grid-row:auto;grid-column:auto}.universe-card--large{min-height:430px}
  .craft__line{display:none}.craft-layout{grid-template-columns:1fr;gap:30px}.craft-index{position:relative;top:auto}.craft-index__big{font-size:110px;margin:30px 0}.craft-row{grid-template-columns:36px 1fr 25px;padding:25px 0}.craft-row h3{font-size:25px}
  .timeline{grid-template-columns:1fr;gap:35px}.timeline:before{top:20px;bottom:20px;left:21px;width:1px;height:auto;right:auto}.timeline-item{display:grid;grid-template-columns:44px 1fr;column-gap:20px;padding:0}.timeline-item span{grid-row:span 2;margin:0}.timeline-item p{max-width:none}
  .cta h2{font-size:clamp(54px,14vw,82px)}.footer__top{display:block}.footer__columns{grid-template-columns:1fr 1fr;margin-top:45px}.footer__bottom{display:grid;grid-template-columns:1fr 1fr}.footer__bottom a{text-align:right}
  .contact-form__row{grid-template-columns:1fr}
  .contact-form button[type="submit"]{width:100%}
  .marquee{margin-top:36px}.marquee+.univers{padding-top:36px}
}
@media (max-width:480px){
  .hero__actions .button{width:100%}.hero__meta{gap:17px}.hero__visual{height:43vh}.hero__scroll{display:none}
  .cta__actions .button{width:100%}
  .footer__columns{grid-template-columns:1fr!important;gap:24px}
  .footer__bottom{grid-template-columns:1fr!important;gap:8px}.footer__bottom a{text-align:left!important}
  .marquee__track{--marquee-gap:36px}.marquee__track span{font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.hero__jersey{animation:none}.reveal{transition:none;opacity:1;transform:none}.button,.card-art,.universe-card{transition:none}
  .intro__video{display:none}
}


/* ============================================================
   FINAL DA POLISH — UNIVERS / STUDIO ENTRY
============================================================ */
.univers.section-light{background:var(--blue-950);color:var(--white)}
.univers .section-head h2,.univers .section-head>p{color:var(--white)}
.univers .eyebrow--dark{color:#91a0b5}
.universe-grid--editorial{grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:270px;gap:14px}
.universe-grid--editorial .universe-card--large{grid-row:span 2}
.universe-grid--editorial .universe-card--wide{grid-column:2 / 4}
.universe-card{background:var(--blue-900);border-color:rgba(255,255,255,.10)}
.universe-card .card-art{position:absolute;inset:0;overflow:hidden;background:var(--blue-950)}
.universe-card .card-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .8s ease}
.universe-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,17,.05) 15%,rgba(2,7,17,.18) 42%,rgba(2,7,17,.92) 100%);pointer-events:none}
.universe-card:hover .card-art img{transform:scale(1.055);filter:saturate(1.12) brightness(1.06)}
.universe-card .card-content,.universe-card .card-number{z-index:3}
.universe-card .card-content span{color:#aeb9c9}
.universe-card .card-content h3{color:#fff}
.universe-card .card-content small{color:#8e9aae}
.universe-card .card-content strong{color:#ffed00}
.universe-grid--home{grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:440px}
.card-art--textile{display:grid;place-items:center;padding:30px}
.card-art--textile img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(0,0,0,.4))}
.universe-card:hover .card-art--textile img{transform:scale(1.06) translateY(-4px)}
.card-art--studio{background:radial-gradient(circle at 50% 42%,rgba(47,124,255,.22),transparent 62%),var(--blue-950)}
.card-art--studio:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle at 50% 42%,#000,transparent 72%)}
.card-art--studio i,.card-art--studio b{position:absolute;border-radius:50%;border:1px solid rgba(47,124,255,.4);left:50%;top:42%;transform:translate(-50%,-50%) rotateX(66deg)}
.card-art--studio i{width:64%;aspect-ratio:1}
.card-art--studio b{width:38%;aspect-ratio:1;border-color:rgba(255,237,0,.5)}
.universe-card:hover .card-art--studio i{transform:translate(-50%,-50%) rotateX(66deg) scale(1.06);transition:transform .8s var(--ease)}
@media (max-width:1100px){.universe-grid--home{grid-template-columns:1fr 1fr;grid-auto-rows:340px}.universe-grid--home a:first-child{grid-column:1/3}}
@media (max-width:800px){.universe-grid--home{grid-template-columns:1fr;grid-auto-rows:320px}.universe-grid--home a:first-child{grid-column:auto}}
@media (max-width:1100px){.universe-grid--editorial{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.universe-grid--editorial .universe-card--large{grid-row:span 2}.universe-grid--editorial .universe-card--wide{grid-column:1 / 3}}
@media (max-width:800px){.universe-grid--editorial{grid-template-columns:1fr;grid-auto-rows:280px}.universe-grid--editorial .universe-card--large,.universe-grid--editorial .universe-card--wide{grid-row:auto;grid-column:auto}.universe-grid--editorial .universe-card--large{min-height:420px}}

/* ============================================================
   MULTI-PAGE NAVIGATION — ACTIVE STATE
============================================================ */
.desktop-nav a[aria-current="page"]{color:var(--white)}
.desktop-nav a[aria-current="page"]:after{width:100%}
.mobile-menu__inner>a[aria-current="page"]{color:var(--yellow)}

/* ============================================================
   INNER PAGES — PAGE HERO
============================================================ */
.page-hero{padding:170px 0 110px;overflow:hidden}
/* Une seule section fournit l'espace entre le hero et le contenu : on annule le padding-top
   de la section qui suit immédiatement pour éviter un double espacement incohérent. */
.page-hero + .content-section{padding-top:0}
@media (max-width:800px){.page-hero{padding:128px 0 64px}}
.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(47,124,255,.18),transparent 40%),linear-gradient(90deg,var(--blue-950) 0%,var(--blue-900) 60%,var(--blue-950) 100%)}
.page-hero__inner{position:relative;z-index:2;max-width:760px}
.page-hero h1{font:600 clamp(42px,6.4vw,84px)/.96 var(--font-display);letter-spacing:-.055em;margin:22px 0 24px}
.page-hero h1 em{font-style:normal;color:var(--yellow)}
.page-hero>.container>p,.page-hero__inner>p{color:var(--muted-strong);font-size:19px;line-height:1.75;max-width:600px;margin:0 0 30px}
.page-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.page-hero__meta{display:flex;gap:32px;margin-top:44px;padding-top:20px;border-top:1px solid var(--line);flex-wrap:wrap}
.page-hero__meta div{display:flex;flex-direction:column;gap:6px}
.page-hero__meta strong{font:600 18px var(--font-display)}
.page-hero__meta span{font-size:11px;letter-spacing:.14em;color:var(--muted-strong)}

.page-hero--devis:before{background:linear-gradient(90deg,var(--blue-950) 0%,var(--blue-950) 32%,rgba(2,7,17,.55) 48%,rgba(2,7,17,.05) 62%,transparent 70%),url("assets/jersey-banner.png") right center/cover no-repeat}
.page-hero--devis .page-hero__inner{max-width:540px}
@media (max-width:800px){
  .page-hero--devis:before{background:radial-gradient(circle at 75% 20%,rgba(47,124,255,.18),transparent 40%),linear-gradient(90deg,var(--blue-950) 0%,var(--blue-900) 60%,var(--blue-950) 100%)}
  .page-hero--devis .page-hero__inner{max-width:none}
}

/* ============================================================
   CONTENT SECTIONS (shared across inner pages)
============================================================ */
.content-section{padding:var(--section-py) 0}
@media (max-width:800px){.content-section{padding:var(--section-py-mobile) 0}}
.lede{max-width:640px;color:#78859a;font-size:18px;line-height:1.75}
.section-dark .lede{color:var(--muted-strong)}

/* ============================================================
   FILTER CHIPS
============================================================ */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 40px}
.chip{border:1px solid var(--line-dark);background:transparent;color:#5c6879;font-size:13px;font-weight:600;padding:10px 18px;border-radius:999px;cursor:pointer;transition:all var(--fast) var(--ease)}
.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.section-dark .chip{border-color:var(--line);color:var(--muted-strong)}
.section-dark .chip.is-active{background:var(--yellow);border-color:var(--yellow);color:#101827}

/* ============================================================
   SPORT VISUAL PICKER (sport.html)
============================================================ */
.sport-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0 32px}
.sport-tile{position:relative;display:block;aspect-ratio:3/2;border-radius:14px;overflow:hidden;border:0;margin:0;padding:0;background:var(--blue-900)}
.sport-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.sport-tile:hover img{transform:scale(1.04)}
@media (max-width:1100px){.sport-visual-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.sport-visual-grid{grid-template-columns:1fr}}

/* ============================================================
   SHOP GRID (textile / sport catalogues)
============================================================ */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.shop-card{position:relative;border:1px solid var(--line-dark);border-radius:var(--radius-sm);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform var(--fast) var(--ease),box-shadow var(--medium) var(--ease)}
.shop-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(6,17,38,.1)}
.shop-card__art{aspect-ratio:1/1;overflow:hidden;background:linear-gradient(135deg,#0a1830,#1d4d9e)}
.shop-card__art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.shop-card:hover .shop-card__art img{transform:scale(1.06)}
.shop-card__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.shop-card__cat{font-size:11px;letter-spacing:.14em;color:var(--muted-on-light);text-transform:uppercase}
.shop-card__body h3{font:600 20px var(--font-display);margin:0;letter-spacing:-.02em}
.shop-card__body p{margin:0;font-size:14px;color:#6b7689;line-height:1.55;flex:1}
.shop-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:13px;font-weight:700;color:var(--blue)}
.section-dark .shop-card{background:#0b1730;border-color:var(--line)}
.section-dark .shop-card__body p{color:#94a0b6}
.section-dark .shop-card__cat{color:var(--muted-strong)}
@media (max-width:1100px){.shop-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.shop-grid{grid-template-columns:1fr}}

/* ============================================================
   VALUE / METHOD CARDS (à propos)
============================================================ */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:800px){.value-grid--2{grid-template-columns:1fr}}
.value-card{border:1px solid var(--line-dark);border-radius:var(--radius-sm);padding:32px 26px;background:#fff}
.value-card strong{display:block;font:600 15px var(--font-display);color:var(--blue);margin-bottom:14px}
.value-card h3{font:600 24px var(--font-display);margin:0 0 12px;letter-spacing:-.02em;color:var(--ink)}
.value-card p{margin:0;color:#6b7689;font-size:15px;line-height:1.65}
@media (max-width:800px){.value-grid{grid-template-columns:1fr}}

.method-list{border-top:1px solid var(--line)}
.method-row{display:grid;grid-template-columns:55px 1fr;gap:20px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.method-row>span{font-size:12px;color:var(--muted-on-light)}
.method-row h3{font:600 26px var(--font-display);margin:0 0 8px;letter-spacing:-.02em}
.method-row p{margin:0;color:var(--muted-on-light);font-size:16px;line-height:1.65;max-width:560px}

/* ============================================================
   STATS ROW
============================================================ */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}
.stats-row div{border:1px solid var(--line);border-radius:var(--radius-sm);padding:26px 22px}
.stats-row strong{display:block;font:600 40px var(--font-display);color:var(--yellow);margin-bottom:8px}
.stats-row span{font-size:12px;letter-spacing:.1em;color:var(--muted-strong)}
@media (max-width:800px){.stats-row{grid-template-columns:1fr 1fr}}

/* ============================================================
   MINI CTA BAND
============================================================ */
.mini-cta{background:var(--blue);border-radius:var(--radius);padding:54px 50px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden}
.mini-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,237,0,.16),transparent 40%)}
.mini-cta__copy{position:relative;z-index:2;max-width:520px}
.mini-cta__copy h2{font:600 clamp(28px,3.6vw,42px)/1.1 var(--font-display);letter-spacing:-.03em;margin:0 0 10px;color:#fff}
.mini-cta__copy p{margin:0;color:#e3e9f7;font-size:16px;line-height:1.6}
.mini-cta__actions{position:relative;z-index:2;display:flex;gap:12px;flex-wrap:wrap}

/* ============================================================
   QUOTE FORM (devis.html)
============================================================ */
.contact-form__row--3{grid-template-columns:1fr 1fr 1fr}
.contact-form__field select{font:inherit;font-size:17px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;appearance:none}
.contact-form__field select option{color:#101827}
.section-light .contact-form__field label{color:#3c4a63}
.section-light .contact-form__field input,.section-light .contact-form__field textarea,.section-light .contact-form__field select{border-color:var(--line-dark);background:#fff;color:var(--ink)}
.section-light .contact-form__field input::placeholder,.section-light .contact-form__field textarea::placeholder{color:#8b96a8}
.section-light .contact-form__field input:focus,.section-light .contact-form__field textarea:focus,.section-light .contact-form__field select:focus{border-color:var(--blue);background:#fff}
.section-light .contact-form__status{color:#3c6b3f}
@media (max-width:800px){.contact-form__row--3{grid-template-columns:1fr}}

/* ============================================================
   STUDIO → DEVIS HANDOFF (résumé de configuration importé)
============================================================ */
.studio-handoff{display:flex;gap:18px;align-items:center;padding:18px 20px;border-radius:14px;background:rgba(47,124,255,.07);border:1px solid rgba(47,124,255,.22);margin:0 0 26px}
.studio-handoff[hidden]{display:none}
.studio-handoff img{width:84px;height:84px;object-fit:cover;border-radius:10px;flex-shrink:0;background:var(--surface-light)}
.studio-handoff strong{display:block;font:600 15px var(--font-display);color:var(--ink);margin-bottom:4px}
.studio-handoff p{margin:0;font-size:13.5px;color:#4a5872;line-height:1.55}

/* ============================================================
   ACCESSIBILITY — FOCUS
============================================================ */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--yellow);color:#101827;font-weight:700;padding:12px 18px;border-radius:10px;transition:top var(--fast) var(--ease)}
.skip-link:focus{top:16px}

/* ============================================================
   BADGES
============================================================ */
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:999px;background:rgba(255,237,0,.14);color:#a9791f;border:1px solid rgba(255,237,0,.4)}
.section-dark .badge{background:rgba(255,237,0,.14);color:var(--yellow-soft);border-color:rgba(255,237,0,.3)}
.badge--soon{background:rgba(47,124,255,.12);color:var(--blue);border-color:rgba(47,124,255,.3)}
.section-dark .badge--soon{background:rgba(91,156,255,.14);color:var(--blue-electric);border-color:rgba(91,156,255,.3)}

/* ============================================================
   MULTI-STEP FORM SECTIONS (devis.html)
============================================================ */
.form-section{border-top:1px solid var(--line-dark);padding:34px 0}
.form-section:first-child{border-top:0;padding-top:0}
.form-section__head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.form-section__head span{font:600 13px var(--font-display);color:var(--blue);background:rgba(47,124,255,.1);width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.form-section__head h2{font:600 22px var(--font-display);margin:0;letter-spacing:-.01em}
.form-section__hint{margin:-14px 0 20px 44px;color:#78859a;font-size:14px}
.required-note{font-size:13px;color:#78859a;margin:0 0 30px}
.required-note b{color:#c0392b}
.contact-form__field label b{color:#c0392b;font-weight:700;margin-left:2px}
.field-error{display:none;color:#c0392b;font-size:13px;margin-top:4px}
.contact-form__field.has-error input,.contact-form__field.has-error textarea,.contact-form__field.has-error select{border-color:#c0392b;background:rgba(192,57,43,.05)}
.contact-form__field.has-error .field-error{display:block}

/* ============================================================
   FILE UPLOAD
============================================================ */
.file-drop{border:1.5px dashed var(--line-dark);border-radius:14px;padding:26px;text-align:center;cursor:pointer;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}
.file-drop:hover,.file-drop.is-dragover{border-color:var(--blue);background:rgba(47,124,255,.04)}
.file-drop input[type="file"]{display:none}
.file-drop__label{font-weight:700;color:var(--ink);font-size:15px}
.file-drop__hint{display:block;margin-top:6px;font-size:13px;color:#78859a}
.file-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.file-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface-light);border-radius:10px;padding:9px 14px;font-size:14px;color:#3c4a63}
.file-list button{background:none;border:0;color:#c0392b;font-weight:700;cursor:pointer;font-size:13px}

/* ============================================================
   FORM ALERTS (succès / erreur)
============================================================ */
.form-alert{display:none;align-items:flex-start;gap:14px;padding:20px 22px;border-radius:14px;margin:22px 0;font-size:15px;line-height:1.6}
.form-alert.is-visible{display:flex}
.form-alert__icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px}
.form-alert--success{background:rgba(46,160,90,.1);border:1px solid rgba(46,160,90,.35);color:#1d5f38}
.form-alert--success .form-alert__icon{background:#2ea05a;color:#fff}
.form-alert--error{background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:#8a2a20}
.form-alert--error .form-alert__icon{background:#c0392b;color:#fff}
.form-alert h3{margin:0 0 4px;font:600 16px var(--font-display)}
.form-alert p{margin:0}
.honeypot-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.button[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}

/* ============================================================
   TOPTEX IFRAME EMBED
============================================================ */
.iframe-embed{position:relative;width:100%;min-height:640px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line-dark);background:var(--surface-light)}
.iframe-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.iframe-embed__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;text-align:left;padding:40px 44px;color:#5c6879}
.iframe-embed__placeholder strong{font:600 20px var(--font-display);color:var(--ink)}
.iframe-embed__placeholder p{margin:0;max-width:52ch;line-height:1.65}
@media (max-width:480px){.iframe-embed__placeholder{padding:28px 24px}}
@media (max-width:800px){.iframe-embed{min-height:520px}}
@media (max-width:480px){.iframe-embed{min-height:440px}}

/* ============================================================
   SPACING UTILITIES — remplace les style="margin/padding" inline
   présents ponctuellement dans les pages (valeurs figées, pas de
   nouvelle échelle : uniquement ce qui était déjà utilisé).
============================================================ */
.pt-0{padding-top:0}
.pb-0{padding-bottom:0}
.pb-56{padding-bottom:56px}
.pb-60{padding-bottom:60px}
.mb-20{margin-bottom:20px}
.mt-24{margin-top:24px}
.mt-28{margin-top:28px}
.mt-34{margin-top:34px}

/* ============================================================
   SHOP CARD — art icône (catalogue textile, pas de photo produit)
============================================================ */
.shop-card__art--icon{display:grid;place-items:center}
.shop-card__art--icon svg{width:42%;height:42%;stroke:rgba(255,255,255,.85);fill:none;stroke-width:1.4;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}

/* ============================================================
   QUOTE FORM — largeur, checkbox de consentement, erreur fichier
   (remplace les style="" inline précédemment codés en dur)
============================================================ */
.contact-form--wide{max-width:780px}
.contact-form__field--checkbox{flex-direction:row;align-items:flex-start;gap:10px}
.consent-checkbox{width:18px;height:18px;margin-top:3px;flex-shrink:0}
.consent-label{text-transform:none;letter-spacing:0;font-size:15px}
.field-error--file{display:block;min-height:18px}
.quote-submit{margin-top:24px}
.text-link--brand{color:var(--blue)}
.text-link--button{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-size:14px;font-weight:700}

/* ============================================================
   QUOTE FORM — stepper de progression (7 sections)
============================================================ */
.form-progress{position:sticky;top:90px;z-index:5;display:flex;gap:6px;margin:0 0 36px;padding:10px;border-radius:999px;background:#fff;border:1px solid var(--line-dark);box-shadow:0 10px 30px rgba(6,17,38,.06)}
.form-progress__step{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:999px;border:0;background:transparent;color:#9aa4b5;font:600 12px var(--font-display);cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}
.form-progress__step i{width:22px;height:22px;border-radius:50%;background:var(--surface-light);display:grid;place-items:center;font-style:normal;font-size:11px;flex-shrink:0}
.form-progress__step span{display:none}
.form-progress__step.is-current{background:var(--ink);color:#fff}
.form-progress__step.is-current i{background:var(--yellow);color:#101827}
.form-progress__step.is-done i{background:var(--blue);color:#fff}
@media (min-width:960px){.form-progress__step span{display:inline}}
@media (max-width:800px){.form-progress{top:76px;overflow-x:auto;-webkit-overflow-scrolling:touch}.form-progress__step{flex:none;padding:0 10px}}
