/* ============================================================================
   CELLARHAND · HOME PAGE STYLES  (used by index.html)
   ----------------------------------------------------------------------------
   HOW TO MAKE COMMON CHANGES
   • Brand colours .... the :root block right below (TOKENS). Change a hex value
                        there and it updates across the whole page.
   • Fonts ............ --serif and --body in TOKENS.
   • Jump to a part ... every major area has a banner comment like  ===== MASTHEAD =====
                        Use your editor's search to jump to the names below.
   • Units ............ spacing uses rem; 1rem = 16px.

   SECTION MAP
     TOKENS ............... brand colours, fonts, spacing variables
     BASE ................. reset + base typography
     THE WINE GLASS ....... the custom cursor that fills with wine
     METRO TABS ........... right-side section nav (desktop)
     METRO DOCK ........... bottom section nav (tablet / mobile)
     BUTTONS .............. call-to-action buttons
     MASTHEAD ............. top bar (logo + Book a Demo)
     SECTIONS ............. shared section shell + the coloured left bar
     HERO ................. the opening headline
     REVEAL ............... fade-in-on-scroll effect
     VOICES ............... the pull-quotes
     SECTION BODIES ....... content inside each section
     THE CRESCENDO + PILOT  the "Get Started" section + medallions
     FOOTER ............... the footer / terminus
     RESPONSIVE ........... mobile / tablet overrides (keep these last)
   ============================================================================ */

/* ============================== TOKENS ============================== */
:root{
  --paper:#F7F3EA;
  --ink:#1E1C18;
  --ink-60:rgba(30,28,24,.64);
  --ln:rgba(30,28,24,.2);
  --cream:#F2EFE6;

  --germinal:#AAB877;
  --messidor:#E49E28;
  --vendemiaire:#B94438;
  --fructidor:#792641;
  --frimaire:#3A3A39;

  --floreal:#CD927E;
  --prairial:#788355;
  --thermidor:#C15F3E;
  --brumaire:#B0A393;
  --ventose:#775F4C;
  --pluviose:#E8DCCF;

  --t-germinal:#ECEBDA;
  --t-messidor:#F4E8D2;
  --t-vendemiaire:#F0E3DC;--t-floreal:#F3E6DD;--t-fructidor:#EADBD6;--floreal-ink:#A85A41;--messidor-ink:#936813;--germinal-ink:#5E6B3F;
  --t-ventose:#EAE4DA;

  --serif:"Fraunces", Georgia, serif;
  --body:"Tinos", "Times New Roman", Georgia, serif;
  --mast-h:62px;
}

/* ============================== BASE ============================== */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);font-size:1.08rem;line-height:1.82;
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:2000;
  opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='280' height='280'><filter id='gr'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='280' height='280' filter='url(%23gr)'/></svg>");
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
::selection{background:var(--vendemiaire);color:var(--paper);}
:focus-visible{outline:2px solid var(--vendemiaire);outline-offset:3px;}
h1,h2,h3{font-family:var(--serif);font-weight:540;line-height:1.05;letter-spacing:-0.015em;}
h1{font-size:clamp(3rem,6.4vw,5.6rem);font-weight:520;}
h2{font-size:clamp(2rem,3.9vw,3.2rem);}
em{font-style:italic;}
.k{font-family:var(--body);font-weight:700;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;}
.sub{font-style:italic;font-size:clamp(1.2rem,1.9vw,1.45rem);line-height:1.45;color:var(--acc,var(--ink-60));}
.lede{max-width:31em;line-height:1.85;}

/* ============================== THE WINE GLASS — empty it tips like a cursor, full it stands and sloshes ============================== */
.has-manicule, .has-manicule *{cursor:none !important;}
.has-manicule input,.has-manicule select,.has-manicule textarea,.has-manicule option{cursor:auto !important;}
#manicule{
  position:fixed;left:0;top:0;z-index:9999;
  width:40px;height:61px;pointer-events:none;opacity:0;
  transition:opacity .25s ease;
}
#manicule.on{opacity:1;}
#manicule .hand{
  width:100%;height:100%;
  transform-origin:18% 10%;
  transform:rotate(-10deg);
  transition:transform .22s cubic-bezier(.34,1.4,.5,1);
  filter:drop-shadow(1px 1.5px 0 rgba(30,28,24,.16));
}
#manicule .wine{
  transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%;
  transition:transform .4s ease;
}
#manicule .slosh{transform-box:fill-box;transform-origin:50% 62%;}
#manicule.hover .hand{transform:rotate(0deg);}
#manicule.hover .wine{transform:scaleY(1);}
#manicule.hover .slosh{animation:wslosh 2.1s ease-in-out .4s infinite;}
#manicule.press .hand{transform:rotate(-14deg) scale(.97);}
@keyframes wslosh{
  0%,100%{transform:rotate(0deg)}
  28%{transform:rotate(2.6deg)}
  64%{transform:rotate(-2.1deg)}
}

