:root{--purple:#7C3AED;--purple-deep:#5B21B6;--ink:#211A14;--muted:#5A5245;--line:#EFE9DB;--bg:#FFFFFF;--cream-card:#F3ECFB;--cream-border:#E4D5F7;--orange:#F4B183}
*{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
input[type=number]{-moz-appearance:textfield}
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.narrow{max-width:920px;margin:0 auto;padding:0 28px}
.section-wrap{max-width:1400px;margin:0 auto;padding:0 48px}
header{position:sticky;top:0;z-index:50;background:rgba(243,236,251,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--cream-border);transition:box-shadow .3s}
header.scrolled{box-shadow:0 8px 30px -12px rgba(59,29,130,.18)}
#prog{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--purple);transform-origin:left;transform:scaleX(0)}
nav a.on{color:var(--purple-deep);font-weight:600}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px}
.brand{display:flex;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-weight:700;font-size:19px}
.brand i{width:9px;height:9px;border-radius:3px;background:var(--purple);display:block}
nav{display:flex;align-items:center;gap:28px}
nav a{font-size:14px;font-weight:500;color:#4A4238}
.divider{width:1px;height:18px;background:var(--cream-border)}
.seg{display:flex;gap:2px;background:#E8DDF8;border-radius:8px;padding:2px}
.seg button{border:none;background:none;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;color:#8B8375}
.seg button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.head{padding:48px 0 0}
.eyebrow{display:inline-flex;align-items:center;gap:7px;background:#EFE6FC;color:var(--purple-deep);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;margin-bottom:16px}
h1{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(28px,6vw,42px);overflow-wrap:break-word;line-height:1.06;letter-spacing:-.015em;margin:0;max-width:22ch}
.dek{margin:16px 0 0;font-size:16px;line-height:1.6;color:var(--muted);max-width:56ch}
.hero{position:relative;background:linear-gradient(145deg,#3B1D82,var(--ink) 78%);border-radius:24px;padding:30px 20px 30px 40px;overflow:hidden;color:#fff;margin-top:22px}
.hero .blob{position:absolute;top:-60px;right:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(196,181,253,.28),transparent 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:center}
.hero-grid.solo{grid-template-columns:1fr;max-width:44ch}
.hero-lbl{font-size:12.5px;font-weight:600;letter-spacing:.03em;color:#C4B5FD}
.hero-big{font-family:'Sora',sans-serif;font-weight:700;font-size:44px;letter-spacing:-.02em;margin-top:8px}
.hero-note{margin:12px 0 0;max-width:40ch;font-size:13.5px;line-height:1.6;color:#D8CFEA}
svg.chart{width:100%;height:170px;display:block}
.fields-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,290px));justify-content:center;gap:10px;margin-top:36px}
.field{min-width:0;background:var(--cream-card);border:1.5px solid var(--cream-border);border-radius:12px;padding:12px 15px 11px;display:flex;flex-direction:column;justify-content:flex-start;gap:7px}
.field:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.field label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);line-height:1.35;overflow-wrap:break-word}
.field .hint{font-size:10px;color:#9C9284;margin-top:-2px}
.field .row{display:flex;align-items:baseline;gap:1px;min-width:0}
.field .unit{font-size:15px;color:var(--ink);font-weight:500;flex:none}
.field input{border:none;outline:none;background:none;min-width:0;font-family:'Sora',sans-serif;font-weight:600;color:var(--ink);font-size:19px}
.field input.eur{width:100%;flex:1}
.field input.pct{width:4.8ch;flex:0 0 auto}
.scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.scenario{border-radius:16px;padding:18px 20px 20px;background:#fff;border:1.5px solid var(--line)}
.scenario.real{background:#F5EEFD;border-color:#DCC9F7}
.scenario .top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.scenario .name{font-family:'Sora',sans-serif;font-size:16.5px;font-weight:700;color:var(--ink)}
.scenario.real .name{color:var(--purple-deep)}
.scenario .rate{font-size:12.5px;font-weight:600;color:#8B8375}
.scenario .net{font-family:'Sora',sans-serif;font-size:24px;font-weight:700;margin-top:12px;color:var(--ink)}
.scenario.real .net{color:var(--purple-deep)}
.scenario .netlbl{font-size:12px;color:#8B8375;margin-top:2px}
.bar{display:flex;height:5px;border-radius:3px;overflow:hidden;background:rgba(0,0,0,.06);margin-top:12px}
.bar i{display:block;height:100%}
.scenario .real-row{display:flex;justify-content:space-between;margin-top:10px;font-size:12.5px;color:#8B8375}
.scenario .real-row b{font-weight:600;color:var(--purple-deep)}
.compare{margin-top:34px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.compare table{width:100%;border-collapse:collapse}
.compare th,.compare td{padding:12px 14px;text-align:left;font-size:13px}
.compare thead th{background:var(--cream-card);font-size:12px;font-weight:700;font-family:'Sora',sans-serif;color:var(--ink)}
.compare thead th:first-child{background:var(--cream-card)}
.compare thead th.hl{color:var(--purple-deep)}
.compare tbody tr{border-top:1px solid var(--line)}
.compare td.num{text-align:right;font-weight:600}
.compare td.muted{color:#8B8375;font-weight:400}
.compare td.strong{font-family:'Sora',sans-serif;font-size:16px;color:var(--purple-deep)}
.compare td:first-child{color:#8B8375}
.dyk{margin-top:34px;border:1.5px solid var(--line);border-radius:20px;padding:26px 28px;background:#fff}
.dyk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dyk-cell{background:var(--cream-card);border-radius:14px;padding:16px 18px}
.dyk-cell .em{font-size:20px;line-height:1;margin-bottom:8px}
.dyk-cell .txt{font-size:14px;line-height:1.55;color:#4A4238}
.dyk-cell input{width:3em;border:none;background:none;outline:none;font-family:'Sora',sans-serif;font-size:1em;font-weight:600;color:var(--ink);text-align:left;padding-left:2px}
.dyk-cell .euro{display:inline-flex;align-items:baseline;border-bottom:2px solid var(--line);padding:0 1px;white-space:nowrap}
.dyk-cell b{color:var(--purple-deep);font-weight:700}
.dyk-cell .sub{margin-top:8px;font-size:12px;color:#9C9284}
.prose{max-width:70ch;margin:64px auto 0}
.prose h2{font-family:'Sora',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em;margin:32px 0 10px}
.prose p{margin:0 0 14px;font-size:15.5px;line-height:1.75;color:#4A4238}
.prose b{color:var(--ink);font-weight:600}
details{border-top:1px solid var(--line)}
summary{padding:16px 0;display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-family:'Sora',sans-serif;font-size:16.5px;font-weight:600;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary .plus{color:var(--purple);font-family:'Inter',sans-serif;font-weight:400;font-size:20px}
details p{padding:0 0 16px;font-size:14.5px;line-height:1.7;color:var(--muted);max-width:64ch;margin:0}
footer{margin-top:80px;border-top:1px solid var(--cream-border);background:var(--cream-card)}
.fgrid{padding:44px 0 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px clamp(20px,4vw,40px)}
.fhalf{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px clamp(20px,4vw,40px);align-content:start}
.fcol{display:flex;flex-direction:column;gap:9px}
.fgrid .about span{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;display:block}
.fgrid .about p{font-size:12.5px;line-height:1.55;color:var(--ink);max-width:26ch;margin:8px 0 0}
.fcol span.title{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--purple)}
.fcol a{display:block;font-size:13px;color:var(--ink)}
.fcol a:hover{color:var(--purple)}
.disclaimer{padding:20px 0 32px;border-top:1px solid var(--cream-border);font-size:11.5px;line-height:1.6;color:var(--muted)}
.tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(33,26,20,.09)}
.tile .icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px}
.tile h3{font-family:'Sora',sans-serif;font-size:18px;font-weight:600;margin:4px 0 0}
.tile p{margin:0;font-size:13.5px;line-height:1.55;color:#8B8375}
.tile .go{margin-top:4px;font-size:13px;font-weight:600;color:var(--purple-deep)}
.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
@media (max-width:560px){
  .fields-wrap{grid-template-columns:1fr}
  .compare th,.compare td{padding:10px 8px;font-size:12px}
  .hbar{height:58px}
  nav{gap:16px}
}
@media (max-width:860px){
  .narrow,.wrap{padding:0 16px}
  .section-wrap{padding:0 20px}
  h1{font-size:32px}
  .hero{padding:22px 20px}
  .hero-grid{grid-template-columns:1fr}
  .hero-big{font-size:32px}
  svg.chart{margin-top:14px}
  .fields-wrap{grid-template-columns:repeat(2,1fr);gap:8px}
  .scenarios{grid-template-columns:1fr}
  .dyk-grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:repeat(2,1fr)}
  .tools-grid{grid-template-columns:repeat(2,1fr)}
  .compare{overflow-x:auto}
}

/* --- glossario, correlati, fonti, stampa --- */
.field label{position:relative}
.qm{margin-left:6px;border:none;background:#E0D2F7;color:var(--purple-deep);width:15px;height:15px;
 border-radius:50%;font-family:inherit;font-size:10px;font-weight:700;line-height:15px;padding:0;
 cursor:pointer;vertical-align:middle}
.qm:hover,.qm.on{background:var(--purple);color:#fff}
.tip-pop{position:fixed;z-index:9998;top:0;left:0;width:min(280px,calc(100vw - 16px));background:var(--ink);
 color:#F2EEE7;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.5;
 letter-spacing:0;text-transform:none;box-shadow:0 10px 26px rgba(33,26,20,.22)}
@media print{.qm{display:none}}
a.gl{color:var(--purple-deep);border-bottom:1px dotted var(--purple);text-decoration:none;font-weight:600}
a.gl:hover{background:#F3ECFB}
.related{max-width:70ch;margin:56px auto 0}
.related h2{font-family:'Sora',sans-serif;font-size:22px;font-weight:700;margin:0 0 16px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rel-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:transform .18s,box-shadow .18s}
.rel-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(33,26,20,.08)}
.rel-card .rt{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;line-height:1.25}
.rel-card .rd{font-size:12.5px;line-height:1.5;color:#8B8375}
.rel-card .rg{font-size:12.5px;font-weight:600;color:var(--purple-deep);margin-top:2px}
.rel-card.gloss{background:var(--cream-card);border-color:var(--cream-border)}
.sources{max-width:70ch;margin:52px auto 0;border-top:1px solid var(--line);padding-top:24px}
.sources h2{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;margin:0 0 12px}
.sources ul{margin:0;padding-left:18px}
.sources li{font-size:13.5px;line-height:1.7;color:var(--muted);margin-bottom:7px}
.sources .sn{margin:12px 0 0;font-size:12.5px;color:#9C9284}
.print-wrap{max-width:70ch;margin:26px auto 0;text-align:right}
.printbtn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 18px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.printbtn:hover{border-color:var(--purple);color:var(--purple-deep)}
.gl-list{max-width:70ch;margin:0 auto}
.gl-item{border-top:1px solid var(--line);padding:20px 0}
.gl-item h2{font-family:'Sora',sans-serif;font-size:19px;font-weight:700;margin:0 0 8px;scroll-margin-top:20px}
.gl-item p{margin:0;font-size:15px;line-height:1.7;color:#4A4238}
.gl-item:target h2{color:var(--purple-deep)}
@media (max-width:700px){.rel-grid{grid-template-columns:1fr}}
@media print{
  header,footer,.fc-bar,.print-wrap,.related,.sources,.prose,.dyk,details,.hero-note{display:none!important}
  body{background:#fff}
  .head{padding:0 0 8px}
  h1{font-size:22px}
  .dek{display:none}
  .hero{background:#fff!important;color:#211A14!important;border:1px solid #ddd;padding:14px 16px;margin-top:8px;break-inside:avoid}
  .hero .blob{display:none}
  .hero-lbl{color:#5A5245!important}
  .hero-big{color:#211A14!important;font-size:30px}
  .fields-wrap{gap:6px;margin-top:14px}
  .field{break-inside:avoid;background:#fff;border:1px solid #ddd}
  .compare{break-inside:avoid;margin-top:14px}
  .narrow{padding:0}
}

/* ===== nuovo aspetto: pagine di testo e glossario (settembre 2026) ===== */
.page-head{position:relative;padding:64px 0 36px}
.page-head .orb{position:absolute;top:-180px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.16),rgba(124,58,237,0) 68%);pointer-events:none}
.page-head .inner{position:relative}
.page-head .eyebrow{display:inline-block;background:none;padding:0;margin:0;font-size:13px;font-weight:600;color:var(--purple);border-radius:0}
.page-head h1{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(32px,4.6vw,56px);line-height:1.05;letter-spacing:-.035em;margin:16px 0 0;max-width:20ch;display:flex;flex-wrap:wrap;column-gap:.24em}
.page-head h1 .w{display:inline-block;overflow:hidden;padding-bottom:.08em}
.page-head h1 .accent{color:var(--purple)}
.page-head .upd{margin-top:12px;font-size:12.5px;color:#8B8375}
.page-head .lede{margin:22px 0 0;font-size:clamp(16.5px,4.3vw,19px);line-height:1.6;color:var(--muted);max-width:60ch}

.page-body{padding:56px 0 0;display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:start}
.page-body.with-toc{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}
.toc{position:sticky;top:96px;display:flex;flex-direction:column;align-items:stretch;gap:2px;border-left:2px solid #EDE3FA}
.toc .title{padding:0 0 10px 16px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8B8375}
.toc a{margin-left:-2px;padding:7px 0 7px 16px;border-left:2px solid transparent;font-size:13.5px;line-height:1.4;color:var(--muted);transition:color .25s,border-color .25s}
.toc a:hover{color:var(--purple-deep)}
.toc a.on{border-left-color:var(--purple);color:var(--purple-deep);font-weight:600}
.page-article{max-width:720px;min-width:0}
.page-body:not(.with-toc) .page-article{margin:0 auto}
.page-article h2{font-family:'Sora',sans-serif;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:44px 0 12px;scroll-margin-top:96px}
.page-article h2:first-child{margin-top:0}
.page-article p{margin:0 0 16px;font-size:16.5px;line-height:1.75;color:#4A4238}
.page-article b{color:var(--ink);font-weight:600}
.page-article a{color:var(--purple-deep);border-bottom:1.5px solid #C4B5FD}
.page-article a.mail-cta,.mail-cta{margin-top:28px;display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:16px 26px;font-size:15px;font-weight:600;background:var(--purple);color:#fff;border-bottom:none;box-shadow:0 14px 28px -18px rgba(91,33,182,.55);transition:background .25s}
.mail-cta:hover{background:var(--purple-deep);color:#fff}

.dark-cta{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#fff;border-radius:28px;padding:34px;transition:box-shadow .4s}
.dark-cta:hover{box-shadow:0 30px 60px -24px rgba(33,26,20,.5);color:#fff}
.dark-cta .glow{position:absolute;top:-120px;right:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.45),rgba(124,58,237,0) 70%);pointer-events:none}
.dark-cta .txt{position:relative;display:flex;flex-direction:column;gap:6px}
.dark-cta .kick{font-size:13px;font-weight:600;color:#C4B5FD}
.dark-cta .big{font-family:'Sora',sans-serif;font-size:clamp(26px,3.6vw,44px);font-weight:700;letter-spacing:-.03em}
.dark-cta .line{position:relative;font-family:'Sora',sans-serif;font-size:clamp(24px,3vw,36px);font-weight:700;letter-spacing:-.025em}
.dark-cta .arrow{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--purple);font-size:22px;flex:none}
.info-cards{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.info-card{background:#FBF9FE;border:1px solid #EDE3FA;border-radius:22px;padding:22px 22px 24px}
.info-card .k{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--purple)}
.info-card .v{margin-top:10px;font-size:15px;line-height:1.6;color:#4A4238}

/* glossario */
.gl-search{position:sticky;top:66px;z-index:40;padding:14px 0;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.gl-search .gl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.gl-search .box{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;background:#FBF9FE;border:1px solid var(--cream-border);border-radius:16px;padding:0 16px;transition:border-color .2s,box-shadow .2s}
.gl-search .box:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px rgba(124,58,237,.12);background:#fff}
.gl-search input{flex:1;min-width:0;border:none;outline:none;background:none;font:inherit;font-size:16px;color:var(--ink);padding:14px 0}
.gl-search .clear{border:none;background:#EFE6FC;color:var(--purple-deep);width:26px;height:26px;border-radius:50%;cursor:pointer;font:inherit;font-size:14px}
.gl-search .count{font-size:13.5px;font-weight:600;color:var(--muted)}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;padding-top:20px}
.gl-card{scroll-margin-top:150px;background:#FBF9FE;border:1px solid #EDE3FA;border-radius:24px;padding:24px 24px 26px;transition:background .5s,border-color .5s,box-shadow .5s}
.gl-card.flash{background:#fff;border-color:var(--purple);box-shadow:0 24px 50px -22px rgba(124,58,237,.5)}
.gl-card .top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gl-card h2{font-family:'Sora',sans-serif;margin:0;font-size:20px;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.gl-card .n{flex:none;font-size:12px;font-weight:700;color:#C4B5FD}
.gl-card p{margin:12px 0 0;font-size:15px;line-height:1.7;color:#4A4238}
.gl-empty{padding:60px 0;text-align:center;color:var(--muted);font-size:16px}
.tail-cta{padding:110px clamp(18px,5vw,28px) 0;max-width:1160px;margin:0 auto}

/* comparsa degli elementi: si accende solo se il JS parte */
.motion [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s}
.motion .page-head h1 [data-rv]{transform:translateY(105%)}
.motion .page-head .lede[data-rv]{filter:blur(5px)}
[data-rv].shown{opacity:1!important;transform:none!important;filter:none!important}
@media (prefers-reduced-motion:reduce){.motion [data-rv]{opacity:1;transform:none;filter:none;transition:none}}
@media (max-width:860px){
  .page-body.with-toc{grid-template-columns:minmax(0,1fr)}
  .toc{display:none}
  .gl-search{top:58px}
}

/* ===== nuovo aspetto: pagine calcolatore (settembre 2026) ===== */
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(16px,4vw,24px);align-items:start}
.groups{display:flex;flex-direction:column;gap:12px;min-width:0}
.group{background:#FBF9FE;border:1px solid #EDE3FA;border-radius:24px}
.group > button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px clamp(16px,4vw,22px);background:none;border:none;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
.group .gname{display:flex;align-items:baseline;gap:10px}
.group .gname b{font-family:'Sora',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.01em}
.group .gname span{font-size:12.5px;color:#8B8375}
.group .chev{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#EFE6FC;color:var(--purple-deep);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
.group.open .chev{transform:rotate(180deg);background:var(--purple);color:#fff}
.group .gbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.group.open .gbody{grid-template-rows:1fr}
.group .gbody > div{overflow:hidden;min-height:0}
.group .gfields{padding:0 clamp(12px,3.5vw,22px) clamp(14px,4vw,22px);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px;opacity:0;transition:opacity .35s}
.group.open .gfields{opacity:1}
.cfield{position:relative;background:#fff;border:1px solid #EDE3FA;border-radius:16px;padding:12px 12px 10px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;transition:border-color .2s,box-shadow .2s;min-width:0}
.cfield:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px rgba(124,58,237,.1)}
.cfield .top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cfield label{font-size:12.5px;font-weight:600;line-height:1.35;color:#4A4238;overflow-wrap:break-word;position:relative}
.cfield .row{display:flex;align-items:center;gap:6px}
.cfield .step{flex:none;width:30px;height:30px;border-radius:10px;border:1px solid #EDE3FA;background:#FBF9FE;color:var(--purple-deep);font:inherit;font-size:16px;cursor:pointer;transition:background .2s}
.cfield .step:hover{background:#EFE6FC}
.cfield .mid{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:center;gap:4px}
.cfield .mid .u{font-size:13px;color:#8B8375}
.cfield input{flex:1;min-width:0;width:100%;border:none;outline:none;background:none;font-family:'Sora',sans-serif;font-size:18px;font-weight:700;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;padding:0}

.result-wrap{position:sticky;top:90px;min-width:0}
.result{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:28px;padding:clamp(22px,6vw,28px) clamp(20px,5.5vw,28px) 22px;box-shadow:0 40px 80px -30px rgba(33,26,20,.45)}
.result .glow{position:absolute;top:-120px;right:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.45),rgba(124,58,237,0) 70%);pointer-events:none}
.result .in{position:relative}
.result .lbl{font-size:13px;color:#C4B5FD;font-weight:600}
.result .big{font-family:'Sora',sans-serif;margin-top:8px;font-size:clamp(34px,4.8vw,58px);font-weight:700;letter-spacing:-.04em;line-height:1.02;min-height:1em;overflow-wrap:anywhere}
.result .note{margin:14px 0 0;font-size:14px;line-height:1.6;color:#B7AE9F}
.result svg.chart{width:100%;height:150px;display:block;margin-top:18px;overflow:visible}
.result .chart-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:8px;font-size:11.5px;line-height:1.45;color:#8B8375}
.result .chart-note span:last-child{white-space:nowrap}
.plate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:20px;background:rgba(255,255,255,.08);border-radius:16px;overflow:hidden}
.plate > div{background:#2A221B;padding:12px 14px;min-width:0}
.plate .k{font-size:11.5px;color:#8B8375}
.plate .v{font-family:'Sora',sans-serif;margin-top:2px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.detail{border:1px solid var(--line);border-radius:24px;overflow:hidden}
.detail .scroll{overflow-x:auto}
.detail .thead,.detail .trow{display:grid;gap:12px;padding:14px 22px;align-items:center}
.detail .thead{background:var(--cream-card);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--purple)}
.detail .trow{padding:15px 22px;border-top:1px solid var(--line);font-size:14.5px}
.detail .trow.hl{background:#FBF9FE}
.detail .trow span{font-variant-numeric:tabular-nums}
.detail .num{text-align:right;font-weight:500}
.detail .strong{font-weight:700;color:var(--purple-deep);font-family:'Sora',sans-serif}
.detail .muted{color:#8B8375}
.printbtn{margin-top:14px;display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:11px 18px;font:inherit;font-size:14px;font-weight:600;border:1px solid var(--cream-border);background:#fff;color:var(--ink);cursor:pointer;transition:background .2s}
.printbtn:hover{background:var(--cream-card)}

.dyk2{padding:90px clamp(18px,5vw,28px) 0;max-width:1160px;margin:0 auto}
.dyk2 h2{font-family:'Sora',sans-serif;font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-.03em;margin:0}
.dyk2 .grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(10px,2.6vw,14px)}
.dyk2 .cell{background:#FBF9FE;border:1px solid #EDE3FA;border-radius:clamp(18px,4.5vw,22px);padding:clamp(14px,4vw,22px);display:flex;flex-direction:column}
.dyk2 .em{font-size:24px;line-height:1}
.dyk2 .txt{margin-top:12px;font-size:clamp(13px,3.5vw,15px);line-height:1.55;color:#4A4238}
.dyk2 .euro{display:inline-flex;align-items:baseline;border-bottom:2px solid #C4B5FD;white-space:nowrap}
.dyk2 .euro input{border:none;background:none;outline:none;font:inherit;font-family:'Sora',sans-serif;font-weight:700;color:var(--ink);padding:0 0 0 2px;text-align:left}
.dyk2 .res{margin-top:auto;padding-top:12px;font-family:'Sora',sans-serif;font-size:clamp(20px,5.4vw,26px);font-weight:700;letter-spacing:-.02em;color:var(--purple-deep);font-variant-numeric:tabular-nums}
.dyk2 .sub{font-size:clamp(11px,3vw,12.5px);line-height:1.4;color:#8B8375}
.dyk2 .foot{margin:16px 0 0;font-size:12.5px;line-height:1.6;color:#8B8375;max-width:80ch}

.calc-prose{max-width:720px;margin:0 auto;padding-top:100px}
.calc-prose h2{font-family:'Sora',sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:40px 0 14px}
.calc-prose h2:first-child{margin-top:0}
.calc-prose p{margin:0 0 16px;font-size:16.5px;line-height:1.75;color:#4A4238}
.calc-prose b{color:var(--ink);font-weight:600}
.faq-list{border-bottom:1px solid var(--line)}
.faq{border-top:1px solid var(--line)}
.faq > button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;background:none;border:none;font:inherit;font-family:'Sora',sans-serif;font-size:17px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.faq .mark{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#EFE6FC;color:var(--purple-deep);font-size:18px;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
.faq.open .mark{transform:rotate(45deg);background:var(--purple);color:#fff}
.faq .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.faq.open .ans{grid-template-rows:1fr}
.faq .ans > div{overflow:hidden}
.faq .ans p{margin:0;padding:0 48px 20px 0;font-size:15px;line-height:1.7;color:var(--muted)}
.sources{max-width:720px;margin:64px auto 0;background:#FBF9FE;border:1px solid #EDE3FA;border-radius:22px;padding:24px 26px;border-top:1px solid #EDE3FA}
.sources h2{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 12px}
.sources ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.sources li{font-size:14px;line-height:1.6;color:#4A4238}
.sources .sn{margin:14px 0 0;padding-top:12px;border-top:1px solid #EDE3FA;font-size:12.5px;color:#8B8375}
.related{padding:100px clamp(18px,5vw,28px) 0;max-width:1160px;margin:0 auto}
.related h2{font-family:'Sora',sans-serif;font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-.03em;margin:0}
.rel-grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.rel-card{display:flex;flex-direction:column;gap:6px;border:none;border-radius:24px;padding:clamp(18px,5vw,24px);transition:box-shadow .4s,transform .3s}
.rel-card:hover{box-shadow:0 24px 48px -22px rgba(33,26,20,.3);transform:translateY(-3px)}
.rel-card .rt{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em}
.rel-card .rd{font-size:14px;color:#4A4238}
.rel-card .rg{margin-top:12px;display:inline-flex;align-self:flex-start;background:var(--ink);color:#fff;border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600}

@media print{.group > button .chev{display:none!important}}
.rel-card{background:var(--cream-card)}
.related .rel-grid .rel-card.gloss{background:var(--cream-card)}

/* stampa: resta il risultato e la tabella, sparisce il resto */
@media print{
  .dyk2,.calc-prose,.related,.sources,.printbtn,.group .chev{display:none!important}
  .page-head{padding:0 0 8px}
  .page-head .orb,.page-head .eyebrow,.page-head .lede{display:none}
  .page-head h1{font-size:22px}
  .calc-grid{grid-template-columns:1fr;gap:12px}
  .result{background:#fff!important;color:#211A14!important;border:1px solid #ddd;box-shadow:none;break-inside:avoid}
  .result .glow,.result svg.chart{display:none}
  .result .lbl{color:#5A5245!important}
  .result .big{font-size:30px}
  .plate{background:#ddd}
  .plate > div{background:#fff!important}
  .plate .k{color:#5A5245!important}
  .group{break-inside:avoid}
  .group .gbody{grid-template-rows:1fr!important}
  .group .gfields{opacity:1!important}
  .detail{break-inside:avoid}
}
