/* Fonts: Ranade (ITF Free Font License), Archivo and IBM Plex Mono (SIL Open Font License).
   Archivo is reduced to the logo's single style (600, 125 % wide). */
@font-face {
  font-family: 'Ranade';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url(fonts/Ranade-Variable.woff2) format('woff2');
  /* no-break space excluded: Ranade draws it too wide */
  unicode-range: U+0000-009F, U+00A1-FFFF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/Archivo-600-wide-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 125%;
  font-display: swap;
  src: url(fonts/Archivo-600-wide-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/IBMPlexMono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/IBMPlexMono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/IBMPlexMono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/IBMPlexMono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --fs:.9;
  --canvas:#F1EBE1;
  --panel:#F7F3EC;
  --slate:#183132;
  --slate-2:#1D3838;
  --slate-3:#264242;
  --accent:#CC9A62;
  --accent-hover:#D7A872;
  --accent-muted:rgba(204,154,98,.28);
  --accent-ink:#7A4E26;
  --text-primary:#1B2A2B;
  --text-secondary:#55524C;
  --on-slate:#F3EEE6;
  --on-slate-2:#B9C7C4;
  --rule:#8F9D9B;
  --rule-slate:#3F5B5A;
  --f-display:"Ranade",system-ui,sans-serif;
  --f-body:"Ranade",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --gutter:clamp(16px,5vw,80px);
  --sec-y:clamp(64px,7vw,104px);
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font-family:var(--f-body);font-size:calc(clamp(1.02rem,.97rem + .25vw,1.14rem) * var(--fs));line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;animation:pagein .9s var(--ease-out) both}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.04;letter-spacing:-.012em;margin:0}
p{margin:0}
.mono{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.nowrap{white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--accent);color:var(--slate);padding:10px 16px;font-family:var(--f-mono);font-size:calc(.8rem * var(--fs));text-decoration:none;transition:top .25s var(--ease-out)}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}
@keyframes pagein{from{opacity:0}to{opacity:1}}
@keyframes pathin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes breathe{0%,100%{opacity:.55}50%{opacity:.95}}

/* Buttons */
.btn{--bg:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.85em 1.5em;background:var(--bg);color:var(--slate);border:1px solid var(--bg);font-family:var(--f-display);font-weight:500;font-size:calc(.98rem * var(--fs));letter-spacing:.01em;text-decoration:none;cursor:pointer;text-shadow:none;transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out),color .35s var(--ease-out),transform .35s var(--ease-out)}
.btn:hover{--bg:var(--accent-hover);transform:translateY(-1px)}
.btn .glyph{width:10px;height:14px;border:1.4px solid currentColor;position:relative;flex:none}
.btn .glyph::after{content:"";position:absolute;right:1px;top:1px;width:3px;height:4px;background:currentColor}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-ghost:hover{background:rgba(243,238,230,.08);--bg:transparent}
.btn-line{background:transparent;color:var(--text-primary);border-color:var(--text-primary)}
.btn-line:hover{--bg:transparent;background:rgba(24,49,50,.05)}

