/* =========================================================================
   TWINS AFFAIRS — stylesheet
   Didone (Bodoni Moda) + grotesque (Inter). Inchiostro, crema, ottone.
   ========================================================================= */

/* ---------- 1. Token ---------- */
:root{
  --ink-900:#0B1729;
  --ink-800:#102138;
  --ink-700:#172D48;
  --ink-600:#20395A;
  --cream:#F5F2EC;
  --cream-2:#EDE8DE;
  --sand:#E7E1D4;
  --gold:#B08D4F;
  --gold-2:#C9A96A;
  --gold-3:#E3D3AC;
  --text:#141A22;
  --muted:#535C68;
  --muted-i:rgba(245,242,236,.62);

  --ff-d:"Bodoni Moda","Didot","Bodoni MT","Playfair Display",Georgia,serif;
  --ff-t-fallback:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ff-t:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --maxw:1240px;
  --gut:clamp(22px,5vw,72px);
  --e:cubic-bezier(.22,.61,.36,1);
  --e2:cubic-bezier(.65,0,.35,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;font-family:var(--ff-t);font-weight:400;
  font-size:clamp(15.5px,.4vw + 14.7px,16.8px);line-height:1.68;
  color:var(--text);background:var(--cream);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3,h4{margin:0;font-family:var(--ff-d);line-height:1.08;letter-spacing:-.005em}

/* Bodoni Moda e' un carattere variabile: l'asse "opsz" (optical size) controlla
   lo spessore delle aste sottili. Un opsz basso = disegno pensato per corpi
   piccoli = tratti piu' spessi e leggibili anche quando il testo e' grande.
   Senza questa forzatura, ai corpi display le aste spariscono. */
h1,h2,h3,h4,
.brand__name,.curtain__name,.footer__name,
.fact__n,.step__k,.pillar__k,.row__t,.quote,
.rail__track span,.ticker__track span,.card__by em{
  font-optical-sizing:none;
  font-variation-settings:"opsz" 16,"wght" 500;
}
/* Corpi molto grandi: ancora piu' materia */
.h-xl,.statement,.ceo__name,.footer__name,.hero__ghost,.rail__track span{
  font-variation-settings:"opsz" 11,"wght" 520;
}
em,i,.quote{font-variation-settings:"opsz" 14,"wght" 500}
p{margin:0 0 1.15em}p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:1.5px solid var(--gold-2);outline-offset:4px;border-radius:1px}
::selection{background:var(--gold);color:#fff}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------- 3. Bilingue ---------- */
/* Si nasconde la lingua NON attiva: così l'elemento visibile conserva
   il proprio display (flex, grid, block…) senza bisogno di `revert`. */
html[lang="it"] [data-lang="en"],
html[lang="en"] [data-lang="it"]{display:none}
body.lang-fade main,body.lang-fade .footer{opacity:.18;transition:opacity .22s ease}

/* ---------- 4. Sipario + progress ---------- */
.curtain{
  position:fixed;inset:0;z-index:400;background:var(--ink-900);
  display:grid;place-items:center;transition:transform .7s var(--e2),visibility .7s;
}
.curtain__inner{text-align:center}
.curtain__name{
  display:block;font-family:var(--ff-d);font-size:clamp(1.4rem,3.6vw,2.4rem);
  letter-spacing:.3em;text-transform:uppercase;color:var(--cream);
  padding-left:.3em;white-space:nowrap;text-align:center;
  opacity:0;animation:curtIn .55s .05s var(--e) forwards;
}
.curtain__rule{
  display:block;height:1px;background:var(--gold);margin:1.1rem auto .95rem;width:0;
  animation:curtRule .7s .3s var(--e) forwards;
}
.curtain__inner{display:inline-block}
.curtain__sub{
  display:block;font-size:clamp(.6rem,1.5vw,.72rem);font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;color:var(--cream);
  opacity:0;padding-left:.3em;white-space:nowrap;text-align:center;
  animation:curtIn .6s .5s var(--e) forwards;
}
@keyframes curtIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes curtRule{to{width:100%}}
body.loaded .curtain{transform:translateY(-101%);visibility:hidden}
body.no-anim .curtain{display:none}

.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold);z-index:300;transition:width .1s linear}