/* ============================== METRO TABS (desktop) ============================== */
.metro{
  position:fixed;right:12px;top:50%;transform:translateY(-50%);
  z-index:45;display:flex;flex-direction:column;gap:10px;align-items:flex-end;
}
.ttab{
  --w:30px;--p:0;
  position:relative;
  display:flex;align-items:center;justify-content:flex-end;
  width:var(--w);height:30px;border-radius:999px;
  background:var(--tc);overflow:hidden;text-decoration:none;
  box-shadow:0 0 0 2px var(--paper), 0 2px 4px rgba(30,28,24,.22);
  transition:width .5s cubic-bezier(.3,1.25,.35,1);
}
.ttab::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:calc(var(--p) * 100%);
  background:rgba(30,28,24,.13);
  pointer-events:none;
}
.ttab .lb{
  position:relative;flex:none;
  font-family:var(--body);font-weight:600;
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--lc);white-space:nowrap;
  padding:0 15px 0 18px;
  opacity:0;transition:opacity .25s ease;
}
.ttab.passed{--w:58px;}
.ttab.active{--w:var(--full,200px);}
.ttab.active .lb{opacity:1;transition-delay:.12s;}
.ttab:focus-visible{--w:var(--full,200px);}
.ttab:focus-visible .lb{opacity:1;transition-delay:.1s;}
@media(hover:hover){
  .ttab:hover{--w:var(--full,200px);}
  .ttab:hover .lb{opacity:1;transition-delay:.1s;}
}
.ttab:active{filter:brightness(.93);}

/* ============================== METRO DOCK (mobile / tablet) ============================== */
.dock-cap{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(64px + env(safe-area-inset-bottom));
  z-index:45;
  font-family:var(--body);font-weight:600;
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink);background:rgba(247,243,234,.92);
  border:1px solid rgba(30,28,24,.16);border-radius:999px;
  padding:.45em 1.1em;white-space:nowrap;
}
.dock{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(12px + env(safe-area-inset-bottom));
  z-index:45;display:flex;align-items:center;gap:8px;
  touch-action:none;
  background:rgba(247,243,234,.92);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(30,28,24,.16);border-radius:999px;
  padding:10px 13px;
}
.dtab{
  --w:18px;--p:0;
  position:relative;overflow:hidden;
  width:var(--w);height:18px;border-radius:999px;
  background:var(--tc);flex:none;
  transition:width .45s cubic-bezier(.3,1.25,.35,1);
}
.dtab::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:calc(var(--p) * 100%);
  background:rgba(30,28,24,.16);
}
.dtab:active{filter:brightness(.9);}
.dtab.passed{--w:26px;}
.dtab.active{--w:56px;}
.metro,.dock,.dock-cap{display:none;}
@media(min-width:1001px){.metro{display:flex;}}
@media(max-width:1000px){.dock{display:flex;}.dock-cap{display:block;}}

/* ============================== BUTTONS ============================== */
.btn{
  display:inline-block;font-family:var(--body);font-weight:700;
  font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;
  text-decoration:none;text-align:center;padding:1.1em 2.6em;
  background:var(--vendemiaire);color:var(--paper);
  border:1px solid var(--vendemiaire);
  transition:background-color .3s ease,border-color .3s ease,color .3s ease;
}
.btn:hover{background:var(--fructidor);border-color:var(--fructidor);}
.tlink{
  font-family:var(--body);font-weight:700;font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;
  text-decoration:none;padding-bottom:.35em;border-bottom:1px solid var(--vendemiaire);
  transition:color .25s ease;
}
.tlink:hover{color:var(--vendemiaire);}