/* Header */
.site-head{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);color:var(--on-slate);transition:background-color .45s var(--ease-out),color .45s var(--ease-out),padding .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.site-head.solid{background:rgba(241,235,225,.94);color:var(--text-primary);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 rgba(24,49,50,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.brand .seal{width:52px;height:52px;flex:none}
.brand .lockup{display:flex;flex-direction:column;gap:6px;line-height:1}
.brand .name{font-family:"Archivo",system-ui,sans-serif;font-stretch:125%;font-weight:600;font-size:1.06rem;letter-spacing:.22em;margin-right:-.22em;white-space:nowrap}
.site-head .brand{margin-block:-4px}
.site-head:not(.solid) .brand,.site-head:not(.solid) .nav a{text-shadow:0 1px 10px rgba(8,12,16,.55)}
.nav{display:flex;align-items:center;--ng:clamp(18px,2.4vw,36px);gap:var(--ng)}
.nav a{white-space:nowrap;text-decoration:none;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400;padding:6px 0;position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-btn{display:none;background:none;border:1px solid currentColor;color:inherit;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;min-height:44px;cursor:pointer}
@media (min-width:1280px){
  .nav a:not(.btn) + a:not(.btn)::before{content:"";position:absolute;left:calc(var(--ng) / -2);top:50%;width:1px;height:12px;margin-top:-6px;background:currentColor;opacity:.4}
}
@media (max-width:1279px){
  .nav{position:fixed;inset:0 0 auto 0;top:0;flex-direction:column;align-items:flex-start;gap:6px;padding:84px var(--gutter) 28px;background:var(--slate);color:var(--on-slate);transform:translateY(-102%);transition:transform .5s var(--ease-io);z-index:-1}
  .nav a{font-size:calc(.85rem * var(--fs));padding:12px 0}
  .nav.open{transform:none}
  .menu-btn{display:inline-flex;align-items:center}
  .site-head.menu-open{color:var(--on-slate);background:transparent;box-shadow:none}
}
/* six entries: a little tighter until the screen is wide enough */
@media (min-width:1280px) and (max-width:1439px){.nav{--ng:clamp(14px,1.5vw,22px)}.nav a{letter-spacing:.1em}}
@media (max-width:720px){.brand .seal{width:46px;height:46px}.brand .name{font-size:.94rem}}

/* Background texture and scroll progress line */
.env{position:fixed;inset:-10% -10%;z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='96' viewBox='0 0 72 96'%3E%3Cg fill='none' stroke='%23183132' stroke-opacity='.06' stroke-width='1'%3E%3Crect x='14' y='14' width='16' height='26'/%3E%3Crect x='42' y='14' width='16' height='26'/%3E%3Crect x='14' y='58' width='16' height='26'/%3E%3Crect x='42' y='58' width='16' height='26'/%3E%3C/g%3E%3C/svg%3E");animation:drift 120s linear infinite}
.env::after{content:"";position:absolute;inset:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .14 0 0 0 0 .18 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-72px,-96px,0)}}
.axis{position:fixed;left:calc(var(--gutter)/2 - 1px);top:0;bottom:0;width:2px;z-index:40;pointer-events:none;opacity:0;transition:opacity .6s var(--ease-out)}
.axis.on{opacity:1}
.axis::before{content:"";position:absolute;inset:0;background:rgba(143,157,155,.25)}
.axis i{position:absolute;inset:0;background:var(--accent);transform-origin:top;transform:scaleY(0)}
@media (max-width:1100px){.axis{display:none}}

/* Hero: the film starts under the 68px header so the tower's spire is never covered */
.hero{position:relative;height:100vh;height:100svh;background:var(--slate)}
.stage{position:relative;height:100vh;height:100svh;overflow:hidden;background:var(--slate)}
.poster{position:absolute;inset:68px 0 0;background-size:cover;background-position:100% 50%;background-repeat:no-repeat}
.stage video{position:absolute;inset:68px 0 0;width:100%;height:calc(100% - 68px);object-fit:cover;object-position:100% 50%;opacity:0;transition:opacity 1.2s var(--ease-out);will-change:transform;transform:translateZ(0)}
.stage.video-ready video{opacity:1}
/* title block, kept left of the tower: the film ends with the tower's left edge at 100vw - 58.3vh */
.stackhero{--tw:min(760px,calc(100vw - 58.3vh - var(--gutter) - 76px));position:absolute;left:var(--gutter);top:calc(68px + clamp(28px,5vh,56px));width:var(--tw);display:block;color:var(--text-primary);text-shadow:none;pointer-events:none}
.stackhero h1.band,.static-copy h1.band{font-size:var(--fit,1.5rem);line-height:1.1}
.stackhero .offer{margin-top:clamp(20px,3.2vh,32px)}
.stackhero .offer-list{font-size:clamp(1.05rem,calc(.55rem + .45vw + .35vh),1.38rem)}
/* light card behind it, so it reads on any part of the film */
.stackhero .b-top{margin:-22px -28px;padding:22px 28px 26px;background:rgba(241,235,225,.92);border-radius:14px;box-shadow:0 14px 34px -22px rgba(24,49,50,.5);animation:pagein .6s var(--ease-out) both}
.cue{position:absolute;left:var(--gutter);bottom:28px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:var(--text-primary);opacity:0;transition:opacity .8s var(--ease-out);text-shadow:none}
.cue.show{opacity:.85}
.cue.show.gone{opacity:0}
.cue .mono{background:var(--canvas);color:var(--text-primary);padding:6px 12px 5px;border-radius:999px}
.cue .line{width:1px;height:46px;background:linear-gradient(var(--accent),rgba(204,154,98,0));transform-origin:top;animation:cue 2.6s var(--ease-io) infinite}
@keyframes cue{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.static-copy{display:none}
@media (max-height:560px){.cue{display:none}}

/* The three services on a gold rule ending in an arrow head */
.offer{position:relative;display:flow-root}
.offer::before{content:"";position:absolute;left:0;right:3px;top:0;height:2px;background:var(--accent);transform-origin:left}
.offer::after{content:"";position:absolute;left:calc(100% - 15px);top:-5px;width:12px;height:12px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);transform:rotate(45deg)}
/* starts 6px above the rule so the reveal mask also covers the squares */
.offer-list{list-style:none;margin:-6px 0 0;padding:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(14px,2.2vw,32px);font-family:var(--f-display);color:var(--text-primary)}
.offer-list li{position:relative;line-height:1.25}
.offer-list li::before{content:"";position:absolute;left:0;top:-22px;width:10px;height:10px;background:var(--accent)}
.offer-list .n{display:block;font-family:var(--f-mono);font-size:.62em;letter-spacing:.16em;margin-bottom:.55em}
.offer-list b{display:block;font-weight:600}
.offer-list .s{display:block;font-weight:400;font-size:.88em;margin-top:.15em}

/* Opening: the rule draws itself and the text follows its tip (mask 2.5x wider, moving 1.5x faster) */
.hero h1.band,.hero .offer-list{-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent 60%);mask-image:linear-gradient(90deg,#000 40%,transparent 60%);-webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:hero-wipe 1.2s linear .35s both}
.hero .offer::before{animation:bar-draw .8s linear .35s both}
.hero .offer::after{animation:bar-tip .8s linear .35s both}
.hero .offer-list li::before{animation:dot-in .35s var(--ease-out) calc(.35s + var(--at,0) * .8s) both}
.hero .offer-list li:nth-child(2){--at:.34}
.hero .offer-list li:nth-child(3){--at:.68}
@keyframes hero-wipe{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes bar-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bar-tip{from{left:-14px;opacity:0}10%{opacity:1}to{left:calc(100% - 15px);opacity:1}}
@keyframes dot-in{from{transform:scale(0)}to{transform:scale(1)}}

/* Phones, tablets, square screens: the whole film on top, the text underneath (same gates as site.js) */
@media (max-width: 720px), (orientation: portrait) and (max-width: 1024px), (orientation: portrait) and (pointer: coarse), (orientation: landscape) and (pointer: coarse) and (max-height: 560px), (prefers-reduced-motion: reduce), (max-aspect-ratio: 3/2){
  .hero{height:auto;background:var(--canvas)}
  .stage{--band:max(56.25vw,min(70vw,620px));position:relative;height:auto;background:var(--canvas)}
  .stackhero,.cue{display:none}
  .poster,.stage video{bottom:auto;height:var(--band)}
  .poster{background-position:60% 0}
  .stage video{object-position:60% 0}
  .static-copy{display:block;position:relative;z-index:2;padding:calc(68px + var(--band) + clamp(28px,5vw,48px)) var(--gutter) clamp(48px,8vw,80px);color:var(--text-primary);text-shadow:none;width:100%}
  .static-copy h1{text-wrap:balance}
  .static-copy .offer{margin-top:clamp(18px,4vw,28px)}
  .static-copy .offer-list{font-size:clamp(.82rem,.55rem + 1.3vw,1.15rem);column-gap:clamp(10px,3vw,28px)}
  .static-copy .btn{margin-top:28px}
}
@media (max-width:340px){.static-copy .offer-list b{-webkit-hyphens:auto;hyphens:auto}}

/* Sections */
section{position:relative;scroll-margin-top:0}
.wrap{width:min(1240px,100% - 2*var(--gutter));margin-inline:auto}
.kicker{display:flex;align-items:center;gap:12px;color:var(--accent-ink)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
.on-slate{background:var(--slate);color:var(--on-slate)}
.on-slate .kicker{color:var(--accent)}
.sec-title{font-size:calc(clamp(2rem,1.2rem + 2.6vw,3.6rem) * var(--fs));margin-top:18px;max-width:none;text-wrap:balance}
.lede{margin-top:20px;color:var(--text-secondary);max-width:58ch}
.on-slate .lede{color:var(--on-slate-2)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*110ms)}
.in .rv{opacity:1;transform:none}
.in.done .rv{transition-delay:0s}
.divider{display:flex;align-items:center;gap:14px;margin-bottom:36px}
.divider svg{flex:1;height:14px;overflow:visible}
.divider line{stroke:var(--rule);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-io)}
.on-slate .divider line{stroke:var(--rule-slate)}
.in .divider line{stroke-dashoffset:0}
.divider .win{width:10px;height:14px;border:1px solid var(--accent);position:relative;flex:none;opacity:0;transition:opacity .6s var(--ease-out) 1.2s}
.divider .win::after{content:"";position:absolute;right:1px;top:1px;width:3px;height:4px;background:var(--accent)}
.in .divider .win{opacity:1}
.live .lit{animation:breathe 6s ease-in-out -3s infinite}

/* Le cabinet: heading across both columns, text left, portrait right */
.cabinet{padding:var(--sec-y) 0}
.cabinet .grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:repeat(4,auto);column-gap:clamp(40px,6vw,96px);align-items:start}
.cabinet .grid > div:first-child{display:contents}
.cabinet .grid .kicker{grid-column:1 / -1;grid-row:1}
.cabinet .grid .sec-title{grid-column:1 / -1;grid-row:2}
.cabinet .grid .body,.cabinet .grid .facts{grid-column:1}
.cabinet .body{margin-top:28px;max-width:56ch;font-size:calc(clamp(1.08rem,1rem + .35vw,1.26rem) * var(--fs));line-height:1.62}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:48px;border-top:1px solid rgba(24,49,50,.18)}
.fact{padding:22px 18px 22px 0;border-bottom:1px solid rgba(24,49,50,.18);display:flex;align-items:baseline;gap:14px}
.fact b{font-family:var(--f-display);font-weight:500;font-size:calc(clamp(1.7rem,1.2rem + 1.4vw,2.4rem) * var(--fs));line-height:1;color:var(--text-primary)}
.fact span{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}
.portrait{position:relative;margin-top:8px}
.portrait .frame{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#264242,#183132 70%);overflow:hidden;box-shadow:0 30px 60px -30px rgba(24,49,50,.45)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 9%}
.portrait figcaption{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline}
.portrait figcaption span{white-space:nowrap}
.portrait figcaption .name{font-family:var(--f-display);font-weight:500;font-size:calc(1.05rem * var(--fs))}
.portrait figcaption .role{color:var(--text-secondary)}
.cabinet .portrait{grid-column:2;grid-row:3 / span 2;align-self:stretch;display:flex;flex-direction:column;margin-top:28px;margin-bottom:0}
.cabinet .portrait .frame{flex:1;aspect-ratio:auto;min-height:220px}
@media (max-width:980px){
  .cabinet .grid{grid-template-columns:1fr;grid-template-rows:none}
  .portrait{max-width:420px}
  .cabinet .portrait{grid-column:1;grid-row:auto;margin-top:48px}
  .cabinet .portrait .frame{flex:none;aspect-ratio:3/4}
}
@media (max-width:560px){.facts{grid-template-columns:1fr}}

/* Métiers */
.metiers{padding:clamp(32px,3vw,44px) 0 var(--sec-y)}
.metiers .divider{margin-bottom:24px}
.metiers .pano{margin:clamp(48px,5vw,72px) 0 0}
.metiers .pano picture{display:block}
.metiers .pano img{display:block;width:100%;height:auto;aspect-ratio:2500/741;max-height:620px;object-fit:cover}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,28px);margin-top:clamp(28px,3vw,40px)}
.trio article{--pad:clamp(22px,2.4vw,36px);position:relative;display:flex;flex-direction:column;background:var(--slate-2);border-top:2px solid var(--accent);padding:clamp(26px,2.6vw,38px) var(--pad) clamp(24px,2.4vw,34px)}
.trio article::before{content:"";position:absolute;left:var(--pad);top:-5px;width:8px;height:8px;background:var(--accent)}
.trio .num{order:0;color:var(--accent)}
.trio h3{order:1;font-size:calc(clamp(1.45rem,1.1rem + .8vw,1.85rem) * var(--fs));line-height:1.1;margin-top:14px;text-wrap:balance}
.trio p.d{order:3;margin:18px 0 26px;color:#DCE2E0;font-size:18px;line-height:1.65}
.trio p.d b{font-weight:600;color:var(--on-slate)}
.trio .meta{order:4;margin:auto 0 0;padding-top:16px;border-top:1px solid var(--rule-slate);color:var(--on-slate-2);font-size:calc(.98rem * var(--fs));line-height:1.55}
/* side by side, years, titles, texts and facts line up across the cards */
@media (min-width:1100px){
  .trio article{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .trio .num{grid-row:1}
  .trio h3{grid-row:2}
  .trio p.d{grid-row:3}
  .trio .meta{grid-row:4;align-self:end}
}
@media (max-width:1099px){.trio{grid-template-columns:1fr}}
@media (min-width:641px) and (max-width:1099px){
  .trio article{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"num d" "h3 d" ". d" ". meta";column-gap:clamp(24px,4vw,44px)}
  .trio .num{grid-area:num}
  .trio h3{grid-area:h3}
  .trio p.d{grid-area:d;margin:0}
  .trio .meta{grid-area:meta;margin-top:20px}
}
@media (max-width:980px){.metiers .pano img{height:clamp(180px,40vw,360px)}}

/* Secteurs (two marquees; one list is always wider than the screen so the loop is seamless) */
.secteurs{padding:48px 0;border-top:1px solid rgba(24,49,50,.14);border-bottom:1px solid rgba(24,49,50,.14);overflow:hidden;background:var(--panel)}
.secteurs .lbl{text-align:center;color:var(--text-secondary);margin-bottom:22px}
.track{--sg:max(20px,2.9vw);display:flex;width:max-content}
.t2{margin-top:clamp(10px,1.4vw,18px)}
.live .t1{animation:marquee 80s linear -18s infinite}
.live .t2{animation:marquee-rev 96s linear -41s infinite}
.track ul{display:flex;list-style:none;margin:0;padding:0}
.track li{font-family:var(--f-display);font-weight:400;font-size:calc(clamp(1.25rem,1rem + .9vw,1.9rem) * var(--fs));white-space:nowrap;padding:0 var(--sg) 0 0;display:flex;align-items:center;gap:var(--sg);color:var(--text-primary)}
.track li::after{content:"";width:7px;height:9px;border:1px solid var(--accent-ink);flex:none}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes marquee-rev{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}

/* Valeurs: the gold rule above each value follows the scroll (--p from site.js) */
.valeurs{padding:var(--sec-y) 0}
.vals{position:relative;display:grid;grid-template-columns:1fr;margin-top:clamp(32px,3.6vw,48px);border-top:1px solid var(--rule-slate)}
.val{display:grid;grid-template-columns:clamp(34px,3.6vw,56px) minmax(0,clamp(180px,21vw,300px)) minmax(0,1fr);column-gap:clamp(16px,2.4vw,40px);align-items:baseline;padding:clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--rule-slate);position:relative}
.val .n{color:var(--accent)}
.val h3{font-size:calc(clamp(1.6rem,1.1rem + 1.3vw,2.4rem) * var(--fs));margin:0}
.val p{margin:0;max-width:60ch;color:#DCE2E0;font-size:18px;line-height:1.6}
.val p b{font-weight:600;color:var(--on-slate)}
.val::before,.vals::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--accent);transform:scaleX(var(--p,0));transform-origin:left;transition:transform .2s linear}
.vals::after{top:auto;bottom:0}
@media (max-width:640px){
  .val{grid-template-columns:auto minmax(0,1fr);column-gap:14px;padding:26px 0}
  .val p{grid-column:1 / -1;margin-top:10px}
}

