/* ============================================================
   ANCRE — wow.css · Design system v2
   Palette : paper #f4f0e8 · ink #16130d · oxblood #8a2b1f
             green #3f6b3a · amber #9a6512 · sand #e8c9a0
   Typo : Fraunces (titres) + Space Grotesk (texte)
   ============================================================ */

:root{
  --paper:#f4f0e8;
  --paper-dim:#e9e2d4;
  --paper-2:#ece6d8;
  --ink:#16130d;
  --ink-soft:#403a2e;
  --ink-faint:#79705e;
  --rule:#cdc4af;
  --rule-strong:#b3a98f;
  --oxblood:#8a2b1f;
  --oxblood-deep:#6f2117;
  --green:#3f6b3a;
  --amber:#9a6512;
  --red:#8a2b1f;
  --sand:#e8c9a0;
  --sand-lit:#f3d9b1;
  --serif:"Fraunces", Georgia, serif;
  --sans:"Space Grotesk", "Helvetica Neue", sans-serif;
  --maxw:1320px;
  --gutter:clamp(20px,5vw,72px);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:14.5px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--oxblood);color:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,.serif{font-family:var(--serif)}

/* paper grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  opacity:.04;mix-blend-mode:multiply;
  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='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,8vh,6.5rem) var(--gutter)}
.wrap--tight{padding-top:clamp(2.5rem,5vh,4rem);padding-bottom:clamp(2.5rem,5vh,4rem)}
section{position:relative}

/* ---------- Type primitives ---------- */
.label{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ink-faint)}
.label--ox{color:var(--oxblood)}
.kicker{
  font-size:.78rem;letter-spacing:.34em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.85rem;margin-bottom:1.8rem;color:var(--sand);
}
.kicker::before{content:"";width:52px;height:1px;background:currentColor;display:inline-block}
.sec-kicker{font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:var(--oxblood);margin-bottom:1.1rem;display:flex;align-items:center;gap:.75rem}
.sec-kicker::before{content:"";width:38px;height:1px;background:currentColor}
.sec-title{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.2rem);font-weight:600;line-height:1.06;letter-spacing:-.012em;max-width:22ch}
.sec-title em{font-style:italic;color:var(--oxblood)}
.lead{max-width:58ch;margin-top:1.5rem;font-size:1.08rem;color:rgba(22,19,13,.78)}
.pull{
  font-family:var(--serif);font-size:clamp(1.3rem,2.3vw,1.8rem);font-style:italic;
  border-left:3px solid var(--oxblood);padding-left:1.5rem;margin-top:2.2rem;color:rgba(22,19,13,.85);max-width:38ch;
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(38px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1)}
.reveal.on,.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
/* no-JS safety */
html:not(.js) .reveal{opacity:1;transform:none}

/* ---------- Nav ---------- */
nav.topnav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 2rem;gap:1rem;
  transition:background .4s,box-shadow .4s,color .4s;
  color:var(--paper);
}
nav.topnav.scrolled{background:rgba(244,240,232,.93);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 1px 0 rgba(22,19,13,.12)}
.nav-logo{font-family:var(--serif);font-weight:900;font-size:1.35rem;letter-spacing:.04em;display:flex;align-items:center;gap:.5rem}
.nav-logo svg{width:22px;height:22px}
.nav-logo small{font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7;align-self:flex-end;margin-bottom:.2rem}
.nav-links{display:flex;gap:1.7rem;align-items:center;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase}
.nav-links a{opacity:.85;transition:opacity .2s}
.nav-links a:hover{opacity:1}
@media(max-width:860px){.nav-links a:not(.btn){display:none}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:.85rem 1.9rem;border-radius:999px;
  background:var(--oxblood);color:var(--paper)!important;
  font-weight:500;letter-spacing:.06em;font-size:.85rem;text-transform:uppercase;
  border:1px solid var(--oxblood);cursor:pointer;font-family:var(--sans);
  transition:transform .25s,box-shadow .25s,background .25s;will-change:transform;
}
.btn:hover{box-shadow:0 12px 30px rgba(138,43,31,.35);background:var(--oxblood-deep)}
.btn--ghost,.btn.ghost{background:transparent;color:inherit!important;border-color:currentColor}
.btn--ghost:hover,.btn.ghost:hover{background:rgba(255,255,255,.12);box-shadow:none}