/* ---------- 5. Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(84px,10vw,168px);position:relative}
.section--tight{padding-bottom:clamp(48px,5vw,80px)}
.section--cream{background:var(--cream);color:var(--text)}
.section--sand{background:var(--sand);color:var(--text)}
.section--ink{background:var(--ink-800);color:var(--cream)}
.section--deep{background:var(--ink-900);color:var(--cream)}
.section--ink p,.section--deep p{color:var(--muted-i)}
.section--cream p,.section--sand p{color:var(--muted)}

.eyebrow{
  display:flex;align-items:center;gap:.85rem;
  font-size:.66rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin:0 0 2rem;
}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;flex:none}
.section--ink .eyebrow,.section--deep .eyebrow{color:var(--gold-2)}

.h-xl{font-size:clamp(2.9rem,7.4vw,6.2rem);line-height:.98;letter-spacing:-.02em}
.h-lg{font-size:clamp(2.1rem,4.2vw,3.5rem);line-height:1.06}
.h-xl em,.h-lg em,.statement em{font-style:italic;color:var(--gold-2)}
.section--cream .h-lg em,.section--sand .statement em,.section--cream .statement em{color:var(--gold)}

.statement{
  font-size:clamp(2.1rem,5vw,4.15rem);line-height:1.06;letter-spacing:-.018em;
  max-width:19ch;margin-bottom:clamp(40px,5vw,72px);
}
.statement--sm{font-size:clamp(1.9rem,3.6vw,3.05rem);max-width:16ch}

.lead{font-size:clamp(1rem,.5vw + .9rem,1.16rem);line-height:1.65;max-width:56ch}

.head-row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  gap:clamp(32px,5vw,80px);align-items:end;margin-bottom:clamp(48px,6vw,90px);
}
@media (max-width:860px){.head-row{grid-template-columns:1fr;align-items:start;gap:26px}}

.split-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,76px)}
@media (max-width:860px){.split-cols{grid-template-columns:1fr;gap:24px}}

/* ---------- 6. Bottoni ---------- */
.btn{
  --bg:transparent;
  position:relative;display:inline-flex;align-items:center;gap:.7rem;overflow:hidden;
  padding:1.05rem 1.9rem;font-size:.72rem;font-weight:500;letter-spacing:.19em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap;isolation:isolate;
  transition:color .45s var(--e),border-color .45s var(--e);
}
.btn svg{width:15px;height:15px;transition:transform .45s var(--e)}
.btn:hover svg{transform:translateX(5px)}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);
  transform:translateY(101%);transition:transform .5s var(--e2);
}
.btn:hover::before{transform:none}
.btn--gold{background:var(--gold);color:var(--ink-900);--bg:var(--gold-3)}
.btn--line{border:1px solid currentColor;--bg:currentColor}
.btn--line:hover{color:var(--ink-900)}
.section--cream .btn--line:hover{color:var(--cream)}

/* ---------- 7. Header ---------- */
.header{
  position:fixed;inset:0 0 auto;z-index:200;
  border-bottom:1px solid transparent;
  transition:background .5s var(--e),border-color .5s var(--e),backdrop-filter .5s;
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(.8rem,2vw,2rem);height:92px;transition:height .5s var(--e)}
.header.is-stuck{background:rgba(5,10,19,.9);backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:rgba(227,211,172,.14)}
.header.is-stuck .header__inner{height:74px}

/* --- Logotipo tipografico --- */
.brand{
  display:flex;flex-direction:column;align-items:center;
  text-decoration:none;color:var(--cream);flex:none;line-height:1;
}
.brand__name{
  font-family:var(--ff-d);font-weight:400;font-size:clamp(.98rem,1.2vw,1.2rem);
  letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;
  padding-left:.3em;line-height:1.15;text-align:center;
}
.brand__rule{
  display:block;width:100%;height:1px;margin:.44rem 0 .4rem;
  background:linear-gradient(90deg,var(--gold) 0%,rgba(176,141,79,.25) 100%);
}
.brand__sub{
  font-size:.47rem;font-weight:500;letter-spacing:.185em;text-transform:uppercase;
  color:var(--gold-2);white-space:nowrap;line-height:1;text-align:center;
  padding-left:.185em;   /* compensa lo spazio finale della spaziatura */
}
@media (max-width:380px){.brand__name{letter-spacing:.2em}.brand__sub{font-size:.42rem;letter-spacing:.12em}}

.nav{display:flex;align-items:center;gap:clamp(1.1rem,2.1vw,2.35rem)}
.nav__link{
  position:relative;font-size:.7rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;
  text-decoration:none;color:rgba(245,242,236,.7);transition:color .4s var(--e);white-space:nowrap;padding-block:.35rem;
}
.nav__link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold-2);transition:right .45s var(--e)}
.nav__link:hover{color:var(--cream)}
.nav__link:hover::after{right:0}
.nav__link--cta{color:var(--gold-2)}

.header__actions{display:flex;align-items:center;gap:1.1rem}

/* switch lingua con pillola scorrevole */
.lang{position:relative;display:flex;align-items:center;border:1px solid rgba(227,211,172,.26);border-radius:99px;padding:3px}
.lang__pill{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:var(--gold);border-radius:99px;transition:transform .5s var(--e2)}
.lang.is-en .lang__pill{transform:translateX(100%)}
.lang__btn{position:relative;z-index:1;padding:.34rem .72rem;font-size:.64rem;font-weight:600;letter-spacing:.13em;color:rgba(245,242,236,.6);transition:color .4s var(--e)}
.lang__btn[aria-pressed="true"]{color:var(--ink-900)}

.burger{display:none;width:38px;height:38px;place-content:center;place-items:center;color:var(--cream)}
.burger span{display:block;width:21px;height:1px;background:currentColor;transition:transform .45s var(--e),opacity .3s}
.burger span+span{margin-top:5px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1080px){
  .burger{display:grid}
  .nav{
    position:fixed;inset:92px 0 auto;flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(5,10,19,.985);backdrop-filter:blur(18px);
    padding:0 var(--gut);max-height:0;overflow:hidden;
    border-bottom:1px solid transparent;
    transition:max-height .55s var(--e2),padding .55s var(--e2),border-color .4s;
  }
  .header.is-stuck .nav{inset-block-start:74px}
  .nav.is-open{max-height:84vh;padding-block:.5rem 2.4rem;border-bottom-color:rgba(227,211,172,.14)}
  .nav__link{
    width:100%;padding:1.25rem 0;font-size:1.15rem;font-family:var(--ff-d);
    letter-spacing:.08em;text-transform:none;border-bottom:1px solid rgba(227,211,172,.12);
    opacity:0;transform:translateY(10px);transition:opacity .5s var(--e),transform .5s var(--e),color .4s;
  }
  .nav.is-open .nav__link{opacity:1;transform:none}
  .nav.is-open .nav__link:nth-child(1){transition-delay:.1s}
  .nav.is-open .nav__link:nth-child(2){transition-delay:.16s}
  .nav.is-open .nav__link:nth-child(3){transition-delay:.22s}
  .nav.is-open .nav__link:nth-child(4){transition-delay:.28s}
  .nav.is-open .nav__link:nth-child(5){transition-delay:.34s}
  .nav.is-open .nav__link:nth-child(6){transition-delay:.4s}
  .nav__link::after{display:none}
}