/* Votre situation */
.parcours{padding:var(--sec-y) 0}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,28px);margin-top:clamp(32px,3.6vw,48px)}
.path{--pad:clamp(22px,2.4vw,36px);position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid rgba(24,49,50,.12);border-top:2px solid var(--slate);padding:clamp(26px,2.6vw,38px) var(--pad) clamp(28px,2.8vw,40px)}
.path-num{color:var(--accent-ink)}
.path h3{font-size:calc(clamp(1.45rem,1.1rem + .8vw,1.9rem) * var(--fs));line-height:1.1;margin-top:14px;max-width:17ch;text-wrap:balance}
.path-btn{align-self:flex-start;justify-self:start;margin-top:22px}
.path-lead{margin-top:30px;padding-top:24px;border-top:1px solid rgba(24,49,50,.14);font-family:var(--f-display);font-size:calc(clamp(1.08rem,1rem + .3vw,1.22rem) * var(--fs));line-height:1.4;color:var(--text-primary)}
@media (min-width:1100px){
  .path{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .path-num{grid-row:1}
  .path h3{grid-row:2}
  .path-btn{grid-row:3;align-self:start}
  .path-lead{grid-row:4}
}
@media (max-width:1099px){.paths{grid-template-columns:1fr}}
@media (min-width:641px) and (max-width:1099px){
  .path{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"num lead" "h3 lead" "btn lead";column-gap:clamp(24px,4vw,48px)}
  .path-num{grid-area:num}
  .path h3{grid-area:h3}
  .path-btn{grid-area:btn;align-self:start}
  .path-lead{grid-area:lead;align-self:stretch;display:flex;align-items:center;margin:0;padding:0 0 0 clamp(24px,4vw,48px);border:0;border-left:1px solid rgba(24,49,50,.14)}
}

/* Questions fréquentes */
.faq{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:20px clamp(32px,5vw,80px);align-items:start;margin-top:clamp(56px,6vw,88px)}
.faq-t{font-size:calc(clamp(1.45rem,1.1rem + .8vw,1.9rem) * var(--fs));line-height:1.1;padding-top:20px}
.faq-more{margin-top:14px;color:var(--text-secondary);max-width:34ch}
.faq-more a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .3s var(--ease-out)}
.faq-more a:hover{color:var(--accent-ink)}
.faq details{border-top:1px solid rgba(24,49,50,.18)}
.faq details:last-child{border-bottom:1px solid rgba(24,49,50,.18)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:24px 0;min-height:44px;font-family:var(--f-display);font-weight:500;font-size:calc(clamp(1.08rem,1rem + .4vw,1.3rem) * var(--fs))}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none;width:14px;height:14px;position:relative;align-self:center}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--accent-ink);transition:transform .45s var(--ease-out)}
.faq summary .pm::after{transform:rotate(90deg)}
.faq details[open] summary .pm::after{transform:rotate(0)}
.faq .ans{padding:0 40px 26px 0;color:var(--text-secondary);max-width:62ch}
.faq details[open] .ans{animation:pathin .6s var(--ease-out) both}
@media (max-width:980px){.faq{grid-template-columns:1fr}.faq-t{padding-top:0}}

