/* ============================================================
   Shimucycle Hub — landing pubblica (Home · News · Offerte · Formazione · App)
   Palette e font coerenti con la dashboard (style.css dell'app)
   ============================================================ */
:root{
  --void:#0a0d18; --abyss:#10152a; --tide:#1a2342; --edge:#2a3556; --edge2:#37456e;
  --ink:#eef1f8; --muted:#9aa3c2; --faint:#6f789b;
  --amber:#f0b429; --amber2:#ffd35e; --teal:#3fd0c9; --peri:#7c6cff;
  --green:#3ddc84; --red:#ff5d73; --orange:#ff8a3d; --blue:#5aa9d6;
  --disp:"Space Grotesk",system-ui,sans-serif;
  --sans:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Consolas",monospace;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--ink);
  font-family:var(--sans); font-size:15px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1100px 620px at 82% -12%, rgba(124,108,255,.16), transparent 60%),
    radial-gradient(900px 560px at 6% 2%, rgba(63,208,201,.10), transparent 60%),
    var(--void);
  min-height:100vh; display:flex; flex-direction:column;
}
main{flex:1}
h1,h2,h3,h4{margin:0; font-family:var(--disp); letter-spacing:-.01em; text-wrap:balance}
p{margin:0}
a{color:inherit; text-decoration:none}
button{font:inherit}
.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding:0 22px}
.eyebrow{font-family:var(--mono); font-size:11.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--teal)}
.muted{color:var(--muted)}
.small{font-size:12.5px}
.mono{font-family:var(--mono)}
.loading{color:var(--faint); font-family:var(--mono); font-size:12.5px}

/* accessibilità */
.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}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:10px 16px;background:var(--tide);color:var(--ink);border:1px solid var(--teal);border-radius:0 0 10px 0;font-family:var(--mono);font-size:13px}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}

