/* ==========================================================================
   OneGold — "Carta & Caveau"
   Sistema editoriale chiaro: carta avorio, inchiostro blu, oro a foglia.
   Newsreader (titoli e cifre) + Instrument Sans (testo e etichette).
   ========================================================================== */

:root{
  /* carta */
  --paper:#F4EFE5;
  --paper-2:#FBF8F2;
  --paper-3:#EAE2D2;
  /* inchiostro */
  --ink:#14213A;
  --ink-2:#465063;
  --ink-3:#5E6371;
  --rule:rgba(20,33,58,.14);
  --rule-2:rgba(20,33,58,.3);
  /* oro */
  --gold:#B4862E;          /* solo decorativo */
  --gold-deep:#9A7124;     /* cifre grandi */
  --gold-ink:#7F5C12;      /* testo dorato leggibile */
  --gold-soft:#E2C88A;     /* oro su inchiostro */
  --foil:linear-gradient(120deg,#8C6420 0%,#C99A3E 28%,#F2DDA0 48%,#C5933B 68%,#8C6420 100%);
  /* registro */
  --gain:#1D6A47;
  --loss:#9B2F28;
  --pen:#2A4AA0;           /* stilografica: le annotazioni a mano */
  --on-ink:#F4EFE5;
  --on-ink-2:#B9BDC8;

  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

  --frame:1240px;
  --gut:clamp(16px,4.2vw,44px);
  --masthead:68px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --sheet-shadow:0 1px 0 rgba(20,33,58,.05),0 26px 50px -32px rgba(20,33,58,.5);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--masthead) + 20px)}
body{
  margin:0;min-height:100vh;
  background:var(--paper);color:var(--ink-2);
  font-family:var(--sans);font-size:clamp(16px,.3vw + 15px,17.5px);line-height:1.62;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
}
/* margini della pagina, come un rapporto stampato */
body::before,body::after{
  content:"";position:fixed;top:0;bottom:0;z-index:-1;width:1px;background:var(--rule);pointer-events:none;display:none;
}
body::before{left:calc(50% - var(--frame)/2)}
body::after{left:calc(50% + var(--frame)/2)}
@media (min-width:1320px){body::before,body::after{display:block}}

img,svg{display:block;max-width:100%}
.guilloche,.pen__line,.annot__ring{max-width:none}
a{color:inherit}
button{font:inherit;color:inherit}
p{margin:0 0 1em}
strong,b{color:var(--ink);font-weight:600}
::selection{background:var(--gold-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--pen);outline-offset:3px}

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--ink);margin:0;letter-spacing:-.012em;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;color:var(--gold-ink)}

.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:18px;height:18px;flex:none}
.skip{position:absolute;left:12px;top:-64px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.frame{width:100%;max-width:var(--frame);margin-inline:auto;padding-inline:var(--gut)}

/* ---------- tipografia di servizio ---------- */
.kicker{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:0 0 20px;font:600 12px/1.3 var(--sans);font-stretch:82%;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.label{font:600 11.5px/1.3 var(--sans);font-stretch:84%;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.lede{font:400 clamp(1.08rem,.98rem + .45vw,1.3rem)/1.55 var(--serif);color:var(--ink-2);max-width:40em;margin:0}
.small{font-size:13px;color:var(--ink-3)}
.nowrap{white-space:nowrap}
.num{font-variant-numeric:lining-nums tabular-nums}
.pos{color:var(--gain)}
.neg{color:var(--loss)}

/* ---------- pulsanti e link ---------- */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 24px;border:1px solid transparent;border-radius:2px;
  font:600 15px/1.15 var(--sans);letter-spacing:.01em;text-decoration:none;text-align:center;cursor:pointer;
  transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s;
}
.button .ico{width:18px;height:18px}
.button--ink{background:var(--ink);color:var(--paper);box-shadow:inset 0 -2px 0 var(--gold)}
.button--ink:hover{background:#0B1528;transform:translateY(-1px)}
.button--line{border-color:var(--rule-2);color:var(--ink);background:transparent}
.button--line:hover{border-color:var(--ink);background:var(--paper-2)}
.button--foil{background:var(--foil);color:#241A07;box-shadow:0 14px 34px -16px rgba(201,154,62,.9)}
.button--foil:hover{transform:translateY(-1px);filter:saturate(1.15) brightness(1.03)}
.button--sm{min-height:40px;padding:0 16px;font-size:14px}
.button--lg{min-height:56px;padding:0 30px;font-size:16px}
.button--block{width:100%}

.textlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:gap .25s var(--ease),color .2s}
.textlink .ico{width:16px;height:16px}
.textlink:hover{gap:12px;color:var(--gold-ink)}
.textlink--light{color:var(--on-ink);border-bottom-color:rgba(226,200,138,.6)}
.textlink--light:hover{color:var(--gold-soft)}

/* ---------- avviso in testa ---------- */
.notice{background:var(--ink);color:var(--on-ink-2);font-size:13px;line-height:1.45}
.notice__in{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 14px;min-height:40px;padding-block:9px;text-align:center}
.notice b{color:var(--on-ink);font-weight:600}
.notice__timer{color:var(--gold-soft);font-variant-numeric:tabular-nums}
.notice__timer:empty{display:none}
.notice a{color:var(--gold-soft);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(226,200,138,.45);white-space:nowrap}
.notice a:hover{border-bottom-color:var(--gold-soft)}

/* ---------- testata ---------- */
.masthead{position:sticky;top:0;z-index:40;background:rgba(244,239,229,.88);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);border-bottom:1px solid transparent;transition:border-color .3s,background-color .3s}
.masthead.is-scrolled{border-bottom-color:var(--rule);background:rgba(244,239,229,.96)}
.masthead__in{display:flex;align-items:center;gap:28px;height:var(--masthead)}
.masthead__nav{display:flex;gap:26px}
.masthead__nav a{font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;padding:6px 0;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease),color .2s}
.masthead__nav a:hover{color:var(--ink);background-size:100% 1px}

.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand__mark{width:32px;height:32px;flex:none}
.brand__word{font:500 24px/1 var(--serif);letter-spacing:-.015em}
.brand__word i{font-style:italic;font-weight:400;color:var(--gold-ink)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(40px,7vw,100px) 0 clamp(56px,8vw,112px)}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,6vw,96px);align-items:center}
.hero__title{font-size:clamp(2.2rem,1rem + 3.6vw,4.1rem);line-height:1.04;letter-spacing:-.026em;margin-bottom:28px}
.hero__title em{white-space:nowrap}
.hero__lede{font:400 clamp(1.08rem,.95rem + .5vw,1.3rem)/1.56 var(--serif);color:var(--ink-2);max-width:34em;margin-bottom:32px}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:34px}
.assurances{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;color:var(--ink-2)}
.assurances li{display:inline-flex;align-items:center;gap:8px}
.assurances .ico{width:16px;height:16px;color:var(--gold-ink)}