/* ---------- 8. Hero ---------- */
.hero{
  position:relative;min-height:min(100svh,940px);display:flex;align-items:center;
  padding-block:150px clamp(70px,9vw,110px);overflow:hidden;color:var(--cream);
  background:
    radial-gradient(115% 80% at 78% 4%,rgba(18,32,49,.95) 0%,transparent 60%),
    radial-gradient(80% 60% at 4% 96%,rgba(176,141,79,.16) 0%,transparent 62%),
    linear-gradient(165deg,var(--ink-900) 0%,var(--ink-800) 55%,var(--ink-700) 100%);
}
/* Le righe verticali decorative sono state rimosse: su alcuni schermi
   comparivano come bande irregolari invece che come una texture. */
.hero__ghost{
  position:absolute;right:-.08em;bottom:-.28em;font-family:var(--ff-d);font-weight:400;
  font-size:min(46vw,640px);line-height:.8;letter-spacing:-.03em;color:rgba(227,211,172,.032);
  pointer-events:none;user-select:none;
}
.hero__inner{position:relative;z-index:1;width:100%}
.hero h1{max-width:14ch;margin-bottom:2rem}
.hero__lead{max-width:50ch;color:rgba(245,242,236,.74);font-size:clamp(1rem,.6vw + .88rem,1.2rem)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.8rem}
.hero__foot{
  display:flex;align-items:center;gap:1rem;margin-top:clamp(48px,7vw,86px);
  font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,242,236,.42);
}
.hero__foot i{width:22px;height:1px;background:rgba(227,211,172,.3)}

/* ---------- 9. Ticker ---------- */
.ticker{
  background:var(--ink-900);border-block:1px solid rgba(227,211,172,.12);
  overflow:hidden;padding-block:1.15rem;
}
.ticker__track{display:flex;align-items:center;gap:2.6rem;width:max-content;animation:slide 44s linear infinite}
.ticker__track span{font-family:var(--ff-d);font-size:clamp(.95rem,1.5vw,1.28rem);letter-spacing:.13em;text-transform:uppercase;color:rgba(245,242,236,.78);white-space:nowrap}
.ticker__track i{color:var(--gold);font-size:.6rem;font-style:normal}
@keyframes slide{to{transform:translateX(-50%)}}
.ticker:hover .ticker__track{animation-play-state:paused}

/* ---------- 10. Facts ---------- */
.facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(20,26,34,.12);border-block:1px solid rgba(20,26,34,.12);
  margin-top:clamp(56px,7vw,96px);
}
.fact{background:var(--cream);padding:clamp(26px,3vw,40px) clamp(18px,2vw,28px) clamp(30px,3.4vw,44px)}
.fact__n{display:block;font-family:var(--ff-d);font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:1;color:var(--gold);margin-bottom:.7rem;font-variant-numeric:tabular-nums}
.fact__l{display:block;font-size:.79rem;line-height:1.5;color:var(--muted)}
@media (max-width:820px){.facts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.facts{grid-template-columns:1fr}}

/* ---------- 11. Servizi: righe interattive ---------- */
.rows{border-top:1px solid rgba(227,211,172,.16)}
.row{border-bottom:1px solid rgba(227,211,172,.16);position:relative;overflow:hidden}
.row::before{
  content:"";position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(176,141,79,.11),rgba(176,141,79,.02));
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e2);pointer-events:none;
}
.row:hover::before,.row.is-open::before{transform:none}
.row__head{
  position:relative;z-index:1;width:100%;display:grid;
  grid-template-columns:76px 1fr 40px;align-items:center;gap:1rem;
  padding:clamp(24px,2.7vw,36px) clamp(4px,1.5vw,20px);text-align:left;
}
.row__n{font-family:var(--ff-d);font-size:.92rem;letter-spacing:.14em;color:var(--gold-2);transition:transform .55s var(--e)}
.row:hover .row__n{transform:translateX(6px)}
.row__t{
  font-family:var(--ff-d);font-size:clamp(1.25rem,2.4vw,2.05rem);line-height:1.16;
  color:var(--cream);transition:transform .55s var(--e),color .4s;
}
.row:hover .row__t{transform:translateX(8px)}
.row__ic{position:relative;width:16px;height:16px;justify-self:end}
.row__ic::before,.row__ic::after{
  content:"";position:absolute;inset:50% 0 auto;height:1px;background:var(--gold-2);transition:transform .5s var(--e2);
}
.row__ic::after{transform:rotate(90deg)}
.row.is-open .row__ic::after{transform:rotate(0)}
.row__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--e2)}
.row.is-open .row__body{grid-template-rows:1fr}
.row__body>div{overflow:hidden}
.row__inner{
  position:relative;z-index:1;padding:0 clamp(4px,1.5vw,20px) clamp(28px,3vw,40px) 76px;
  max-width:70ch;opacity:0;transform:translateY(8px);transition:opacity .5s .1s var(--e),transform .5s .1s var(--e);
}
.row.is-open .row__inner{opacity:1;transform:none}
.row__inner p{color:rgba(245,242,236,.72);font-size:.98rem}
.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.tags span{
  font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,242,236,.55);
  border:1px solid rgba(227,211,172,.22);border-radius:99px;padding:.36rem .8rem;
}
@media (max-width:620px){
  .row__head{grid-template-columns:44px 1fr 22px;gap:.7rem}
  .row__n{font-size:.76rem}
  .row__inner{padding-left:44px}
}

