

:root{
  --paper:#F4F0E5; --surface:#FBF8F0; --ink:#111111; --muted:#5E5B54; --rule:#111111; --soft:#D9D5CA;
  --accent:#111111; --accent-ink:#F4F0E5; --note-soft:#F2CF5B;
  --sans:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --tabs:62px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--paper:#121212;--surface:#1B1B1A;--ink:#F2EEE3;--muted:#A19D93;--rule:#F2EEE3;--soft:#34322E;--accent:#F2EEE3;--accent-ink:#121212}
}
:root[data-theme="dark"]{--paper:#121212;--surface:#1B1B1A;--ink:#F2EEE3;--muted:#A19D93;--rule:#F2EEE3;--soft:#34322E;--accent:#F2EEE3;--accent-ink:#121212}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","tnum"}
img,svg{max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
[hidden]{display:none!important}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-0.016em}

/* ---------- barra & navigazione ---------- */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:baseline;gap:2px;text-decoration:none;font-weight:600;font-size:20px;letter-spacing:-0.018em}
.brand sup{font-size:10px;font-weight:500;letter-spacing:0}
.mark{display:none}
.topnav{display:none;gap:22px}
.topnav a,.tabs a{text-decoration:none;font-size:13px;font-weight:500;display:flex;align-items:center;gap:7px}
.topnav a[aria-current="page"],.tabs a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
.topnav svg,.tabs svg{width:18px;height:18px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:var(--paper);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom,0px)}
.tabs a{flex:1;flex-direction:column;gap:3px;padding:9px 0 10px;font-size:11px}
.tabs svg{width:21px;height:21px}
@media (min-width:900px){.topnav{display:flex}.tabs{display:none}:root{--tabs:0px}}

main{padding:0 0 calc(var(--tabs) + 40px)}
.wrap{max-width:1180px;margin:0 auto}
.pad{padding:20px 16px}
@media (min-width:700px){.pad{padding:28px 32px}}

/* ---------- blocchi poster ---------- */
.blk{background:var(--bg);color:var(--fg);padding:14px 16px 16px;position:relative}
@media (min-width:700px){.blk{padding:18px 32px 22px}}
.xxl{font-size:clamp(52px,14.5vw,148px);line-height:.9;letter-spacing:-0.025em;font-weight:500;margin:0}
.xl{font-size:clamp(40px,11vw,112px);line-height:.92;letter-spacing:-0.023em;font-weight:500;margin:0}
.lg{font-size:clamp(28px,7vw,64px);line-height:.98;letter-spacing:-0.02em;font-weight:500;margin:0}
.row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;text-decoration:none;border-bottom:4px solid currentColor;padding:4px 0 6px}
.row:last-of-type{border-bottom:0}
.row > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:.14em;margin-bottom:-.14em}
.row .num{flex:none;white-space:nowrap}
.row.ind > span:first-child{padding-left:.55em}
.plus{background:none;border:0;padding:0;line-height:.8;font-size:inherit;font-weight:300;cursor:pointer;color:inherit}
.meta{display:flex;justify-content:space-between;gap:12px;font-size:10.5px;line-height:1.25;font-weight:500;text-transform:uppercase;letter-spacing:.01em;margin:14px 0 0}
.meta span{max-width:48%}
.meta a{text-decoration:none}
.meta.mtop{margin:0 0 10px}
.blk-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;font-size:12px;font-weight:500}
.blk-top a{text-decoration:none}
.ico svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.go{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding-top:10px;border-top:1px solid currentColor;text-decoration:none;font-size:20px;font-weight:500;letter-spacing:-0.009em}
.go span{font-size:28px}
.tall{min-height:min(62vh,560px);display:flex;flex-direction:column;justify-content:space-between}

/* ---------- l'opera ---------- */
.opera{position:relative;background:#111;color:#F4F0E5}
.opera img{display:block;width:100%;height:clamp(300px,64vh,720px);object-fit:cover}
.op-txt{padding:12px 16px 16px}
@media (min-width:700px){.op-txt{padding:16px 32px 22px}}
.opera .op-t{font-size:clamp(30px,7.5vw,72px);line-height:.95;letter-spacing:-0.02em;font-weight:500}
.opera.noimg{background:var(--bg2,#2C5BD3);color:var(--fg2,#111)}
.opera.noimg .op-txt{min-height:min(48vh,420px);display:flex;flex-direction:column;justify-content:space-between;padding-top:14px}
.opera.noimg .op-t{font-size:clamp(44px,12vw,120px);line-height:.92}

/* ---------- indice ---------- */
.index{background:var(--surface);color:var(--ink)}
.ix-head,.ix-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ix-head{font-size:11px;font-weight:500;margin-bottom:14px}
.ix-col{display:flex;flex-direction:column}
.ix{display:grid;grid-template-columns:20px 1fr auto;gap:4px;font-size:11px;line-height:1.38;text-decoration:none;align-items:baseline}
.ix .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix.on .t,.ix.on .n{text-decoration:underline;text-underline-offset:2px}
.ix.today{font-weight:700}
.ix-d{display:grid;grid-template-columns:20px 1fr;gap:4px;font-size:11px;line-height:1.38;color:var(--ink)}
.ix-d::before{content:"·"}
.ix-legend{font-size:10.5px;color:var(--muted);margin:14px 0 0}

/* ---------- liste maiuscole (percorsi, territori) ---------- */
.caps{background:#DAD8D2;color:#D4452A}
.caps-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,28%);gap:12px;align-items:end;border-bottom:1.5px solid currentColor;padding:6px 0 4px;text-decoration:none;color:inherit}
.caps-row .ct{font-weight:800;text-transform:uppercase;font-size:clamp(22px,6.4vw,64px);line-height:.92;letter-spacing:-0.025em}
.caps-row .cm{font-size:9.5px;line-height:1.2;font-weight:600;text-transform:uppercase;text-align:right;padding-bottom:4px}
.caps-row .cm svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 0 6px auto}
.caps h2{font-size:12px;font-weight:600;letter-spacing:0;margin-bottom:22px;text-transform:uppercase}

/* ---------- lezione ---------- */
.paper{background:var(--paper)}
.lgrid{display:grid;grid-template-columns:1fr;gap:6px 28px;border-top:1px solid var(--rule);padding:12px 0 22px}
@media (min-width:800px){.lgrid{grid-template-columns:200px 1fr}}
.lab{font-size:11px;font-weight:600;text-transform:uppercase}
.lab b{font-weight:600;margin-right:6px}
.prose{font-size:18px;line-height:1.55;max-width:38em}
.prose p{margin:0 0 .85em}
.hook{font-size:clamp(22px,5.6vw,34px);line-height:1.18;letter-spacing:-0.011em;margin:6px 0 28px;max-width:28em}
.facts{list-style:none;margin:0;padding:0;counter-reset:f}
.facts li{display:grid;grid-template-columns:28px 1fr;padding:7px 0;border-bottom:1px solid var(--soft);counter-increment:f}
.facts li::before{content:counter(f,decimal-leading-zero);font-size:11px;font-weight:600;padding-top:5px}
.badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;padding:1px 6px;background:#F2CF5B;color:#111;margin-left:6px;vertical-align:2px}
.conn{display:block;text-decoration:none;color:var(--fg);background:var(--bg);padding:14px 16px 16px;margin:6px -16px 0}
@media (min-width:700px){.conn{margin:6px -32px 0;padding:18px 32px 22px}}
.conn .prose{color:inherit;font-size:16px;margin-top:12px}
.ask{font-size:clamp(26px,6.6vw,52px);line-height:1.02;letter-spacing:-0.018em;margin:30px 0 28px;font-weight:500}
.more{list-style:none;margin:0;padding:0;font-size:14px}
.more li{padding:6px 0;border-bottom:1px solid var(--soft)}
.more li::before{content:"[↓] ";font-size:11px}
.libnote{font-size:12px;color:var(--muted);margin:22px 0 34px}
.explain{border-top:4px solid var(--rule);padding-top:12px}
.explain h2{font-size:clamp(32px,8vw,64px);line-height:.95;letter-spacing:-0.023em;margin-bottom:12px}
textarea{width:100%;font:inherit;font-size:17px;line-height:1.5;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:0;padding:12px 14px;resize:vertical}
textarea:focus{outline:2px solid var(--ink);outline-offset:-2px}
.fb{background:var(--surface);border:1px solid var(--rule);padding:16px;margin:16px 0}
.fb-sum{font-size:20px;line-height:1.3;letter-spacing:-0.007em}
.fb h4{margin:14px 0 4px;font-size:11px;text-transform:uppercase;font-weight:600}
.fb ul{margin:0;padding-left:18px}
.banner{background:#F2CF5B;color:#111;padding:12px 16px;font-size:14px}
.banner b{display:block;font-size:11px;text-transform:uppercase}
.loading{padding:24px 0}
.loading .bar{height:4px;background:var(--soft);position:relative;overflow:hidden;margin:12px 0}
.loading .bar span{position:absolute;left:0;top:0;bottom:0;background:var(--ink);width:4%;transition:width .4s}
.err{border:1px solid var(--rule);padding:14px;margin:18px 0}
.nbl{text-decoration:underline;text-underline-offset:2px}

/* ---------- controlli ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid var(--ink);background:transparent;text-decoration:none;font-weight:600;font-size:14px;cursor:pointer;border-radius:0}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.sm{min-height:36px;padding:0 14px;font-size:13px}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.linkbtn{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;color:inherit}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.muted{color:var(--muted)}
.fine{font-size:12px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 24px}
.chip{border:1px solid var(--ink);background:transparent;border-radius:0;padding:7px 12px;font-size:14px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--b,var(--ink));border-color:var(--b,var(--ink));color:var(--bi,var(--paper))}
.choices{display:grid;gap:0;margin:10px 0 24px;border-top:1px solid var(--rule)}
.choice{display:grid;grid-template-columns:24px 1fr;text-align:left;width:100%;background:none;border:0;border-bottom:1px solid var(--rule);padding:12px 0;cursor:pointer}
.choice::before{content:"○";font-size:14px}
.choice[aria-pressed="true"]::before{content:"●"}
.choice b{font-weight:600}
.choice span{grid-column:2;font-size:13px;color:var(--muted)}
.seg{display:flex;gap:0;margin:10px 0 22px}
.seg .chip{flex:1;text-align:center;margin-left:-1px}
.step{font-size:11px;font-weight:600;text-transform:uppercase;margin:0 0 10px}
.subtabs{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;border-bottom:1px solid var(--rule);font-size:13px;font-weight:500}
@media (min-width:700px){.subtabs{padding:14px 32px}}
.subtabs a{text-decoration:none}
.subtabs a::before{content:"["}
.subtabs a::after{content:"]"}
.subtabs a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}

/* ---------- pannelli ---------- */
.fab{position:fixed;right:14px;bottom:calc(var(--tabs) + 14px + env(safe-area-inset-bottom,0px));z-index:45}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:49}
.panel{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--paper);border-top:4px solid var(--ink);max-height:84vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}
.panel header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--rule)}
.panel header h2{font-size:24px;letter-spacing:-0.018em}
.panel .pbody{overflow:auto;padding:14px 16px}
@media (min-width:900px){.panel{left:auto;top:0;width:440px;max-height:none;border-top:0;border-left:4px solid var(--ink);padding-top:env(safe-area-inset-top,0px)}.fab{bottom:24px;right:24px}}
.msg{margin-bottom:14px}
.msg.u{text-align:right}
.msg.u span{display:inline-block;background:var(--ink);color:var(--paper);padding:8px 12px;text-align:left;max-width:85%}
.msg.a{font-size:16px;line-height:1.5}
.msg.a p{margin:0 0 .6em}
.tchips{display:flex;gap:6px;overflow-x:auto;padding:10px 16px;border-top:1px solid var(--rule)}
.tchips .chip{white-space:nowrap;font-size:13px;padding:5px 10px}
.tin{display:flex;gap:8px;padding:0 16px 14px;align-items:flex-end}
.tin textarea{font-size:15px;padding:10px 12px;min-height:44px;max-height:140px;resize:none}
.links{list-style:none;padding:0;margin:8px 0 20px;border-top:1px solid var(--rule)}
.links li{border-bottom:1px solid var(--soft)}
.links button{background:none;border:0;padding:9px 0;text-align:left;width:100%;cursor:pointer;font-size:14px}