/* ingresso orchestrato */
.js .hero .lift{animation:lift 1s var(--ease) both;animation-delay:calc(var(--d,0) * 110ms + 80ms)}
@keyframes lift{from{opacity:0;transform:translateY(18px)}}

/* sottolineatura a penna */
.pen{position:relative;display:inline-block}
.pen__line{position:absolute;left:-3%;bottom:-.2em;width:106%;height:.42em;overflow:visible;pointer-events:none}
.pen__line path{fill:none;stroke:var(--pen);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.js .pen__line path{stroke-dasharray:1;stroke-dashoffset:1;animation:ink 1.1s 1s var(--ease) forwards}
@keyframes ink{to{stroke-dashoffset:0}}

/* rosone guilloché (disegnato da JS) */
.guilloche{position:absolute;z-index:0;pointer-events:none;color:var(--gold);opacity:.3;aspect-ratio:1;
  -webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%)}
.guilloche path{fill:none;stroke:currentColor;stroke-width:.6;vector-effect:non-scaling-stroke}
.hero .guilloche{width:min(1120px,150vw);left:74%;top:52%;transform:translate(-50%,-50%)}
.js .guilloche{opacity:0;transition:opacity 2.4s ease}
.js .guilloche.is-drawn{opacity:.3}

/* ---------- certificato (estratto di performance) ---------- */
.cert-wrap{position:relative;max-width:520px;justify-self:end;width:100%}
.cert{
  position:relative;padding:12px;border:1px solid var(--rule-2);box-shadow:var(--sheet-shadow);
  background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='12' viewBox='0 0 40 12'%3E%3Cg fill='none' stroke='%23B4862E' stroke-width='.6'%3E%3Cpath d='M0 6C5 0 15 0 20 6S35 12 40 6' stroke-opacity='.75'/%3E%3Cpath d='M0 6C5 12 15 12 20 6S35 0 40 6' stroke-opacity='.75'/%3E%3Cpath d='M0 3C5 0 15 0 20 3S35 6 40 3' stroke-opacity='.35'/%3E%3Cpath d='M0 9C5 12 15 12 20 9S35 6 40 9' stroke-opacity='.35'/%3E%3C/g%3E%3C/svg%3E") repeat;
}
.cert__in{position:relative;background:var(--paper-2);border:1px solid var(--rule);padding:clamp(20px,2.6vw,30px)}
.cert__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:0 clamp(64px,7vw,92px) 12px 0;border-bottom:1px solid var(--rule)}
.cert__label{font:600 11px/1.2 var(--sans);font-stretch:82%;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.cert__serial{font:italic 400 14px/1 var(--serif);color:var(--gold-ink);white-space:nowrap}
.cert__meta{margin:12px 0 0;font-size:13px;color:var(--ink-3)}
.cert__big{margin:12px 0 4px;font:300 clamp(3.3rem,2.4rem + 3.2vw,5rem)/1 var(--serif);font-variant-numeric:lining-nums proportional-nums;letter-spacing:-.035em;color:var(--gain)}
.cert__caption{font-size:13px;color:var(--ink-3);margin:0}
.cert__curve{width:100%;height:auto;margin:10px 0 14px}
.cert__curve .area{fill:url(#og-area)}
.cert__curve .line{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.cert__curve .dot{fill:var(--paper-2);stroke:var(--ink);stroke-width:1.2}
.cert__curve .dot--last{fill:var(--gain);stroke:var(--gain)}
.cert__curve .grid{stroke:var(--rule);stroke-width:.8;stroke-dasharray:2 3}
.js .cert__curve .line{stroke-dasharray:1.02;stroke-dashoffset:1.02;animation:ink 1.8s .7s var(--ease) forwards}
.cert__stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cert__stats div{padding:12px 0 12px 14px;border-left:1px solid var(--rule)}
.cert__stats div:first-child{border-left:0;padding-left:0}
.cert__stats dt{font:600 10.5px/1.3 var(--sans);font-stretch:84%;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.cert__stats dd{margin:5px 0 0;font:400 1.45rem/1 var(--serif);color:var(--ink)}
.cert__months{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));margin:14px 0 0;padding:0;list-style:none}
.cert__months li{padding:0 4px;text-align:center;border-left:1px dotted var(--rule-2)}
.cert__months li:first-child{border-left:0}
.cert__months span{display:block;font:600 10px/1.3 var(--sans);letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}
.cert__months b{display:block;margin-top:3px;font:400 1rem/1.1 var(--serif);font-variant-numeric:tabular-nums}
.cert__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font-size:11.5px;color:var(--ink-3)}

/* sigillo in foglia d'oro */
.seal{position:absolute;top:-44px;right:-30px;width:clamp(110px,10.5vw,142px);z-index:2;transform:rotate(-12deg);filter:drop-shadow(0 10px 14px rgba(110,78,20,.32))}
.js .hero .seal{animation:stamp .75s 1.25s var(--ease) both}
@keyframes stamp{0%{opacity:0;transform:scale(1.7) rotate(-34deg)}60%{opacity:1;transform:scale(.93) rotate(-10deg)}100%{opacity:1;transform:scale(1) rotate(-12deg)}}
.seal__ring{font:600 10.6px var(--sans);letter-spacing:2.2px;fill:#4A3410}
.seal__num{font:400 42px var(--serif);fill:#33240A;letter-spacing:-1px}
.seal__sub{font:italic 400 13px var(--serif);fill:#4A3410}

/* ---------- il registro (cifre chiave) ---------- */
.ledger{background:var(--paper-2);border-block:1px solid var(--rule)}
.ledger__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ledger__item{padding:28px 24px;border-left:1px solid var(--rule)}
.ledger__item:first-child{border-left:0;padding-left:0}
.ledger__num{display:block;font:300 clamp(2.4rem,1.7rem + 2.2vw,3.5rem)/1 var(--serif);color:var(--ink);letter-spacing:-.03em;margin-bottom:10px;font-variant-numeric:lining-nums proportional-nums}
.ledger__num small{font-size:.42em;letter-spacing:0;color:var(--gold-ink);margin-left:4px;font-style:italic}
.ledger__label{display:block;font-size:14px;line-height:1.45;color:var(--ink-2);max-width:22ch}

/* ---------- capitoli ---------- */
.chapter{position:relative;padding:clamp(76px,9vw,132px) 0}
.chapter--tint{background:var(--paper-2);border-block:1px solid var(--rule)}
.chapter--tight{padding:clamp(48px,6vw,88px) 0}
.chapter__head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:14px 40px;padding-top:22px;border-top:1px solid var(--rule-2);margin-bottom:clamp(40px,5vw,64px)}
.chapter__num{grid-row:span 2;margin:0;font:600 12px/1.4 var(--sans);font-stretch:82%;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.chapter__num span{display:block;font:300 3.3rem/1 var(--serif);font-stretch:100%;letter-spacing:-.03em;color:var(--gold-deep);margin-bottom:10px}
.chapter__title{font-size:clamp(2rem,1.25rem + 2.8vw,3.55rem);line-height:1.06;max-width:15.5em}
.chapter__body--offset{padding-left:calc((100% - 40px) * .25 + 40px)}

/* ---------- 01 · il trader ---------- */
.trader{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5vw,80px);align-items:start}
.calendar{margin:0;background:var(--paper-2);border:1px solid var(--rule);padding:clamp(18px,2.4vw,30px);box-shadow:var(--sheet-shadow)}
.calendar__top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 16px;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:16px}
.calendar__title{font:400 1.35rem/1.2 var(--serif);color:var(--ink);margin:0}
.calendar__grid{display:grid;grid-template-columns:40px repeat(12,minmax(0,1fr)) 66px;gap:4px;align-items:center}
.cal-h{font:600 10px/1 var(--sans);letter-spacing:.06em;color:var(--ink-3);text-align:center;text-transform:uppercase;padding-bottom:4px}
.cal-h--t{text-align:right}
.cal-y{font:600 12.5px/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.cal-t{font:400 14px/1 var(--serif);color:var(--gain);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cal-c{aspect-ratio:1;border-radius:1px;background:rgba(29,106,71,var(--a,.5));cursor:default}
.cal-c--void{background:transparent;box-shadow:inset 0 0 0 1px var(--rule)}
.cal-c:not(.cal-c--void):hover,.cal-c.is-active{outline:1.5px solid var(--ink);outline-offset:1px}
.js .calendar .cal-c{transform:scale(.3);opacity:0;transition:transform .55s var(--ease),opacity .55s;transition-delay:calc(var(--i,0) * 16ms)}
.js .calendar.is-in .cal-c{transform:none;opacity:1}
.calendar__read{margin:14px 0 0;min-height:1.5em;font-size:13.5px;color:var(--ink-2)}
.calendar__read b{font-family:var(--serif);font-weight:500}
.calendar__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);font-size:12px;color:var(--ink-3)}
.scale{display:inline-flex;align-items:center;gap:6px}
.scale i{width:12px;height:12px;display:inline-block;background:rgba(29,106,71,var(--a))}

.facts{margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule-2)}
.facts div{padding:18px 0;border-bottom:1px solid var(--rule)}
.facts div:nth-child(odd){padding-right:18px;border-right:1px solid var(--rule)}
.facts div:nth-child(even){padding-left:18px}
.facts dt{font:600 11.5px/1.3 var(--sans);font-stretch:84%;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.facts dd{margin:8px 0 0;font:300 clamp(1.8rem,1.5rem + 1vw,2.3rem)/1 var(--serif);color:var(--ink);letter-spacing:-.025em;font-variant-numeric:lining-nums proportional-nums}

.quote{margin:34px 0 0;padding:4px 0 4px 22px;border-left:2px solid var(--gold)}
.quote p{font:italic 400 clamp(1.25rem,1.05rem + .8vw,1.65rem)/1.35 var(--serif);color:var(--ink);margin:0 0 8px}
.quote cite{font-style:normal;font-size:13px;color:var(--ink-3)}
.quote--wide{max-width:780px;margin:clamp(40px,5vw,60px) auto 0;border-left:0;border-top:1px solid var(--rule-2);padding:26px 0 0;text-align:center}
.quote--wide p{font-size:clamp(1.4rem,1.1rem + 1.2vw,2.1rem)}

/* ---------- 02 · il metodo ---------- */
.method{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(36px,6vw,96px);align-items:start}
.story{font:400 clamp(1.04rem,.98rem + .3vw,1.18rem)/1.72 var(--serif);color:var(--ink-2);columns:2 18em;column-gap:44px;column-rule:1px solid var(--rule)}
.story p{margin:0 0 1em;break-inside:avoid-column}
.story p:first-child::first-letter{float:left;font-size:4em;line-height:.8;padding:.07em .1em 0 0;color:var(--gold-ink);font-weight:400}
.marginal{border-top:2px solid var(--ink);padding-top:16px;font-size:15px}
.marginal h3{font-size:1.3rem;margin-bottom:8px}
.marginal p:last-child{margin:0}
.pillars{list-style:none;margin:clamp(44px,5vw,68px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.pillars li{padding:26px 28px 4px 0}
.pillars li + li{padding-left:28px;border-left:1px solid var(--rule)}
.pillars__n{display:block;font:italic 400 1.15rem/1 var(--serif);color:var(--gold-ink);margin-bottom:14px}
.pillars h3{font-size:1.6rem;margin-bottom:10px}
.pillars p{font-size:15.5px;margin:0}

/* ---------- 03 · confronto ---------- */
.compare{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.compare th,.compare td{padding:18px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
.compare thead th{padding-top:0;font:600 12px/1.3 var(--sans);font-stretch:82%;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-2)}
.compare thead th.is-og{color:var(--gold-ink)}
.compare tbody th{width:22%;padding-left:0;font:500 1.12rem/1.35 var(--serif);color:var(--ink)}
.compare td.is-old{color:var(--ink-3)}
.compare td.is-og{background:rgba(180,134,46,.08);color:var(--ink);font-weight:500}
.compare td.is-og::before{content:"";display:inline-block;width:10px;height:5px;margin:0 10px 3px 0;border-left:1.6px solid var(--gain);border-bottom:1.6px solid var(--gain);transform:rotate(-45deg)}

/* ---------- 04 · proporzione ---------- */
.minlot{margin:0 0 26px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.minlot__num{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;margin:8px 0 0}
.annot{position:relative;display:inline-block;padding:0 .12em;font:300 clamp(3.4rem,2.6rem + 3vw,4.8rem)/1 var(--serif);letter-spacing:-.035em;color:var(--ink);font-variant-numeric:lining-nums proportional-nums}
.annot__ring{position:absolute;left:-.22em;top:-.2em;width:calc(100% + .44em);height:calc(100% + .4em);overflow:visible;pointer-events:none}
.annot__ring path{fill:none;stroke:var(--pen);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.js .annot__ring path{stroke-dasharray:1.02;stroke-dashoffset:1.02}
.js .is-in .annot__ring path{animation:ink 1.3s .35s var(--ease) forwards}
.annot__note{max-width:11em;font:italic 400 1.2rem/1.25 var(--serif);color:var(--pen);transform:rotate(-4deg);transform-origin:left center}
.js .annot__note{opacity:0;transition:opacity .6s 1.3s}
.js .is-in .annot__note{opacity:1}

.sim{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,60px);align-items:start}
.sim__intro p{font-size:16px}
.sim__controls{margin-top:24px}
.seg-group{margin-bottom:16px}
.seg-group .label{display:block;margin-bottom:8px}
.seg{display:flex;flex-wrap:wrap;border:1px solid var(--rule-2);border-radius:2px;background:var(--paper-2)}
.seg button{flex:1 1 auto;min-height:44px;padding:8px 14px;border:0;background:transparent;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background-color .2s,color .2s}
.seg button + button{border-left:1px solid var(--rule-2)}
.seg button:hover{color:var(--ink);background:var(--paper)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.seg-group.is-off{opacity:.5}
.seg-group.is-off button{cursor:not-allowed}
.seg-group.is-off button[aria-pressed="true"]{background:var(--paper-3);color:var(--ink-2)}
.sim__sheet{background:var(--paper-2);border:1px solid var(--rule);padding:clamp(18px,2.6vw,32px);box-shadow:var(--sheet-shadow)}
.sim__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.sim__mode{font:italic 400 1.15rem/1.2 var(--serif);color:var(--ink)}
.slips{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.slip{background:var(--paper);border:1px solid var(--rule);padding:18px 18px 20px}
.slip__cap{font:400 1.08rem/1.2 var(--serif);color:var(--ink);margin:6px 0 16px}
.slip__eur{margin:0;font:300 clamp(2.2rem,1.8rem + 1.4vw,2.9rem)/1 var(--serif);letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums}
.slip__pct{margin:8px 0 12px;font-size:14px;color:var(--ink-2)}
.slip__bar{position:relative;height:6px;background:var(--paper-3);overflow:hidden}
.slip__bar span{position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);background:currentColor;transition:width .6s var(--ease)}
.sim__verdict{min-height:3em;margin:20px 0 8px;font:italic 400 clamp(1.1rem,1rem + .4vw,1.3rem)/1.45 var(--serif);color:var(--ink)}
.sim__note{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}

/* ---------- 05 · risultati ---------- */
.results{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.results__big{margin:0 0 10px;font:300 clamp(4rem,2.8rem + 5.4vw,7.6rem)/.9 var(--serif);letter-spacing:-.04em;color:var(--gain);font-variant-numeric:lining-nums proportional-nums}
.results__sub{font-size:14px;color:var(--ink-3);margin-bottom:28px}
.results__src{margin:22px 0 0;font-size:13px;color:var(--ink-3)}
.results__src a{margin-top:10px}
.months{margin:0;background:var(--paper-2);border:1px solid var(--rule);padding:clamp(18px,2.4vw,30px);box-shadow:var(--sheet-shadow)}
.months__top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 16px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.months__title{font:400 1.35rem/1.2 var(--serif);color:var(--ink);margin:0}
.bars{position:relative;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:clamp(8px,1.6vw,20px);height:260px;margin-top:10px}
.bars__base{position:absolute;left:0;right:0;height:1px;background:var(--ink)}
.bar{position:relative}
.bar__fill{position:absolute;left:12%;right:12%;background:var(--gain);transform-origin:bottom}
.bar--neg .bar__fill{background:var(--loss);transform-origin:top}
.bar__val{position:absolute;left:-10px;right:-10px;text-align:center;font:400 clamp(.86rem,.8rem + .3vw,1.05rem)/1 var(--serif);color:var(--gain);font-variant-numeric:tabular-nums;white-space:nowrap}
.bar--neg .bar__val{color:var(--loss)}
.bar--live .bar__fill{background:repeating-linear-gradient(135deg,var(--loss) 0 3px,rgba(155,47,40,.45) 3px 6px)}
.js .months .bar__fill{transform:scaleY(0);transition:transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms + 150ms)}
.js .months.is-in .bar__fill{transform:none}
.bars-x{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:clamp(8px,1.6vw,20px);margin-top:10px;padding-top:10px;border-top:1px solid var(--rule)}
.bars-x span{text-align:center;font:600 11px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.months figcaption{margin-top:14px;font-size:12.5px;color:var(--ink-3)}

.memo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin:18px 0;padding:15px 18px;background:var(--paper-2);border:1px solid var(--rule);border-left:3px solid var(--ink);font-size:15px;color:var(--ink-2)}
.memo .ico{margin-top:3px;color:var(--ink)}
.memo p{margin:0}
.memo p + p{margin-top:6px}
.memo a{color:var(--ink);font-weight:600}
.memo--warn{border-left-color:var(--loss)}
.memo--warn .ico{color:var(--loss)}
.memo--tip{border-left-color:var(--gold)}
.memo--tip .ico{color:var(--gold-ink)}
.memo--info{border-left-color:var(--pen)}
.memo--info .ico{color:var(--pen)}
.dossier .memo{max-width:760px;margin:26px 0 0}

/* ---------- 06 · accesso ---------- */
.reasons{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.reasons li{padding:28px 30px 4px 0}
.reasons li + li{padding-left:30px;border-left:1px solid var(--rule)}
.reasons__n{display:block;font:italic 300 2.8rem/1 var(--serif);color:var(--gold-deep);margin-bottom:16px}
.reasons h3{font-size:1.5rem;margin-bottom:10px}
.reasons p{font-size:15.5px;margin:0}

.brokers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(44px,5vw,64px)}
.broker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:center;padding:24px 26px;background:var(--paper-2);border:1px solid var(--rule);text-decoration:none;color:inherit;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}
.broker:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--sheet-shadow)}
.broker__name{font:500 1.6rem/1.1 var(--serif);color:var(--ink)}
.broker__bonus{grid-column:1;font-size:14.5px;color:var(--ink-2)}
.broker__bonus b{color:var(--gold-ink)}
.broker__go{grid-row:1 / 3;grid-column:2;width:46px;height:46px;border:1px solid var(--rule-2);display:grid;place-items:center;color:var(--ink);transition:background-color .25s,color .25s}
.broker:hover .broker__go{background:var(--ink);color:var(--paper)}
.brokers__note{grid-column:1 / -1;margin:0;font-size:12.5px;color:var(--ink-3)}

.path{list-style:none;margin:clamp(52px,6vw,84px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:path}
.path li{position:relative;padding:62px 24px 0 0}
.path li::before{counter-increment:path;content:"0" counter(path);position:absolute;top:0;left:0;font:300 2.1rem/1 var(--serif);color:var(--ink);letter-spacing:-.02em}
.path li::after{content:"";position:absolute;top:18px;left:56px;right:16px;height:1px;background:var(--rule-2)}
.path li:last-child::after{display:none}
.path h3{font-size:1.28rem;margin-bottom:6px}
.path p{font-size:15px;margin:0}
.path a{color:var(--ink);font-weight:600}
.path__cta h3 a{display:inline-flex;align-items:center;gap:8px;font-weight:400;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:color .2s,gap .25s var(--ease)}
.path__cta h3 a:hover{color:var(--gold-ink);gap:12px}
.path__cta h3 .ico{width:16px;height:16px}

/* ---------- 07 · condizioni ---------- */
.terms{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:start}
.clauses{margin:0;border-top:1px solid var(--rule-2)}
.clause{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;padding:20px 0;border-bottom:1px solid var(--rule)}
.clause dt{font:500 1.18rem/1.3 var(--serif);color:var(--ink)}
.clause dd{margin:0}
.clause .clause__v{grid-column:2;grid-row:1;font:400 1.18rem/1.3 var(--serif);color:var(--gold-ink);text-align:right;white-space:nowrap}
.clause .clause__d{grid-column:1 / -1;font-size:15px}
.hwm{margin:0;background:var(--paper-2);border:1px solid var(--rule);padding:clamp(18px,2.4vw,30px);box-shadow:var(--sheet-shadow)}
.hwm__title{font:400 1.35rem/1.2 var(--serif);color:var(--ink);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.hwm svg{width:100%;height:auto}
.hwm .ax{fill:none;stroke:var(--rule-2);stroke-width:1}
.hwm .base{fill:none;stroke:var(--ink-3);stroke-width:1;stroke-dasharray:2 4}
.hwm .fee{fill:rgba(180,134,46,.24)}
.hwm .hw{fill:none;stroke:var(--gold-ink);stroke-width:1.5;stroke-dasharray:6 5}
.hwm .hwm__line{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hwm .mk circle{fill:var(--ink)}
.hwm .mk--free circle{fill:var(--gain)}
.hwm .t{font:500 12px var(--sans);fill:var(--ink-3)}
.hwm .tn{font:600 13px var(--sans);fill:var(--paper-2)}
.hwm__legend{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;font-size:14px}
.hwm__legend li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}
.hwm__legend p{margin:1px 0 0}
.hwm__legend span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 12px/1 var(--sans)}
.hwm__legend li.is-free span{background:var(--gain)}
.js .hwm .hwm__line{stroke-dasharray:1;stroke-dashoffset:1}
.js .hwm.is-in .hwm__line{animation:ink 2s .2s var(--ease) forwards}

/* ---------- 08 · faq ---------- */
.faq{border-top:1px solid var(--rule-2);max-width:920px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:20px;align-items:center;padding:22px 0;font:400 clamp(1.15rem,1.05rem + .45vw,1.42rem)/1.35 var(--serif);color:var(--ink);transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:16px;height:16px;justify-self:end;background:linear-gradient(var(--ink),var(--ink)) center/100% 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 100% no-repeat;transition:transform .3s var(--ease)}
.faq summary:hover{color:var(--gold-ink)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq__a{padding:0 40px 26px 0;max-width:48em;font-size:16px}
.faq__a p:last-child{margin:0}

/* ---------- finale (fascia inchiostro) ---------- */
.finale{position:relative;overflow:hidden;background:var(--ink);color:var(--on-ink-2);padding:clamp(84px,10vw,144px) 0}
.finale .guilloche{color:var(--gold-soft);width:min(1100px,150vw);left:-30%;top:50%;transform:translateY(-50%)}
.js .finale .guilloche.is-drawn{opacity:.14}
.js .dossier .guilloche.is-drawn{opacity:.2}
.finale__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,100px);align-items:center}
.finale__seats{margin:0;font:300 clamp(6.4rem,3.6rem + 10vw,13rem)/.8 var(--serif);letter-spacing:-.05em;background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:lining-nums proportional-nums}
.finale__seats-label{margin:14px 0 0;font:italic 400 clamp(1.25rem,1.05rem + .8vw,1.6rem)/1.3 var(--serif);color:var(--gold-soft)}
.finale .kicker{color:var(--gold-soft)}
.finale h2{color:var(--on-ink);font-size:clamp(2rem,1.3rem + 2.7vw,3.5rem);line-height:1.06;margin-bottom:18px}
.finale h2 em{color:var(--gold-soft)}
.finale .lede{color:var(--on-ink-2)}
.launch{margin:28px 0 0}
.launch__status{margin:0 0 12px;font:600 12px/1.3 var(--sans);font-stretch:82%;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.launch__date{display:block;margin-top:4px;font:400 1.5rem/1.2 var(--serif);letter-spacing:0;text-transform:none;color:var(--on-ink)}
.clock{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.clock[hidden]{display:none}
.clock li{min-width:72px;padding:12px 10px 10px;border:1px solid rgba(226,200,138,.32);text-align:center}
.clock b{display:block;font:300 2.3rem/1 var(--serif);color:var(--on-ink);font-variant-numeric:tabular-nums}
.clock span{display:block;margin-top:6px;font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-ink-2)}
.rules{list-style:none;margin:30px 0 34px;padding:0;border-top:1px solid rgba(244,239,229,.16);counter-reset:rule}
.rules li{position:relative;padding:14px 0 14px 40px;border-bottom:1px solid rgba(244,239,229,.12);font-size:15.5px;line-height:1.5}
.rules li::before{counter-increment:rule;content:counter(rule,upper-roman);position:absolute;left:0;top:14px;font:italic 400 1.05rem/1.4 var(--serif);color:var(--gold-soft)}
.rules b{color:var(--on-ink)}
.finale__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.finale .seal{position:relative;top:auto;right:auto;width:clamp(120px,14vw,170px);margin:0 0 26px}
.finale__handle{margin:0;font-size:12px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-2)}
.finale__handle a{font:400 1.2rem/1.4 var(--serif);letter-spacing:0;text-transform:none;color:var(--on-ink);text-decoration:none;border-bottom:1px solid rgba(226,200,138,.55)}
.finale__handle a:hover{color:var(--gold-soft)}

/* ---------- colophon ---------- */
.colophon{background:var(--paper-3);padding:60px 0 30px;font-size:14px}
.colophon__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:22px 40px;padding-bottom:30px;border-bottom:1px solid var(--rule-2)}
.colophon__tag{margin:14px 0 0;max-width:30ch;color:var(--ink-2)}
.colophon__contact{margin:0;font-size:13px;line-height:1.5;color:var(--ink-3);text-align:right}
.colophon__contact a{font:500 1.15rem/1.4 var(--serif);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold)}
.colophon__contact a:hover{color:var(--gold-ink)}
.risk{padding-top:24px;font-size:12.5px;line-height:1.65;color:var(--ink-3)}
.risk p{margin:0 0 10px}
.risk b{color:var(--ink-2)}
.risk__copy{margin-top:16px!important;color:var(--ink-2)}

/* barra fissa mobile */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;align-items:center;gap:12px;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));background:rgba(244,239,229,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--rule-2);transform:translateY(110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s .35s}
.dock.is-on{transform:none;visibility:visible;transition:transform .35s var(--ease),visibility 0s}
.dock__txt{flex:1;min-width:0;font-size:12.5px;line-height:1.3;color:var(--ink-2)}
.dock__txt b{display:block;font:500 1rem/1.2 var(--serif);color:var(--ink)}
.dock .button{flex:none}

/* ==========================================================================
   Pagine del percorso: accesso, apertura conto, attivazione
   ========================================================================== */
.dossier{position:relative;overflow:hidden;padding:clamp(36px,6vw,84px) 0 clamp(44px,6vw,80px);border-bottom:1px solid var(--rule)}
.dossier .frame{position:relative;z-index:1}
.dossier .guilloche{width:min(860px,120vw);right:-22%;top:-30%}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 28px;padding:0;list-style:none;font-size:13px;color:var(--ink-3)}
.crumbs a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule-2)}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--gold)}
.crumbs li + li::before{content:"/";margin-right:8px;color:var(--gold)}
.dossier__title{font-size:clamp(2.35rem,1.4rem + 3.8vw,4.5rem);line-height:1.03;letter-spacing:-.022em;margin-bottom:22px;max-width:13em}
.dossier .lede{margin-bottom:30px}
.dossier__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}

.spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:34px 0 0;max-width:780px;background:var(--paper-2);border:1px solid var(--rule)}
.spec div{padding:14px 18px;border-left:1px solid var(--rule)}
.spec div:first-child{border-left:0}
.spec dt{font:600 10.5px/1.3 var(--sans);font-stretch:84%;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.spec dd{margin:5px 0 0;font:400 1.25rem/1.2 var(--serif);color:var(--ink)}

.procedure{list-style:none;margin:0;padding:0}
.proc{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,4vw,60px);padding:clamp(34px,4vw,56px) 0;border-top:1px solid var(--rule)}
.proc:last-child{border-bottom:1px solid var(--rule)}
.proc__n{margin:0;font:300 clamp(3rem,2.2rem + 2.6vw,4.7rem)/.86 var(--serif);color:var(--gold-deep);letter-spacing:-.04em}
.proc__tag{display:block;margin-top:12px;font:600 11px/1.3 var(--sans);font-stretch:82%;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.proc__body h3{font-size:clamp(1.5rem,1.2rem + 1.1vw,2.05rem);line-height:1.15;margin-bottom:14px}
.proc__body p{max-width:34em}
.proc__body .button{margin-top:6px}
.proc__body .memo{margin:14px 0}
.proc__body a:not(.button){color:var(--ink);font-weight:600}

.ticks{list-style:none;margin:0 0 1em;padding:0;border-top:1px dotted var(--rule-2)}
.ticks li{position:relative;padding:9px 0 9px 28px;border-bottom:1px dotted var(--rule-2)}
.ticks li::before{content:"";position:absolute;left:3px;top:1.05em;width:11px;height:5.5px;border-left:1.6px solid var(--gain);border-bottom:1.6px solid var(--gain);transform:rotate(-45deg)}

.plate{margin:0;background:var(--paper-2);border:1px solid var(--rule);padding:10px;box-shadow:var(--sheet-shadow)}
.plate img{width:100%;height:auto;background:var(--paper-3)}
.plate figcaption{display:flex;align-items:baseline;gap:10px;padding:10px 4px 2px;font-size:12.5px;color:var(--ink-3)}
.plate figcaption b{font:italic 500 13.5px/1 var(--serif);color:var(--gold-ink);white-space:nowrap}
.plate.is-missing img{display:none}
.plate.is-missing::before{
  content:"Tavola da inserire\A" attr(data-file);white-space:pre-wrap;
  display:grid;place-items:center;aspect-ratio:16 / 10;padding:20px;text-align:center;
  font:500 12.5px/1.7 var(--sans);color:var(--ink-3);word-break:break-all;
  background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(20,33,58,.06) 9px 10px),var(--paper);
  border:1px dashed var(--rule-2);
}

.perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.perks li{padding:26px 24px 6px 0}
.perks li + li{padding-left:24px;border-left:1px solid var(--rule)}
.perks .ico{width:24px;height:24px;color:var(--gold-ink);margin-bottom:16px}
.perks h3{font-size:1.25rem;margin-bottom:6px}
.perks p{font-size:15px;margin:0}

.next{text-align:center;padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--rule)}
.next .kicker{justify-content:center}
.next h2{font-size:clamp(2rem,1.3rem + 2.7vw,3.4rem);line-height:1.06;margin:0 auto 16px;max-width:14em}
.next .lede{margin:0 auto 30px}
.next__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.next .brokers{max-width:880px;margin:34px auto 0;text-align:left}

.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2)}
.mode{padding:26px 26px 6px 0}
.mode + .mode{padding-left:26px;border-left:1px solid var(--rule)}
.mode__tag{margin:0 0 12px;font:600 11px/1.3 var(--sans);font-stretch:82%;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mode--best .mode__tag{color:var(--gain)}
.mode h3{font-size:1.45rem;margin-bottom:10px}
.mode p{font-size:15.5px;margin:0}

.profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:clamp(36px,4vw,52px) 0 0}
.profile{padding:18px 20px;background:var(--paper-2);border:1px solid var(--rule)}
.profile--mid{border-color:var(--ink)}
.profile__x{display:block;font:300 2.4rem/1 var(--serif);color:var(--ink);letter-spacing:-.02em}
.profile__name{display:block;margin:8px 0 4px;font:600 12px/1.3 var(--sans);font-stretch:84%;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.profile p{margin:0;font-size:14.5px}

.example-wrap{margin-top:clamp(40px,5vw,60px)}
.example-wrap h3{font-size:1.4rem;margin-bottom:6px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:14px}
.example{width:100%;min-width:460px;border-collapse:collapse;font-size:15px;font-variant-numeric:lining-nums tabular-nums}
.example th,.example td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--rule)}
.example thead th{font:600 11px/1.3 var(--sans);font-stretch:84%;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-2)}
.example th:first-child,.example td:first-child{padding-left:0}
.example td:last-child{font:400 1.12rem/1.2 var(--serif);color:var(--ink)}
.example tr.is-ref td{background:rgba(180,134,46,.08)}
.formula{margin:14px 0 0;font-size:13.5px;color:var(--ink-3)}
.formula b{font-family:var(--serif);font-weight:500}