/* ---------- 12. Metodo ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px)}
.steps__line{position:absolute;top:5px;left:0;right:0;height:1px;background:rgba(20,26,34,.14)}
.steps__line i{display:block;height:100%;width:0;background:var(--gold);transition:width .25s linear}
.step{position:relative;padding:56px .6rem 0 0}
.step__dot{
  position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;
  background:var(--cream);border:1px solid var(--gold);transition:background .5s var(--e);
}
.step.is-in .step__dot{background:var(--gold)}
.step__k{display:block;font-family:var(--ff-d);font-size:2.5rem;line-height:1.12;color:var(--gold);opacity:.42;margin-bottom:.7rem}
.step h3{font-family:var(--ff-d);font-size:1.42rem;line-height:1.2;margin-bottom:.7rem}
.step p{font-size:.9rem;line-height:1.62}
@media (max-width:880px){
  .steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .steps__line{display:none}.step__dot{display:none}
  .step{padding-top:0}
}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- 13. Rail settori ---------- */
.rail{display:grid;gap:.4rem;margin-top:clamp(20px,3vw,40px);overflow:hidden}
.rail__track{display:flex;align-items:center;gap:2rem;width:max-content;animation:slide 52s linear infinite}
.rail__track--rev{animation-duration:64s;animation-direction:reverse}
.rail__track span{
  font-family:var(--ff-d);font-size:clamp(1.5rem,3.6vw,3rem);line-height:1.28;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(227,211,172,.4);transition:color .5s var(--e);
}
.rail__track span:hover{color:var(--gold-2);-webkit-text-stroke-color:transparent}
/* Su schermi stretti il contorno di 1px su testo piccolo diventa illeggibile:
   meglio il testo pieno. */
@media (max-width:900px){
  .rail__track span{color:rgba(227,211,172,.82);-webkit-text-stroke:0}
}
.rail__track i{color:var(--gold);font-style:normal;font-size:1.4rem}
.rail:hover .rail__track{animation-play-state:paused}

/* ---------- 14. CEO ---------- */
.ceo{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,96px);align-items:start}
.ceo__body,.contact__left{min-width:0}
@media (max-width:900px){.ceo{grid-template-columns:1fr;gap:40px}}
.portrait{position:relative}
.portrait__box{position:relative}
.portrait__frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink-700)}
.portrait__frame img{
  width:100%;height:100%;object-fit:cover;object-position:center 20%;
  filter:grayscale(1) contrast(1.06) brightness(.95);transition:filter 1s var(--e),transform 1.4s var(--e);
}
.portrait:hover .portrait__frame img{filter:grayscale(.15) contrast(1.02);transform:scale(1.035)}
.portrait__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,10,19,.68));pointer-events:none}
.portrait__box::after{
  content:"";position:absolute;right:-16px;bottom:-16px;width:58%;height:46%;
  border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);opacity:.5;pointer-events:none;
}
.portrait__cap{margin-top:1.05rem;font-size:.67rem;line-height:1.55;color:rgba(245,242,236,.34);letter-spacing:.02em}
.portrait__cap a{color:inherit}

.ceo__name{font-size:clamp(2.3rem,4.6vw,3.9rem);line-height:1.02;letter-spacing:-.018em}
.ceo__role{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-2);margin:1rem 0 2.1rem}
.quote{
  margin:2.4rem 0 0;padding:0 0 0 1.9rem;border-left:1px solid var(--gold);
  font-family:var(--ff-d);font-style:italic;font-size:clamp(1.18rem,1.9vw,1.62rem);
  line-height:1.42;color:var(--cream);
}
.timeline{margin-top:2.6rem;border-top:1px solid rgba(227,211,172,.14)}
.tl{display:grid;grid-template-columns:118px 1fr;gap:1.3rem;padding:1.15rem 0;border-bottom:1px solid rgba(227,211,172,.14);align-items:baseline;transition:padding-left .5s var(--e)}
.tl:hover{padding-left:.6rem}
.tl__y{font-size:.72rem;letter-spacing:.14em;color:var(--gold-2);font-weight:500}
.tl__d{font-size:.9rem;line-height:1.55;color:rgba(245,242,236,.7)}
@media (max-width:520px){.tl{grid-template-columns:1fr;gap:.3rem}}