/* ============================== MASTHEAD — colours with the journey ============================== */
.masthead{position:sticky;top:0;z-index:50;}
.masthead .bar{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:.5rem clamp(1.2rem,4vw,3rem);min-height:var(--mast-h);
  background:var(--frimaire);
  transition:background-color .35s linear;
}
.mast-logo{position:relative;display:block;height:42px;width:auto;}
.mast-logo img{height:42px;width:auto;transition:opacity .35s ease;}
.mast-logo .dk{position:absolute;left:0;top:0;opacity:0;}
.mast-light .mast-logo .wt{opacity:0;}
.mast-light .mast-logo .dk{opacity:1;}
.mast-btn{
  font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  text-decoration:none;padding:.8em 1.8em;
  border:1px solid var(--cream);color:var(--cream);background:transparent;
  transition:color .35s ease,border-color .35s ease,background-color .25s ease;
}
.mast-btn:hover{background:rgba(255,255,255,.14);}
.mast-light .mast-btn{color:var(--ink);border-color:var(--ink);}
.mast-light .mast-btn:hover{background:rgba(0,0,0,.08);}
.mast-nav{display:flex;align-items:center;gap:.9rem;}
.mast-login{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:1px solid var(--cream);border-radius:999px;color:var(--cream);
  transition:color .35s ease,border-color .35s ease,background-color .25s ease;}
.mast-login:hover{background:rgba(255,255,255,.14);}
.mast-light .mast-login{color:var(--ink);border-color:var(--ink);}
.mast-light .mast-login:hover{background:rgba(0,0,0,.08);}
.mast-login[hidden]{display:none;}

/* ============================== SECTIONS — four months, dark at the ends ============================== */
.section{
  background:var(--bg,var(--paper));
  border-left:10px solid var(--zc,var(--frimaire));
  padding:clamp(5.5rem,9vw,9rem) 0;
}
.wrapc{max-width:1080px;margin:0 auto;padding:0 clamp(1.2rem,4vw,4rem);}
@media(max-width:700px){.section{border-left-width:8px;}}

#problem  {--bg:var(--t-germinal);   --zc:var(--germinal);   --acc:var(--prairial);}
#turn     {--bg:var(--t-floreal);     --zc:var(--floreal);    --acc:var(--floreal-ink);}
#storyline{--bg:var(--t-messidor);    --zc:var(--messidor);   --acc:var(--messidor-ink);}
#record   {--bg:var(--t-fructidor);   --zc:var(--fructidor);  --acc:var(--fructidor);}
#who      {--bg:var(--t-vendemiaire); --zc:var(--vendemiaire);--acc:var(--thermidor);}
#pilot    {--bg:var(--paper);        --zc:var(--frimaire);   --acc:var(--ventose);}

/* the quiet station header: one dot, one line, one icon */
.sthead{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:clamp(3rem,5.5vw,4.5rem);}
.sleft{display:flex;align-items:center;gap:1.1rem;}
.sthead .sdot{
  flex:none;width:14px;height:14px;border-radius:999px;
  background:var(--zc);
  box-shadow:0 0 0 3px var(--bg,var(--paper));
}
.sthead .sk .k{color:var(--acc);}
.sthead .sk .month{font-style:italic;font-size:.88rem;color:var(--ink-60);line-height:1.5;}
.season img{width:clamp(44px,5vw,56px);}

/* ============================== HERO — the claim ============================== */
.hero{background:var(--paper);border-left:10px solid var(--frimaire);
  padding:clamp(4.5rem,8vw,7rem) 0 clamp(4.5rem,7vw,6.5rem);}
@media(max-width:700px){.hero{border-left-width:8px;}}
.hero-stack{display:flex;flex-direction:column;align-items:center;text-align:center;}
.hero-fig{margin-top:clamp(3.2rem,6vw,5rem);width:min(560px,88vw);}
.hero-fig .figcap{margin-top:1.8rem;}
.hero .k{color:var(--ink-60);}
.hero h1{margin:1.8rem auto 1.7rem;max-width:11em;}
.hero h1 em{font-weight:480;}
.hero .sub{color:var(--ink-60);margin-bottom:1.6rem;}
.hero .lede{margin:0 auto 3rem;max-width:34em;}
.hero-cta{display:flex;align-items:center;justify-content:center;gap:2.2rem;flex-wrap:wrap;}
.line{display:block;overflow:hidden;}
.line > span{display:block;transform:translateY(112%);}
.loaded .line > span{transform:translateY(0);transition:transform 1s cubic-bezier(.22,1,.36,1);}
.loaded .line:nth-child(2) > span{transition-delay:.1s;}
.fade-in{opacity:0;transition:opacity 1.1s ease .55s;}
.loaded .fade-in{opacity:1;}
.plate{position:relative;}
.plate img{width:100%;}
.plate .base{animation:plateA 16s ease-in-out infinite;}
.xfade{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  opacity:0;animation:plateB 16s ease-in-out infinite;}
@keyframes plateA{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@keyframes plateB{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
.figcap{margin-top:.6rem;font-family:var(--body);font-weight:700;font-size:.66rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink-60);text-align:center;}

/* ============================== REVEAL ============================== */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease;}
[data-reveal].in{opacity:1;transform:none;}