/* Contact */
.contact{padding:var(--sec-y) 0;overflow:hidden}
.contact .bgimg{position:absolute;inset:0;background-size:cover;background-position:50% 40%;opacity:.22}
.contact .bgimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--slate) 0%,rgba(24,49,50,.4) 40%,var(--slate) 100%)}
.contact .kicker,.contact .sec-title{position:relative}
.contact .grid{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,100px);align-items:start;margin-top:clamp(28px,3vw,40px)}
.contact .grid .lede{margin-top:0}
.coords{margin-top:44px;display:grid;gap:22px;font-size:calc(1rem * var(--fs))}
.coords .mono{color:var(--on-slate-2);display:block;margin-bottom:6px}
.coords a{text-decoration:none;border-bottom:1px solid var(--accent-muted);transition:border-color .4s var(--ease-out)}
.coords a:hover{border-color:var(--accent)}
.coords p{color:var(--on-slate)}
.coords .acc{color:var(--on-slate-2)}
@media (max-width:980px){.contact .grid{grid-template-columns:1fr}}

/* Forms (contact on dark, CV on light) */
form{background:var(--slate-2);padding:clamp(24px,3.4vw,44px);border:1px solid rgba(243,238,230,.07)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-slate-2)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--on-slate);background:rgba(10,14,18,.35);border:1px solid #4F6B6A;padding:12px 14px;min-height:48px;border-radius:0;transition:border-color .35s var(--ease-out),background-color .35s var(--ease-out);-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--on-slate-2) 50%),linear-gradient(135deg,var(--on-slate-2) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.field select option{color:var(--text-primary);background:#fff}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background-color:rgba(10,14,18,.5)}
.field input::placeholder,.field textarea::placeholder{color:#8FA3A1}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}
.err{color:#E7B7A6;font-size:calc(.9rem * var(--fs));min-height:1.2em;margin-top:12px}
.form-ok{display:none;padding:8px 0}
.form-ok h3{font-size:calc(1.6rem * var(--fs))}
.form-ok p{margin-top:12px;color:var(--on-slate-2)}
form.sending .btn{opacity:.75;cursor:progress}
form.sent .fields,form.sent .form-foot,form.sent .sit,form.sent .ts,form.sent .err,form.sent .cand-band{display:none}
form.sent .form-ok{display:block;animation:pathin .7s var(--ease-out) both}
@media (max-width:560px){.fields{grid-template-columns:1fr}}

/* Contact form */
.cand-band{margin:0 0 28px;padding:16px 18px 16px 20px;background:rgba(204,154,98,.1);border:1px solid var(--accent-muted);border-left:3px solid var(--accent)}
.cand-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.cand-band p{margin:0;color:var(--on-slate);font-size:calc(1rem * var(--fs));line-height:1.45}
.cand-row p{flex:1 1 200px;font-size:calc(1.08rem * var(--fs))}
.cand-band b{font-weight:600}
.cand-band .cand-else{margin-top:14px;padding-top:12px;border-top:1px solid var(--accent-muted);color:var(--on-slate-2)}
.cand-band .btn{min-height:44px;padding:.6em 1.2em;color:var(--accent);border-color:var(--accent)}
.cand-band .btn:hover{background:var(--accent);color:var(--slate)}
.sit{border:0;margin:0 0 26px;padding:0;min-width:0}
.sit legend{padding:0;margin-bottom:12px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-slate-2)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:10px 18px;border:1px solid #4F6B6A;color:var(--on-slate);font-family:var(--f-display);font-weight:400;font-size:calc(.98rem * var(--fs));transition:background-color .35s var(--ease-out),border-color .35s var(--ease-out),color .35s var(--ease-out)}
.chip:hover span{border-color:var(--accent)}
.chip input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--slate)}
.chip input:focus-visible + span{outline:2px solid var(--accent);outline-offset:3px}
#contact-form .ts{min-height:65px;margin-top:18px}
#contact-form .ts:empty{min-height:0;margin:0}
#contact-form .form-note{margin-top:18px;font-size:calc(.86rem * var(--fs));color:var(--on-slate-2)}
#contact-form .form-note a{color:var(--on-slate);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
#contact-form .form-foot{justify-content:flex-end}
#contact-form.sent .form-note{display:none}
@media (max-width:560px){.cand-band .btn{width:100%}}