/* ---------- 15. Pilastri ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(20,26,34,.12);border-top:1px solid rgba(20,26,34,.12)}
@media (max-width:820px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--cream);padding:clamp(28px,3vw,42px) clamp(20px,2.4vw,34px) clamp(34px,3.6vw,50px)}
.pillar__k{display:block;font-family:var(--ff-d);font-size:1.6rem;color:var(--gold);letter-spacing:.1em;margin-bottom:1.3rem}
.pillar h3{font-family:var(--ff-d);font-size:1.32rem;margin-bottom:.75rem}
.pillar p{font-size:.9rem;line-height:1.62}

/* ---------- 16. Card insight ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
@media (max-width:880px){.cards{grid-template-columns:1fr}}
.card{
  position:relative;background:var(--cream);border:1px solid rgba(20,26,34,.1);
  padding:clamp(26px,2.8vw,38px);display:flex;flex-direction:column;gap:.9rem;
  text-decoration:none;color:inherit;overflow:hidden;transition:transform .6s var(--e),border-color .5s;
}
.card::before{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e2)}
.card:hover{transform:translateY(-6px);border-color:rgba(176,141,79,.4)}
.card:hover::before{transform:none}
.card__meta{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.card h3{font-family:var(--ff-d);font-size:1.44rem;line-height:1.2}
.card p{font-size:.9rem;line-height:1.6}
.card__by{display:block;margin-top:.4rem;font-size:.78rem;line-height:1.5;color:var(--muted)}
.card__by em{display:block;font-family:var(--ff-d);font-style:normal;font-size:1rem;color:var(--text);margin-bottom:.15rem}
.cards__note{margin-top:clamp(26px,3vw,40px);font-size:.86rem;color:var(--muted)}
.cards__note a{color:var(--gold);text-underline-offset:3px}
.card__go{margin-top:auto;padding-top:1rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;display:inline-flex;gap:.5rem;align-items:center}
.card__go i{font-style:normal;transition:transform .45s var(--e)}
.card:hover .card__go i{transform:translateX(6px)}

/* ---------- 17. Contatti ---------- */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,6vw,100px)}
@media (max-width:900px){.contact{grid-template-columns:1fr;gap:52px}}
.offices{margin-top:2.6rem;display:grid;gap:1.6rem}
.office__c{display:block;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.45rem}
.office__a{display:block;font-size:.9rem;color:rgba(245,242,236,.72);line-height:1.6}
.office__a a{text-decoration:none;border-bottom:1px solid rgba(227,211,172,.25);transition:border-color .4s}
.office__a a:hover{border-color:var(--gold-2)}

.form{display:grid;gap:1.9rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.9rem}
@media (max-width:600px){.form__row{grid-template-columns:1fr}.form{gap:1.6rem}}
.field{position:relative}
.field input,.field select,.field textarea{
  font:inherit;font-size:.96rem;color:var(--cream);width:100%;
  background:transparent;border:0;border-bottom:1px solid rgba(227,211,172,.24);
  padding:.7rem 0;border-radius:0;transition:border-color .45s var(--e);
}
.field textarea{resize:vertical;min-height:96px}
.field select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.4 6 6.3l5-4.9' fill='none' stroke='%23C9A96A' stroke-width='1.1'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;background-size:11px 8px;
}
.field select option{background:var(--ink-800);color:var(--cream)}
.field label{
  position:absolute;left:0;top:.7rem;pointer-events:none;
  font-size:.95rem;color:rgba(245,242,236,.42);
  transition:transform .4s var(--e),font-size .4s var(--e),color .4s var(--e),letter-spacing .4s var(--e);
  transform-origin:left top;
}
.field input:focus~label,.field textarea:focus~label,
.field input:not(:placeholder-shown)~label,.field textarea:not(:placeholder-shown)~label,
.field--select label{
  transform:translateY(-1.55rem);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);
}
.field--select select{padding-top:1.1rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold)}

.consent{display:flex;gap:.85rem;align-items:flex-start;font-size:.8rem;color:rgba(245,242,236,.6);line-height:1.6;cursor:pointer}
.consent input{position:absolute;opacity:0;width:0;height:0}
.consent__box{
  position:relative;flex:none;width:16px;height:16px;margin-top:.24rem;
  border:1px solid rgba(227,211,172,.4);transition:background .35s,border-color .35s;
}
.consent__box::after{
  content:"";position:absolute;left:4.5px;top:1px;width:5px;height:9px;
  border:solid var(--ink-900);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(0);
  transition:transform .3s var(--e2);
}
.consent input:checked~.consent__box{background:var(--gold);border-color:var(--gold)}
.consent input:checked~.consent__box::after{transform:rotate(45deg) scale(1)}
.consent input:focus-visible~.consent__box{outline:1.5px solid var(--gold-2);outline-offset:3px}
.consent a{color:rgba(245,242,236,.85)}
.form .btn{justify-self:start}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- 18. Footer ---------- */
.footer{background:var(--ink-900);color:rgba(245,242,236,.55);padding-block:clamp(56px,7vw,88px) 2.2rem}
.footer__mark{padding-bottom:clamp(34px,4vw,52px);border-bottom:1px solid rgba(227,211,172,.12)}
.footer__mark{text-align:center}
.footer__name{display:block;font-family:var(--ff-d);font-size:clamp(1.9rem,5.5vw,3.4rem);letter-spacing:.26em;text-transform:uppercase;color:var(--cream);line-height:1;padding-left:.26em}
.footer__sub{display:block;margin-top:.9rem;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2);padding-left:.3em}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(28px,4vw,60px);padding-block:clamp(34px,4vw,54px);border-bottom:1px solid rgba(227,211,172,.12)}
@media (max-width:820px){.footer__grid{grid-template-columns:1fr;gap:32px}}
.footer h2{font-family:var(--ff-t);font-size:.62rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.15rem}
.footer li+li{margin-top:.65rem}
.footer a{font-size:.87rem;text-decoration:none;transition:color .4s var(--e)}
.footer a:hover{color:var(--gold-3)}
.footer__note{max-width:44ch}
.footer__note p{font-size:.84rem;line-height:1.65;margin:0}
.footer__ragsoc{margin-top:1.1rem!important;font-size:.72rem!important;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);line-height:1.7!important}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;justify-content:space-between;padding-top:2rem;font-size:.72rem}
.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem}
.footer__legal a{font-size:.72rem}