/* ---------- top nav ---------- */
.nav{
  position:sticky; top:0; z-index:30;
  border-bottom:1px solid var(--edge);
  background:linear-gradient(180deg,rgba(16,21,42,.94),rgba(10,13,24,.86));
  backdrop-filter:blur(10px);
}
.nav__in{display:flex; align-items:center; gap:18px; height:64px}
.brand{display:flex; align-items:center; gap:11px; margin-right:auto}
.brand .logo{font-size:25px; color:var(--amber); filter:drop-shadow(0 0 10px rgba(240,180,41,.5)); line-height:1}
.brand .name{font-family:var(--disp); font-weight:700; font-size:18px; letter-spacing:.01em}
.brand .name b{color:var(--amber); font-weight:700}
.tabs{display:flex; gap:2px; background:rgba(10,13,24,.5); border:1px solid var(--edge); border-radius:12px; padding:4px}
.tab{
  font-family:var(--disp); font-weight:600; font-size:14px; color:var(--muted);
  padding:9px 16px; border-radius:9px; transition:color .15s, background .15s;
}
.tab:hover{color:var(--ink); background:rgba(42,53,86,.5)}
.tab.is-active{color:#0a0d18; background:linear-gradient(180deg,var(--amber2),var(--amber))}
.enter{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--disp); font-weight:600; font-size:14px; color:var(--ink);
  padding:9px 16px; border-radius:10px; border:1px solid var(--edge2);
  background:linear-gradient(180deg,rgba(26,35,66,.9),rgba(16,21,42,.9)); transition:.15s;
}
.account{
  appearance:none; cursor:pointer; font-family:var(--disp); font-weight:600; font-size:13px;
  color:var(--muted); padding:8px 11px; border:1px solid transparent; border-radius:9px;
  background:transparent; transition:.15s;
}
.account:hover{color:var(--ink); border-color:var(--edge)}
.enter:hover{border-color:var(--teal); color:#fff; box-shadow:0 0 20px -8px rgba(63,208,201,.7)}
.enter .pulse{width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 8px var(--teal)}

/* hamburger (solo mobile) */
.burger{display:none; appearance:none; background:rgba(10,13,24,.5); border:1px solid var(--edge); border-radius:10px; padding:10px 11px; cursor:pointer}
.burger i{display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; transition:.2s}
.burger i+i{margin-top:4px}
.nav.open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav.open .burger i:nth-child(2){opacity:0}
.nav.open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- pannelli ---------- */
.panel{display:none; padding:52px 0 72px}
.panel.is-active{display:block; animation:rise .4s ease}
@keyframes rise{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}

/* ---------- hero ---------- */
.hero{text-align:center; padding-top:14px}
.hero .eyebrow{display:block; margin-bottom:20px}
.hero h1{font-weight:700; font-size:clamp(42px,7.6vw,82px); line-height:.98}
.hero h1 b{color:var(--amber); font-weight:700}
.hero .thesis{font-family:var(--disp); font-weight:500; font-size:clamp(17px,2.4vw,22px); color:var(--ink); max-width:34ch; margin:20px auto 0}
.hero .lede{color:var(--muted); font-size:16px; max-width:52ch; margin:16px auto 0}
.cta-row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px}
.btn{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer; border:0;
  font-family:var(--disp); font-weight:600; font-size:15px; padding:13px 22px; border-radius:12px; transition:.14s;
}
.btn--gold{color:#0a0d18; background:linear-gradient(180deg,var(--amber2),var(--amber))}
.btn--gold:hover{filter:brightness(1.06); transform:translateY(-1px)}
.btn--ghost{color:var(--ink); background:rgba(26,35,66,.6); border:1px solid var(--edge2)}
.btn--ghost:hover{border-color:var(--teal); color:#fff}

/* ---------- account Hub ---------- */
.auth-dialog{
  width:min(100% - 32px,460px); color:var(--ink); background:linear-gradient(180deg,var(--tide),var(--abyss));
  border:1px solid var(--edge2); border-radius:18px; padding:0; box-shadow:0 34px 100px rgba(0,0,0,.64);
}
.auth-dialog::backdrop{background:rgba(2,5,12,.72); backdrop-filter:blur(4px)}
.auth-dialog__head{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 24px 16px; border-bottom:1px solid var(--edge)}
.auth-dialog__head .eyebrow{display:block; margin-bottom:6px; font-size:10px}
.auth-dialog__head h2{font-size:23px}
.auth-dialog__close{appearance:none; border:0; cursor:pointer; background:transparent; color:var(--muted); font-size:28px; line-height:1; padding:0 2px}
.auth-dialog__close:hover{color:var(--ink)}
.auth-dialog>div{padding:20px 24px 0}
.auth-form{display:grid; gap:14px}
.auth-form label{display:grid; gap:6px; color:var(--muted); font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase}
.auth-form input,.auth-form select,.auth-form textarea{width:100%; color:var(--ink); background:rgba(10,13,24,.68); border:1px solid var(--edge); border-radius:10px; padding:11px 12px; font:15px var(--sans); letter-spacing:normal; text-transform:none}
.auth-form textarea{resize:vertical; min-height:128px; line-height:1.45}
.auth-form select{color-scheme:dark}
.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{outline:2px solid var(--teal); outline-offset:2px; border-color:var(--teal)}
.auth-form .btn{justify-content:center; margin-top:3px}
.auth-dialog__copy{color:var(--muted); font-size:14px; line-height:1.55}
.auth-dialog__hint{margin:0; color:var(--faint); font-size:12px}
.auth-dialog__notice{margin:0; padding:11px 12px; color:var(--muted); background:rgba(63,208,201,.07); border:1px solid rgba(63,208,201,.25); border-radius:10px; font-size:12px; line-height:1.5}
.auth-dialog__notice strong{display:block; margin-bottom:2px; color:var(--teal); font-size:12px}
.auth-dialog__notice b{color:var(--ink); font-weight:700}
.auth-dialog__links{display:flex; flex-wrap:wrap; gap:8px 16px; padding:14px 24px 0}
.auth-dialog__links button{appearance:none; cursor:pointer; border:0; padding:0; background:transparent; color:var(--teal); font:13px var(--sans)}
.auth-dialog__links button:hover{color:#7fe3dd}
.auth-dialog__email{margin:5px 0 18px; color:var(--teal); overflow-wrap:anywhere; font-family:var(--mono); font-size:13px}
.auth-dialog__status{min-height:24px; margin:16px 24px 22px; color:var(--teal); font-size:13px; line-height:1.45}
.auth-dialog__status--error{color:var(--red)}
.account-renewal{margin:0 0 16px; padding:14px 15px; border:1px solid rgba(63,208,201,.28); border-radius:12px; background:rgba(63,208,201,.07)}
.account-renewal__label{display:block; margin-bottom:6px; color:var(--teal); font:600 10px var(--mono); letter-spacing:.12em; text-transform:uppercase}
.account-renewal p{margin:0; color:var(--muted); font-size:13px; line-height:1.5}
.account-actions{display:grid; gap:10px}
.account-actions .btn{width:100%; justify-content:center}
.account-actions__logout{appearance:none; justify-self:center; margin-top:3px; border:0; background:transparent; color:var(--faint); cursor:pointer; font:13px var(--sans)}
.account-actions__logout:hover{color:var(--ink)}
.support-dialog{width:min(100% - 32px,520px)}

/* ---------- onda ciclica ---------- */
.scope{margin:44px auto 0; max-width:900px}
.scope canvas{display:block; width:100%; height:auto}
.phases{display:flex; justify-content:space-between; gap:8px; margin-top:8px; padding:0 4px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.phases span{display:inline-flex; align-items:center; gap:7px; white-space:nowrap}
.dot{width:8px; height:8px; border-radius:50%}
.dot.a{background:var(--teal)} .dot.m{background:var(--green)} .dot.d{background:var(--amber)} .dot.k{background:var(--red)}

/* ---------- pilastri ---------- */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:56px}
.pill{
  display:block; text-align:left; padding:24px; border-radius:16px;
  background:linear-gradient(180deg,rgba(26,35,66,.55),rgba(16,21,42,.7));
  border:1px solid var(--edge); transition:.16s; position:relative; overflow:hidden;
}
.pill:hover{border-color:var(--edge2); transform:translateY(-3px); box-shadow:0 26px 50px -34px rgba(0,0,0,.9)}
.pill__k{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--teal)}
.pill h3{font-size:21px; margin:12px 0 8px}
.pill p{color:var(--muted); font-size:14.5px}
.pill__go{display:inline-flex; align-items:center; gap:7px; margin-top:16px; font-family:var(--mono); font-size:12px; color:var(--amber)}
.pill__glow{position:absolute; inset:auto -40% -60% auto; width:220px; height:220px; border-radius:50%; opacity:.14; filter:blur(30px)}

/* ---------- striscia moduli ---------- */
.strip{margin-top:44px; text-align:center}
.strip .eyebrow{display:block; margin-bottom:16px}
.chips{display:flex; flex-wrap:wrap; gap:8px; justify-content:center}
.chip{font-family:var(--mono); font-size:12px; color:var(--muted); padding:7px 13px; border-radius:8px;
  border:1px solid var(--edge); background:rgba(10,13,24,.4)}
.chip b{color:var(--ink); font-weight:500}
.chip.soon{opacity:.5}
.chip .tag{color:var(--amber); font-size:9.5px; letter-spacing:.12em; margin-left:6px}

/* ---------- intestazioni sezione ---------- */
.shead{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; flex-wrap:wrap}
.shead h2{font-size:clamp(28px,4.2vw,40px)}
.shead .eyebrow{display:block; margin-bottom:12px}
.shead p{color:var(--muted); max-width:48ch; margin-top:8px}
.autobadge{display:inline-flex; align-items:center; gap:9px; padding:8px 13px; border-radius:10px;
  border:1px solid rgba(63,208,201,.35); background:rgba(63,208,201,.08);
  font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--teal)}
.autobadge .live{width:8px; height:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 0 rgba(63,208,201,.6); animation:beat 2.4s infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 rgba(63,208,201,.55)} 70%{box-shadow:0 0 0 9px rgba(63,208,201,0)} 100%{box-shadow:0 0 0 0 rgba(63,208,201,0)}}