/* ============================== VOICES ============================== */
.voice{max-width:780px;margin:clamp(4.4rem,7vw,6.5rem) auto 0;text-align:center;}
.voice .qmark{
  display:block;
  font-family:var(--serif);font-weight:600;font-style:italic;
  font-size:clamp(4.5rem,8vw,6.5rem);line-height:.55;
  color:var(--zc);
  margin-bottom:1.5rem;
  user-select:none;
}
.voice blockquote{
  font-family:var(--serif);font-style:italic;font-weight:420;
  font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.32;letter-spacing:-0.01em;
}
.voice figcaption{
  margin-top:1.8rem;
  display:flex;align-items:center;justify-content:center;gap:.9rem;
  font-family:var(--body);font-weight:700;
  font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-60);
}
.voice figcaption::before{
  content:"";width:26px;height:3px;border-radius:2px;background:var(--zc);
}

/* ============================== SECTION BODIES ============================== */
.station-head{max-width:740px;}
.station-head h2{margin-bottom:1.3rem;}
.station-head .sub{margin-bottom:1.7rem;}

.starts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2.2rem,4.5vw,3.6rem);margin-top:clamp(3.4rem,6vw,5rem);}
.start{border-top:1px solid var(--ln);padding-top:1.8rem;}
.start .n{font-family:var(--body);font-weight:700;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);}
.start h3{font-size:1.5rem;margin:.7rem 0 .6rem;}
.start p{font-size:.99rem;line-height:1.7;color:var(--ink-60);}
.whos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.2rem,4.5vw,3.6rem);
  margin-top:clamp(3.4rem,6vw,5rem);max-width:920px;}
.whos .start .q{font-family:var(--serif);font-style:italic;font-weight:430;
  font-size:1.08rem;line-height:1.55;color:var(--ink);margin-top:.7rem;}

.figno{font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);}
.figno em{font-weight:400;font-style:italic;text-transform:none;letter-spacing:.02em;font-size:.95rem;color:var(--ink-60);}
.fig{margin-top:clamp(3.6rem,7vw,5.5rem);display:flex;flex-direction:column;align-items:center;gap:1.2rem;text-align:center;}
.fig img{max-height:300px;width:auto;max-width:100%;}
.bstop .bimg{height:110px;display:flex;align-items:flex-end;margin-bottom:.9rem;}
.bstop .bimg img{max-height:100%;width:auto;max-width:100%;}
.bstop .figno{display:block;margin-bottom:1.2rem;}
.bstop .shot{position:relative;margin:1.9rem 0 0;width:236px;max-width:100%;
  background:#0a0a0b;border:10px solid #1d1d1f;border-radius:40px;
  box-shadow:0 24px 48px -20px rgba(30,28,24,.5),0 8px 18px -8px rgba(30,28,24,.32);}