/* ---------- 19. Animazioni d'ingresso ---------- */
.anim{opacity:0;transition:opacity .9s var(--e),transform .9s var(--e)}
.anim[data-anim="fade"]{transform:translateY(18px)}
.anim[data-anim="rise"]{transform:translateY(30px)}
.anim[data-anim="wipe"]{opacity:1}
.anim[data-anim="wipe"] .portrait__frame{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--e2)}
.anim.is-in{opacity:1;transform:none}
.anim.is-in[data-anim="wipe"] .portrait__frame{clip-path:inset(0 0 0 0)}

/* rivelazione parola per parola */
.split .w{
  display:inline-block;overflow:hidden;vertical-align:bottom;
  padding:.18em 0 .2em;margin:-.18em 0 -.2em;
}
.split .w>span{display:inline-block;transform:translateY(130%);transition:transform .95s var(--e2)}
.split.is-in .w>span{transform:none}
body.no-anim .anim{opacity:1;transform:none}
body.no-anim .split .w>span{transform:none}
body.no-anim .anim[data-anim="wipe"] .portrait__frame{clip-path:none}

/* ---------- 20. Pagine legali ---------- */
.legal{max-width:74ch;padding-top:150px}
.legal h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.2rem}
.legal h2{font-family:var(--ff-d);font-size:clamp(1.3rem,1.9vw,1.65rem);margin:2.8rem 0 .9rem}
.legal p,.legal li{font-size:.94rem;color:var(--muted);line-height:1.72}
.legal ul{list-style:disc;padding-left:1.2rem;margin:0 0 1.1em}
.legal li{margin-bottom:.45rem}
.legal a{color:var(--gold)}
.legal .notice{border:1px solid var(--gold);border-left-width:2px;background:rgba(176,141,79,.08);padding:1.05rem 1.25rem;font-size:.88rem;color:var(--text);margin-bottom:2.6rem}
.legal .back{display:inline-block;margin-top:3rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--gold);text-decoration:none}

/* ---------- 21. Utility ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:500;background:var(--gold);color:var(--ink-900);padding:.85rem 1.4rem;font-size:.78rem;font-weight:600}
.skip:focus{left:12px;top:12px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =========================================================================
   22. Pagine interne: intervento e archivio
   ========================================================================= */

/* Sulle pagine interne l'header parte già scuro: sotto c'è il fondo crema
   e un logotipo crema su crema sarebbe invisibile. */
.page-inner .header{
  background:rgba(11,23,41,.95);backdrop-filter:blur(16px) saturate(1.2);
  border-bottom-color:rgba(227,211,172,.14);
}

.carico-pubblico{color:var(--muted);font-size:.9rem;letter-spacing:.02em}
.cards__empty{grid-column:1/-1;color:var(--muted)}