/* ---------- news ---------- */
.newsgrid{display:grid; grid-template-columns:1fr 340px; gap:22px; align-items:start}
.newsfeed{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.icard{border-radius:15px; overflow:hidden; border:1px solid var(--edge);
  background:linear-gradient(180deg,rgba(26,35,66,.5),rgba(16,21,42,.66)); transition:.16s; display:flex; flex-direction:column}
.icard__link[href]{cursor:pointer}
.icard:hover{border-color:var(--edge2); transform:translateY(-3px); box-shadow:0 26px 50px -36px rgba(0,0,0,.9)}
.icard:focus-within{border-color:var(--amber); box-shadow:0 0 0 3px rgba(240,180,41,.18)}
.icard__link{display:flex; flex:1; flex-direction:column; color:inherit; text-decoration:none; outline:none}
.icard.lead{grid-column:1 / -1}
.cover{position:relative; aspect-ratio:16/9; overflow:hidden; background:#0d1120}
.icard.lead .cover{aspect-ratio:21/9}
.cover canvas,.cover img{display:block; width:100%; height:100%; object-fit:cover}
.cover::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 42%,rgba(10,13,24,.62))}
.ntag{position:absolute; z-index:2; top:11px; left:11px; font-family:var(--mono); font-size:10px;
  letter-spacing:.13em; text-transform:uppercase; padding:4px 9px; border-radius:7px; display:inline-flex; align-items:center; gap:6px;
  backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.14)}