.opts{border-top:1px solid var(--rule-2);max-width:900px}
.opt{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--rule)}
.opt__state{align-self:start;display:inline-flex;align-items:center;gap:8px;font:700 11.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.opt__state::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.opt__state--yes{color:var(--gain)}
.opt__state--no{color:var(--loss)}
.opt h3{font-size:1.3rem;margin-bottom:6px}
.opt p{margin:0;font-size:15.5px}

/* modulo di accesso */
.form-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:start}
.sheet{position:relative;background:var(--paper-2);border:1px solid var(--rule);padding:clamp(22px,3.4vw,46px);box-shadow:var(--sheet-shadow)}
.sheet__head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;padding-bottom:14px;margin-bottom:26px;border-bottom:1px solid var(--rule-2)}
/* embed ActiveCampaign: il form porta un CSS con selettori #id e !important,
   per questo gli override partono da #ac-form e restano più specifici */
.ac-form{min-height:220px}
.ac-form__note{margin:0;padding:20px 0;font:italic 400 1.1rem/1.5 var(--serif);color:var(--ink-3)}
.ac-form__note--todo{padding:18px 20px;font:500 14px/1.5 var(--sans);color:var(--ink-2);border:1px dashed var(--rule-2);background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(20,33,58,.05) 9px 10px)}
#ac-form ._form{
  width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  font-family:var(--sans)!important;font-size:16px!important;line-height:1.5!important;color:var(--ink)!important;
}
#ac-form ._form ._form-content{margin:0!important;width:100%!important}
#ac-form ._form ._form_element{width:100%!important;margin:0 0 22px!important;padding:0!important}
#ac-form ._form ._form-title{margin:0 0 14px!important;font:400 1.6rem/1.2 var(--serif)!important;color:var(--ink)!important}
#ac-form ._form ._html-code,#ac-form ._form ._html-code *{font-family:var(--sans)!important;font-size:15px!important;line-height:1.55!important;color:var(--ink-2)!important;background:transparent!important}
#ac-form ._form ._html-code :is(h1,h2,h3,h4,h5,h6),#ac-form ._form ._html-code strong{color:var(--ink)!important}
#ac-form ._form ._html-code img{max-width:100%!important;height:auto!important}
#ac-form ._form ._form_element ._form-label{display:block!important;margin:0 0 4px!important;font:600 11.5px/1.3 var(--sans)!important;font-stretch:84%!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--ink)!important}
#ac-form ._form ._form_element ._form-label .field-required{color:var(--loss)!important}
#ac-form ._form ._field-wrapper{width:100%!important}
#ac-form ._form ._form_element input[type=text],#ac-form ._form ._form_element input[type=email],#ac-form ._form ._form_element input[type=tel],#ac-form ._form ._form_element input[type=number],#ac-form ._form ._form_element input[type=date],#ac-form ._form ._form_element select,#ac-form ._form ._form_element textarea{
  display:block!important;width:100%!important;min-height:48px!important;height:auto!important;padding:10px 2px!important;
  border:0!important;border-bottom:1.5px solid var(--rule-2)!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;
  font:400 1.15rem/1.3 var(--serif)!important;color:var(--ink)!important;-webkit-appearance:none!important;appearance:none!important;
}
#ac-form ._form ._form_element select{padding-right:30px!important;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2314213A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 4px center/14px no-repeat!important}
#ac-form ._form ._form_element input::placeholder,#ac-form ._form ._form_element textarea::placeholder{color:#8E9099!important;font-style:italic!important;opacity:1!important}
#ac-form ._form ._form_element input:focus,#ac-form ._form ._form_element select:focus,#ac-form ._form ._form_element textarea:focus{outline:none!important;border-bottom-color:var(--pen)!important;box-shadow:0 1.5px 0 var(--pen)!important;background-color:rgba(42,74,160,.04)!important}
#ac-form ._form ._form_element input[type=checkbox],#ac-form ._form ._form_element input[type=radio]{width:20px!important;height:20px!important;margin:2px 10px 0 0!important;accent-color:var(--ink)}
#ac-form ._form ._checkbox-radio{display:flex!important;align-items:flex-start!important}
#ac-form ._form ._checkbox-radio label,#ac-form ._form ._checkbox-radio span{font:400 14px/1.5 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink-2)!important}
#ac-form ._form ._button-wrapper{width:100%!important;margin:8px 0 0!important}
#ac-form ._form ._button-wrapper ._submit{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:56px!important;padding:0 30px!important;
  border:0!important;border-radius:2px!important;background:var(--ink)!important;color:var(--paper)!important;box-shadow:inset 0 -2px 0 var(--gold)!important;
  font:600 16px/1.15 var(--sans)!important;letter-spacing:.01em!important;cursor:pointer;transition:background-color .25s,transform .25s var(--ease)!important;
}
#ac-form ._form ._button-wrapper ._submit:hover{background:#0B1528!important;transform:translateY(-1px)}
#ac-form ._form ._button-wrapper ._submit:disabled{opacity:.6;cursor:progress}
#ac-form ._form ._form_element ._has_error{border-bottom-color:var(--loss)!important}
#ac-form ._form ._error-inner{font:500 13px/1.4 var(--sans)!important;border-radius:2px!important}
#ac-form ._form ._form-thank-you{padding:16px 18px!important;border-left:3px solid var(--gain)!important;background:rgba(29,106,71,.07)!important;text-align:left!important;font:italic 400 1.2rem/1.5 var(--serif)!important;color:var(--ink)!important}
.after h2{font-size:1.6rem;margin-bottom:6px}
.after ol{list-style:none;margin:18px 0 30px;padding:0;counter-reset:after;border-top:1px solid var(--rule-2)}
.after ol li{position:relative;padding:14px 0 14px 42px;border-bottom:1px solid var(--rule);font-size:15.5px}
.after ol li::before{counter-increment:after;content:counter(after);position:absolute;left:0;top:10px;font:300 1.7rem/1 var(--serif);color:var(--gold-deep)}