.article{padding-top:clamp(132px,15vh,190px)}
.article .wrap{max-width:960px}
.article__back{text-decoration:none;transition:color .4s var(--e)}
.article__back:hover{color:var(--gold-2)}
.article__title{
  font-family:var(--ff-d);font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.05;
  letter-spacing:-.018em;max-width:22ch;margin:0 0 1.2rem;
  font-optical-sizing:none;font-variation-settings:"opsz" 11,"wght" 520;
}
.article__standfirst{
  font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.55;color:var(--muted);
  max-width:56ch;margin-bottom:2.4rem;
}
.article__byline{
  display:flex;align-items:center;gap:1.1rem;
  padding:1.5rem 0;border-block:1px solid rgba(20,26,34,.14);margin-bottom:clamp(34px,4vw,54px);
}
.article__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;filter:grayscale(.35)}
.article__author{display:block;font-family:var(--ff-d);font-size:1.12rem;line-height:1.3;font-variation-settings:"opsz" 20,"wght" 500}
.article__role{display:block;font-size:.85rem;color:var(--muted);line-height:1.4}
.article__date{display:block;margin-top:.3rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

.article__body{max-width:66ch}
.article__body>*+*{margin-top:1.3em}
.article__body p{font-size:1.06rem;line-height:1.78;color:#2E3743}
.article__body h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.18;margin-top:2.6em}
.article__body h3{font-family:var(--ff-d);font-size:1.28rem;margin-top:2em}
.article__body ul,.article__body ol{padding-left:1.3rem;list-style:disc}
.article__body ol{list-style:decimal}
.article__body li{font-size:1.02rem;line-height:1.72;color:#2E3743;margin-bottom:.5rem}
.article__body blockquote{
  margin:2.2em 0;padding:0 0 0 1.8rem;border-left:1px solid var(--gold);
  font-family:var(--ff-d);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.55rem);
  line-height:1.45;color:var(--text);
}
.article__body blockquote p{font-size:inherit;line-height:inherit;color:inherit}
.article__body a{color:var(--gold);text-underline-offset:3px}
.article__body img{margin:2em 0;width:100%;height:auto}
.article__body hr{border:0;border-top:1px solid rgba(20,26,34,.14);margin:2.6em 0}
.article__body code{font-size:.92em;background:rgba(20,26,34,.06);padding:.15em .4em}

.article__foot{
  margin-top:clamp(44px,5vw,72px);padding-top:2rem;border-top:1px solid rgba(20,26,34,.14);
  display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center;justify-content:space-between;
}
.article__disclaimer{font-size:.8rem;color:var(--muted);max-width:46ch;margin:0}

.archive{border-top:1px solid rgba(20,26,34,.14);margin-top:clamp(30px,4vw,50px)}
.archive__item{border-bottom:1px solid rgba(20,26,34,.14)}
.archive__item a{
  display:grid;grid-template-columns:150px 1fr 30px;gap:1.6rem;align-items:baseline;
  padding:clamp(24px,2.8vw,36px) 0;text-decoration:none;transition:padding-left .5s var(--e);
}
.archive__item a:hover{padding-left:.8rem}
.archive__date{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.archive__title{display:block;font-family:var(--ff-d);font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.2;margin-bottom:.5rem;font-variation-settings:"opsz" 16,"wght" 500}
.archive__abstract{display:block;font-size:.94rem;line-height:1.6;color:var(--muted);max-width:62ch}
.archive__by{display:block;margin-top:.7rem;font-size:.78rem;color:var(--muted);opacity:.85}
.archive__go{justify-self:end;color:var(--gold);transition:transform .45s var(--e)}
.archive__item a:hover .archive__go{transform:translateX(6px)}
@media (max-width:760px){
  .archive__item a{grid-template-columns:1fr;gap:.6rem}
  .archive__go{display:none}
}

/* ---------- Card con immagine di copertina ---------- */
.card{padding:0;overflow:hidden}
.card__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.card:hover .card__img img{transform:scale(1.04)}
.card>:not(.card__img){padding-inline:clamp(22px,2.4vw,30px)}
.card>.card__meta{padding-top:clamp(20px,2.2vw,26px)}
.card>.card__go{padding-bottom:clamp(22px,2.4vw,30px)}
.card:not(:has(.card__img))>.card__meta{padding-top:clamp(26px,2.8vw,38px)}

/* copertina dell'intervento */
.article__cover{margin:0 0 clamp(28px,3.4vw,44px)}
.article__cover img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.article__cover figcaption{margin-top:.7rem;font-size:.78rem;color:var(--muted);line-height:1.5}

/* miniatura nell'archivio */
.archive__item a{grid-template-columns:150px 200px 1fr 30px}
.archive__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.archive__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.archive__item a:hover .archive__img img{transform:scale(1.05)}
.archive__img--vuota{border:1px solid rgba(20,26,34,.1);background:transparent}
@media (max-width:980px){.archive__item a{grid-template-columns:130px 170px 1fr}.archive__go{display:none}}
@media (max-width:760px){
  .archive__item a{grid-template-columns:1fr;gap:.9rem}
  .archive__img{max-width:340px}
}

/* =========================================================================
   23. Prestazioni
   ========================================================================= */

/* Le sezioni fuori schermo non vengono disegnate finché non servono.
   Su pagine lunghe è la differenza fra uno scorrimento liscio e uno a scatti. */
.section{content-visibility:auto;contain-intrinsic-size:auto 900px}
.hero,.section--ink#servizi{content-visibility:visible}

/* Il sipario non deve mai ritardare il contenuto */
body.senza-sipario .curtain{display:none}

/* Modalità leggera: dispositivi deboli, connessioni lente, risparmio dati.
   Restano i contenuti e i colori, spariscono gli effetti che costano frame. */
body.leggera .header,
body.leggera .header.is-stuck,
body.leggera .nav,
body.leggera .page-inner .header{backdrop-filter:none}
body.leggera .hero{background:linear-gradient(165deg,var(--ink-900) 0%,var(--ink-800) 60%,var(--ink-700) 100%)}
body.leggera .hero__ghost{display:none}
body.leggera .ticker__track,
body.leggera .rail__track{animation:none}
body.leggera .rail{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
body.leggera .rail::-webkit-scrollbar{display:none}
body.leggera .card:hover{transform:none}
body.leggera .card:hover .card__img img,
body.leggera .portrait:hover .portrait__frame img{transform:none}
body.leggera .anim{transition-duration:.4s}
body.leggera .split .w>span{transition-duration:.45s}

/* Su schermi tattili gli effetti al passaggio del mouse non servono */
@media (hover:none){
  .card:hover{transform:none}
  .card:hover .card__img img,.portrait:hover .portrait__frame img{transform:none}
  .row:hover .row__t,.row:hover .row__n{transform:none}
  .tl:hover{padding-left:0}
  .archive__item a:hover{padding-left:0}
}

/* =========================================================================
   24. Consenso ai cookie
   ========================================================================= */
.cc{
  position:fixed;left:0;right:0;bottom:0;z-index:250;
  padding:0 var(--gut) max(var(--gut),18px);
  transform:translateY(110%);transition:transform .5s var(--e2);
  pointer-events:none;
}
.cc.si{transform:none}
.cc__corpo{
  position:relative;pointer-events:auto;
  max-width:var(--maxw);margin-inline:auto;
  background:var(--ink-900);color:var(--cream);
  border:1px solid rgba(227,211,172,.2);
  padding:clamp(22px,2.6vw,32px) clamp(22px,2.8vw,40px);
  box-shadow:0 26px 60px -34px rgba(0,0,0,.85);
}
.cc__x{
  position:absolute;top:10px;right:12px;width:34px;height:34px;
  font-size:1.5rem;line-height:1;color:rgba(245,242,236,.55);transition:color .3s var(--e);
}
.cc__x:hover{color:var(--cream)}
.cc__t{
  font-family:var(--ff-d);font-size:clamp(1.15rem,1.8vw,1.4rem);margin:0 0 .6rem;
  font-optical-sizing:none;font-variation-settings:"opsz" 16,"wght" 500;
}
.cc__p{font-size:.86rem;line-height:1.6;color:rgba(245,242,236,.76);margin:0 0 1.3rem;max-width:78ch}
.cc__p a{color:var(--gold-2);text-underline-offset:3px}
.cc__azioni{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.cc__btn{
  padding:.78rem 1.4rem;font-size:.68rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;transition:.35s var(--e);white-space:nowrap;
}
.cc__btn--oro{background:var(--gold);color:var(--ink-900)}
.cc__btn--oro:hover{background:var(--gold-2)}
.cc__btn--filo{border:1px solid rgba(227,211,172,.4);color:var(--cream)}
.cc__btn--filo:hover{background:rgba(227,211,172,.1)}
.cc__btn--nudo{color:rgba(245,242,236,.6);text-decoration:underline;text-underline-offset:4px}
.cc__btn--nudo:hover{color:var(--cream)}
@media (max-width:600px){
  .cc__azioni{flex-direction:column;align-items:stretch}
  .cc__btn{width:100%;text-align:center}
}

/* --- finestra delle preferenze --- */
.ccm{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:var(--gut);opacity:0;transition:opacity .3s var(--e)}
.ccm.si{opacity:1}
.ccm__velo{position:absolute;inset:0;background:rgba(5,10,19,.72);backdrop-filter:blur(3px)}
.ccm__box{
  position:relative;width:100%;max-width:620px;max-height:86vh;overflow:auto;
  background:var(--ink-900);color:var(--cream);border:1px solid rgba(227,211,172,.2);
  padding:clamp(24px,3vw,40px);
}
.ccm__cat{margin:1.6rem 0;border-top:1px solid rgba(227,211,172,.14)}
.cc__cat{padding:1.15rem 0;border-bottom:1px solid rgba(227,211,172,.14)}
.cc__cat-testa{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.cc__cat h3{font-family:var(--ff-d);font-size:1.05rem;margin:0;font-variation-settings:"opsz" 20,"wght" 500}
.cc__cat p{font-size:.82rem;line-height:1.6;color:rgba(245,242,236,.68);margin:0}
.cc__nota{display:block;margin-top:.3rem;font-size:.74rem;color:var(--gold-2);font-style:normal;letter-spacing:.04em}
.cc__sempre{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap}

/* interruttore */
.cc__sw{position:relative;flex:none;width:44px;height:24px;cursor:pointer}
.cc__sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc__sw-p{
  position:absolute;inset:0;border:1px solid rgba(227,211,172,.4);border-radius:99px;
  transition:background .3s var(--e),border-color .3s var(--e);
}
.cc__sw-p::after{
  content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;
  background:rgba(245,242,236,.7);transition:transform .3s var(--e2),background .3s var(--e);
}
.cc__sw input:checked ~ .cc__sw-p{background:var(--gold);border-color:var(--gold)}
.cc__sw input:checked ~ .cc__sw-p::after{transform:translateX(20px);background:var(--ink-900)}
.cc__sw input:focus-visible ~ .cc__sw-p{outline:2px solid var(--gold-2);outline-offset:3px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* --- pagine legali: sommario e tabelle --- */
.legal__sommario{font-size:.9rem;color:var(--muted);line-height:1.6;margin:1.2rem 0 2.4rem}
.legal__tab{width:100%;border-collapse:collapse;margin:1.4rem 0 1.8rem;font-size:.86rem}
.legal__tab th,.legal__tab td{text-align:left;vertical-align:top;padding:.75rem .9rem;border-bottom:1px solid rgba(20,26,34,.12)}
.legal__tab th{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500;border-bottom-color:rgba(20,26,34,.24)}
.legal__tab td{color:var(--muted);line-height:1.55}
.legal__tab code{font-size:.92em;background:rgba(20,26,34,.06);padding:.1em .35em}
@media (max-width:680px){
  .legal__tab,.legal__tab tbody,.legal__tab tr,.legal__tab td{display:block;width:100%}
  .legal__tab thead{display:none}
  .legal__tab tr{border-bottom:1px solid rgba(20,26,34,.16);padding:.6rem 0}
  .legal__tab td{border:0;padding:.25rem 0}
  .legal__tab td:first-child{color:var(--text);font-weight:500}
}