/* ---------- Hero (dark cinematic) ---------- */
.hero{
  position:relative;min-height:100vh;display:flex;flex-direction:column;
  justify-content:flex-end;color:var(--paper);
  background:linear-gradient(160deg,#16130d,#3a1710 55%,#8a2b1f 130%);
  overflow:hidden;
}
.hero video,.hero .hero-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.55;mix-blend-mode:luminosity;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(22,19,13,.93) 0%,rgba(58,23,16,.45) 45%,rgba(138,43,31,.22) 100%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2;padding:8rem clamp(1.5rem,6vw,6.5rem) clamp(3rem,8vh,6rem) }
.hero h1{
  font-size:clamp(2.5rem,7vw,5.8rem);line-height:.98;font-weight:900;
  letter-spacing:-.018em;max-width:15ch;
}
.hero h1 em{font-style:italic;font-weight:400;color:var(--sand)}
.hero-sub{max-width:48ch;margin-top:2rem;font-size:clamp(1rem,1.4vw,1.22rem);opacity:.88;font-weight:300}
.hero-sub b,.hero-sub strong{font-weight:500;color:#fff}
.hero-ctas{display:flex;gap:1rem;margin-top:2.6rem;flex-wrap:wrap;align-items:center}
.hero-meta{
  position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;
  padding:1.25rem clamp(1.5rem,6vw,6.5rem);border-top:1px solid rgba(244,240,232,.2);
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;opacity:.7;flex-wrap:wrap;gap:.6rem;
}
.hero-note{margin-top:1.4rem;font-size:.78rem;letter-spacing:.04em;color:rgba(244,240,232,.75);line-height:1.6;max-width:60ch}
.hero-note b{color:var(--sand);font-weight:500}
.scroll-cue{position:absolute;bottom:8.5rem;right:clamp(1.5rem,6vw,6.5rem);z-index:2;writing-mode:vertical-rl;font-size:.68rem;letter-spacing:.38em;text-transform:uppercase;opacity:.6;animation:cue 2.6s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}

/* chips (method bricks) */
.chips{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{
  font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  color:rgba(244,240,232,.85);border:1px solid rgba(244,240,232,.35);padding:.4rem .8rem;border-radius:999px;
  transition:border-color .3s,color .3s,transform .3s;white-space:nowrap;
}
.chips li:hover{border-color:var(--sand);color:var(--sand);transform:translateY(-2px)}
.chips--light li{color:var(--ink-faint);border-color:var(--rule);background:rgba(255,253,248,.5)}
.chips--light li:hover{border-color:var(--oxblood);color:var(--oxblood)}

/* ---------- Page hero (inner pages: compact dark band) ---------- */
.page-hero{
  position:relative;min-height:52vh;display:flex;flex-direction:column;justify-content:flex-end;
  color:var(--paper);overflow:hidden;
  background:linear-gradient(160deg,#16130d,#3a1710 60%,#8a2b1f 140%);
}
.page-hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;mix-blend-mode:luminosity}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,19,13,.92) 0%,rgba(58,23,16,.4) 55%,rgba(138,43,31,.2) 100%);pointer-events:none}
.page-hero .hero-inner{padding-top:7rem}
.page-hero h1{font-size:clamp(2.1rem,4.8vw,3.9rem);line-height:1.02;font-weight:900;letter-spacing:-.015em;max-width:18ch}
.page-hero h1 em{font-style:italic;font-weight:400;color:var(--sand)}