.ntag i{width:7px; height:7px; border-radius:50%}
.ntag.crypto{background:rgba(240,180,41,.22); color:#ffd57a} .ntag.crypto i{background:var(--amber)}
.ntag.mercati{background:rgba(90,169,214,.22); color:#a6d3f0} .ntag.mercati i{background:#5aa9d6}
.ntag.materie{background:rgba(217,138,61,.24); color:#ecb480} .ntag.materie i{background:#d98a3d}
.ntag.geo{background:rgba(124,108,255,.24); color:#bcb2ff} .ntag.geo i{background:var(--peri)}
.icard__b{padding:15px 16px 17px; display:flex; flex:1; flex-direction:column; gap:7px}
.icard__date{font-family:var(--mono); font-size:11px; letter-spacing:.05em; color:var(--faint)}
.icard h3{font-size:17px; line-height:1.25}
.icard.lead h3{font-size:23px}
.icard__b p{color:var(--muted); font-size:13.5px; line-height:1.5}
.icard__source{display:flex; align-items:center; gap:5px; margin-top:auto; padding-top:8px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.04em; color:var(--teal)}
.icard__source b{font-weight:500; color:var(--ink)}
.icard__source::after{content:"→"; color:var(--amber); font-size:14px; transition:transform .16s}
.icard__link:hover .icard__source::after{transform:translateX(3px)}
.newsfoot{margin-top:16px; font-family:var(--mono); font-size:11.5px; color:var(--faint)}
.newsfoot code{color:var(--teal); background:rgba(63,208,201,.08); padding:1px 6px; border-radius:5px}

/* calendario macro */
.cal{border:1px solid var(--edge); border-radius:15px; overflow:hidden; position:sticky; top:86px;
  background:linear-gradient(180deg,rgba(16,21,42,.72),rgba(10,13,24,.62))}
.cal__head{padding:15px 16px; border-bottom:1px solid var(--edge)}
.cal__head h3{font-size:15px}
.cal__head .sub{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); margin-top:5px; display:flex; align-items:center; gap:7px}
.cal__head .stars{color:var(--amber); letter-spacing:1px}
.cal__day{padding:9px 16px; font-family:var(--mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--muted); background:rgba(10,13,24,.42); border-top:1px solid var(--edge); border-bottom:1px solid var(--edge)}
.ev{border-bottom:1px solid rgba(42,53,86,.5); scroll-margin-top:96px}
.ev--static,.ev__sum{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:4px 11px; align-items:center; padding:12px 16px}
.ev__sum{cursor:pointer; list-style:none; transition:background .16s ease}
.ev__sum::-webkit-details-marker{display:none}
.ev__sum:hover{background:rgba(63,208,201,.045)}
.ev__sum:focus-visible{outline:2px solid var(--teal); outline-offset:-3px; border-radius:8px}
.ev[open]>.ev__sum{background:rgba(63,208,201,.065)}
.ev__t{grid-column:1; grid-row:1/3; align-self:start; padding-top:2px; font-family:var(--mono); font-size:12px; color:var(--ink); font-variant-numeric:tabular-nums}
.ev__main{grid-column:2; grid-row:1; min-width:0}
.ev__c{display:inline-block; font-family:var(--mono); font-size:9px; letter-spacing:.06em; color:var(--muted);
  border:1px solid var(--edge2); border-radius:5px; padding:1px 5px; margin-right:8px; vertical-align:1px}
.ev__name{font-size:13px; color:var(--ink)}
.ev__meta{display:block; font-family:var(--mono); font-size:10.5px; color:var(--faint); margin-top:4px; font-variant-numeric:tabular-nums}
.ev__stars{grid-column:3; grid-row:1; font-size:10px; color:var(--amber); letter-spacing:1px; white-space:nowrap}
.ev__why{grid-column:2; grid-row:2; width:max-content; margin-top:3px; padding:3px 7px; border:1px solid rgba(63,208,201,.34); border-radius:999px; font:600 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--teal)}
.ev__chev{grid-column:3; grid-row:2; justify-self:end; width:8px; height:8px; border-right:1.5px solid var(--teal); border-bottom:1.5px solid var(--teal); transform:rotate(45deg); transition:transform .16s ease}
.ev[open] .ev__chev{transform:rotate(225deg)}
.ev__det{padding:3px 16px 17px 55px; color:var(--muted); font-size:12.5px; line-height:1.58}
.ev__det section{padding:11px 0; border-top:1px solid rgba(42,53,86,.5)}
.ev__det h4{margin:0 0 5px; font:600 10px var(--mono); letter-spacing:.09em; text-transform:uppercase; color:var(--ink)}
.ev__det p{margin:0}
.ev__numbers{display:grid; gap:6px; margin:0}
.ev__number{display:flex; justify-content:space-between; gap:12px}
.ev__number dt{color:var(--faint)}
.ev__number dd{margin:0; color:var(--ink); font-family:var(--mono); font-variant-numeric:tabular-nums}
.ev__scenario{border-left:2px solid var(--amber); padding-left:11px!important}
.ev__hyp{color:var(--amber); font:600 10px var(--mono); letter-spacing:.04em}
.ev__scenario ul{margin:8px 0 0; padding-left:17px}
.ev__scenario li+li{margin-top:6px}
.ev__sources{padding-top:11px; border-top:1px solid rgba(42,53,86,.5); font:10.5px var(--mono)}
.ev__sources a{color:var(--teal); text-decoration:underline; text-underline-offset:3px}
.cal__empty{padding:16px; line-height:1.55}
.cal__foot{padding:11px 16px; font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:var(--faint)}

/* ---------- corsi ---------- */
.offer-switch{display:inline-flex; gap:2px; background:rgba(10,13,24,.5); border:1px solid var(--edge); border-radius:12px; padding:4px; margin-bottom:30px}
.offer-switch__btn{
  font-family:var(--disp); font-weight:600; font-size:14px; color:var(--muted);
  padding:10px 20px; border:0; border-radius:9px; background:transparent; appearance:none;
  white-space:nowrap; transition:color .15s, background .15s; cursor:pointer;
}
.offer-switch__btn:hover{color:var(--ink); background:rgba(42,53,86,.5)}
.offer-switch__btn.is-active{color:#0a0d18; background:linear-gradient(180deg,var(--amber2),var(--amber))}
.offer-panel[hidden]{display:none}
.offer-panel .offer-group--quant{padding-top:0; border-top:0}
.plans{display:grid; grid-template-columns:1.05fr 1fr; gap:18px; margin-bottom:40px}
.plans--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.offer-group{margin-bottom:48px}
.offer-group--quant{padding-top:34px; border-top:1px solid var(--edge)}
.offer-group__head{display:grid; grid-template-columns:1fr minmax(280px,520px); gap:28px; align-items:end; margin-bottom:20px}
.offer-group__head .eyebrow{display:block; margin-bottom:7px}
.offer-group__head h3{font-size:clamp(23px,3vw,31px)}
.offer-group__head>p{color:var(--muted)}
.offer-group .plans{margin-bottom:0}
.plan{display:flex; flex-direction:column; padding:26px; border-radius:18px; border:1px solid var(--edge); position:relative;
  background:linear-gradient(180deg,rgba(26,35,66,.55),rgba(16,21,42,.7))}
.plan.feat{border-color:rgba(240,180,41,.5); box-shadow:0 0 0 1px rgba(240,180,41,.15), 0 30px 60px -40px rgba(240,180,41,.3)}
.plan__k{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--teal)}
.plan.feat .plan__k{color:var(--amber)}
.plan h3{font-size:24px; margin:10px 0 4px}
.price{display:flex; align-items:baseline; gap:6px; margin:14px 0 18px}
.price .v{font-family:var(--disp); font-weight:700; font-size:42px}
.price .per{color:var(--muted); font-size:14px}
.price--discount{flex-wrap:wrap}
.price .old{width:100%; font-family:var(--mono); font-size:12px; color:var(--faint); text-decoration:line-through; text-decoration-color:var(--red)}
.plan__comparison{margin:9px 0 0; color:var(--faint); font-family:var(--mono); font-size:11px; line-height:1.45}
.plan__comparison b{color:var(--muted); font-weight:600}
.price--discount .v{font-size:38px}
.monthly-equivalent{display:grid; grid-template-columns:1fr auto auto; align-items:baseline; gap:6px; margin:-5px 0 20px; padding:11px 13px;
  border:1px solid rgba(63,208,201,.34); border-radius:11px; background:linear-gradient(90deg,rgba(63,208,201,.10),rgba(63,208,201,.025))}
.monthly-equivalent__label{font:600 10px var(--mono); letter-spacing:.11em; text-transform:uppercase; color:var(--teal)}
.monthly-equivalent__amount{font-family:var(--disp); font-size:24px; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums}
.monthly-equivalent__period{color:var(--muted); font-size:12px}
.plan.feat .monthly-equivalent{border-color:rgba(240,180,41,.45); background:linear-gradient(90deg,rgba(240,180,41,.12),rgba(240,180,41,.025))}
.plan.feat .monthly-equivalent__label{color:var(--amber)}
.feats{list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:10px}
.feats li{display:flex; gap:10px; font-size:14px}
.feats li::before{content:"\25C6"; color:var(--teal); font-size:11px; margin-top:3px}
.plan.feat .feats li::before{color:var(--amber)}
.plan .btn{width:100%; justify-content:center; margin-top:auto}
.plan__desc{color:var(--muted); font-size:13.5px; margin:0 0 22px}
.plan--compact{min-height:300px}

.courses{margin-top:8px}
.courses>.eyebrow{display:block; margin-bottom:16px}
.cgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.course{border-radius:14px; overflow:hidden; border:1px solid var(--edge); background:rgba(16,21,42,.55); transition:.16s}
.course:hover{border-color:var(--edge2); transform:translateY(-3px)}
.thumb{aspect-ratio:16/9; position:relative; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(120px 80px at 50% 40%, rgba(124,108,255,.3), transparent 70%), linear-gradient(135deg,#141a30,#0d1120)}
.thumb .play{width:46px; height:46px; border-radius:50%; background:rgba(240,180,41,.92); color:#0a0d18;
  display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 8px 24px -6px rgba(240,180,41,.6)}
.thumb .yt{position:absolute; top:10px; right:10px; font-family:var(--mono); font-size:9.5px; letter-spacing:.1em;
  color:var(--muted); border:1px solid var(--edge2); padding:3px 7px; border-radius:6px; background:rgba(10,13,24,.6)}
.thumb .lock{position:absolute; top:10px; left:10px; font-size:13px}
.course__b{padding:15px 16px 18px}
.course__b .k{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint)}
.course__b h4{font-size:16px; margin:7px 0 5px}
.course__b p{color:var(--muted); font-size:13px}
.courses .muted.small{margin-top:16px}
.program-head{max-width:780px; margin-bottom:24px}
.program-head .eyebrow{display:block; margin-bottom:10px}
.program-head h3{font-size:clamp(25px,4vw,36px); margin-bottom:9px}
.program-head>p{color:var(--muted); max-width:68ch}
.axis-ribbon{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:20px;
  overflow:hidden; border:1px solid var(--edge); border-radius:12px; background:var(--edge)}
.axis-ribbon span{position:relative; padding:10px 12px 10px 25px; background:rgba(16,21,42,.94);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.axis-ribbon span::before{content:""; position:absolute; left:11px; top:50%; width:6px; height:6px;
  border-radius:50%; transform:translateY(-50%); background:var(--teal); box-shadow:0 0 9px rgba(63,208,201,.7)}
.axis-ribbon span:nth-child(2)::before{background:var(--amber); box-shadow:0 0 9px rgba(240,180,41,.7)}
.axis-ribbon span:nth-child(3)::before{background:var(--peri); box-shadow:0 0 9px rgba(124,108,255,.7)}
.axis-ribbon span:nth-child(4)::before{background:var(--red); box-shadow:0 0 9px rgba(255,93,115,.7)}
.program-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.module{position:relative; min-height:170px; padding:21px 22px; overflow:hidden; border:1px solid var(--edge);
  border-radius:15px; background:linear-gradient(145deg,rgba(26,35,66,.64),rgba(16,21,42,.72))}
.module::after{content:""; position:absolute; width:150px; height:150px; right:-65px; bottom:-85px;
  border-radius:50%; background:var(--module-accent,var(--teal)); opacity:.10; filter:blur(18px)}
.module--volatility{--module-accent:var(--red)}
.module--price{--module-accent:var(--amber)}
.module--volume{--module-accent:var(--peri)}
.module--cycle{--module-accent:var(--teal)}
.module__head{display:flex; align-items:center; gap:12px; margin-bottom:11px}
.module__num{font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:var(--module-accent);
  padding:4px 7px; border:1px solid var(--edge2); border-radius:6px}
.module h4{font-size:19px}
.module p{position:relative; z-index:1; color:var(--muted); font-size:13.5px; line-height:1.65}
.course-bonus{display:grid; grid-template-columns:.55fr 1.45fr; gap:24px; align-items:start; margin-top:16px;
  padding:22px; border:1px solid rgba(240,180,41,.38); border-radius:15px;
  background:linear-gradient(120deg,rgba(240,180,41,.08),rgba(16,21,42,.72) 44%)}
.course-bonus__k{font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--amber)}
.course-bonus h4{font-size:21px; margin-top:6px}
.course-bonus ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.course-bonus li{position:relative; padding-left:17px; color:var(--muted); font-size:13.5px}
.course-bonus li::before{content:"\25C6"; position:absolute; left:0; top:3px; color:var(--amber); font-size:9px}

/* Area Formazione: la linea del segnale collega i quattro moduli. */
.course-area{padding-bottom:28px}
.course-access-badge{align-self:flex-start; border:1px solid var(--edge2); border-radius:999px; padding:9px 12px; color:var(--teal); background:rgba(63,208,201,.07); font:600 10px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase}
.course-gate{position:relative; overflow:hidden; max-width:760px; margin:32px auto 0; padding:46px 32px; text-align:center; border:1px solid var(--edge2); border-radius:18px; background:linear-gradient(145deg,rgba(20,27,53,.96),rgba(10,14,29,.96)); box-shadow:0 22px 70px rgba(0,0,0,.28)}
.course-gate::before{content:""; position:absolute; inset:-70% 10% auto; height:220px; background:radial-gradient(circle,rgba(124,108,255,.18),transparent 68%); pointer-events:none}
.course-gate__signal{display:flex; justify-content:center; align-items:center; gap:7px; height:34px; margin-bottom:14px}
.course-gate__signal i{display:block; width:4px; border-radius:4px; background:linear-gradient(var(--teal),var(--peri)); animation:coursePulse 1.4s ease-in-out infinite}
.course-gate__signal i:nth-child(1){height:12px}.course-gate__signal i:nth-child(2){height:30px;animation-delay:.12s}.course-gate__signal i:nth-child(3){height:21px;animation-delay:.24s}.course-gate__signal i:nth-child(4){height:9px;animation-delay:.36s}
.course-gate__k{font:600 10px/1 var(--mono); letter-spacing:.16em; color:var(--teal)}
.course-gate h3{margin:10px 0 8px; font-size:26px}.course-gate>p:last-of-type{max-width:590px; margin-inline:auto; color:var(--muted)}
.course-gate__actions{display:flex; justify-content:center; gap:10px; margin-top:22px; flex-wrap:wrap}
@keyframes coursePulse{50%{transform:scaleY(.55);opacity:.55}}
.course-library{margin-top:28px}
.course-library__intro{display:grid; grid-template-columns:1fr minmax(280px,.8fr); align-items:end; gap:34px; padding:24px 0 18px}
.course-library__intro h3{font-size:30px; margin-top:6px}.course-library__intro p{color:var(--muted); font-size:13px}
.course-signal-line{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:8px 7% 18px; height:14px; align-items:center; background:linear-gradient(90deg,var(--orange),var(--blue),var(--teal),var(--peri)) center/100% 2px no-repeat}
.course-signal-line span{width:12px;height:12px;margin:auto;border:2px solid var(--bg);border-radius:50%;background:var(--teal);box-shadow:0 0 0 1px var(--edge2),0 0 18px rgba(63,208,201,.45)}
.course-module-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.course-card{overflow:hidden; border:1px solid var(--edge); border-radius:16px; background:rgba(16,21,42,.68); min-width:0}
.course-card__cover{position:relative; height:142px; overflow:hidden; background:linear-gradient(145deg,#11182f,#090d1b)}
.course-card__cover::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 26px,rgba(255,255,255,.035) 27px),repeating-linear-gradient(0deg,transparent 0 26px,rgba(255,255,255,.025) 27px)}
.course-card__cover span{position:absolute;z-index:2;left:16px;top:14px;color:rgba(255,255,255,.72);font:700 12px/1 var(--mono);letter-spacing:.12em}
.course-card__cover i{position:absolute;z-index:1;left:-8%;right:-8%;height:2px;top:50%;background:currentColor;transform:rotate(-8deg);box-shadow:0 0 18px currentColor}
.course-card__cover i:nth-child(2){top:35%;transform:rotate(8deg);opacity:.55}.course-card__cover i:nth-child(3){top:68%;transform:rotate(3deg);opacity:.3}
.course-card--volatility .course-card__cover{color:var(--orange)}.course-card--price .course-card__cover{color:var(--blue)}.course-card--volume .course-card__cover{color:var(--teal)}.course-card--cycle .course-card__cover{color:var(--peri)}
.course-card__body{padding:17px}.course-card__meta{display:flex;justify-content:space-between;gap:8px;font:600 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.course-card__meta b{color:var(--amber);white-space:nowrap}.course-card h4{font-size:19px;margin:12px 0 7px}.course-card p{font-size:12.5px;color:var(--muted);min-height:76px}
.course-lesson-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:9px}
.course-lesson{display:grid;gap:8px;padding:10px;border:1px solid rgba(130,147,190,.18);border-radius:10px;background:rgba(4,8,20,.28)}
.course-card .course-lesson{padding-left:10px}.course-card .course-lesson::before{display:none}
.course-lesson__copy{display:grid;gap:4px}.course-lesson__copy strong{color:var(--text);font-size:11.5px;line-height:1.45}.course-lesson__copy span,.course-lesson__status{color:var(--faint);font:600 9px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.course-lesson.is-published{border-color:rgba(63,208,201,.35);background:rgba(63,208,201,.045)}
.course-card .course-video-trigger,.course-video-trigger{width:100%;margin:0;padding:9px 10px;border:1px solid rgba(63,208,201,.42);border-radius:8px;background:rgba(63,208,201,.09);color:var(--teal);font:700 10px/1 var(--mono);letter-spacing:.04em;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.course-video-trigger:hover{border-color:var(--teal);background:rgba(63,208,201,.16);transform:translateY(-1px)}
.course-video-trigger:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.course-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(63,208,201,.34);border-radius:9px;background:#03060e}.course-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.course-library__bonus{display:grid;grid-template-columns:.55fr 1.45fr;gap:28px;margin-top:18px;padding:22px;border:1px solid var(--edge);border-radius:15px;background:linear-gradient(110deg,rgba(124,108,255,.09),rgba(63,208,201,.04))}.course-library__bonus h3{margin-top:6px}
.course-library__bonus>ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.course-bonus-group{padding:13px;border:1px solid rgba(130,147,190,.18);border-radius:11px;background:rgba(4,8,20,.24)}.course-bonus-group::before{display:none}.course-bonus-group__head{display:flex;justify-content:space-between;gap:10px;align-items:start}.course-bonus-group__head strong{color:var(--text);font-size:13px}.course-bonus-group__head span{color:var(--amber);font:600 9px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}.course-bonus-group .course-lesson-list{margin-bottom:0}
.course-disclaimer{margin-top:16px;padding:12px 14px;border-left:2px solid var(--amber);background:rgba(240,180,41,.05);color:var(--faint);font-size:11.5px}

.form-status{min-height:20px;margin-top:10px;color:var(--teal);font-size:13px}.form-status.is-error{color:var(--red)}
.withdrawal-box{margin-top:34px;padding:24px;border:1px solid var(--edge2);border-radius:15px;background:rgba(16,21,42,.55)}
.withdrawal-box h2{font-family:var(--disp);font-size:22px;margin:6px 0 8px}.withdrawal-box__confirm{margin-top:18px;padding-top:18px;border-top:1px solid var(--edge)}
.withdrawal-box .checkline{display:flex;gap:10px;align-items:flex-start}.withdrawal-box .checkline input{width:auto;margin-top:4px}.withdrawal-box .checkline span{font-size:12px;color:var(--muted)}

@media(max-width:1000px){.course-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-signal-line{display:none}}
@media(max-width:680px){.course-library__intro,.course-library__bonus{grid-template-columns:1fr;gap:14px}.course-module-grid{grid-template-columns:1fr}.course-card p{min-height:0}.course-gate{padding:36px 20px}.course-access-badge{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.course-gate__signal i{animation:none}}

/* ---------- app ---------- */
.appwrap{display:grid; grid-template-columns:1fr 1.15fr; gap:30px; align-items:center}
.appcopy h2{font-size:clamp(28px,4vw,40px); margin-bottom:14px}
.appcopy .eyebrow{display:block; margin-bottom:12px}
.appcopy p{color:var(--muted); margin-bottom:14px; max-width:46ch}
.appcopy .btn{margin-top:8px}
.frame{border-radius:16px; overflow:hidden; border:1px solid var(--edge2);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9); background:var(--abyss)}
.frame__bar{display:flex; align-items:center; gap:7px; padding:11px 14px; border-bottom:1px solid var(--edge); background:rgba(10,13,24,.7)}
.frame__bar i{width:10px; height:10px; border-radius:50%; background:var(--edge2); display:inline-block}
.frame__bar .url{margin-left:10px; font-family:var(--mono); font-size:11px; color:var(--faint)}
.frame__body{display:grid; grid-template-columns:168px 1fr; min-height:280px}
.side{border-right:1px solid var(--edge); padding:12px 10px; background:rgba(10,13,24,.4); display:flex; flex-direction:column; gap:3px}
.mrow{display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:8px; font-size:12.5px; color:var(--muted)}
.mrow .led{width:6px; height:6px; border-radius:50%; background:var(--edge2)}
.mrow b{color:var(--ink); font-weight:500}
.mrow.on{background:linear-gradient(90deg,rgba(240,180,41,.14),transparent); color:var(--ink)}
.mrow.on .led{background:var(--amber); box-shadow:0 0 7px var(--amber)}
.mrow .soon{margin-left:auto; font-family:var(--mono); font-size:8px; letter-spacing:.1em; color:var(--faint)}
.stage{padding:18px; display:flex; flex-direction:column; gap:12px}
.stage__title{font-family:var(--disp); font-weight:600; font-size:15px}
.stat3{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.stat{padding:12px; border-radius:10px; border:1px solid var(--edge); background:rgba(26,35,66,.4)}
.stat .k{font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint)}
.stat .v{font-family:var(--disp); font-weight:700; font-size:22px; margin-top:4px}
.stat .v.g{color:var(--green)} .stat .v.a{color:var(--amber)}
.spark{height:60px; border-radius:10px; border:1px solid var(--edge); background:rgba(10,13,24,.35); overflow:hidden}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--edge); padding:36px 0 30px; margin-top:20px; background:rgba(10,13,24,.4)}
.foot__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:26px; margin-bottom:26px}
.foot__brand p{margin-top:12px; max-width:34ch}
.foot__col{display:flex; flex-direction:column; gap:9px}
.foot__col h4{font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--faint); margin-bottom:4px}
.foot__col a{color:var(--muted); font-size:13.5px; transition:color .15s; width:fit-content}
.foot__col a:hover{color:var(--ink)}
.foot__disclaimer{color:var(--faint); font-size:11.5px; line-height:1.6; max-width:88ch;
  border-top:1px solid rgba(42,53,86,.5); padding-top:18px}
.foot__bottom{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin-top:16px; font-family:var(--mono); font-size:11px; color:var(--faint)}

/* ---------- toast ---------- */
.toast{
  position:fixed; left:50%; bottom:26px; transform:translate(-50%, 20px); z-index:60;
  padding:11px 18px; border-radius:11px; border:1px solid var(--edge2);
  background:linear-gradient(180deg,rgba(26,35,66,.97),rgba(16,21,42,.97));
  font-family:var(--disp); font-weight:500; font-size:13.5px; color:var(--ink);
  opacity:0; pointer-events:none; transition:opacity .22s, transform .22s;
  box-shadow:0 18px 50px -18px rgba(0,0,0,.9);
}
.toast.show{opacity:1; transform:translate(-50%, 0)}

/* ---------- pagine documento (legale / contatti) ---------- */
.dochead{position:sticky; top:0; z-index:30; border-bottom:1px solid var(--edge);
  background:linear-gradient(180deg,rgba(16,21,42,.94),rgba(10,13,24,.86)); backdrop-filter:blur(10px)}
.dochead__in{display:flex; align-items:center; justify-content:space-between; height:64px; gap:16px}
.dochead .back{font-family:var(--mono); font-size:12px; color:var(--muted); display:inline-flex; align-items:center; gap:7px}
.dochead .back:hover{color:var(--ink)}
.docpage{padding:0 0 60px}
.draftbar{max-width:760px; margin:22px auto 0; padding:12px 16px; border-radius:11px;
  border:1px solid rgba(240,180,41,.45); background:rgba(240,180,41,.08); color:#ffd57a; font-size:13px; line-height:1.5}
.draftbar b{color:var(--amber2)}
.legal{max-width:760px; margin:28px auto 0}
.legal .eyebrow{display:block; margin-bottom:12px}
.legal h1{font-size:clamp(30px,5vw,42px); margin-bottom:8px}
.legal .updated{font-family:var(--mono); font-size:11.5px; color:var(--faint); margin-bottom:26px}
.legal h2{font-size:20px; margin:32px 0 10px}
.legal h3{font-size:15px; margin:18px 0 6px; color:var(--ink)}
.legal p{color:var(--muted); margin-bottom:12px}
.legal ul{color:var(--muted); margin:0 0 14px; padding-left:20px; display:flex; flex-direction:column; gap:7px}
.legal li b{color:var(--ink); font-weight:500}
.legal a{color:var(--teal)} .legal a:hover{color:#7fe3dd}
.ph{font-family:var(--mono); font-size:.9em; color:var(--amber); background:rgba(240,180,41,.10);
  border-bottom:1px dashed rgba(240,180,41,.55); padding:0 4px; border-radius:3px}
/* contatti */
.contact{max-width:760px; margin:28px auto 0}
.contact__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:24px 0}
.ccard{padding:20px; border-radius:14px; border:1px solid var(--edge); background:linear-gradient(180deg,rgba(26,35,66,.5),rgba(16,21,42,.66))}
.ccard h3{font-size:15px; margin-bottom:6px}
.ccard p{color:var(--muted); font-size:13.5px; margin:0}
.ccard a{color:var(--teal)}
.form{max-width:560px; margin:8px 0 0}
.form label{display:block; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin:14px 0 7px}
.form input,.form textarea{width:100%; padding:12px 14px; background:rgba(10,13,24,.6); border:1px solid var(--edge); border-radius:11px; color:var(--ink); font-family:var(--sans); font-size:15px}
.form textarea{min-height:120px; resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--teal); outline-offset:2px; border-color:var(--teal)}
.form .btn{margin-top:18px}

/* ---------- articoli editoriali ---------- */
.article-page{background:
  radial-gradient(850px 520px at 78% 5%,rgba(240,180,41,.07),transparent 62%),
  radial-gradient(900px 580px at 8% 2%,rgba(63,208,201,.08),transparent 64%),
  var(--void)}
.article-nav{display:flex; align-items:center; gap:18px; font-family:var(--disp); font-weight:600; font-size:14px}
.article-nav>a:first-child{color:var(--muted)}
.article-nav>a:first-child:hover{color:var(--ink)}
.article-main{padding:34px 0 88px}
.article-back{display:inline-flex; align-items:center; gap:9px; color:var(--muted); font-family:var(--mono); font-size:12px; letter-spacing:.04em}
.article-back:hover{color:var(--teal)}
.article-loading{padding:72px 0; color:var(--faint); font-family:var(--mono)}
.article-hero{max-width:930px; margin:54px auto 34px; text-align:center}
.article-kicker{display:flex; align-items:center; justify-content:center; gap:12px; color:var(--faint); font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase}
.article-kicker .ntag{position:static}
.article-hero h1{font-size:clamp(36px,6.2vw,68px); line-height:1.03; margin:24px auto 20px; letter-spacing:-.035em}
.article-standfirst{max-width:760px; margin:0 auto; color:#bac2da; font-size:clamp(17px,2vw,21px); line-height:1.55}
.article-meta{display:flex; justify-content:center; flex-wrap:wrap; gap:8px 22px; margin-top:24px; color:var(--faint); font-family:var(--mono); font-size:11px; font-variant-numeric:tabular-nums}
.article-meta span{position:relative}
.article-meta span+span::before{content:""; position:absolute; left:-12px; top:50%; width:3px; height:3px; border-radius:50%; background:var(--edge2)}
.article-cover{max-width:1040px; margin:0 auto 48px}
.article-cover img{display:block; width:100%; aspect-ratio:16/8.4; object-fit:cover; border-radius:20px; border:1px solid var(--edge); box-shadow:0 36px 80px -46px rgba(0,0,0,.95)}
.article-cover figcaption{margin:10px 4px 0; color:var(--faint); font-family:var(--mono); font-size:10px; text-align:right}
.article-layout{display:grid; grid-template-columns:minmax(0,720px) 280px; gap:54px; max-width:1054px; margin:0 auto; align-items:start}
.article-copy{min-width:0}
.article-copy>p{color:#c1c8dc; font-size:17.5px; line-height:1.82; margin:0 0 24px}
.article-copy>p:first-child::first-letter{float:left; color:var(--amber2); font-family:var(--disp); font-size:64px; font-weight:700; line-height:.78; padding:10px 9px 0 0}
.article-aside{position:sticky; top:94px; padding:22px; border:1px solid var(--edge); border-radius:16px; background:linear-gradient(180deg,rgba(26,35,66,.58),rgba(16,21,42,.7))}
.article-aside .eyebrow{display:block; margin-bottom:7px; letter-spacing:.18em}
.article-aside h2{font-size:21px; margin-bottom:16px}
.article-aside ul{list-style:none; margin:0; padding:0}
.article-aside li{position:relative; padding:12px 0 12px 20px; color:var(--muted); font-size:13.5px; line-height:1.52; border-top:1px solid rgba(42,53,86,.72)}
.article-aside li::before{content:""; position:absolute; left:0; top:20px; width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 10px rgba(63,208,201,.45)}
.why-box{position:relative; display:grid; grid-template-columns:auto 1fr; gap:18px; margin:44px 0; padding:26px 28px; overflow:hidden; border:1px solid rgba(240,180,41,.36); border-radius:18px; background:linear-gradient(135deg,rgba(240,180,41,.10),rgba(63,208,201,.055))}
.why-box::after{content:""; position:absolute; inset:auto -8% -70% 22%; height:130px; border:1px solid rgba(63,208,201,.22); border-radius:50%; transform:rotate(-4deg); pointer-events:none}
.why-box__mark{position:relative; z-index:1; color:var(--amber); font-family:var(--disp); font-size:44px; line-height:1}
.why-box>div{position:relative; z-index:1}
.why-box h2{font-size:22px; margin-bottom:7px}
.why-box p{color:#bdc6dc; font-size:15.5px; line-height:1.66}
.source-box{margin-top:48px; padding-top:26px; border-top:1px solid var(--edge)}
.source-box .eyebrow{display:block; margin-bottom:5px; font-size:8px; letter-spacing:.16em}
.source-box h2{font-size:11px}
.source-box>p{color:var(--muted); font-size:9.5px; line-height:1.55; margin:9px 0 12px}
.source-box>a{display:inline-flex; align-items:center; gap:7px; color:var(--teal); font-family:var(--mono); font-size:12px}
.source-box>a:hover{color:#7fe3dd}
.article-error{max-width:700px; margin:82px auto; padding:42px; border:1px solid var(--edge); border-radius:18px; background:rgba(16,21,42,.62); text-align:center}
.article-error .eyebrow{display:block; margin-bottom:12px}
.article-error h1{font-size:clamp(30px,5vw,46px)}
.article-error p{max-width:52ch; margin:14px auto 26px; color:var(--muted)}
.article-foot{margin-top:auto}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .newsgrid{grid-template-columns:1fr}
  .cal{position:static}
  .offer-group__head{grid-template-columns:1fr; gap:10px}
  .article-layout{grid-template-columns:minmax(0,720px); max-width:720px; gap:34px}
  .article-aside{position:static; grid-row:1}
}
@media (max-width:860px){
  .pillars,.cgrid,.stat3,.newsfeed{grid-template-columns:1fr}
  .plans,.appwrap,.contact__grid{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
  .burger{display:block; order:3}
  .enter{order:2; margin-left:auto}
  .tabs{
    display:none; order:4; width:100%; flex-direction:column; padding:6px;
  }
  .nav.open .tabs{display:flex}
  .nav__in{flex-wrap:wrap; height:auto; padding:12px 0; gap:12px}
  .tab{padding:12px 16px}
}
@media (max-width:520px){
  .ev--static,.ev__sum{grid-template-columns:46px minmax(0,1fr) auto; padding:12px}
  .ev__det{padding:3px 12px 16px}
  .ev__name{display:block; margin-top:4px; line-height:1.35}
  .ev__c{margin-right:0}
  .scope{min-width:0}
  .offer-switch{display:flex; width:100%}
  .offer-switch__btn{flex:1; padding:10px 8px; text-align:center}
  .monthly-equivalent{grid-template-columns:1fr auto; gap:3px 6px}
  .monthly-equivalent__label{grid-column:1/-1}
  .phases{
    grid-template-columns:repeat(2,minmax(0,1fr));
    display:grid;
    gap:8px 14px;
    padding:0;
  }
  .phases span:nth-child(even){justify-self:end}
  .axis-ribbon{grid-template-columns:repeat(2,1fr)}
  .program-grid{grid-template-columns:1fr}
  .module{min-height:0}
  .course-bonus{grid-template-columns:1fr; gap:14px}
  .foot__grid{grid-template-columns:1fr}
  .article-nav>a:first-child{display:none}
  .article-main{padding-top:24px}
  .article-hero{margin-top:38px}
  .article-kicker{align-items:flex-start; flex-direction:column; gap:8px}
  .article-hero{text-align:left}
  .article-meta{justify-content:flex-start; flex-direction:column; gap:6px}
  .article-meta span+span::before{display:none}
  .article-cover{margin-bottom:32px}
  .article-cover img{aspect-ratio:4/3; border-radius:14px}
  .article-cover figcaption{text-align:left}
  .article-copy>p{font-size:16.5px; line-height:1.76}
  .article-copy>p:first-child::first-letter{font-size:54px}
  .article-aside,.why-box{padding:20px}
  .why-box{grid-template-columns:1fr; gap:4px}
  .why-box__mark{font-size:34px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .panel.is-active{animation:none}
  .autobadge .live{animation:none}
  .icard:hover,.pill:hover,.course:hover,.btn--gold:hover{transform:none}
  .ev__sum,.ev__chev{transition:none}
}