.bstop .shot img{display:block;width:100%;border-radius:30px;}
.bstop .shot .isl{position:absolute;top:7px;left:50%;transform:translateX(-50%);
  width:74px;height:20px;border-radius:999px;background:#050505;z-index:2;}
.bstop .shot::before{content:"";position:absolute;right:-13px;top:100px;width:3.5px;height:50px;
  background:#111113;border-radius:0 2px 2px 0;}
.bstop .shot::after{content:"";position:absolute;left:-13px;top:78px;width:3.5px;height:28px;
  background:#111113;border-radius:2px 0 0 2px;box-shadow:0 38px 0 #111113;}
.branch{position:relative;margin-top:clamp(3.6rem,7vw,5.5rem);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2.6rem,5.5vw,4.4rem);}
.branch::before{content:"";position:absolute;top:8px;left:9px;right:9px;height:1.5px;
  background:rgba(30,28,24,.3);}
.bstop{position:relative;padding-top:2.6rem;}
.bstop .bdot{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;
  background:var(--bc);box-shadow:0 0 0 3px var(--bg,var(--paper));}
.bstop:nth-child(1){--bc:var(--thermidor);}
.bstop:nth-child(2){--bc:var(--fructidor);}
.bstop:nth-child(3){--bc:var(--ventose);}
.bstop h3{font-size:clamp(1.6rem,2.4vw,2rem);margin:.6rem 0 .5rem;}
.bstop p{font-size:.99rem;color:var(--ink-60);max-width:20em;}

.record-body .lede + .lede{margin-top:1.5rem;}
.record-body .standout{font-family:var(--serif);font-style:italic;font-weight:430;
  font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.4;margin-top:2rem;max-width:22em;}
.vintages{margin-top:clamp(3.6rem,7vw,5.5rem);padding-top:clamp(2.6rem,5vw,3.6rem);
  border-top:1px solid var(--ln);display:flex;flex-direction:column;align-items:center;gap:1.6rem;}
.vintages .row-icons{display:flex;align-items:flex-start;gap:clamp(1.4rem,3.5vw,3rem);}
.pilot-head .vintages{margin:2.4rem auto .4rem;}
.pilot-head .row-icons{display:grid;grid-template-columns:repeat(6,1fr);justify-items:center;align-items:start;gap:1.8rem clamp(.3rem,.8vw,.8rem);}
.pilot-head .vit{width:100%;text-decoration:none;color:inherit;
  transition:transform .28s cubic-bezier(.34,1.3,.5,1);}
.pilot-head .vit img{margin-bottom:.7rem;transition:filter .28s ease;}
.pilot-head .vit:hover{transform:translateY(-5px);}
.pilot-head .vit:hover img{filter:drop-shadow(0 6px 10px rgba(30,28,24,.16));}
.pilot-head .vmonth{font-family:var(--body);font-weight:700;font-size:.6rem;letter-spacing:.07em;
  text-transform:uppercase;white-space:nowrap;}
.pilot-head .vmean{display:block;font-family:var(--serif);font-style:italic;font-weight:430;
  font-size:.85rem;color:var(--ink-60);margin-top:.18rem;}
@media(max-width:640px){.pilot-head .row-icons{grid-template-columns:repeat(3,1fr);}}
.vintages .vit{display:flex;flex-direction:column;align-items:center;gap:0;}
.vintages .vit img{margin-bottom:.85rem;}
.vintages .vit span{font-family:var(--body);font-weight:700;font-size:.6rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--ink-60);line-height:1;}
.vintages .vit .vsub{font-family:var(--serif);font-style:italic;font-weight:430;
  font-size:.74rem;letter-spacing:.04em;text-transform:none;color:rgba(30,28,24,.4);line-height:1;margin-top:.3rem;}
.vintages img{width:clamp(50px,6vw,68px);}
.vintages .cap{font-family:var(--body);font-weight:700;font-size:.68rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--ink-60);text-align:center;}
.season-arc{font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--ink-60);text-align:center;margin-top:1.9rem;}
.seasonband{background:var(--paper);border-left:10px solid var(--frimaire);
  padding:clamp(2.8rem,5vw,4rem) 0;}
@media(max-width:700px){.seasonband{border-left-width:8px;}
  .seasonband .row-icons{flex-wrap:wrap;justify-content:center;row-gap:1.8rem;}}
.seasonband .vintages{margin-top:0;padding-top:0;border-top:0;}
.vintages .cap + .cap{margin-top:-.6rem;}
.vintages .cap a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ln);
  padding-bottom:.25em;transition:color .25s ease,border-color .25s ease;}
.vintages .cap a:hover{color:var(--vendemiaire);border-color:var(--vendemiaire);}

/* ============================== THE CRESCENDO + PILOT ============================== */
.pilot-head{text-align:center;max-width:700px;margin:0 auto;}
.pilot-head h2{font-size:clamp(2.4rem,4.8vw,3.8rem);margin-bottom:1rem;}
.pilot-head .sub{margin-bottom:1.6rem;}
.pilot-head .free{font-size:clamp(1.12rem,1.8vw,1.3rem);max-width:26em;margin:0 auto;}
.pilot-cta{display:flex;align-items:center;justify-content:center;gap:2.2rem;flex-wrap:wrap;
  margin-top:2.4rem;}