/* ---------- Duotone imagery ---------- */
.duo,.duotone{
  position:relative;overflow:hidden;border-radius:6px;
  background:linear-gradient(140deg,var(--oxblood),#3a1710);
}
.duo img,.duotone img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);mix-blend-mode:screen;opacity:.85;transition:transform 1.3s cubic-bezier(.2,.6,.2,1)}
.duo:hover img,.duotone:hover img{transform:scale(1.045)}
.duo.green,.duotone.green{background:linear-gradient(140deg,var(--green),#17240f)}
.duo.amber,.duotone.amber{background:linear-gradient(140deg,var(--amber),#3a2506)}
.duo.ink,.duotone.ink{background:linear-gradient(140deg,#42392a,var(--ink))}
.duo .cap,.duotone .cap{
  position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1.3rem;
  color:var(--paper);font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  background:linear-gradient(to top,rgba(22,19,13,.75),transparent);
}
.figure-tall{aspect-ratio:3/4}

/* ---------- Parallax quote bands ---------- */
.band{
  position:relative;height:54vh;min-height:340px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.band .band-bg{
  position:absolute;inset:-18% 0;background-size:cover;background-position:center;
  filter:grayscale(1) contrast(1.05);will-change:transform;
}
.band::before{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:multiply}
.band.ox::before{background:linear-gradient(120deg,rgba(138,43,31,.85),rgba(58,23,16,.9))}
.band.gr::before{background:linear-gradient(120deg,rgba(63,107,58,.85),rgba(23,36,15,.9))}
.band.am::before{background:linear-gradient(120deg,rgba(154,101,18,.85),rgba(58,37,6,.9))}
.band.nu::before{background:linear-gradient(120deg,rgba(66,57,42,.85),rgba(22,19,13,.92))}
.band-quote{
  position:relative;z-index:2;color:var(--paper);text-align:center;
  font-family:var(--serif);font-size:clamp(1.4rem,3.2vw,2.6rem);font-style:italic;
  max-width:27ch;padding:0 1.5rem;line-height:1.3;
}
.band-quote small{
  display:block;font-family:var(--sans);font-style:normal;font-size:.75rem;
  letter-spacing:.28em;text-transform:uppercase;margin-top:1.5rem;opacity:.8;
}

/* ---------- Dark sections ---------- */
.dark{background:var(--ink);color:var(--paper)}
.dark .sec-kicker{color:var(--sand)}
.dark .sec-title{color:var(--paper)}
.dark .sec-title em{color:var(--sand)}
.dark .lead{color:rgba(244,240,232,.75)}

/* tinted paper section (radial washes) */
.tinted{
  background:
    radial-gradient(1100px 600px at 15% 10%,rgba(138,43,31,.15),transparent 60%),
    radial-gradient(900px 700px at 90% 90%,rgba(63,107,58,.15),transparent 60%),
    radial-gradient(700px 500px at 70% 20%,rgba(154,101,18,.13),transparent 55%),
    var(--paper-dim);
}

/* ---------- Cards ---------- */
.card{
  background:var(--paper);border:1px solid rgba(22,19,13,.15);
  border-radius:8px;padding:1.8rem 1.7rem;box-shadow:0 22px 45px -28px rgba(22,19,13,.35);
  transition:transform .35s,box-shadow .35s;
}
.card:hover{transform:translateY(-5px);box-shadow:0 30px 55px -25px rgba(22,19,13,.45)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
@media(max-width:960px){.card-grid{grid-template-columns:1fr}}
.card-grid--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.card-grid--2{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
@media(max-width:880px){.steps{grid-template-columns:1fr}}
.step{
  border:1px solid rgba(22,19,13,.15);border-radius:8px;padding:2.1rem 1.9rem;background:var(--paper);
  position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s;
}
.step:hover{transform:translateY(-6px);box-shadow:0 25px 45px -25px rgba(22,19,13,.35)}
.step::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--oxblood)}
.step:nth-child(3n+1)::before{background:var(--green)}
.step:nth-child(3n+2)::before{background:var(--amber)}
.step:nth-child(3n)::before{background:var(--oxblood)}
.step .idx{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--amber)}
.step h3{font-size:1.4rem;margin:.6rem 0 .7rem}
.step p{font-size:.93rem;color:rgba(22,19,13,.78)}
.step p b{color:var(--ink);font-weight:500}

/* ---------- Score bars (tide-style tables, dark) ---------- */
.tide-table{margin-top:3rem;border-top:1px solid rgba(244,240,232,.2)}
.tide-row{
  display:grid;grid-template-columns:1.3fr 2fr .9fr .9fr;gap:1.4rem;align-items:center;
  padding:1.4rem 0;border-bottom:1px solid rgba(244,240,232,.14);
}
@media(max-width:760px){.tide-row{grid-template-columns:1fr 1fr;row-gap:.8rem}}
.tide-name{font-family:var(--serif);font-size:1.25rem;font-weight:600}
.tide-name small{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-top:.2rem}
.tide-bars{display:flex;align-items:flex-end;gap:6px;height:56px}
.tide-bars span{
  flex:1;border-radius:3px 3px 0 0;min-height:3px;height:0;
  transition:height 1.1s cubic-bezier(.2,.7,.2,1);
}
.tide-dir{font-family:var(--serif);font-style:italic;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}
.tide-dir svg{width:18px;height:18px;flex:none}
.tide-dir.up{color:#e0552e}
.tide-dir.down{color:#8fb87f}
.tide-deg{font-family:var(--serif);font-weight:900;font-size:1.9rem;text-align:right}
.tide-head{display:grid;grid-template-columns:1.3fr 2fr .9fr .9fr;gap:1.4rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;opacity:.5;padding-bottom:.9rem}
@media(max-width:760px){.tide-head{display:none}}

/* generic score bar fill: <div class="scorebar"><i data-score="67"></i></div> */
.scorebar{height:10px;background:rgba(22,19,13,.1);border-radius:999px;overflow:hidden}
.dark .scorebar{background:rgba(244,240,232,.15)}
.scorebar i{display:block;height:100%;width:0;background:var(--oxblood);border-radius:999px;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.scorebar i.g{background:var(--green)}
.scorebar i.a{background:var(--amber)}

/* status tags */
.tag{display:inline-block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .8rem;border-radius:999px;color:var(--paper);font-weight:600}
.tag.g{background:var(--green)}
.tag.a{background:var(--amber)}
.tag.r{background:var(--oxblood)}

/* ---------- Stats band ---------- */
.stats{background:linear-gradient(150deg,#3a1710,var(--oxblood) 60%,#6f2218);color:var(--paper)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;padding-top:5rem;padding-bottom:5rem}
@media(max-width:880px){.stats .wrap{grid-template-columns:repeat(2,1fr)}}
.stat .num{font-family:var(--serif);font-weight:900;font-size:clamp(2.6rem,5.5vw,4.4rem);line-height:1;color:var(--sand-lit)}
.stat .lbl{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.75rem;opacity:.85}
.stat .fn{display:inline-block;font-size:.62rem;vertical-align:super;margin-left:.2em;opacity:.8}
.footnotes{margin-top:1.4rem;font-size:.72rem;line-height:1.6;color:var(--ink-faint);display:flex;flex-direction:column;gap:.25rem}
.footnotes sup{color:var(--oxblood);margin-right:.4em;font-weight:600}
.dark .footnotes,.stats .footnotes{color:rgba(244,240,232,.6)}
.dark .footnotes sup,.stats .footnotes sup{color:var(--sand)}

/* ---------- Ticker (signals) ---------- */
.ticker{position:relative;border-top:1px solid rgba(244,240,232,.2);border-bottom:1px solid rgba(244,240,232,.2);overflow:hidden;padding:.85rem 0;z-index:2}
.ticker--paper{border-color:var(--rule);background:rgba(236,230,216,.7)}
.tk-inner{display:flex;gap:3.5rem;width:max-content;animation:tkScroll 38s linear infinite}
.ticker:hover .tk-inner{animation-play-state:paused}
@keyframes tkScroll{to{transform:translateX(-50%)}}
.tk-item{display:flex;align-items:center;gap:.7rem;font-size:.78rem;white-space:nowrap;opacity:.85}
.tk-item b{font-weight:500}
.tk-item .sig{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sig.g{background:#8fb87f}.sig.a{background:#d9a24a}.sig.r{background:#e0552e}
.tk-item .lvl{font-family:var(--serif);color:var(--sand);font-size:.9rem}
.ticker--paper .tk-item{color:var(--ink-faint)}
.ticker--paper .tk-item b{color:var(--ink-soft)}
.ticker--paper .tk-item .lvl{color:var(--oxblood)}
.ticker--paper .sig.g{background:var(--green)}.ticker--paper .sig.a{background:var(--amber)}.ticker--paper .sig.r{background:var(--oxblood)}

/* ---------- Témoignage split ---------- */
.temoin{position:relative;overflow:hidden;background:var(--ink);color:var(--paper)}
.temoin-grid{display:grid;grid-template-columns:1fr 1fr;min-height:70vh}
@media(max-width:880px){.temoin-grid{grid-template-columns:1fr}}
.temoin .duo,.temoin .duotone{border-radius:0;height:100%}
.temoin .duo img,.temoin .duotone img{height:100%}
.temoin-txt{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,5.5rem)}
.temoin blockquote{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2.15rem);font-style:italic;line-height:1.35}
.temoin cite{display:block;font-family:var(--sans);font-style:normal;margin-top:1.9rem;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand)}
.temoin cite span{display:block;opacity:.6;text-transform:none;letter-spacing:.02em;margin-top:.2rem}

/* ---------- Gallery (horizontal scroll) ---------- */
.gallery{
  display:flex;gap:1.4rem;overflow-x:auto;padding:3rem var(--gutter) 4rem;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--oxblood) transparent;
}
.gallery::-webkit-scrollbar{height:6px}
.gallery::-webkit-scrollbar-thumb{background:var(--oxblood);border-radius:3px}
.gcard{flex:0 0 clamp(260px,32vw,400px);scroll-snap-align:start}
.gcard .duo,.gcard .duotone{aspect-ratio:4/5}
.gcard .num{font-family:var(--serif);font-size:.9rem;color:var(--sand);letter-spacing:.15em;margin:1.1rem 0 .3rem}
.gcard h3{font-size:1.25rem;font-weight:600;margin-bottom:.4rem}
.gcard p{font-size:.9rem;color:rgba(244,240,232,.7)}
.gallery-hint{padding:0 var(--gutter) 3.5rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;opacity:.5}

/* ---------- CTA final ---------- */
.cta{
  position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--paper);overflow:hidden;
  background:linear-gradient(150deg,#16130d,#3a1710 50%,#8a2b1f);
}
.cta .cta-bg{position:absolute;inset:-15% 0;background-size:cover;background-position:center;filter:grayscale(1);opacity:.38;mix-blend-mode:luminosity;will-change:transform}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 50% 62%,rgba(138,43,31,.5),rgba(22,19,13,.86) 75%)}
.cta-inner{position:relative;z-index:2;padding:7rem 1.5rem 4rem;max-width:780px}
.cta h2{font-size:clamp(2.6rem,6.5vw,5.1rem);font-weight:900;line-height:1.02;letter-spacing:-.012em}
.cta h2 em{font-style:italic;font-weight:400;color:var(--sand)}
.cta p{margin:1.7rem auto 2.5rem;max-width:46ch;opacity:.85;font-weight:300}
.cta-note{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin-top:1.5rem}

/* ---------- Footer ---------- */
footer.ft{background:var(--ink);color:var(--paper);padding:clamp(48px,6vw,80px) 0 2.4rem}
footer.ft .wrap{padding-top:0;padding-bottom:0}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,60px);border-bottom:1px solid #39342a;padding-bottom:clamp(32px,4vw,52px)}
@media(max-width:720px){.ft-top{grid-template-columns:1fr;gap:2rem}}
.ft .fmark{font-family:var(--serif);font-weight:700;font-size:1.6rem;letter-spacing:.3em;padding-left:.3em}
.ft .ftag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#9b9282;margin-top:.5rem}
.ft .fblurb{margin-top:1.4rem;font-size:.92rem;line-height:1.65;color:#cfc8b9;max-width:38ch}
.ft-col h4{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#9b9282;font-weight:600;margin-bottom:1rem}
.ft-col a,.ft-col p{display:block;font-size:.9rem;line-height:1.5;color:#e7e1d4;padding:.32rem 0}
.ft-col a:hover{color:#e8a195}
.ft-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;padding-top:2rem;font-size:.72rem;letter-spacing:.04em;color:#9b9282}
.ft-bot .seal{color:#e8a195}

/* ---------- Scroll progress bar ---------- */
#scrollbar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--oxblood);z-index:200;pointer-events:none}

/* ---------- Cookie banner compat (consent.js) ---------- */
#ck-banner,.ck-banner{font-family:var(--sans)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .reveal{opacity:1;transform:none}
  .band .band-bg,.cta .cta-bg,[data-plx]{transform:none!important}
  .tide-bars span,.scorebar i{transition:none}
  .tk-inner{animation:none}
}