/* ---------- mappa ---------- */
.mapwrap{position:relative;background:var(--surface);height:min(74vh,780px);border-bottom:1px solid var(--rule)}
#map{width:100%;height:100%;display:block;touch-action:none;cursor:grab;user-select:none}
#map .lbl{font-family:var(--sans);font-size:13px;font-weight:500;fill:var(--ink)}
#map .lbl.dim{fill:var(--muted);opacity:.7}
#map .node{cursor:pointer}
#map .node:focus{outline:none}
.mapctl{position:absolute;right:12px;top:12px;display:flex;gap:0}
.mapctl button{background:var(--paper);border:1px solid var(--ink);margin-left:-1px;min-width:38px;height:36px;padding:0 10px;cursor:pointer;font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;text-transform:uppercase;font-weight:500;padding:12px 16px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.lg-s{background:var(--ink)}
.lg-k{border:1.5px solid var(--ink)}
.lg-u{background:var(--muted);width:6px!important;height:6px!important}

/* ---------- onboarding ---------- */
.onb .pad h2{font-size:clamp(34px,9vw,72px);line-height:.95;letter-spacing:-0.023em;margin-bottom:10px}

/* ---------- aggiunte: corso / lettura, glossario, quiz ---------- */
.top2{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;font-size:12px;font-weight:500}
.top2 a{text-decoration:none}
.caps.pink{background:#F3C4C6;color:#111}
.caps.sand{background:#EAE0C4;color:#111}
.caps .h2row{display:flex;justify-content:space-between;font-size:12px;font-weight:600;text-transform:uppercase;margin-bottom:22px}
.caps .h2row a{text-decoration:none}
.caps-row .ct small{font-size:.38em;letter-spacing:0;vertical-align:top;margin-left:4px;font-weight:600}
.caps-row.mine .ct::before{content:"● ";font-size:.5em;vertical-align:middle}
.mode2{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid currentColor}
.mode2 a{display:block;text-decoration:none;padding:12px 14px 14px 0;border-right:1px solid currentColor}
.mode2 a + a{border-right:0;padding-left:14px}
.mode2 b{display:block;font-size:clamp(26px,7vw,48px);font-weight:500;letter-spacing:-0.02em;line-height:.95;margin-bottom:8px}
.mode2 span{font-size:12px;line-height:1.35}
.term{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1.5px;text-underline-offset:4px}
.term::after{content:"↗";font-size:.6em;vertical-align:super;margin-left:1px}
.kwl{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.kwl button{border:1px solid currentColor;background:none;padding:5px 10px;font-size:13px;cursor:pointer;color:inherit}
.brief{font-size:clamp(22px,5.6vw,34px);line-height:1.18;letter-spacing:-0.011em;margin:6px 0 28px;max-width:28em}
.brief .lab{display:block;margin-bottom:10px}
.toc{list-style:none;margin:0;padding:0;font-size:14px}
.toc li{display:grid;grid-template-columns:40px 1fr;padding:5px 0;border-bottom:1px solid var(--soft)}
.toc a{text-decoration:none}
.qz{margin:0 0 18px}
.qz .qq{font-size:20px;line-height:1.2;letter-spacing:-0.009em;margin-bottom:8px}
.opt{display:grid;grid-template-columns:30px 1fr;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--soft);padding:9px 0;font-size:17px;line-height:1.25;cursor:pointer;color:inherit}
.opt::before{content:"( )";font-size:12px;padding-top:3px}
.opt.ok{background:var(--ink);color:var(--paper);padding-left:8px}
.opt.ok::before{content:"(✓)"}
.opt.ko{text-decoration:line-through;opacity:.7}
.opt.ko::before{content:"(✕)"}
.opt[disabled]{cursor:default}
.qexp{font-size:14px;line-height:1.45;margin:8px 0 0;color:var(--muted)}
.score{font-size:clamp(48px,12vw,96px);letter-spacing:-0.023em;line-height:.9;margin:6px 0}
.ex{background:#F2CF5B;color:#111;padding:14px 16px;font-size:18px;line-height:1.5}
.recap{list-style:none;margin:0;padding:0;counter-reset:r}
.recap li{display:grid;grid-template-columns:28px 1fr;padding:9px 0;border-bottom:1px solid var(--soft);counter-increment:r;font-size:18px;line-height:1.45}
.recap li::before{content:counter(r,decimal-leading-zero);font-size:11px;font-weight:600;padding-top:5px}
.donebar{display:flex;justify-content:space-between;align-items:center;border-top:4px solid var(--rule);margin-top:22px;padding-top:10px}
.def{font-size:22px;line-height:1.3;letter-spacing:-0.007em}
.chk{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-bottom:1.5px solid currentColor;padding:6px 0 4px;cursor:pointer;color:inherit;font-weight:800;text-transform:uppercase;font-size:clamp(22px,6vw,48px);line-height:.95;letter-spacing:-0.023em}
.chk::before{content:"( )";font-size:.5em;font-weight:600}
.chk[aria-pressed="true"]::before{content:"(●)"}
.chk small{font-size:10px;font-weight:600;letter-spacing:0}
.search{display:block;width:100%;font:inherit;font-size:clamp(22px,5.6vw,30px);letter-spacing:-0.013em;padding:8px 0;border:0;border-bottom:4px solid currentColor;background:transparent;color:inherit;border-radius:0}
.search:focus{outline:none}
.search::placeholder{color:inherit;opacity:.45}

.opera.noimg .credit{display:none}
.blk .row{border-bottom:4px solid currentColor}
.blk .row.nob{border-bottom:0}

/* icone più grandi */
.ico svg{width:clamp(46px,11vw,72px)!important;height:clamp(46px,11vw,72px)!important;stroke-width:1.8!important}
.caps-row .cm svg{width:clamp(34px,8vw,48px)!important;height:clamp(34px,8vw,48px)!important;stroke-width:1.9!important;margin-bottom:8px!important}
.tabs svg{width:25px!important;height:25px!important}
.topnav svg{width:22px!important;height:22px!important}
/* frecce al posto delle parentesi */
.opt::before{content:"→"!important;font-size:16px!important;padding-top:0!important}
.opt.ok::before{content:"✓"!important}
.opt.ko::before{content:"✕"!important}
.chk::before{content:"→"!important;font-size:.7em!important;opacity:.35}
.chk[aria-pressed="true"]::before{content:"✓"!important;opacity:1}
.choice::before{content:"→"!important;opacity:.35}
.choice[aria-pressed="true"]::before{content:"✓"!important;opacity:1}

/* logo */
.brand{display:flex;align-items:center;gap:9px}
.brand .logo{width:22px;height:22px;flex:none}
.brand span{font-weight:400;letter-spacing:-0.016em}
.brand b{font-weight:700}
.logo.big{width:44px;height:44px;display:block}
/* opera con foto */
.opera3{background:var(--bg2);color:var(--fg2)}
.ph3{margin:0;background:#111}
.ph3 img{display:block;width:100%;max-height:78vh;object-fit:cover}
.ph3 figcaption{font-size:11px;color:#F4F0E5;background:#111;padding:8px 16px}
@media (min-width:700px){.ph3 figcaption{padding:8px 32px}}
.op3{padding:14px 16px 16px}
@media (min-width:700px){.op3{padding:18px 32px 22px}}
.op3t{font-size:clamp(24px,5.4vw,44px);line-height:1;letter-spacing:-0.018em;font-weight:500}

/* allineamento: niente rientri */
.row.ind > span:first-child{padding-left:0!important}
/* home a fasce */
.hbands{display:flex;flex-direction:column}
.hb{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,40%);gap:16px;align-items:end;background:var(--bg);color:var(--fg);text-decoration:none;padding:14px 16px 16px;min-height:calc((100dvh - 56px - var(--tabs) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) / 3);transition:filter .15s}
@media (min-width:700px){.hb{padding:20px 32px 24px;min-height:calc((100dvh - 58px) / 3)}}
.hb:hover{filter:brightness(.97)}
.hb-t{font-size:clamp(60px,17vw,170px);line-height:.86;letter-spacing:-0.027em;font-weight:500;padding-bottom:.06em}
.hb-d{font-size:13px;line-height:1.35;padding-bottom:6px;position:relative;padding-right:22px}
@media (min-width:700px){.hb-d{font-size:15px}}
.hb-d b{font-weight:600}
.hb-d .dim{opacity:.65}
.hb-d i{position:absolute;right:0;bottom:4px;font-style:normal;font-size:22px;line-height:1}
/* briciole di pane */
.crumbs{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:9px 16px;font-size:12px;font-weight:500;border-bottom:1px solid var(--rule);background:var(--paper)}
@media (min-width:700px){.crumbs{padding:10px 32px}}
.crumbs a{text-decoration:none;opacity:.6}
.crumbs a:hover{opacity:1;text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.4}
.crumbs [aria-current]{font-weight:600}

/* menu tipografico */
.tabs{background:var(--paper)!important;border-top:1px solid #111!important}
.tabs a{flex-direction:column;align-items:flex-start!important;padding:8px 10px 10px!important;border-left:1px solid #111;gap:2px!important;font-size:15px!important;letter-spacing:-0.009em}
.tabs a:first-child{border-left:0}
.tabs a small{font-size:10px;opacity:.55;letter-spacing:0}
.tabs a[aria-current="page"]{background:#111;color:var(--paper)}
.tabs a[aria-current="page"] span{text-decoration:none!important}
.topnav{gap:0!important}
.topnav a{padding:6px 14px;border-left:1px solid #111;font-size:15px!important;gap:6px!important}
.topnav a small{font-size:10px;opacity:.55}
.topnav a[aria-current="page"]{background:#111;color:var(--paper);text-decoration:none!important}
.brand{font-size:21px!important;font-weight:600!important;letter-spacing:-0.02em!important}
.brand span{font-weight:600!important}
/* fasce home più alte */
.hb{min-height:max(46vh,320px)!important;align-items:end}
@media (min-width:700px){.hb{min-height:max(58vh,420px)!important}}
.hb-t{font-size:clamp(68px,19vw,200px)!important}
/* frecce più grandi */
.hb-d{padding-right:0!important;padding-bottom:0!important}
.hb-d i{position:static!important;display:block;font-size:clamp(48px,12vw,96px)!important;line-height:.9!important;margin-top:14px;font-weight:300}
.go span,.go b{font-size:clamp(36px,9vw,56px)!important;font-weight:300!important;line-height:.8}
.top2 a{font-size:14px}
/* aggiungi materie */
.mrow2{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;border-bottom:1.5px solid currentColor}
.mrow2 .caps-row{border-bottom:0}
.addm{width:clamp(44px,10vw,60px);height:clamp(44px,10vw,60px);margin-bottom:6px;border:1.5px solid currentColor;background:transparent;color:inherit;font-size:clamp(24px,6vw,34px);line-height:1;cursor:pointer;font-weight:400}
.addm.on{background:currentColor}
.addm.on{color:inherit}
.caps .addm.on{background:#111;color:#F3C4C6;border-color:#111}
.caps:not(.pink) .addm.on{color:#DAD8D2}
.tabs a,.tabs a *,.topnav a,.topnav a *{text-decoration:none!important}
.mrow2 .caps-row .cm{padding-right:2px}

/* fasce home: definitive */
.hb{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;grid-template-rows:1fr auto!important;column-gap:18px!important;align-items:end!important;min-height:max(52vh,360px)!important;padding:18px 16px 18px!important;border-bottom:1px solid rgba(0,0,0,.18)}
@media (min-width:700px){.hb{min-height:max(62vh,460px)!important;padding:24px 32px 26px!important}}
.hb-t{grid-row:2;align-self:end;font-size:clamp(64px,18vw,200px)!important;line-height:.84!important;padding-bottom:.2em}
.hb-d{grid-row:1 / span 2;align-self:end;display:block;font-size:14px!important;line-height:1.35!important}
@media (min-width:700px){.hb-d{font-size:16px!important}}
.hb-d i{order:2;position:static!important;display:block!important;text-align:left!important;font-size:clamp(110px,30vw,230px)!important;line-height:.7!important;font-weight:300!important;margin:18px 0 0 -.06em!important;letter-spacing:-0.023em}

/* fondo nero e menu nero */
.top{background:#111!important;border-bottom-color:#F2EEE3!important;color:#F2EEE3}
.tabs{background:#111!important;border-top:1px solid #F2EEE3!important;color:#F2EEE3}
.tabs a{border-left-color:#3a3a37!important}
.tabs a[aria-current="page"]{background:#F2EEE3!important;color:#111!important}
.topnav a{border-left-color:#3a3a37!important}
.topnav a[aria-current="page"]{background:#F2EEE3!important;color:#111!important}
.crumbs{background:#111!important;border-bottom-color:#3a3a37!important}
/* frecce: grandi ma non eccessive */
.hb-d i{font-size:clamp(52px,12vw,100px)!important;line-height:.8!important;margin:12px 0 0 -.04em!important}
/* niente caselle: azione testuale */
.addm{width:auto!important;height:auto!important;border:0!important;background:none!important;padding:0 0 8px!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;color:inherit!important;margin:0!important}
.addm.on{opacity:.6}

/* miniature e copertine */
.cm .th{display:block;width:clamp(64px,17vw,120px);aspect-ratio:1/1;object-fit:cover;margin:0 0 8px auto;background:#222}
.cm .th[hidden]{display:none}
.thc{display:block}
.thc[hidden]{display:none}
.thc + svg{}
.ph3.cover{margin:0}
.ph3.cover img{max-height:70vh}

/* home come la referenza "Direct Experience" */
.poster{margin:10px;background:#E1D9CB;color:#111}
@media (min-width:700px){.poster{margin:18px}}
.pb{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:max(34vh,250px);padding:16px 18px 14px;text-decoration:none;color:#111;overflow:hidden}
@media (min-width:700px){.pb{min-height:max(38vh,320px);padding:24px 30px 18px}}
.pb1{background:#E1D9CB}
.pb2{background:#3A6FD8}
.pb3{background:#2B62CC}
.pb-t{position:relative;z-index:1;font-family:"Archivo","Inter Tight",Helvetica,Arial,sans-serif;font-weight:400;font-stretch:118%;font-size:clamp(40px,11.5vw,124px);line-height:.92;letter-spacing:-0.016em}
.pb-m{position:relative;z-index:1;font-family:"Archivo","Inter Tight",sans-serif;font-stretch:112%;font-size:clamp(8.5px,2.2vw,11px);line-height:1.3;text-transform:uppercase;letter-spacing:.01em;margin-top:22px}
.pb-ic{position:absolute;top:16px;right:18px;font-size:20px;line-height:1}
@media (min-width:700px){.pb-ic{top:24px;right:30px;font-size:26px}}
.duo{position:absolute;inset:0;background:#3A6FD8;z-index:0}
.duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.25) brightness(1.05);mix-blend-mode:screen;opacity:.95}
.pb-foot{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:start;background:#2B62CC;padding:10px 18px 14px;font-family:"Archivo",sans-serif;font-stretch:112%;font-size:clamp(8.5px,2.2vw,11px);line-height:1.3;text-transform:uppercase}
@media (min-width:700px){.pb-foot{padding:12px 30px 18px}}
.pb-foot span:first-child{font-weight:600;font-size:clamp(11px,3vw,15px);letter-spacing:-0.005em}
.pb-foot .linkbtn{font-size:inherit;text-transform:uppercase;color:#111;padding:0}
.pb-foot span:last-child{text-align:right}
.ph3 figcaption{line-height:1.45}
.ph3 figcaption a{color:inherit;text-decoration:underline}
.ph3 figcaption b{font-weight:600}

/* home a fasce: colori e caratteri del poster, parole allungate */
.hb{border-bottom:0!important}
.hb-t{font-family:"Archivo","Inter Tight",Helvetica,Arial,sans-serif!important;font-weight:400!important;font-stretch:118%!important;letter-spacing:-0.016em!important}
.hb-d{font-family:"Archivo","Inter Tight",sans-serif!important;font-stretch:112%!important}
.hb-d i{font-family:"Inter Tight",sans-serif}

/* fasce: stesso carattere del resto del sito */
.hb-t{font-family:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:500!important;font-stretch:100%!important;letter-spacing:-0.027em!important}
.hb-d{font-family:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif!important;font-stretch:100%!important}

/* frecce: sottili e allineate a destra */
.hb-d i{font-size:0!important;line-height:0!important;margin:16px 0 0 auto!important;display:block!important;width:clamp(64px,16vw,120px);height:clamp(22px,5.4vw,40px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M2 20h114M98 3l18 17-18 17' fill='none' stroke='%23111' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right center/contain}

/* mission: scheda in blu su carta */
.ms{background:#FBFAF6;color:#2F44E0;min-height:calc(100dvh - 110px)}
.ms-in{max-width:880px;margin:0 auto;padding:18px 16px 40px}
@media (min-width:700px){.ms-in{padding:30px 32px 60px}}
.ms-head{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:clamp(26px,6.4vw,46px);line-height:1.02;letter-spacing:-0.016em;font-weight:500;padding:8px 0 14px;border-bottom:1.5px solid currentColor}
.ms-kv{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:12px;line-height:1.25;padding:26px 0 10px;border-bottom:1.5px solid currentColor}
.ms-lead{font-size:clamp(24px,6.2vw,44px);line-height:1.14;letter-spacing:-0.013em;font-weight:500;margin:0;padding:14px 0 18px;border-bottom:1.5px solid currentColor}
.ms-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 0 16px;border-bottom:1.5px solid currentColor;font-size:clamp(20px,5.2vw,34px);line-height:1.15;letter-spacing:-0.011em;font-weight:500}
.ms-foot{font-size:12px;line-height:1.4;margin:28px 0 0;max-width:46em}
.ms-go{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:12px;border-top:1.5px solid currentColor;color:inherit;text-decoration:none;font-size:clamp(22px,5.4vw,36px);letter-spacing:-0.013em}
.ms-go span{font-weight:300;font-size:1.3em}
button.ms-go{width:100%;padding-left:0;padding-right:0;padding-bottom:0;color:inherit;background:none;border-left:0;border-right:0;border-bottom:0;font-family:inherit;cursor:pointer;text-align:left}
.ms-w{min-height:0}
.ms-white{background:#fff}
.ms-w .ms-in{padding:28px 16px 56px!important}
@media (min-width:700px){.ms-w .ms-in{padding:40px 32px 88px!important}}
.ms-w .ms-title{padding:28px 0 36px}
.ms-w .ms-kv{padding:30px 0 14px}
.ms-w .ms-lead{padding:24px 0 0;border-bottom:0}
.ms-w .ms-lead+.ms-lead{padding-top:28px}
.ms .ms-lead:has(+.ms-lead){border-bottom:0;padding-bottom:0}
.ms-w .ms-row{padding:22px 0 28px}
.ms-w .ms-row:first-child{border-top:1.5px solid currentColor}
.ms-w .ms-foot{margin-top:40px}
.ms-w .ms-go{margin-top:56px;padding-top:18px;padding-bottom:6px}
.ms-w .ms-go2{margin-top:0;padding-top:16px}
.ms-pink .ms-in{padding-top:48px!important;padding-bottom:48px!important}
@media (min-width:700px){.ms-pink .ms-in{padding-top:72px!important;padding-bottom:72px!important}}
.ms-pink .ms-lead+.ms-lead{padding-top:.6em!important}
.ms-pink .ms-lead:first-child{padding-top:0!important}
.ms-pink .ms-title{border:0!important;padding:0 0 .55em!important}
.ms-pink .ms-title+.ms-lead{padding-top:0!important}
.ms-title{font-size:clamp(40px,10vw,96px);line-height:.95;letter-spacing:-0.02em;font-weight:500;margin:0;padding:18px 0 22px;border-bottom:1.5px solid currentColor}
.tabs a{font-size:14px!important;padding:8px 8px 10px!important}

/* mission allineata come il resto del sito */
.ms-in{max-width:none!important;margin:0!important;padding:14px 16px 40px!important}
@media (min-width:700px){.ms-in{padding:18px 32px 60px!important}}
.ms-head,.ms-kv,.ms-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}

/* home: stesse fasce delle pagine dedicate */
.hb2{display:flex;text-decoration:none}
.hb2 .xxl{padding-bottom:.08em}
.hb2 .arr{display:block;margin:14px 0 0 auto;width:clamp(56px,13vw,100px);height:clamp(20px,4.4vw,34px);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M2 20h114M98 3l18 17-18 17' fill='none' stroke='%23111' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right center/contain}

/* titoli della home allungati (stesso carattere del sito) */


/* classici */
.bigyear{font-size:clamp(110px,32vw,320px);line-height:.8;letter-spacing:-0.027em;font-weight:500;margin:0}
.tabs a{font-size:12.5px!important;padding:7px 6px 9px!important}
.tabs a small{font-size:9px!important}

.caps-row .arw{font-weight:300;margin-right:.18em;letter-spacing:0}

/* fonte dentro la fascia colorata, non nella striscia nera */
.opera3 .ph3 figcaption{display:none}
.opsrc{margin:14px 0 0;padding-top:10px;border-top:1px solid currentColor;font-size:11px;line-height:1.45}
.opsrc a{color:inherit;text-decoration:underline}
.opsrc b{font-weight:600}
.ph3.cover figcaption{background:#E1D9CB;color:#111}
.ph3.cover figcaption a{color:inherit}

/* segni coerenti: freccia, spunta e croce con lo stesso tratto sottile */
.caps-row .arw{display:inline-block;width:.72em;height:.72em;margin-right:.22em;vertical-align:.02em;background:currentColor;overflow:hidden;text-indent:200%;white-space:nowrap;font-weight:300;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h19M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h19M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.chk::before{content:""!important;display:block;width:1em;height:1em;align-self:end;margin-bottom:0;background:currentColor;opacity:.5;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h19M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h19M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.chk[aria-pressed="true"]::before{content:""!important;opacity:1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12.5l6 6L21 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12.5l6 6L21 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.opt::before{content:""!important;display:block;width:16px;height:16px;margin-top:3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h19M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h19M14 5l7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.opt.ok::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12.5l6 6L21 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12.5l6 6L21 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.opt.ko::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5l14 14M19 5L5 19' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* diciture piccole più leggibili (+3/4 pt) */
.meta{font-size:14px!important;line-height:1.3!important}
.caps-row .cm{font-size:12.5px!important}
.caps .h2row,.caps h2,.ixh,.ix-head{font-size:14.5px!important}
.top2{font-size:15px!important}
.ix,.ix-d{font-size:14px!important}
.ix-legend{font-size:13px!important}
.lab{font-size:14px!important}
.opsrc{font-size:13.5px!important}
.chk small{font-size:13px!important}
.ms-kv{font-size:15px!important}
.ms-foot{font-size:14px!important}
.crumbs{font-size:13.5px!important}
@media (max-width:420px){.meta{font-size:12.5px!important}.caps-row .cm{font-size:11.5px!important}.top2{font-size:14px!important}}
.caps-row .dn{display:inline-block;width:.7em;height:.7em;margin-left:.25em;vertical-align:.02em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12.5l6 6L21 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12.5l6 6L21 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.op3t{font-size:clamp(17px,4vw,36px)!important}
.opsrc{font-size:11.5px!important}

/* foto: spazio riservato mentre carica, poi dissolvenza */
.ph3{position:relative}
.ph3.loading{min-height:min(56vh,520px);background:linear-gradient(100deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.04) 70%) #1b1b1b;background-size:200% 100%;animation:shim 1.4s linear infinite}
.ph3.loading img{opacity:0}
.ph3 img{transition:opacity .35s ease}
@keyframes shim{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.ph3.loading{animation:none}}

/* menu: niente tassello e niente numeri, la voce attiva è sottolineata */
.tabs a[aria-current="page"],.topnav a[aria-current="page"]{background:transparent!important;color:#F2EEE3!important}
.tabs a[aria-current="page"] span,.topnav a[aria-current="page"] span{text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1.5px}
.tabs a{align-items:center!important;justify-content:center;padding:14px 4px 15px!important;font-size:13px!important}
.topnav a{padding:6px 14px!important}
.tabs a:not([aria-current]) span,.topnav a:not([aria-current]) span{opacity:.75}

/* video di apertura */
.hero-reel{position:relative;overflow:hidden}
.hero-reel > *:not(.reel){position:relative;z-index:2;transition:opacity .4s ease}
.hero-reel.playing > .xxl,.hero-reel.playing > .meta{opacity:0}
.hero-reel.playing > .meta,.hero-reel.playing > .top2{color:#F4E9DA}
.hero-reel.playing{background:#2A1410}
.rf.bare{background:#B5482E}.rf.bare .tint,.rf.bare .shade{display:none}.rf.bare .rt{color:#111}
.reel{position:absolute;inset:0;z-index:1;pointer-events:none}
.rf{position:absolute;inset:0;overflow:hidden;background:#3A1A12}
.rf .rm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.95)}
.rf .tint{position:absolute;inset:0;background:#B5482E;mix-blend-mode:multiply;opacity:.72}
.rf .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.4))}
.rf .rt{position:absolute;left:16px;right:16px;top:50%;transform:translateY(-55%);color:#F4E9DA;z-index:2}
@media (min-width:700px){.rf .rt{left:32px;right:32px}}
.rf .rt span{display:block;font-size:clamp(46px,13vw,200px);line-height:.9;letter-spacing:-0.023em;font-weight:500;transform-origin:left center;overflow-wrap:anywhere;animation:pop .28s cubic-bezier(.2,.8,.2,1) both;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.rf .rt.r span{text-align:right;transform-origin:right center}
.rf .rt.lk span{animation-name:slide}
.rf .rt.end span{font-size:clamp(64px,16vw,200px);letter-spacing:-0.013em}
.rf .rt.end small{display:block;margin-top:12px;font-size:clamp(16px,2.4vw,26px);text-transform:uppercase}
.rf .rc{position:absolute;left:16px;bottom:16px;z-index:2;font-size:12px;text-transform:uppercase;letter-spacing:.01em;color:#F4E9DA;max-width:60%;line-height:1.3}
@media (min-width:700px){.rf .rc{left:32px;bottom:22px}}
.rf .ry{position:absolute;right:16px;bottom:16px;z-index:2;font-size:clamp(28px,6vw,72px);line-height:.9;letter-spacing:-0.018em;color:#F4E9DA}
@media (min-width:700px){.rf .ry{right:32px;bottom:22px}}
.rf .rbar{position:absolute;left:0;top:0;height:3px;background:#F4E9DA;z-index:3;transition:width .2s linear}
.rf .kb0{animation:kb0 var(--d,1.4s) linear both}
.rf .kb1{animation:kb1 var(--d,1.4s) linear both}
.rf .kb2{animation:kb2 var(--d,1.4s) linear both}
.rf video.rm{animation:kbv var(--d,1.4s) linear both}
@keyframes kb0{from{transform:scale(1.04)}to{transform:scale(1.2)}}
@keyframes kb1{from{transform:scale(1.2) translateX(4%)}to{transform:scale(1.1) translateX(-4%)}}
@keyframes kb2{from{transform:scale(1.12) translateY(4%)}to{transform:scale(1.24) translateY(-3%)}}
@keyframes kbv{from{transform:scale(1.02)}to{transform:scale(1.1)}}
@keyframes pop{from{transform:scale(1.2);opacity:.1}to{transform:scale(1);opacity:1}}
@keyframes slide{from{transform:translateX(8%);opacity:0}to{transform:none;opacity:1}}
.rf.load{background:#B5482E;display:flex;align-items:center;padding:0 16px}
@media (min-width:700px){.rf.load{padding:0 32px}}
.rf .ld{font-size:clamp(28px,5vw,56px);color:#111;opacity:.6;animation:pulse 1s ease-in-out infinite alternate}
@keyframes pulse{to{opacity:.25}}
.replay{background:none;border:0;padding:0 0 0 12px;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* corsi: percorso e lettura in pillole */
.ponte{background:var(--bg);color:var(--fg);padding:18px 18px 20px;margin:0 0 22px}
.ponte .lab{display:block;font-size:13px;text-transform:uppercase;margin-bottom:8px}
.ponte p{margin:0;font-size:clamp(18px,4.4vw,22px);line-height:1.4;letter-spacing:-0.005em}
.cintro{font-size:clamp(20px,5vw,30px);line-height:1.25;letter-spacing:-0.009em;margin:0;max-width:40em}
.cobj{margin:0}
.caps-row .tnum{display:inline-block;min-width:2.2em;font-variant-numeric:tabular-nums}
.caps-row.locked{opacity:.45}
/* monografie, profilo, segnalibri */
.bmk{font:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.01em;background:none;border:1px solid currentColor;color:inherit;padding:5px 10px;cursor:pointer;border-radius:0}
.bmk[aria-pressed="true"]{background:rgba(0,0,0,.12)}
.trenta{margin:0}
.prot{list-style:none;margin:0;padding:0}.prot li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--rule)}
.prot b{font-weight:500}
.tl{list-style:none;margin:0;padding:0}.tl li{display:grid;grid-template-columns:5.5em 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule)}
.tl b{font-weight:500;font-variant-numeric:tabular-nums}
.more-l .caps-row{color:inherit}
.pl{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1.5px solid currentColor;padding:14px 0 16px;font-size:clamp(22px,5.4vw,40px);letter-spacing:-0.013em;line-height:1.1}
.pl span:first-child{font-size:13px;text-transform:uppercase;letter-spacing:.01em}
/* allineamento: il testo che va a capo resta sotto la prima parola, non sotto la freccia */
.caps-row .ct:has(> .arw){padding-left:.94em;text-indent:-.94em}
.caps-row .ct > .arw{text-indent:200%}
/* video di apertura più alto */
.hero-reel{min-height:calc(100svh - 56px)!important}
@media (min-width:900px){.hero-reel{min-height:calc(100svh - 64px)!important}}
/* l'eco nel presente */
.eco{margin:34px 0 10px;padding:22px 0 6px;border-top:4px solid currentColor}
.eco-k{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.02em;opacity:.75}
.eco-t{margin:0 0 16px;font-size:clamp(30px,7vw,52px);line-height:1;letter-spacing:-0.018em;font-weight:500}
.eco-b p{font-size:clamp(19px,4.4vw,24px);line-height:1.5;letter-spacing:-0.005em;margin:0 0 .9em;max-width:38em}
/* mappa 3D */
.map3d{position:relative;height:calc(100svh - 112px);min-height:480px;background:#07090c;color:#cfe9f2;overflow:hidden;touch-action:none;font-family:inherit}
@media (min-width:900px){.map3d{height:calc(100svh - 64px)}}
.map3d canvas{display:block;cursor:grab}
.map3d .hud{position:absolute;font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:rgba(170,235,255,.85);pointer-events:none}
.map3d .hud b{font-weight:600;color:#e9fbff}
.h-tl{left:16px;top:14px}.h-bl{left:16px;bottom:14px;max-width:60%}.h-br{right:16px;bottom:14px;text-align:right}
.h-tr{right:12px;top:12px;pointer-events:auto!important;display:flex;gap:0}
.h-tr button{font:inherit;font-size:13px;letter-spacing:.06em;background:rgba(10,20,26,.6);color:#e9fbff;border:1px solid rgba(150,230,255,.45);padding:7px 11px;cursor:pointer;margin-left:-1px}
.h-tag{left:50%;top:14px;transform:translateX(-50%);text-align:center;background:rgba(8,16,22,.72);border:1px solid rgba(150,230,255,.4);padding:8px 12px;max-width:70%;text-transform:none;letter-spacing:.02em;font-size:13px}
.lg-r,.lg-d,.lg-o{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:-1px}
.lg-r{border:2px solid #F2CF5B}.lg-d{background:#7FA6EA}.lg-o{border:1.5px solid #F4F0E5}
.brk{position:absolute;width:22px;height:22px;border:1.5px solid rgba(150,230,255,.55);pointer-events:none}
.b1{left:8px;top:58px;border-right:0;border-bottom:0}.b2{right:8px;top:58px;border-left:0;border-bottom:0}.b3{left:8px;bottom:40px;border-right:0;border-top:0}.b4{right:8px;bottom:40px;border-left:0;border-top:0}

.lab .lab-sub{display:block;font-weight:400;opacity:.65;margin-top:2px}
.ecop p{font-size:14px;line-height:1.45;margin:6px 0 10px;max-width:46em}
.ecop p:first-child{margin-top:6px}
/* elenchi: testo in minuscolo, freccia a destra (come la referenza) */
.caps-row{grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:16px!important;padding:8px 0 10px!important}
.caps-row .ct{font-weight:400!important;text-transform:none!important;font-size:clamp(28px,6.2vw,62px)!important;line-height:1.02!important;letter-spacing:-0.02em!important}
.caps-row .ct:has(> .arw){padding-left:0!important;text-indent:0!important}
.caps-row .arw{display:none!important}
.caps-row .cm{align-self:end;padding-bottom:6px}
.caps-row::after{content:"";width:clamp(30px,4.2vw,58px);height:clamp(16px,2.2vw,28px);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 24'%3E%3Cpath d='M1 12h56M47 3l10 9-10 9' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 24'%3E%3Cpath d='M1 12h56M47 3l10 9-10 9' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.caps-row.locked::after{opacity:.4}
@media (max-width:520px){.caps-row .cm{max-width:34vw}}
/* prefazione d'autore */
.pref{background:#111;color:#F4F0E5;padding:28px 16px 36px;border-bottom:1px solid var(--rule)}
@media (min-width:700px){.pref{padding:40px 32px 52px}}
.pref-t{font-size:clamp(30px,6.4vw,64px);line-height:1.02;letter-spacing:-0.02em;font-weight:500;margin:0 0 22px;max-width:16em}
.pref-b p{font-size:clamp(19px,4.4vw,25px);line-height:1.42;margin:0 0 .85em;max-width:34em}
.pref-f{margin:18px 0 0;font-size:13px;text-transform:uppercase;letter-spacing:.03em;opacity:.75}
/* mappa: stessa grafica del sito (nero, carta, colori delle materie) */
.map3d{background:#111!important;color:#F4F0E5!important}
.map3d .hud{color:#F4F0E5!important;font-size:12px!important;letter-spacing:.01em!important;text-transform:uppercase}
.map3d .h-tl{display:flex;flex-direction:column;gap:2px;line-height:1.25}.map3d .h-tl .hk{font-weight:600}
.map3d .h-tr button,.map3d .h-time button{font:inherit;font-size:12px;text-transform:uppercase;background:#111;color:#F4F0E5;border:1px solid #F4F0E5;padding:7px 11px;cursor:pointer;margin-left:-1px;border-radius:0}
.map3d .h-time button[aria-pressed="true"]{background:#F4F0E5;color:#111}
.map3d .h-search input{background:#111!important;border:0!important;border-bottom:1.5px solid #F4F0E5!important;color:#F4F0E5!important;font-size:16px!important;text-transform:none;padding:8px 2px!important}
.map3d .h-search input::placeholder{color:rgba(244,240,229,.5)!important}
.map3d .h-filt button{background:#111;color:#F4F0E5;border:1.5px solid var(--c);text-transform:uppercase;font-size:12px}
.map3d .h-filt button[aria-pressed="false"]{opacity:.35}
.h-time{left:16px;bottom:14px;right:150px;display:flex;align-items:center;gap:10px;pointer-events:auto!important}
.h-time input[type=range]{flex:1;accent-color:#F4F0E5;min-width:80px}
.h-time #mtv{min-width:5.5em;text-align:right;font-variant-numeric:tabular-nums}
.map3d .h-bl{display:none}
.map3d .brk{display:none}
.mcard{position:absolute;left:16px;top:96px;width:min(340px,calc(100% - 32px));background:var(--bg);color:var(--fg);padding:14px 16px 0;animation:holoIn .25s ease both;z-index:3}
.mcard .top2{font-size:12px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}
.mcard h3{margin:0 0 10px;font-size:clamp(26px,5vw,36px);line-height:1.02;font-weight:500;letter-spacing:-0.02em}
.mcard .meta{font-size:12px}
.mcard .hn{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.mcard .hn button{font:inherit;font-size:12px;background:transparent;color:inherit;border:1px solid currentColor;padding:4px 8px;cursor:pointer;text-align:left}
.mcard .go{display:flex;justify-content:space-between;align-items:center;color:inherit;text-decoration:none;border-top:1.5px solid currentColor;padding:12px 0 14px;font-size:20px}
.mcard .hx{background:none;border:0;color:inherit;font-size:20px;cursor:pointer;margin-left:10px;line-height:1}
.map3d .radar{bottom:auto;top:56px;right:14px}
@media (max-width:640px){.h-time{right:12px;left:12px;bottom:58px}.h-time #maxis{font-size:11px;padding:7px 8px}.map3d .h-search{bottom:10px}.mcard{top:auto;bottom:104px}.map3d .h-filt{bottom:104px}}
.map3d .h-search{position:absolute;left:50%;top:12px;transform:translateX(-50%);width:min(340px,40%);pointer-events:auto!important}
.map3d .h-search input{width:100%;box-sizing:border-box;outline:none}
@media (max-width:640px){.map3d .h-search{top:auto;bottom:10px;left:12px;right:12px;transform:none;width:auto}}
/* elenchi: niente spunta; testo a destra in bandiera, allineato a sinistra */
.caps-row .dn{display:none!important}
.caps-row .cm{text-align:left!important;min-width:12em;margin-right:14px}
.caps-row .cm svg{margin:0 0 6px 0!important}
@media (max-width:520px){.caps-row .cm{min-width:0;max-width:30vw;margin-right:4px}.caps-row{gap:10px!important}}
/* biblioteca */
.bprog{height:3px;background:rgba(17,17,17,.2);margin-top:16px}.bprog i{display:block;height:100%;background:#111}
.bookt p{font-size:clamp(18px,4.3vw,21px)!important;line-height:1.6!important}
.brano{margin:26px 0;padding:18px 18px 16px;background:#F4F0E5;color:#111}
.brano p{margin:0 0 10px;font-size:clamp(19px,4.5vw,23px);line-height:1.4;font-style:italic}
.brano cite{font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:.02em}
.bnav{justify-content:space-between}
@media (max-width:420px){.tabs a{font-size:11.5px!important;padding:8px 3px 10px!important}}
/* mappa: la storia che scorre in bianco e nero */
.mstrip{position:absolute;left:0;right:0;bottom:52px;height:92px;overflow:hidden;pointer-events:auto;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mstrip-in{display:flex;gap:8px;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.ms-it{flex:0 0 auto;width:120px;height:100%;position:relative;border:0;padding:0;background:#1b1b1b;cursor:pointer;color:#F4F0E5;text-align:left;font:inherit;opacity:.45;transition:opacity .3s}
.ms-it.on{opacity:1;outline:1.5px solid #F4F0E5;outline-offset:2px}
.ms-ph{position:absolute;inset:0;overflow:hidden}.ms-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.85)}
.ms-it::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.75))}
.ms-y{position:absolute;left:7px;top:6px;z-index:1;font-size:11px;letter-spacing:.02em;text-transform:uppercase}
.ms-it b{position:absolute;left:7px;right:7px;bottom:6px;z-index:1;font-size:11px;font-weight:500;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-ph{margin:0 0 10px}.mc-ph img{display:block;width:100%;height:150px;object-fit:cover;filter:grayscale(1) contrast(1.08);background:rgba(0,0,0,.15)}
.mc-ph figcaption{font-size:11px;text-transform:uppercase;margin-top:5px;opacity:.75}
@media (max-width:640px){.mstrip{bottom:100px;height:70px}.ms-it{width:92px}.mcard{bottom:182px!important;max-height:52vh;overflow:auto}.map3d .h-filt{bottom:182px!important}}
/* titolo che scorre sul video */
.hero-reel > .marq{position:absolute!important;left:0;right:0;top:50%;transform:translateY(-50%);z-index:3!important;overflow:hidden;pointer-events:none;color:#F4E9DA}
.marq-in{display:flex;width:max-content;white-space:nowrap;will-change:transform}
.marq-in span,.marq-in i{font-style:normal;font-size:clamp(48px,11vw,150px);line-height:1;letter-spacing:-0.02em;font-weight:500;padding:0 .35em}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-reel .rf .rt{display:none!important}
.hero-reel > .xxl{opacity:0!important}

.ms-ri{font-size:clamp(20px,5vw,30px);line-height:1.2;letter-spacing:-0.01em;margin:0 0 6px;padding:0 0 14px;border-bottom:1.5px solid currentColor}
.ms-row .ksub{display:block;opacity:.6;font-size:.62em;letter-spacing:0;margin-top:4px}
.cmslock{max-width:420px}.cmslock input{width:100%;box-sizing:border-box;font:inherit;font-size:20px;padding:10px 0;background:none;border:0;border-bottom:1.5px solid currentColor;color:inherit;outline:none;margin-bottom:16px}
.pname{display:flex;gap:10px;margin-top:10px;max-width:460px}.pname input{flex:1;font:inherit;font-size:18px;padding:8px 0;background:none;border:0;border-bottom:1.5px solid currentColor;color:inherit;outline:none}
@media (max-width:640px){.map3d .h-tl{top:60px!important}.map3d .h-tr button{padding:7px 8px;font-size:11px}.map3d .radar{top:60px!important;width:64px!important;height:64px!important}}
/* elenchi: colonna di destra a larghezza fissa, così i testi partono tutti dallo stesso punto */
.caps-row{grid-template-columns:minmax(0,1fr) minmax(0,15em) auto!important}
.caps-row .cm{min-width:0!important;max-width:none!important;width:100%;margin-right:10px!important}
@media (max-width:700px){.caps-row{grid-template-columns:minmax(0,1fr) minmax(0,34vw) auto!important}}
.caps-row .ct{font-weight:500!important}
/* CMS */
.voce h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;margin:22px 0 6px}.voce p,.voce li{font-size:17px;line-height:1.5;max-width:40em}.voce ul{padding-left:1.1em;margin:0}
.cms-page{background:#F4F0E5;color:#111;min-height:60vh}.cms-page legend,.cms-page h2{color:#111}
.cms-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid #111;background:#F4F0E5}
.cms-tabs a{padding:12px 16px;color:#111;text-decoration:none;font-size:14px}
.cms-tabs a[aria-current]{text-decoration:underline;text-underline-offset:4px}
.cms{max-width:880px}
.cms-help{font-size:14px;line-height:1.45;color:#555;margin:0 0 18px;max-width:46em}
.cms-crumb a{color:#111;font-size:14px}
.cms-h{font-size:clamp(26px,5vw,40px);font-weight:500;letter-spacing:-0.013em;margin:8px 0 12px;line-height:1.05}
.cms-bar{display:flex;gap:10px;margin-bottom:14px}
.cms-bar input{flex:1;font:inherit;font-size:16px;padding:10px 12px;border:1px solid #111;background:#fff}
.cms-list{list-style:none;margin:0;padding:0;border-top:1px solid #111}
.cms-list a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #111;color:#111;text-decoration:none;font-size:16px}
.cms-list a span:last-child{color:#666;font-size:13px;text-align:right}
.cms-list a:hover span:first-child{text-decoration:underline}
.cf{display:block;margin:0 0 14px}
.cf>span:first-child{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:5px;color:#333}
.cf input[type=text],.cf input[type=number],.cf textarea,.cf select{width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.4;padding:9px 11px;border:1px solid #111;background:#fff;color:#111;border-radius:0}
.cf textarea{resize:vertical}
.cf-c{display:flex;gap:8px;align-items:center}.cf-c>span:first-child{margin:0}
.cf-col{display:flex;gap:8px}.cf-col input[type=color]{width:48px;height:42px;border:1px solid #111;padding:2px;background:#fff}
.cl{border:1px solid #111;margin:0 0 16px;padding:12px 14px 4px}
.cl>legend{font-size:12px;text-transform:uppercase;letter-spacing:.02em;padding:0 6px}
.ci{border-top:1px dashed #999;padding-top:10px;margin-top:6px}.ci:first-of-type{border-top:0;margin-top:0;padding-top:0}
.ci-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px}
.ci-h button,.cadd{font:inherit;font-size:13px;background:none;border:0;padding:4px 0;cursor:pointer;color:#111;text-decoration:underline;text-underline-offset:3px}
.cadd{margin:4px 0 10px}
.cms-act{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.cms-act .btn{margin:0}
.btn.ghost{background:transparent;color:#111;border:1px solid #111}
.btn.danger{color:#B3261E;border-color:#B3261E}
.cms-msg{color:#B3261E;font-size:14px}
.cms-ok{background:#111;color:#F4F0E5;padding:10px 16px;font-size:14px}
.intro{position:fixed;inset:0;z-index:999;background:#111;color:#F4F0E4;font-family:var(--sans);overflow:hidden;transition:opacity .9s ease}
.intro.out{opacity:0;pointer-events:none}
.intro canvas{position:absolute;inset:0;width:100%;height:100%}
.intro button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.intro button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.intro .in-row{display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:1.3;font-weight:500;text-transform:uppercase;letter-spacing:.01em}
.intro .in-row>span:last-child{text-align:right}
.in-top{position:absolute;z-index:5;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;padding:calc(18px + env(safe-area-inset-top,0px)) 32px 0;font-size:15px;font-weight:500;transition:color .6s ease}
.in-top .in-mid{opacity:.6}.in-top .in-skip{justify-self:end;font-size:15px;font-weight:500}

.in-start{position:absolute;inset:0;z-index:3;color:#111;transition:transform 1s cubic-bezier(.75,0,.2,1)}
.intro.is-start .in-top{color:#111}
.intro.is-end{background:transparent;transition:opacity .9s ease,background .2s linear}
.intro.is-end canvas{opacity:0;transition:opacity 1.6s ease}
.intro.is-end .in-hud{transform:translateY(101%);transition-delay:0s}
.in-end{position:absolute;inset:0;z-index:3;color:#F4E9DA;background:rgba(42,20,16,.42);opacity:0;pointer-events:none;transition:opacity 1.4s ease,background 1.1s ease}
.intro.is-end .in-end{opacity:1;pointer-events:auto}
.in-end-in{position:absolute;left:32px;right:32px;top:var(--mqy,50%);transform:translateY(-50%);transition:opacity 1.1s ease,filter 1.1s ease,transform 1.1s ease}
.in-end .in-l1{margin:0;font-size:clamp(30px,5.8vw,90px);line-height:.95;letter-spacing:-.025em;font-weight:500;opacity:0;transform:translateY(18px);transition:opacity 1.1s ease .6s,transform 1.1s ease .6s}
.in-end .in-l2{margin:.9em 0 0;font-size:clamp(19px,2.7vw,38px);line-height:1.08;letter-spacing:-.015em;font-weight:500;opacity:0;transform:translateY(14px);transition:opacity 1.1s ease 1.5s,transform 1.1s ease 1.5s}
.intro.is-end .in-end .in-l1,.intro.is-end .in-end .in-l2{opacity:1;transform:none}
.intro.is-melt .in-end-in{opacity:0;filter:blur(8px);transform:translateY(calc(-50% - 14px))}
.intro.is-melt .in-end{background:rgba(42,20,16,0)}
.intro.is-end .in-top{opacity:0;pointer-events:none;transition:opacity .6s ease}
.hero-reel > .marq{transition:opacity .4s ease}
body.intro-end .hero-reel > .marq{opacity:0}
.in-start{background:#F3C4C6}
.in-start-in{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:calc(64px + env(safe-area-inset-top,0px)) 32px calc(26px + env(safe-area-inset-bottom,0px))}
.in-start h1{margin:0;font-size:clamp(44px,8.4vw,118px);line-height:.9;letter-spacing:-.025em;font-weight:500;max-width:11.5em}

.in-foot{align-items:flex-end;text-transform:none!important}
.in-foot p{margin:0;font-size:17px;line-height:1.4;font-weight:400;max-width:30em;text-transform:none}
.in-btns{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:none}
.in-go{background:#111!important;color:#F4F0E4!important;padding:15px 24px!important;font-size:17px!important;font-weight:500!important}
.in-go span{display:inline-block;transition:transform .3s ease}.in-go:hover span{transform:translateX(5px)}
.in-no{font-size:15px;text-decoration:underline;text-underline-offset:3px}
.intro:not(.is-start) .in-start{transform:translateY(-101%)}





.in-hud{position:absolute;z-index:2;left:0;right:0;bottom:0;color:#F4F0E4;background:linear-gradient(rgba(17,17,17,0),rgba(17,17,17,.55));transform:translateY(101%);transition:transform .9s cubic-bezier(.75,0,.2,1) .35s}
.intro.is-fly .in-hud{transform:none}
.in-wipe{position:absolute;inset:0;border:0!important;transform:scaleX(0);transform-origin:left}
.in-wipe.go{animation:inWipe .7s cubic-bezier(.75,0,.2,1) forwards}
@keyframes inWipe{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.in-hud-in{position:relative;padding:60px 32px calc(26px + env(safe-area-inset-bottom,0px))}
.in-big{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:26px}
.in-tel{font-size:12.5px;line-height:1.3;font-weight:500;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:10px;white-space:pre;font-variant-numeric:tabular-nums}
.in-year{font-size:clamp(44px,8.4vw,118px);line-height:.85;letter-spacing:-.035em;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.in-ep{font-size:clamp(20px,3vw,40px);line-height:1;letter-spacing:-.015em;font-weight:500;text-align:right;padding-bottom:.12em;opacity:0}
.in-ep.on{animation:inEp .9s ease forwards}
@keyframes inEp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.in-bar{height:1px;background:rgba(17,17,17,.2);margin-top:18px}
.in-bar i{display:block;height:3px;margin-top:-1px;width:0;background:#111}
@media (max-width:700px){
  .in-end-in{left:16px;right:16px}
  .in-top{padding-left:16px;padding-right:16px;grid-template-columns:1fr auto}.in-top .in-mid{display:none}
  .in-start-in{padding-left:16px;padding-right:16px;padding-top:calc(54px + env(safe-area-inset-top,0px))}
  .intro .in-row{font-size:12.5px}
  .in-foot{flex-direction:column;align-items:flex-start!important;gap:22px}
  .in-btns{align-items:flex-start}
  .in-hud-in{padding:40px 16px calc(18px + env(safe-area-inset-bottom,0px))}
  .in-big{flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}.in-ep{text-align:left}
}
/* ---------- Second Brain ---------- */
.mind{display:grid;grid-template-columns:minmax(0,1fr) 360px;background:#111;color:#F4F0E4;border-top:1px solid rgba(244,240,228,.18)}
.mind-stage{padding:0;min-width:0}
.brain{display:block;width:100%;height:auto;overflow:hidden}
.brain .lb{fill:rgba(244,240,228,.025);stroke:rgba(244,240,228,.55);stroke-width:1.2;stroke-linejoin:round;cursor:pointer;transition:fill .3s,stroke .3s,opacity .3s}
.brain .lb.silent{stroke:rgba(244,240,228,.28)}
.brain .lb.lit{fill:rgba(232,196,104,.05)}
.brain .lb:hover,.brain .lb.sel{fill:rgba(232,196,104,.11);stroke:#E8C468}
.brain .stem{fill:none;stroke:rgba(244,240,228,.22);stroke-width:1.2}
.brain .sulc{fill:none;stroke:rgba(244,240,228,.12);stroke-width:1;stroke-dasharray:3 5;pointer-events:none}
.brain .sy{fill:none;stroke:rgba(244,240,228,.07);stroke-width:1;pointer-events:none}
.brain .sy.on{stroke:#E8C468;stroke-width:1.6;opacity:.85;filter:url(#glow);stroke-dasharray:3 9;animation:syn 2.6s linear infinite;animation-delay:var(--d)}
.brain .sy.on.new{stroke-dasharray:1000;stroke-dashoffset:1000;animation:synIn 1.6s ease-out .5s forwards}
@keyframes syn{to{stroke-dashoffset:-48}}
@keyframes synIn{to{stroke-dashoffset:0}}
.brain .nd{cursor:pointer}
.brain .nd circle,.brain .nd rect{fill:rgba(244,240,228,.28);transition:fill .3s}
.brain .nd.on circle,.brain .nd.on rect{fill:#E8C468;filter:url(#glow)}
.brain .nd:hover circle,.brain .nd:hover rect,.brain .nd:focus circle,.brain .nd:focus rect{fill:#F4F0E4}
.brain .nd:focus{outline:none}
.brain .nd.new circle,.brain .nd.new rect{transform-box:fill-box;transform-origin:center;animation:spark 1.4s ease-out 2}
@keyframes spark{0%{transform:scale(1)}30%{transform:scale(2.6)}100%{transform:scale(1)}}
.brain .bl-lab{cursor:pointer}
.brain .bl-lab line{stroke:rgba(244,240,228,.35);stroke-width:1}
.brain .bl-lab circle{fill:none;stroke:#F4F0E4;stroke-width:1.2}
.brain .bl-lab text{fill:#F4F0E4;font:500 19px var(--sans);letter-spacing:.04em}
.brain .bl-lab text.sub{fill:rgba(244,240,228,.6);font-size:17px;letter-spacing:0}
.brain .bl-lab.sel text{fill:#E8C468}
.brain .bl-lab text.fn{fill:#E8C468;font-size:17px;letter-spacing:0}
.brain.mini .lb{cursor:default;stroke-width:3}
.brain.mini .sy.on{stroke-width:4;filter:none;animation:none;stroke-dasharray:none}
.brain.mini .nd circle{r:7}
.brain.mini .sulc{display:none}
.mind-panel{padding:28px 32px 36px 24px;border-left:1px solid rgba(244,240,228,.18);min-width:0}
.mind-panel .meta{color:#F4F0E4;margin:0 0 18px}
.mp-t{font-size:clamp(26px,2.6vw,38px);line-height:1.02;letter-spacing:-.02em;font-weight:500;margin:0 0 10px}
.mp-a{margin:0 0 22px;color:rgba(244,240,228,.72);font-size:15px;line-height:1.45}
.mind-panel .step{color:rgba(244,240,228,.6);margin:18px 0 6px}
.mind-panel .caps-row{display:grid!important;border:0!important;border-bottom:1px solid rgba(244,240,228,.22)!important;padding-left:0!important;padding-right:0!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:12px;color:#F4F0E4;border-color:rgba(244,240,228,.22)!important;background:none;width:100%;text-align:left;font:inherit;cursor:pointer}
.mind-panel .caps-row .ct{font-size:17px!important}
.mp-silent{margin:0 0 18px;color:rgba(244,240,228,.6);font-size:15px}
.mp-go{display:flex;flex-direction:column;gap:4px;margin:18px 0 0;padding:16px 18px;background:#E8C468;color:#111;text-decoration:none}
.mp-go span{font-size:12.5px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.mp-go b{font-weight:500;font-size:19px;line-height:1.15}
.mp-back{margin-top:22px;background:none;border:0;color:rgba(244,240,228,.75);font:inherit;font-size:14px;cursor:pointer;padding:0}
.mp-back:hover{color:#F4F0E4}
.mind-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#111;color:#F4F0E4;border-top:1px solid rgba(244,240,228,.18)}
.mind-stats .ms3{padding:22px 32px 30px;border-left:1px solid rgba(244,240,228,.18)}
.mind-stats .ms3:first-child{border-left:0}
.mind-stats .meta{color:#F4F0E4;margin:0 0 14px}
.mind-stats .big{font-size:clamp(48px,6vw,88px);line-height:.9;letter-spacing:-.03em;font-weight:500;margin:0 0 10px;color:#E8C468;font-variant-numeric:tabular-nums}
.mind-stats .big small{font-size:.4em;color:rgba(244,240,228,.6);letter-spacing:0}
.mind-stats .mid{font-size:clamp(19px,1.7vw,24px);line-height:1.2;font-weight:500;margin:0 0 10px}
.mind-stats .muted{color:rgba(244,240,228,.6)!important;font-size:14px;margin:0}
.mind-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:24px;align-items:center;background:#111;color:#F4F0E4;text-decoration:none;padding:18px 32px 22px}
.mind-teaser .meta{color:#F4F0E4;margin:0 0 14px}
.mind-teaser h2{margin:0 0 10px}
.mind-teaser h2 span{display:inline-block;transition:transform .3s}
.mind-teaser:hover h2 span{transform:translateX(6px)}
.mt-sub{margin:0;color:rgba(244,240,228,.7);font-size:15px}
.mt-img{max-width:360px;justify-self:end;width:100%}
@media (max-width:899px){
  .mind{grid-template-columns:1fr}
  .mind-stage{padding:14px 10px 0}
  .mind-panel{border-left:0;border-top:1px solid rgba(244,240,228,.18);padding:22px 16px 30px}
  .brain .bl-lab{display:none}
  .mind-stats{grid-template-columns:1fr}
  .mind-stats .ms3{border-left:0;border-top:1px solid rgba(244,240,228,.18);padding:20px 16px 24px}
  .mind-stats .ms3:first-child{border-top:0}
  .mind-teaser{grid-template-columns:1fr;padding:16px 16px 20px}
  .mt-img{justify-self:start;max-width:260px}
}
@media (prefers-reduced-motion:reduce){.brain .sy.on,.brain .nd.new circle,.brain .nd.new rect{animation:none}.brain .sy.on.new{stroke-dashoffset:0}}
/* Second Brain: strumenti, HUD, interazione */
.mind-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#111;color:#F4F0E4;border-top:1px solid rgba(244,240,228,.18)}
.mind-how>div{padding:20px 32px 22px;border-left:1px solid rgba(244,240,228,.18);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.mind-how>div:first-child{border-left:0}
.mind-how b{font-size:13px;font-weight:500;color:#E8C468;letter-spacing:.04em;padding-top:3px}
.mind-how p{margin:0;font-size:15px;line-height:1.45;color:rgba(244,240,228,.72)}
.mind-how strong{display:block;color:#F4F0E4;font-weight:500;font-size:17px;margin-bottom:4px}
.mind-legend{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 26px;list-style:none;margin:0;padding:12px 32px 14px;border-top:1px solid rgba(244,240,228,.12);font-size:12.5px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:rgba(244,240,228,.75)}
.mind-legend li{display:flex;align-items:center;gap:8px}
.mind-legend i{display:inline-block}
.lg-off{width:7px;height:7px;border-radius:50%;background:rgba(244,240,228,.35)}
.lg-on{width:10px;height:10px;border-radius:50%;background:#E8C468;box-shadow:0 0 8px #E8C468}
.lg-sq{width:9px;height:9px;background:rgba(244,240,228,.45)}
.lg-syn{width:26px;height:0;border-top:2px dashed #E8C468}
.mind-stage{position:relative;padding:0!important}
.mind-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 16px 12px 32px;border-bottom:1px solid rgba(244,240,228,.12)}
.mind-tools button,.mt-search input{font:inherit;font-size:13px;font-weight:500;color:#F4F0E4;background:transparent;border:1px solid rgba(244,240,228,.35);padding:7px 12px;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}
.mind-tools button:hover:not(:disabled){border-color:#E8C468;color:#E8C468}
.mind-tools button:disabled{opacity:.35;cursor:default}
.mt-search input{text-transform:none;letter-spacing:0;width:200px;cursor:text;border-color:rgba(244,240,228,.35)}
.mt-search input::placeholder{color:rgba(244,240,228,.5)}
.mt-search input:focus{outline:none;border-color:#E8C468}
.mt-zoom{display:flex;gap:0;margin-left:auto}
.mt-zoom button{width:36px;padding:7px 0;margin-left:-1px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mind-canvas{position:relative;padding:18px 16px 18px 32px;background-image:linear-gradient(rgba(244,240,228,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(244,240,228,.045) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px;overflow:hidden}
.mind-canvas::before,.mind-canvas::after{content:"";position:absolute;width:22px;height:22px;border:1px solid rgba(244,240,228,.5);pointer-events:none}
.mind-canvas::before{left:10px;top:10px;border-right:0;border-bottom:0}
.mind-canvas::after{right:10px;bottom:10px;border-left:0;border-top:0}
.hud{position:absolute;font-size:11.5px;line-height:1.35;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:rgba(244,240,228,.6);pointer-events:none;font-variant-numeric:tabular-nums}
.hud-tl{left:40px;top:18px}.hud-tr{right:24px;top:18px;text-align:right}.hud-bl{left:40px;bottom:14px}.hud-br{right:24px;bottom:14px}
.hud [data-mhud="lobe"]{color:#E8C468}
.mind-tip{position:absolute;z-index:3;width:216px;background:#F4F0E4;color:#111;padding:10px 12px 11px;pointer-events:none;display:flex;flex-direction:column;gap:3px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.mind-tip span{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;opacity:.7}
.mind-tip b{font-weight:500;font-size:16px;line-height:1.15}
.brain .pk{fill:rgba(244,240,228,.35);pointer-events:none}
.brain .pk.on{fill:#F6E4B4;filter:url(#glow)}
.brain .ring{fill:none!important;stroke:#E8C468;stroke-width:1;opacity:.5;transform-box:fill-box;transform-origin:center;animation:ring 3s ease-out infinite;animation-delay:var(--sx)}
@keyframes ring{0%{transform:scale(.5);opacity:.7}100%{transform:scale(2.2);opacity:0}}
.brain .scan{opacity:0;pointer-events:none}
.brain.scanning .scan{animation:scan 2.2s cubic-bezier(.4,0,.2,1) forwards}
@keyframes scan{0%{opacity:1;transform:translateX(0)}90%{opacity:1}100%{opacity:0;transform:translateX(1180px)}}
.brain.scanning .nd.on circle,.brain.scanning .nd.on rect{animation:boot 2.2s ease both;animation-delay:var(--sx)}
@keyframes boot{0%,30%{opacity:.15}45%{opacity:1;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}
.brain .nd circle,.brain .nd rect{transform-box:fill-box;transform-origin:center}
.brain.hovering .sy:not(.hl){opacity:.25}
.brain.hovering .nd:not(:hover):not(.nb) circle{opacity:.45}
.brain .sy.hl{stroke:#F4F0E4!important;stroke-width:1.8;opacity:1;stroke-dasharray:none}
.brain .sy.on.hl{stroke:#E8C468!important}
.brain .nd.nb circle,.brain .nd.nb rect{fill:#F4F0E4}
.brain .nd.sel circle,.brain .nd.sel rect{fill:#F4F0E4;stroke:#E8C468;stroke-width:3}
.brain.searching .nd:not(.match){opacity:.25}
.brain .nd.match circle,.brain .nd.match rect{fill:#F4F0E4;stroke:#E8C468;stroke-width:3}
.brain.zoomed{cursor:grab}.brain.zoomed:active{cursor:grabbing}
.brain .world{transition:transform .35s ease}
.brain .trace .tr-line{fill:none;stroke:#F4F0E4;stroke-width:2.2;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:trace 3s ease forwards;filter:url(#glow)}
@keyframes trace{to{stroke-dashoffset:0}}
.brain .trace .tr-pt{opacity:0;animation:trp .4s ease forwards;animation-delay:calc(var(--i)*.28s + .2s)}
.brain .trace .tr-pt circle{fill:none;stroke:#F4F0E4;stroke-width:1.5}
.brain .trace .tr-pt text{fill:#F4F0E4;font:500 16px var(--sans)}
@keyframes trp{to{opacity:1}}
.brain .loc .lc{fill:none;stroke:#E8C468;stroke-width:1.5;animation:loc .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes loc{from{transform:scale(2.2);opacity:0}to{transform:scale(1);opacity:1}}
.mind-panel .lfn{display:block;font-size:13px!important;line-height:1.3!important;letter-spacing:0!important;color:#E8C468;font-weight:500;margin-top:2px;text-transform:none}
.mp-fn{margin:0 0 20px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px;line-height:1.4}
.mp-fn dt{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:#E8C468;padding-top:2px}
.mp-fn dd{margin:0;color:rgba(244,240,228,.8)}
@media (max-width:420px){.mp-fn{grid-template-columns:1fr}.mp-fn dd{margin-bottom:8px}}
.mp-meter{height:3px;background:rgba(244,240,228,.15);margin:0 0 6px}.mp-meter i{display:block;height:100%;background:#E8C468}
.mp-pc{margin:0 0 18px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:rgba(244,240,228,.6)}
.mini-bar{display:inline-block;width:42px;height:3px;background:rgba(244,240,228,.18);margin-right:10px;vertical-align:middle}.mini-bar i{display:block;height:100%;background:#E8C468}
@media (max-width:899px){
  .mind-how{grid-template-columns:1fr}.mind-how>div{border-left:0;border-top:1px solid rgba(244,240,228,.12);padding:16px 16px}.mind-how>div:first-child{border-top:0}
  .mind-legend{padding:12px 16px}
  .mind-tools{padding:12px 16px}.mt-search input{width:150px}
  .mind-canvas{padding:34px 8px 30px}.hud-tl{left:16px;top:10px}.hud-tr{right:12px;top:10px}.hud-bl{left:16px;bottom:8px}.hud-br{right:12px;bottom:8px}
  .mind-tip{display:none}
}
@media (prefers-reduced-motion:reduce){.brain .ring,.brain.scanning .scan,.brain.scanning .nd.on circle,.brain .pk{animation:none;display:none}}

.mind-canvas{padding:0!important}
.brain3d{display:block;width:100%;height:min(660px,60vw);min-height:380px;cursor:grab;touch-action:pan-y}
.brain3d:active{cursor:grabbing}
.mind-canvas .hud-bl,.mind-canvas .hud-br{bottom:64px}
.mind-time{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:14px 24px 18px 32px;border-top:1px solid rgba(244,240,228,.12);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:rgba(244,240,228,.65)}
.mind-time [data-mhud="date"]{color:#E8C468;min-width:96px}
.mind-time input{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:rgba(244,240,228,.25);outline:none;margin:0}
.mind-time input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#E8C468;border:0;cursor:pointer}
.mind-time input::-moz-range-thumb{width:14px;height:14px;background:#E8C468;border:0;border-radius:0;cursor:pointer}
@media (max-width:899px){.brain3d{height:92vw;min-height:0}.mind-canvas .hud-bl,.mind-canvas .hud-br{bottom:70px}.mind-time{padding:12px 16px 16px;gap:10px}.mind-canvas .hud-br{display:none}}

/* Second Brain, versione ordinata */
.mind-hero .xl{margin:0}
.mind-how{display:block!important;padding:4px 32px 6px}
.mind-how details{border-top:1px solid rgba(244,240,228,.14)}
.mind-how details:first-child{border-top:0}
.mind-how summary{list-style:none;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:8px;padding:14px 0;cursor:pointer;font-size:17px;font-weight:500;color:#F4F0E4}
.mind-how summary::-webkit-details-marker{display:none}
.mind-how summary b{font-size:13px;color:#E8C468;letter-spacing:.04em}
.mind-how summary i{position:relative;width:14px;height:14px;justify-self:end}
.mind-how summary i::before,.mind-how summary i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:#F4F0E4;transition:transform .25s}
.mind-how summary i::after{transform:rotate(90deg)}
.mind-how details[open] summary i::after{transform:rotate(0)}
.mind-how details>p{margin:0 0 16px 42px;max-width:40em;font-size:15px;line-height:1.5;color:rgba(244,240,228,.72)}
.mind-how .mind-legend{border:0;padding:0 0 16px 42px}
.mind-how summary:hover span{color:#E8C468}
.mind-tools{justify-content:space-between}
.mind-tools .mt-search input{width:240px}
.mz-btns{position:absolute;right:16px;bottom:72px;display:flex;flex-direction:column;z-index:2}
.mz-btns button{width:34px;height:34px;font:inherit;font-size:16px;color:#F4F0E4;background:rgba(17,17,17,.6);border:1px solid rgba(244,240,228,.3);margin-top:-1px;cursor:pointer}
.mz-btns button:hover{color:#E8C468;border-color:#E8C468}
.mind-canvas .hud-br{right:64px}
.mind-hint{transition:opacity .6s}.mind-hint.gone{opacity:0}
.mind-time{grid-template-columns:auto auto 1fr auto!important}
.mt-play{width:34px;height:34px;font:inherit;font-size:13px;color:#111;background:#E8C468;border:0;cursor:pointer}
.mt-play:disabled{opacity:.3;cursor:default}
@media (max-width:899px){.mind-how{padding:2px 16px 4px}.mind-how details>p,.mind-how .mind-legend{margin-left:0;padding-left:0}.mind-tools .mt-search input{width:100%}.mind-tools .mt-search{flex:1}.mz-btns{bottom:70px;right:10px}.mt-l{display:none}.mind-time{grid-template-columns:auto auto 1fr!important}}
.mind-panel .mp-lobes .mini-bar{display:none}
.mind-panel .mp-lobes .ct{white-space:nowrap}

.mt-right{display:flex;gap:8px}
.mind-tools [data-mtool="music"][aria-pressed="true"]{border-color:#E8C468;color:#E8C468}
@media (max-width:899px){.mt-right{width:100%}.mt-right button{flex:1}}

/* Mappa nello stesso stile del Second Brain */
.map3d{background-color:#111!important;background-image:linear-gradient(rgba(244,240,228,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(244,240,228,.04) 1px,transparent 1px)!important;background-size:40px 40px!important}
.map3d #mapc{background:transparent!important}
.map3d .hud button{font:inherit!important;font-size:12.5px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.03em;color:#F4F0E4!important;background:rgba(17,17,17,.6)!important;border:1px solid rgba(244,240,228,.35)!important;border-radius:0!important}
.map3d .hud button:hover{border-color:#E8C468!important;color:#E8C468!important}
.map3d .hud button[aria-pressed="true"]{border-color:#E8C468!important;color:#E8C468!important}
.map3d .h-time #mplay{background:#E8C468!important;color:#111!important;border-color:#E8C468!important}
.map3d .h-tl #hcoord,.map3d .h-tl .hk{color:#E8C468!important}
.map3d input[type=range]{accent-color:#E8C468}
.map3d #msearch{border-radius:0!important;border:1px solid rgba(244,240,228,.35)!important;background:rgba(17,17,17,.6)!important;color:#F4F0E4!important}
.map3d #msearch:focus{border-color:#E8C468!important;outline:none}

.mp-ph{margin:0 0 16px;aspect-ratio:4/3;overflow:hidden;background:#1b1b1a;border:1px solid #E8C468}
.mp-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);display:block}
.mp-ph.off{border-color:rgba(244,240,228,.25)}.mp-ph.off img{opacity:.45}


/* telefono: mappa più pulita, scheda compatta, quattro voci in basso */
@media (max-width:640px){
  .map3d .mstrip{display:none!important}
  .map3d #hcoord{display:none}
  .mcard{left:10px!important;right:10px!important;width:auto!important;bottom:118px!important;max-height:30vh;overflow:auto;padding:10px 12px 0!important}
  .mcard .top2{font-size:11px;margin:0 0 6px}
  .mcard h3{font-size:21px!important;margin:0 0 6px}
  .mcard .meta{font-size:11px!important;margin:0 0 8px!important}
  .mcard .mc-ph{float:right;width:64px;margin:0 0 6px 10px}.mcard .mc-ph img{height:64px}.mcard .mc-ph figcaption{display:none}
  .mcard .hn{margin-bottom:8px}.mcard .hn button{font-size:11px;padding:3px 6px}.mcard .hn button:nth-child(n+4){display:none}
  .mcard .go{font-size:16px;padding:9px 0 11px}
  .map3d .h-filt{bottom:118px!important}
}
@media (max-width:899px){
  :root{--tabs:64px}
  .tabs a{font-size:16px!important;padding:18px 4px 20px!important;min-height:60px}
  .tabs a:not([aria-current]) span{opacity:.85}
}
@media (max-width:420px){.tabs a{font-size:15px!important;padding:18px 2px 20px!important}}

/* mappa: niente asse del tempo, play e ricerca in basso */
.map3d .h-time,.map3d .h-search{display:none!important}
.map3d .mstrip{bottom:16px!important}
@media (max-width:640px){.mcard{bottom:16px!important}.map3d .h-filt{bottom:16px!important}}

.brain.mini .nd:not(.on){display:none}
.brain.mini .sy:not(.on){display:none}

/* tipografia cinetica (Home e viaggio) */
.kx-w{display:inline-block;white-space:nowrap}
.kx{display:inline-block;will-change:transform,opacity,filter}
.kin-in .kx{animation:kxIn .95s cubic-bezier(.16,.84,.24,1) both;animation-delay:calc(var(--i) * var(--st,28ms))}
.kin-out .kx{animation:kxOut .62s cubic-bezier(.6,0,.85,.35) both;animation-delay:calc(var(--i) * 14ms)}
@keyframes kxIn{0%{opacity:0;transform:translate3d(.9em,.28em,0) skewX(-18deg) scaleX(1.45);filter:blur(12px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes kxOut{0%{opacity:1;transform:none;filter:none}100%{opacity:0;transform:translate3d(-.85em,-.18em,0) skewX(16deg) scaleX(1.35);filter:blur(10px)}}
.hero-reel > .marq{overflow:visible!important;left:32px!important;right:32px!important}
.kin{position:relative}
.kin-t{margin:0;font-size:clamp(38px,7vw,108px);line-height:.95;letter-spacing:-.028em;font-weight:500;color:#F4E9DA;text-wrap:balance}
.kin-bar{display:block;height:3px;width:0;background:#E8C468;margin-top:.35em;transform-origin:left}
.kin-bar.on{animation:kbIn 1.1s cubic-bezier(.2,.8,.2,1) .25s both}
.kin-bar.off{width:clamp(80px,14vw,220px);animation:kbOut .5s ease both}
@keyframes kbIn{from{width:0}to{width:clamp(80px,14vw,220px)}}
@keyframes kbOut{to{transform:scaleX(0);opacity:0}}
@media (max-width:700px){.hero-reel > .marq{left:16px!important;right:16px!important}.kin-t{font-size:clamp(34px,9vw,52px)}}
@media (prefers-reduced-motion:reduce){.kin-in .kx,.kin-out .kx{animation:none}}

.in-ep{display:none!important}
.in-end .in-l1,.in-end .in-l2{transition:none!important;opacity:1!important;transform:none!important}
.intro:not(.is-end) .in-end .kx{opacity:0}
.kin-d.kin-in .kx{animation-delay:calc(var(--d0,0ms) + var(--i) * var(--st,28ms))}

.kin-logo .kx{animation:kxLogo .7s cubic-bezier(.16,.84,.24,1) both;animation-delay:calc(var(--i) * var(--st,45ms))}
@keyframes kxLogo{0%{opacity:.2;transform:translateY(.25em) skewX(-14deg);filter:blur(4px)}60%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
.ms-orig{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:64px;padding-top:22px;border-top:1.5px solid currentColor}
.ms-w .ms-foot.ms-claim{font-size:clamp(24px,3.4vw,44px)!important;line-height:1.14;letter-spacing:-0.013em;font-weight:500;max-width:none;margin:88px 0 0}
.ms-ot{margin:0;font-size:clamp(20px,5.2vw,34px);line-height:1.15;letter-spacing:-0.011em;font-weight:500}
.ms-ob p{margin:0 0 .9em;font-size:clamp(17px,1.7vw,21px);line-height:1.45}
.ms-ob p:last-child{margin-bottom:0}
@media (max-width:640px){.ms-orig{grid-template-columns:1fr;gap:18px;margin-top:48px}.ms-w .ms-foot.ms-claim{margin-top:56px}}
/* ---------- capolavori ---------- */
.cp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.cp-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cp-card:nth-child(3n){border-right:0}
.cp-th{margin:0;aspect-ratio:4/3;background:#0b0b0b;overflow:hidden;position:relative}
.cp-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s}
.cp-th.loading img,.cp-th.none img{opacity:0}
.cp-th.none::after{content:"Immagine non disponibile";position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#8a877f}
.cp-card:hover .cp-th img{transform:scale(1.04)}
.cp-cm{padding:16px 20px 22px}
.cp-n{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:.6}
.cp-cm h2{font-size:clamp(22px,2.2vw,30px);line-height:1.08;margin:8px 0 8px}
.cp-cm p{margin:0;font-size:14px;line-height:1.35;opacity:.8}
.cp-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--paper)}
.cp-stage{position:sticky;top:57px;height:calc(100vh - 57px);background:#0b0b0b;border-right:1px solid var(--rule)}
.cp-frame{position:absolute;inset:0;overflow:hidden;overflow:clip}
.cp-load{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#8a877f;font-size:13px}
.cp-frame:not(.loading):not(.none) .cp-load{display:none}
.cp-frame.loading .cp-in,.cp-frame.none .cp-in{opacity:0}
.cp-in{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s;--z:1}
.cp-in img{width:100%;height:100%;display:block;user-select:none}
.cp-dot{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#F4F0E5;color:#111;font:600 13px/30px var(--sans);text-align:center;box-shadow:0 0 0 4px rgba(17,17,17,.28),0 2px 10px rgba(0,0,0,.35);transform:scale(calc(1 / var(--z)));transition:transform .9s cubic-bezier(.2,.7,.2,1),background .2s}
.cp-dot:hover{background:#fff}
.cp-dot.on{background:#E8C468;box-shadow:0 0 0 4px rgba(232,196,104,.35),0 2px 10px rgba(0,0,0,.35)}
.cp-bar{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:28px 18px 14px;background:linear-gradient(rgba(11,11,11,0),rgba(11,11,11,.85));color:#F4F0E5;font-size:13px;pointer-events:none}
.cp-out{pointer-events:auto;background:#F4F0E5;color:#111;border:0;font:600 13px var(--sans);padding:9px 14px;cursor:pointer}
.cp-text{padding:8px 32px 56px;min-width:0}
.cp-sec{border-top:1px solid var(--rule);padding:16px 0 26px}
.cp-sec:first-child{border-top:0}
.cp-h{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px}
.cp-h b{margin-right:10px}
.cp-dl{margin:0}
.cp-dl div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--soft)}
.cp-dl dt{font-size:12px;text-transform:uppercase;opacity:.6;padding-top:3px}
.cp-dl dd{margin:0;font-size:17px;line-height:1.35}
.cp-src{font-size:12px;opacity:.65;margin:12px 0 16px}
.cp-look{color:var(--ink)!important;border-color:var(--ink)!important;background:transparent!important}
.cp-look:hover{background:var(--ink)!important;color:var(--paper)!important}
.cp-src a{color:inherit}
.cp-hint{font-size:14px;opacity:.65;margin:-4px 0 12px}
.cp-list{list-style:none;margin:0;padding:0}
.cp-it{display:flex;gap:14px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--soft);padding:14px 10px 16px 0;color:inherit;font:inherit;cursor:pointer;transition:background .2s}
.cp-it:hover{background:rgba(127,127,127,.06)}
.cp-it.on{background:rgba(232,196,104,.12)}
.cp-num{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-size:13px;font-weight:600}
.cp-it.on .cp-num{background:#E8C468;border-color:#E8C468;color:#111}
.cp-tx b{display:block;font-size:18px;font-weight:600;margin:3px 0 6px}
.cp-tx span{display:block;font-size:16px;line-height:1.5;opacity:.88}
.cp-ov{position:fixed;inset:0;z-index:1200;background:#0b0b0b;display:grid;place-items:center;opacity:0;transition:opacity .4s;cursor:pointer}
.cp-ov.on{opacity:1}
.cp-ov img{max-width:94vw;max-height:84vh;object-fit:contain}
.cp-ov p{position:absolute;bottom:22px;left:0;right:0;text-align:center;margin:0;color:#F4F0E5;font-size:13px;opacity:.7}
.cp-ovb{position:absolute;top:0;left:0;right:0;height:3px;background:rgba(244,240,229,.15)}
.cp-ovb i{display:block;height:100%;width:0;background:#E8C468}
.cp-ov.on .cp-ovb i{width:100%;transition:width 10s linear}
@media (max-width:900px){.cp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-card:nth-child(3n){border-right:1px solid var(--rule)}.cp-card:nth-child(2n){border-right:0}}
@media (max-width:799px){
 .cp-wrap{display:block}
 .cp-stage{top:54px;height:46vh;z-index:5;border-right:0;border-bottom:1px solid var(--rule)}
 .cp-text{padding:4px 16px 40px}
 .cp-dl div{grid-template-columns:96px 1fr}
 .cp-dot{width:26px;height:26px;margin:-13px 0 0 -13px;line-height:26px;font-size:12px}
}
@media (max-width:560px){.cp-grid{grid-template-columns:1fr}.cp-card{border-right:0!important}}
.cp-grid .cp-th{background:rgba(17,17,17,.18)}
.cp-grid .cp-n,.cp-grid .cp-cm p{opacity:.75}
.cp-text .more-l .caps-row{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 0}
.cp-text .more-l .caps-row .ct{font-size:clamp(20px,1.9vw,28px)!important;line-height:1.1!important;letter-spacing:-.01em}
.cp-text .more-l .caps-row .cm{font-size:11px!important;line-height:1.35;text-align:right;white-space:nowrap}
.cp-text .more-l .caps-row .arw{display:none}
.cp-cm{position:relative;flex:1}
.cp-arr{position:absolute;right:20px;bottom:22px;margin:0;width:clamp(56px,6vw,80px);height:26px;transition:transform .3s ease;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M2 20h114M98 3l18 17-18 17' fill='none' stroke='%23111' stroke-width='2'/%3E%3C/svg%3E") no-repeat right center/contain!important}
.cp-card:hover .cp-arr{transform:translateX(6px)}
.cp-cm p{padding-right:96px}
.cp-it.on{background:#E8C468!important;color:#111}
.cp-it.on .cp-tx span{opacity:.85}
.cp-it.on .cp-num{background:#111!important;border-color:#111!important;color:#E8C468!important}
.cp-dot.on{background:#111!important;color:#E8C468!important;box-shadow:0 0 0 3px #E8C468,0 0 0 7px rgba(17,17,17,.35),0 2px 10px rgba(0,0,0,.35)!important}
.map3d .h-filt{top:64px!important;bottom:auto!important;left:auto!important;right:16px!important;max-width:min(560px,calc(100% - 32px));display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;z-index:6}
.map3d .h-filt[hidden]{display:none!important}
@media (max-width:640px){.map3d .h-filt{top:56px!important;right:12px!important;max-width:calc(100% - 24px)}}
.map3d .hud.h-filt button,.map3d .hud.h-filt button[aria-pressed]{border-color:var(--c)!important;color:#F4F0E5!important;display:inline-flex;align-items:center;gap:7px}
.map3d .h-filt button::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.map3d .mstrip{display:none!important}