.pilot-body{max-width:920px;margin:clamp(3.4rem,6vw,5rem) auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.6rem,5vw,4.5rem);
  border-top:1px solid var(--ln);padding-top:clamp(2.6rem,5vw,3.6rem);}
.pilot-body p + p{margin-top:1.4rem;}
.pilot-body .yours{font-family:var(--serif);font-style:italic;font-weight:430;
  font-size:1.45rem;line-height:1.35;margin:1.4rem 0;color:var(--fructidor);}
.pilot-body .start{border-top:0;padding-top:0;}
.pilot-body .btn{margin-top:1.6rem;}
.pilot-body .tlink{display:inline-block;margin-top:1.9rem;}

/* ============================== FOOTER / TERMINUS ============================== */
.footer{background:var(--frimaire);color:var(--cream);
  border-left:10px solid var(--frimaire);
  padding:clamp(3.5rem,7vw,5.5rem) clamp(1.2rem,4vw,3rem) calc(2rem + 84px);}
@media(min-width:1001px){.footer{padding-bottom:2rem;}}
@media(max-width:700px){.footer{border-left-width:8px;}}
.term-mark{max-width:1140px;margin:0 auto 2.6rem;display:flex;align-items:center;gap:1rem;
  font-family:var(--body);font-weight:700;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(242,239,230,.7);}
.term-mark::before{content:"";width:14px;height:14px;border-radius:50%;flex:none;
  background:var(--germinal);box-shadow:0 0 0 2.5px var(--frimaire),0 0 0 4px var(--cream);}
.footer-top{max-width:1140px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:3rem;flex-wrap:wrap;}
.footer-logo img{width:clamp(170px,18vw,220px);}
.footer-right{text-align:right;}
.footer .slogan{font-family:var(--serif);font-style:italic;font-weight:440;font-size:clamp(1.4rem,2.3vw,1.75rem);}
.footer .tag{margin-top:.7rem;font-family:var(--body);font-weight:700;font-size:.66rem;
  letter-spacing:.3em;text-transform:uppercase;color:rgba(242,239,230,.7);}
.footer-right .foot-btn{display:inline-block;margin-top:1rem;}
.foot-btn{
  font-family:var(--body);font-weight:700;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
  text-decoration:none;padding:.8em 1.8em;
  border:1px solid var(--cream);color:var(--cream);background:transparent;
  transition:background-color .25s ease;
}
.foot-btn:hover{background:rgba(255,255,255,.14);}
.footer-rule{max-width:1140px;margin:clamp(2.4rem,5vw,3.2rem) auto 1.5rem;border:0;border-top:1px solid rgba(242,239,230,.25);}
.footer-bottom{max-width:1140px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;
  gap:1.5rem;flex-wrap:wrap;font-family:var(--body);font-weight:700;font-size:.66rem;
  letter-spacing:.26em;text-transform:uppercase;color:rgba(242,239,230,.7);}
.footer-bottom a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(242,239,230,.45);
  padding-bottom:.25em;transition:color .25s ease,border-color .25s ease;}
.footer-bottom a:hover{color:var(--germinal);border-color:var(--germinal);}
.foot-mails{display:inline-flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}

/* ============================== RESPONSIVE ============================== */
@media(max-width:900px){
  .pilot-body{grid-template-columns:1fr;}
  .whos{grid-template-columns:1fr;gap:0;}
  .starts{grid-template-columns:1fr;gap:0;}
  .start{padding:1.6rem 0;}
  .branch{grid-template-columns:1fr;gap:0;}
  .branch::before{left:8px;right:auto;top:9px;bottom:9px;width:1.5px;height:auto;
    background:rgba(30,28,24,.3);}
  .bstop{padding:1.4rem 0 3.4rem 2.6rem;}
  .bstop .bdot{top:1.75rem;}
  .footer-right{text-align:left;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .line > span{transform:none;transition:none;}
  .fade-in{opacity:1;transition:none;}
  [data-reveal]{opacity:1;transform:none;transition:none;}
  .xfade,.plate .base{transition:none;animation:none;}
  #manicule .hand,#manicule .wine{transition:none;}
  #manicule .slosh{animation:none;}
}