/* ---------- comparsa allo scorrimento ---------- */
.js .rise{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.js .rise.is-in{opacity:1;transform:none}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1080px){
  .masthead__nav{display:none}
}
@media (max-width:960px){
  .hero__grid,.trader,.method,.sim,.results,.terms,.finale__grid,.form-grid{grid-template-columns:minmax(0,1fr)}
  .cert-wrap{justify-self:start;max-width:560px;margin-top:20px}
  .hero .guilloche{left:50%;top:auto;bottom:-300px;transform:translateX(-50%);width:980px}
  .ledger__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ledger__item:nth-child(3){border-left:0;padding-left:0}
  .ledger__item:nth-child(n+3){border-top:1px solid var(--rule)}
  .chapter__head{grid-template-columns:minmax(0,1fr)}
  .chapter__num{grid-row:auto;display:flex;align-items:baseline;gap:14px}
  .chapter__num span{font-size:2.4rem;margin:0}
  .chapter__body--offset{padding-left:0}
  .pillars,.reasons,.modes,.perks{grid-template-columns:minmax(0,1fr)}
  .pillars li,.reasons li,.mode,.perks li{padding:24px 0 22px}
  .pillars li + li,.reasons li + li,.mode + .mode,.perks li + li{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .path{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
  .path li:nth-child(2)::after{display:none}
  .proc{grid-template-columns:72px minmax(0,1fr)}
  .proc__plate{grid-column:1 / -1}
  .finale .seal{margin-bottom:18px}
}
@media (max-width:760px){
  .notice__in{font-size:12.5px;gap:2px 10px}
  .notice__extra{display:none}
  .masthead__in{gap:14px}
  .masthead .button span{display:none}
  .masthead .button{padding:0 12px}
  .brand__word{font-size:22px}
  .hero__title em{white-space:normal}
  .seal{width:104px;top:-34px;right:-8px}
  .cert__months b{font-size:.92rem}
  .compare thead{display:none}
  .compare,.compare tbody,.compare tr,.compare th,.compare td{display:block;width:auto}
  .compare tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--rule-2);padding:6px 0 14px}
  .compare tbody th{grid-column:1 / -1;width:auto;border:0;padding:14px 0 10px}
  .compare td{border:0;padding:12px 12px;font-size:14.5px}
  .compare td::before{display:block;margin-bottom:6px;font:600 10.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
  .compare td.is-old::before{content:"Sala segnali"}
  .compare td.is-og::before{content:"OneGold";display:block;color:var(--gold-ink);width:auto;height:auto;border:0;transform:none;margin:0 0 6px}
  .slips{grid-template-columns:minmax(0,1fr)}
  .brokers{grid-template-columns:minmax(0,1fr)}
  .path{grid-template-columns:minmax(0,1fr)}
  .path li::after{display:none}
  .path li{padding:0 0 0 64px;min-height:44px}
  .faq__a{padding-right:0}
  .spec{grid-template-columns:minmax(0,1fr)}
  .spec div{border-left:0;border-top:1px solid var(--rule)}
  .spec div:first-child{border-top:0}
  .opt{grid-template-columns:minmax(0,1fr);gap:10px}
  .profiles{grid-template-columns:minmax(0,1fr)}
  .colophon__contact{text-align:left}
  .dock{display:flex}
  .has-dock{padding-bottom:76px}
  .clock li{min-width:0;flex:1}
  .bars{height:220px}
}
@media (max-width:420px){
  .calendar__grid{grid-template-columns:30px repeat(12,minmax(0,1fr)) 52px;gap:3px}
  .cal-t{font-size:12px}
  .cal-y{font-size:11px}
  .cal-h{font-size:9px;letter-spacing:0}
  .cert__stats dd{font-size:1.25rem}
  .cert__stats div{padding-left:10px}
}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js .rise,.js .calendar .cal-c,.js .months .bar__fill{opacity:1;transform:none}
  .js .pen__line path,.js .annot__ring path,.js .cert__curve .line,.js .hwm .hwm__line{stroke-dashoffset:0}
  .js .annot__note{opacity:1}
}

/* ---------- stampa ---------- */
@media print{
  .notice,.masthead,.dock,.guilloche,.hero__actions,.finale__actions{display:none!important}
  body{background:#fff}
  .js .rise{opacity:1;transform:none}
}