/* Footer */
footer{background:#12292A;color:var(--on-slate-2);padding:56px 0 40px;font-size:calc(.95rem * var(--fs))}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:flex-start}
footer .brand{color:var(--on-slate)}
footer .brand .seal{width:64px;height:64px}
footer .tag{margin-top:12px;max-width:40ch}
footer a{text-decoration:none}
footer a:hover{color:var(--on-slate)}
footer .foot-link{margin-top:10px}
footer .foot-link a{color:var(--on-slate);border-bottom:1px solid var(--accent-muted)}
footer .fine{margin-top:40px;padding-top:22px;border-top:1px solid rgba(243,238,230,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
footer .legal-links{display:flex;gap:28px}
footer .legal-links a{color:var(--on-slate-2);position:relative}
footer .legal-links a + a::before{content:"";position:absolute;left:-14px;top:50%;width:1px;height:11px;margin-top:-5.5px;background:currentColor;opacity:.45}

/* Déposer un CV */
.cv-hero{position:relative;overflow:hidden;padding:clamp(120px,12vw,170px) 0 clamp(70px,9vw,120px)}
.cv-hero-bg{position:absolute;inset:0;background:url("metier-transition.jpg") 50% 62%/cover no-repeat;background-image:image-set(url("metier-transition.webp") type("image/webp"),url("metier-transition.jpg") type("image/jpeg"));opacity:.32}
.cv-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--slate) 0%,rgba(24,49,50,.86) 45%,rgba(24,49,50,.45) 100%),linear-gradient(180deg,rgba(24,49,50,.6) 0%,rgba(24,49,50,0) 30%,rgba(24,49,50,0) 70%,var(--slate) 100%)}
.cv-hero .wrap{position:relative}
.cv-hero h1{font-size:calc(clamp(2.4rem,1.3rem + 3.6vw,4.6rem) * var(--fs));max-width:none;text-wrap:balance;margin-top:18px;animation:pathin .9s var(--ease-out) .1s both}
.cv-hero .kicker{animation:pathin .9s var(--ease-out) both}
.cv-hero .lede{max-width:52ch;font-size:calc(clamp(1.05rem,.98rem + .3vw,1.22rem) * var(--fs));color:#D5DCDA;animation:pathin .9s var(--ease-out) .22s both}
.cv-main{padding:clamp(64px,8vw,120px) 0 clamp(90px,11vw,150px)}
.cv-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:start}
.cv-aside{position:sticky;top:110px}
.cv-aside .sec-title{font-size:calc(clamp(1.8rem,1.2rem + 1.8vw,2.8rem) * var(--fs))}
.promises{list-style:none;margin:36px 0 0;padding:0}
.promises li{display:grid;grid-template-columns:26px 1fr;gap:16px;padding:22px 0;border-top:1px solid rgba(24,49,50,.16)}
.promises li:last-child{border-bottom:1px solid rgba(24,49,50,.16)}
.promises .pw{width:14px;height:19px;border:1.4px solid var(--text-primary);position:relative;margin-top:3px}
.promises .pw::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .7px),currentColor calc(50% - .7px),currentColor calc(50% + .7px),transparent calc(50% + .7px)),linear-gradient(180deg,transparent calc(38% - .7px),currentColor calc(38% - .7px),currentColor calc(38% + .7px),transparent calc(38% + .7px))}
.promises .pw::after{content:"";position:absolute;right:1px;top:1px;width:4px;height:5px;background:var(--accent)}
.promises b{font-family:var(--f-display);font-weight:500;font-size:calc(1.1rem * var(--fs))}
.cv-scope{margin-top:26px;color:var(--accent-ink)}
.cv-form{background:var(--panel);border:1px solid rgba(24,49,50,.12);padding:clamp(24px,3.4vw,46px);box-shadow:0 40px 80px -50px rgba(24,49,50,.45)}
.cv-form .field label,.cv-form .field .lbl{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}
.cv-form .opt{text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:calc(.85rem * var(--fs));color:#6F6B65;margin-left:6px}
.cv-form .field input,.cv-form .field select,.cv-form .field textarea{color:var(--text-primary);background-color:#FBF8F3;border:1px solid #A39E96}
.cv-form .field input:focus,.cv-form .field select:focus,.cv-form .field textarea:focus{border-color:var(--accent-ink);background-color:#fff}
.cv-form .field select{background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.cv-form .field label.drop{font-family:var(--f-body);font-size:calc(1rem * var(--fs));letter-spacing:0;text-transform:none;color:var(--text-primary)}
.cv-form .field textarea{min-height:110px}
.cv-form .field input::placeholder,.cv-form .field textarea::placeholder{color:#847E76}
.drop{position:relative;display:block;margin-top:2px;border:1.5px dashed #A39E96;background:#FBF8F3;cursor:pointer;transition:border-color .4s var(--ease-out),background-color .4s var(--ease-out),transform .4s var(--ease-out)}
.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop:hover,.drop.over{border-color:var(--accent-ink);background:#fff}
.drop.over{transform:scale(1.01)}
.drop:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.drop.bad{border-color:#A44B2E;background:#FBF4F1}
.drop-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;text-align:center;pointer-events:none}
.drop-full{display:none;align-items:center;gap:16px;padding:20px 22px;pointer-events:none}
.drop.has-file{border-style:solid;border-color:var(--accent-ink);background:#fff}
.drop.has-file .drop-empty{display:none}
.drop.has-file .drop-full{display:flex}
.drop-t{font-family:var(--f-display);font-weight:500;font-size:calc(1.1rem * var(--fs))}
.drop-s{color:var(--text-secondary);font-size:calc(.98rem * var(--fs))}
.drop-s u{text-decoration-color:var(--accent);text-underline-offset:3px}
.doc{position:relative;width:30px;height:38px;border:1.5px solid var(--text-primary);background:#fff;flex:none;clip-path:polygon(0 0,70% 0,100% 22%,100% 100%,0 100%)}
.doc::after{content:"";position:absolute;right:-1px;top:-1px;width:10px;height:10px;background:var(--text-primary);clip-path:polygon(0 0,100% 100%,0 100%)}
.doc span{position:absolute;left:6px;right:8px;top:16px;height:1.5px;background:#A39E96;box-shadow:0 5px 0 #A39E96,0 10px 0 #A39E96}
.doc.on{border-color:var(--accent-ink)}
.doc.on::after{background:var(--accent)}
.live .drop:not(.has-file) .doc{animation:docfloat 5s ease-in-out -1.5s infinite}
@keyframes docfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.file-meta{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.file-name{font-family:var(--f-display);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-size{font-size:.7rem;letter-spacing:.1em;color:var(--text-secondary)}
.file-change{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);border-bottom:1px solid currentColor;padding-bottom:2px}
.help{display:block;margin-top:8px;font-size:calc(.88rem * var(--fs));color:#66615A}
.consent{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px 14px}
.consent input{flex:none;width:22px;height:22px;min-height:0;margin:2px 0 3px;padding:0;accent-color:var(--accent-ink);-webkit-appearance:auto;appearance:auto}
.consent label{flex:1 1 0;min-width:0}
.cv-form .consent label{font-family:var(--f-body);font-size:calc(.95rem * var(--fs));letter-spacing:0;text-transform:none;line-height:1.5;color:var(--text-primary)}
.cv-form .consent-more{flex:0 0 calc(100% - 36px);margin:0 0 0 36px;font-size:calc(.88rem * var(--fs))}
.cv-form .consent-more a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.cf-turnstile{min-height:65px}
.cv-form .req-note{margin:22px 0 0;font-size:calc(.86rem * var(--fs));color:var(--text-secondary)}
.cv-form .err{color:#A44B2E}
.cv-form .form-foot{justify-content:flex-end}
.progress{flex:1;height:2px;background:rgba(24,49,50,.12);opacity:0;transition:opacity .4s var(--ease-out)}
.progress i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s linear}
.cv-form.sending .progress{opacity:1}
.cv-form.sent .req-note{display:none}
.cv-form .form-ok{text-align:left}
.cv-form .form-ok h3{font-size:calc(clamp(1.5rem,1.2rem + 1vw,2rem) * var(--fs));margin-top:22px}
.cv-form .form-ok p{color:var(--text-secondary);max-width:46ch}
.cv-form .form-ok .btn{margin-top:28px}
.ok-win{display:block;width:30px;height:40px;border:1.6px solid var(--text-primary);position:relative;background:linear-gradient(90deg,transparent calc(50% - .8px),var(--text-primary) calc(50% - .8px),var(--text-primary) calc(50% + .8px),transparent calc(50% + .8px)),linear-gradient(180deg,transparent calc(38% - .8px),var(--text-primary) calc(38% - .8px),var(--text-primary) calc(38% + .8px),transparent calc(38% + .8px)),radial-gradient(ellipse at 60% 30%,#F2D49A,#CC9A62 70%)}
@media (max-width:980px){
  .cv-grid{grid-template-columns:1fr}
  .cv-aside{position:static}
}
@media (max-width:560px){
  .drop-empty{padding:26px 16px}
  .cv-form .form-foot .btn{width:100%}
}

/* Legal pages */
.legal-hero{padding:clamp(128px,14vw,184px) 0 clamp(48px,6vw,80px)}
.legal-hero h1{max-width:20ch}
.legal{padding:clamp(40px,6vw,80px) 0 clamp(72px,9vw,120px)}
.legal-body{max-width:820px}
.legal-body > section + section{margin-top:clamp(36px,4.5vw,56px);padding-top:clamp(36px,4.5vw,56px);border-top:1px solid rgba(24,49,50,.14)}
.legal-body h2{font-size:calc(clamp(1.45rem,1.2rem + .8vw,1.95rem) * var(--fs))}
.legal-body h3{font-size:calc(1.15rem * var(--fs));margin-top:30px}
.legal-body p{margin:14px 0 0;color:var(--text-secondary);max-width:68ch}
.legal-body ul{margin:12px 0 0;padding-left:1.15em;color:var(--text-secondary);max-width:68ch}
.legal-body li{margin-top:8px}
.legal-body li::marker{color:var(--accent)}
.legal-body b{color:var(--text-primary);font-weight:500}
.legal-body a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.legal-body dl{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:12px 28px;margin:20px 0 0}
.legal-body dt{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);padding-top:.35em}
.legal-body dd{margin:0;color:var(--text-primary)}
@media (max-width:560px){.legal-body dl{grid-template-columns:1fr;gap:2px 0}.legal-body dd{margin-bottom:14px}}

/* Reduced motion: everything in its final state */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .divider line{stroke-dashoffset:0}
  .divider .win{opacity:1}
  .val::before,.vals::after{transform:scaleX(1)}
  .axis{display:none}
  .stage video{display:none}
  .hero h1.band,.hero .offer-list{-webkit-mask-image:none;mask-image:none}
  .track{flex-wrap:wrap;width:auto;justify-content:center}
  .track ul[aria-hidden="true"]{display:none}
  .track ul{flex-wrap:wrap;justify-content:center;row-gap:10px;min-width:0}
}
