
:root{
  --void:#16150F; --void-2:#201E15; --void-3:#2A2719;
  --bone:#ECE7DB; --bone-2:#E4DECF;
  --ink:#1A1813; --ink-soft:#6B655A;
  --chalk:#E8E3D6; --chalk-soft:#9A9384;
  --amber:#D98A2B;   /* additivo · costruire */
  --jade:#5E9C86;    /* sottrattivo · liberare */
  --stone:#8A8578;   /* asse · neutro */
  --line-d:#37342B; --line-l:#D2CBBA;
  --disp:"Space Grotesk", sans-serif;
  --text:"Newsreader", Georgia, serif;
  --mono:"Space Mono", monospace;
  --maxw:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation:none!important; transition:none!important;} }
body{margin:0; background:var(--bone); color:var(--ink);
  font-family:var(--text); font-size:19px; line-height:1.62; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:inherit;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:var(--disp); font-weight:500; margin:0; letter-spacing:-.02em; line-height:1.05;}
p{margin:0 0 18px;}
em{font-style:italic;}
.eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--stone); margin:0 0 20px;}
.serif-accent{font-family:var(--text); font-style:italic; font-weight:400; letter-spacing:0;}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:9px; font-family:var(--disp); font-weight:500; font-size:15px;
  padding:13px 24px; border-radius:2px; text-decoration:none; cursor:pointer; border:1px solid var(--ink);
  background:var(--ink); color:var(--bone); transition:transform .18s ease, opacity .18s;}
.btn:hover{transform:translateY(-2px);}
.btn.ghost{background:transparent; color:var(--ink);}
.btn.on-void{background:var(--chalk); color:var(--void); border-color:var(--chalk);}
.btn.ghost-void{background:transparent; color:var(--chalk); border-color:#5A564A;}
.btn.ghost-void:hover{border-color:var(--chalk);}

/* nav */
header.site{position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(22,21,15,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line-d); transition:box-shadow .25s ease, background .25s ease;}
.nav{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 0;}
.mark{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--chalk); white-space:nowrap;}
.mark .node{width:15px; height:15px; flex:none;}
.mark .name{font-family:var(--disp); font-weight:700; font-size:18px; letter-spacing:-.01em;}
.nav-links{display:flex; gap:26px; list-style:none; margin:0; padding:0;}
.nav-links a{font-family:var(--mono); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; text-decoration:none;
  color:var(--chalk-soft); padding-bottom:3px; border-bottom:1px solid transparent; transition:color .15s, border-color .15s;}
.nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--chalk); border-color:var(--amber);}
.nav-right{display:flex; align-items:center; gap:14px;}
.nav-toggle{display:none; width:42px; height:38px; border:1px solid var(--line-d); background:transparent; border-radius:3px; cursor:pointer; align-items:center; justify-content:center;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block; width:18px; height:2px; background:var(--chalk); position:relative;}
.nav-toggle span::before{content:""; position:absolute; top:-6px;} .nav-toggle span::after{content:""; position:absolute; top:6px;}
.mobile{display:none; border-bottom:1px solid var(--line-d); background:var(--void);}
.mobile a{display:block; padding:14px 32px; font-family:var(--mono); font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--chalk-soft); text-decoration:none; border-top:1px solid var(--line-d);}
.mobile a:last-child{color:var(--amber);}
@media (max-width:820px){
  .nav-links{display:none;}
  .nav-right .btn{display:none;}
  .nav-toggle{display:flex;}
}
@media (max-width:440px){ .wrap{padding:0 22px;} .hero-inner{padding:0 22px;} }

/* generic sections */
section{padding:96px 0;}
.on-void{background:var(--void); color:var(--chalk);}
.on-void h1,.on-void h2,.on-void h3{color:var(--chalk);}
.on-void .lede,.on-void p{color:#C7C1B2;}
.on-bone-2{background:var(--bone-2);}
.narrow{max-width:680px; margin-inline:auto; }
.lede{font-size:22px; line-height:1.5; color:var(--ink-soft);}
.section-h2{font-size:clamp(30px,4.2vw,50px); margin-bottom:24px;}

/* ---------- HERO ---------- */
.hero{background:var(--void); color:var(--chalk); position:relative; overflow:hidden; text-align:center;
  padding:70px 0 96px;}
.hero .axis{position:absolute; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(var(--line-d), transparent 82%); transform:translateX(-.5px);}
.hero-inner{position:relative; max-width:860px; margin:0 auto; padding:0 32px;}
.hub-wrap{display:flex; justify-content:center; margin-bottom:14px;}
.hub{width:180px; height:180px; animation:hubin 1.1s cubic-bezier(.2,.7,.2,1) both;}
@keyframes hubin{from{opacity:0; transform:scale(.66) rotate(-8deg);} to{opacity:1; transform:none;}}
.hero h1{font-size:clamp(42px,7.4vw,86px); font-weight:500; letter-spacing:-.03em; margin:0 auto; max-width:14ch;}
.hero h1 .serif-accent{color:var(--amber);}
.hero .sub{font-family:var(--text); font-size:clamp(19px,2.3vw,23px); line-height:1.5; color:#C7C1B2; max-width:620px; margin:26px auto 0;}
.hero-cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:34px;}
.hero-note{font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--stone); margin-top:26px;}

/* ---------- IL CENTRO — due meccanismi ---------- */
.duo{display:grid; grid-template-columns:1fr 1px 1fr; margin-top:52px; border-top:1px solid var(--line-l); border-bottom:1px solid var(--line-l);}
.duo .axis-col{background:var(--line-l);}
.duo-col{padding:38px 40px;}
.duo-col .tag{font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.duo-col .tag .swatch{width:11px; height:11px; border-radius:50%;}
.duo-col h3{font-family:var(--disp); font-weight:500; font-size:24px; margin-bottom:10px;}
.duo-col p{font-size:17px; color:var(--ink-soft); margin:0;}
.add .tag{color:var(--amber);} .add .swatch{background:var(--amber);}
.sub .tag{color:var(--jade);} .sub .swatch{background:var(--jade);}
.bars{display:flex; align-items:flex-end; gap:5px; height:44px; margin-bottom:16px;}
.bars i{width:9px; border-radius:2px; display:block;}
.add .bars i{background:var(--amber);}
.sub .bars i{background:var(--jade);}
.duo-cap{font-family:var(--text); font-style:italic; color:var(--ink-soft); text-align:center; margin-top:22px; font-size:18px;}
@media (max-width:720px){ .duo{grid-template-columns:1fr;} .duo .axis-col{display:none;} .duo-col{border-top:1px solid var(--line-l);} .duo-col:first-child{border-top:none;} }

.callout{border-left:3px solid var(--amber); background:#F3EEE1; padding:20px 24px; border-radius:0 4px 4px 0; margin:30px 0; font-size:17px;}
.callout .lbl{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:8px;}

/* ---------- I RAGGI ---------- */
.spokes{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:48px;}
@media (max-width:860px){.spokes{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.spokes{grid-template-columns:1fr;}}
.spoke{display:flex; flex-direction:column; gap:12px; text-decoration:none; color:inherit;
  border:1px solid var(--line-l); border-radius:8px; padding:26px 22px; background:var(--bone); transition:transform .18s, border-color .18s;}
.spoke:hover{transform:translateY(-3px); border-color:var(--ink);}
.spoke .num{font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--stone);}
.spoke h3{font-family:var(--disp); font-weight:500; font-size:23px;}
.spoke p{font-family:var(--text); font-size:16px; color:var(--ink-soft); margin:0; flex:1;}
.spoke .go{font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--amber);}
.recognize{margin-top:24px; font-family:var(--text); color:var(--ink-soft);}

/* ---------- IL METODO — tre tempi ---------- */
.tempi{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:48px; counter-reset:t;}
@media (max-width:760px){.tempi{grid-template-columns:1fr;}}
.tempo{padding:32px 34px; border-left:1px solid var(--line-d); position:relative;}
.tempi .tempo:first-child{border-left:none;}
@media (max-width:760px){.tempo{border-left:none; border-top:1px solid var(--line-d);} .tempi .tempo:first-child{border-top:none;}}
.tempo .n{font-family:var(--mono); font-size:13px; color:var(--stone); margin-bottom:14px; display:block;}
.tempo h3{font-family:var(--disp); font-weight:500; font-size:26px; color:var(--chalk); margin-bottom:12px;}
.tempo p{font-family:var(--text); font-size:16.5px; color:#C7C1B2; margin:0;}
.tempo.t1 h3{color:var(--jade);} .tempo.t2 h3{color:var(--amber);} .tempo.t3 h3{color:var(--chalk);}

/* ---------- FAQ SEO ---------- */
.faq h3{font-family:var(--disp); font-weight:500; font-size:21px; margin:26px 0 6px;}
.faq p{font-size:17px; color:var(--ink-soft); margin:0;}
.faq .more{font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; margin-top:16px;}

/* ---------- CTA ---------- */
.cta form{display:flex; flex-direction:column; gap:12px; max-width:520px; margin-top:30px;}
.cta input,.cta textarea{font-family:var(--text); font-size:17px; padding:13px 16px; border-radius:3px;
  border:1px solid #4A473C; background:var(--void-2); color:var(--chalk); width:100%;}
.cta input::placeholder,.cta textarea::placeholder{color:#7C7767;}
.cta textarea{min-height:110px; resize:vertical; line-height:1.5;}
.cta form .btn{align-self:flex-start;}
.tagline{font-family:var(--mono); font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--stone); margin-top:46px; text-align:center;}
.tagline b{color:var(--amber); font-weight:400;} .tagline i{color:var(--jade); font-style:normal;}

/* ---------- FOOTER ---------- */
footer{background:var(--void); color:var(--chalk-soft); border-top:1px solid var(--line-d); padding:52px 0;}
.foot{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:34px;}
@media (max-width:720px){.foot{grid-template-columns:1fr;}}
.foot .name{font-family:var(--disp); font-weight:700; font-size:20px; color:var(--chalk); margin-bottom:12px;}
.foot p{font-family:var(--text); font-size:15px; color:var(--chalk-soft); margin:0;}
.foot h4{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--stone); margin:0 0 14px;}
.foot a{display:block; font-family:var(--disp); font-size:14.5px; color:var(--chalk-soft); text-decoration:none; margin-bottom:9px;}
.foot a:hover{color:var(--chalk);}

.preview-flag{background:var(--amber); color:var(--void); font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-align:center; padding:7px 12px;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}


/* --- nav: fit 7 items / collapse earlier to hamburger --- */
.nav-links{gap:18px;}
.nav-links a{color:#D2CBBA;}  /* higher contrast on the dark header */
html{overflow-y:scroll;}      /* always reserve scrollbar gutter -> header aligns across all pages */
@media (max-width:1200px){ .nav-links{display:none;} .nav-right .btn{display:none;} .nav-toggle{display:flex;} }
/* --- home audience fork --- */
.fork{padding:60px 0 66px;}
.fork-h{font-family:var(--disp); font-size:clamp(24px,3.2vw,34px); text-align:center; max-width:720px; margin:0 auto 40px; letter-spacing:-.01em; line-height:1.16;}
.fork-grid{display:flex; flex-wrap:wrap; gap:20px; max-width:900px; margin:0 auto;}
.fork-card{flex:1 1 320px; min-width:0; background:var(--void-2); border:1px solid var(--line-d); border-radius:14px; padding:32px 30px 28px; position:relative; overflow:hidden;}
.fork-card::before{content:""; position:absolute; left:0; top:0; height:3px; width:100%;}
.fork-a::before{background:var(--amber);}
.fork-b::before{background:var(--jade);}
.fork-k{font-family:var(--mono); font-size:12px; letter-spacing:.05em; text-transform:uppercase;}
.fork-a .fork-k{color:var(--amber);}
.fork-b .fork-k{color:var(--jade);}
.fork-t{color:var(--chalk); margin:14px 0 24px; line-height:1.55; font-size:16px;}
.fork-ctas{display:flex; gap:24px; flex-wrap:wrap;}
.fork-cta{display:inline-block; font-family:var(--mono); font-size:13px; letter-spacing:.02em; color:var(--chalk); text-decoration:none; border-bottom:1px solid var(--line-d); padding:2px 0 6px; transition:color .15s, border-color .15s;}
.fork-a .fork-cta:hover{color:var(--amber); border-color:var(--amber);}
.fork-b .fork-cta:hover{color:var(--jade); border-color:var(--jade);}
@media (max-width:720px){ .fork{padding:44px 0 50px;} }




/* ---- Metodo: componenti dedicati ---- */
.chain-fig{margin:44px 0 8px;}
.chain-pair{display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap;}
.chain-half{flex:1 1 240px; max-width:300px; text-align:center;}
.chain-half svg{width:100%; height:auto;}
.chain-lbl{font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-top:6px;}
.chain-lbl.alt{color:var(--amber);}
.chain-vs{font-size:26px; color:var(--stone); flex:0 0 auto;}
@media (max-width:560px){ .chain-vs{transform:rotate(90deg);} }
.chain-fig figcaption{max-width:640px; margin:24px auto 0; font-family:var(--text); font-size:16px; color:var(--ink-soft); text-align:center; line-height:1.55;}

/* tre stati del tono */
.tono{margin-top:34px; display:flex; flex-direction:column; gap:14px;}
.tono-item{border-left:3px solid var(--stone); padding:16px 22px; background:var(--bone); border-radius:0 6px 6px 0;}
.tono-item.keep{border-color:var(--jade);}
.tono-item.drop{border-color:var(--amber);}
.tono-item h4{font-family:var(--disp); font-weight:500; font-size:19px; margin:0 0 6px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;}
.tono-item h4 .v{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone);}
.tono-item p{margin:0; font-size:16px; color:var(--ink-soft);}

/* quattro passi (su fondo scuro) */
.steps{margin-top:42px; border-top:1px solid var(--line-d);}
.step{display:grid; grid-template-columns:66px 1fr; gap:22px; padding:28px 0; border-bottom:1px solid var(--line-d); align-items:start;}
.step .sn{font-family:var(--disp); font-weight:500; font-size:36px; line-height:1; color:var(--amber);}
.step h3{font-family:var(--disp); font-weight:500; font-size:22px; color:var(--chalk); margin:0 0 8px;}
.step p{margin:0; font-size:17px; color:#C7C1B2;}
@media (max-width:520px){ .step{grid-template-columns:44px 1fr; gap:14px;} .step .sn{font-size:27px;} }

/* diagnosi in 3 secondi (tabella, su fondo chiaro) */
.diag{margin-top:30px; border:1px solid var(--line-l); border-radius:8px; overflow:hidden; background:var(--bone);}
.diag .r{display:grid; grid-template-columns:1.15fr 1fr 1fr; border-top:1px solid var(--line-l);}
.diag .r:first-child{border-top:none;}
.diag .r>div{padding:14px 16px; border-left:1px solid var(--line-l); font-size:15.5px; color:var(--ink);}
.diag .r>div:first-child{border-left:none;}
.diag .h>div{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--stone); background:var(--bone-2);}
@media (max-width:600px){ .diag .r{grid-template-columns:1fr;} .diag .r>div{border-left:none; border-top:1px solid var(--line-l);} .diag .r>div:first-child{border-top:none;} .diag .h{display:none;} }

/* prima seduta (lista numerata) */
.practice{margin-top:30px; padding-left:0; list-style:none; counter-reset:step;}
.practice li{counter-increment:step; position:relative; padding-left:54px; margin-bottom:22px; font-size:17px; color:var(--ink); line-height:1.55;}
.practice li::before{content:counter(step); position:absolute; left:0; top:-3px; font-family:var(--disp); font-weight:500; font-size:20px; color:var(--amber); width:38px; height:38px; border:1px solid var(--line-l); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.practice-note{margin-top:18px; font-size:15px; color:var(--ink-soft); font-style:italic;}





/* ---- Test: quiz ---- */
.quiz{margin-top:6px;}
.quiz-intro{font-size:18px; color:var(--ink-soft); margin-bottom:30px;}
.q{padding:24px 0; border-top:1px solid var(--line-l);}
.q:first-of-type{border-top:none;}
.q-text{font-family:var(--disp); font-weight:500; font-size:19px; line-height:1.3; margin:0 0 16px; display:flex; gap:12px; align-items:baseline;}
.q-num{font-family:var(--mono); font-size:13px; color:var(--amber); flex:none;}
.opts{display:flex; gap:10px; flex-wrap:wrap;}
.opt{flex:1 1 150px; background:var(--bone); border:1px solid var(--line-l); color:var(--ink); padding:13px 16px; border-radius:6px; font-family:var(--text); font-size:16px; cursor:pointer; text-align:left; transition:border-color .15s, background .15s, transform .12s;}
.opt:hover{border-color:var(--ink);}
.opt[aria-pressed="true"]{background:var(--amber); border-color:var(--amber); color:#1A1813; font-weight:500;}
.q-sep{margin:36px 0 6px; padding:24px 0 4px; border-top:1px dashed #BDB6A4;}
.q-sep .k{font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--amber);}
.q-sep p{margin:12px 0 0; color:var(--ink-soft); font-size:16px;}
.q-wait{margin-top:32px; font-family:var(--mono); font-size:13px; letter-spacing:.05em; color:var(--stone); text-align:center;}
.q-res{margin-top:32px; border:1px solid var(--line-l); border-left:4px solid var(--amber); border-radius:8px; padding:30px 32px; background:var(--bone);}
.q-res.good{border-left-color:var(--jade);}
.q-res .rl{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--stone); display:block; margin-bottom:8px;}
.q-res h3{font-family:var(--disp); font-weight:500; font-size:30px; margin:0 0 14px;}
.q-res p{font-size:17px; color:var(--ink-soft); margin:0 0 20px;}
.q-res a{color:var(--amber);}
.q-res.good a{color:#3f7a64;}
.aside-box{margin-top:44px; background:var(--bone-2); border-radius:8px; padding:26px 28px;}
.aside-box .k{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone); display:block; margin-bottom:10px;}
.aside-box p{font-size:15.5px; color:var(--ink-soft); margin:0 0 10px;}
.aside-box p:last-child{margin-bottom:0;}
.quiz-note{margin-top:26px; font-style:italic; color:var(--ink-soft); font-size:16px;}
/* koan gift */
.koan{max-width:640px;}
.koan .k{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:14px;}
.koan blockquote{font-family:var(--text); font-style:italic; font-size:21px; line-height:1.5; color:var(--chalk); border-left:2px solid var(--jade); padding-left:20px; margin:24px 0;}
.koan .meta{font-family:var(--mono); font-size:12px; color:var(--stone); margin:0 0 22px;}
.koan form{display:flex; gap:10px; flex-wrap:wrap; max-width:470px;}
.koan input[type=email]{flex:1 1 220px; font-family:var(--text); font-size:16px; padding:13px 16px; border-radius:3px; border:1px solid #4A473C; background:var(--void-2); color:var(--chalk);}
.koan input::placeholder{color:#7C7767;}
.koan .note{font-size:13px; color:var(--chalk-soft); margin-top:14px;}
.koan-done .btn{margin-top:8px;}





/* ---- Chi sono ---- */
.about-hero{display:grid; grid-template-columns:0.82fr 1fr; gap:48px; align-items:center;}
@media (max-width:820px){ .about-hero{grid-template-columns:1fr; gap:30px;} }
.about-photo{border-radius:12px; overflow:hidden; border:1px solid #3a362b; box-shadow:0 24px 70px rgba(0,0,0,.45); align-self:start;}
.about-photo img{width:100%; height:auto; display:block;}
@media (max-width:820px){ .about-photo{max-width:400px;} }
.about-photo.noimg{position:relative; aspect-ratio:1.1/1; background:linear-gradient(135deg,#2a2213,#3a2c17 55%,rgba(217,138,43,.18)); display:flex; align-items:center; justify-content:center;}
.about-photo.noimg img{display:none;}
.about-photo.noimg::after{content:"La tua foto \00b7 /img/jacopo.jpg"; font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:#C7C1B2; text-transform:uppercase; text-align:center; padding:0 20px;}
.porte{display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr)); gap:16px; margin-top:44px;}
.porta{border:1px solid var(--line-l); border-radius:8px; padding:24px 22px; background:var(--bone);}
.porta .pn{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone); display:block; margin-bottom:12px;}
.porta h3{font-family:var(--disp); font-weight:500; font-size:20px; margin:0 0 8px;}
.porta p{margin:0; font-size:15.5px; color:var(--ink-soft); line-height:1.55;}
.pull{font-family:var(--text); font-style:italic; font-size:clamp(21px,2.6vw,27px); line-height:1.4; color:var(--chalk); border-left:3px solid var(--amber); padding-left:22px; margin:34px 0;}





/* ---- Lezione ---- */
.factline{font-family:var(--mono); font-size:13px; letter-spacing:.06em; color:var(--stone); margin-top:22px;}
.sess{margin-top:40px; border-top:1px solid var(--line-d);}
.sess-item{display:grid; grid-template-columns:128px 1fr; gap:28px; padding:30px 0; border-bottom:1px solid var(--line-d); align-items:start;}
.sess-time{font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--stone);}
.sess-time .big{display:block; font-family:var(--disp); font-weight:500; font-size:30px; letter-spacing:-.02em; margin-bottom:3px; color:var(--amber);}
.sess-item.t1 .sess-time .big{color:var(--jade);}
.sess-item.t3 .sess-time .big{color:var(--chalk);}
.sess-item h3{font-family:var(--disp); font-weight:500; font-size:23px; color:var(--chalk); margin:0 0 8px;}
.sess-item p{margin:0; font-size:17px; color:#C7C1B2;}
.disc{list-style:none; padding:0; margin:16px 0 0; display:grid; gap:9px;}
.disc li{font-size:15.5px; color:#C7C1B2;}
.disc li b{color:var(--chalk); font-weight:500;}
@media (max-width:560px){ .sess-item{grid-template-columns:1fr; gap:10px;} }
.facts{margin-top:34px; border:1px solid var(--line-l); border-radius:10px; overflow:hidden; background:var(--bone);}
.facts .row{display:grid; grid-template-columns:150px 1fr; gap:18px; padding:16px 24px; border-top:1px solid var(--line-l);}
.facts .row:first-child{border-top:none;}
.facts .k{font-family:var(--mono); font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--stone); padding-top:2px;}
.facts .v{font-size:16px; color:var(--ink);} .facts .v b{font-weight:500;}
@media (max-width:520px){ .facts .row{grid-template-columns:1fr; gap:4px;} }
.check{list-style:none; padding:0; margin:26px 0 0;}
.check li{position:relative; padding-left:28px; margin-bottom:14px; font-size:16.5px; color:var(--ink);}
.check li::before{content:""; position:absolute; left:2px; top:9px; width:9px; height:9px; background:var(--jade); border-radius:2px;}
.warn{margin-top:32px; border:1px solid #C99A5A; background:#F3E7D5; border-radius:8px; padding:24px 26px;}
.warn h4{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#9a6a2a; margin:0 0 10px;}
.warn p{margin:0; font-size:16px; color:var(--ink); line-height:1.55;}
.three{list-style:none; padding:0; counter-reset:n; margin:26px 0 0;}
.three li{counter-increment:n; position:relative; padding-left:48px; margin-bottom:18px; font-size:16.5px; color:var(--ink); line-height:1.55;}
.three li::before{content:counter(n); position:absolute; left:0; top:-2px; font-family:var(--disp); font-weight:500; font-size:18px; color:var(--amber); width:32px; height:32px; border:1px solid var(--line-l); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.three li b{font-weight:500;}
.leadbox{margin-top:36px; background:var(--void); color:var(--chalk); border-radius:10px; padding:30px 32px;}
.leadbox .k{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:10px;}
.leadbox h3{font-family:var(--disp); font-weight:500; font-size:22px; color:var(--chalk); margin:0 0 8px;}
.leadbox p{color:#C7C1B2; font-size:16px; margin:0 0 16px;}
.leadbox form{display:flex; gap:10px; flex-wrap:wrap; max-width:440px;}
.leadbox input[type=email]{flex:1 1 200px; font-family:var(--text); font-size:16px; padding:12px 15px; border-radius:3px; border:1px solid #4A473C; background:var(--void-2); color:var(--chalk);}
.leadbox input::placeholder{color:#7C7767;}
.leadbox .done{color:var(--chalk); font-size:15px;}
.faq-list{margin-top:32px;}
.faq-item{padding:22px 0; border-top:1px solid var(--line-l);}
.faq-item:first-child{border-top:none;}
.faq-item h4{font-family:var(--disp); font-weight:500; font-size:18px; margin:0 0 8px;}
.faq-item p{margin:0; font-size:16px; color:var(--ink-soft);}





/* nav a 6 voci: collassa un po' prima */
@media (max-width:900px){ .nav-links{display:none;} .nav-right .btn{display:none;} .nav-toggle{display:flex;} }
/* ---- Ricerca ---- */
.doi{display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:13px; color:var(--chalk-soft); border:1px solid var(--line-d); border-radius:5px; padding:10px 16px; margin-top:10px; text-decoration:none;}
.doi b{color:var(--amber); font-weight:400;} .doi:hover{border-color:var(--amber);}
.papers{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:36px;}
@media (max-width:720px){ .papers{grid-template-columns:1fr;} }
.paper{border:1px solid var(--line-l); border-radius:10px; padding:26px; background:var(--bone); display:flex; flex-direction:column; gap:10px;}
.paper .pk{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone);}
.paper h3{font-family:var(--disp); font-weight:500; font-size:20px; margin:0; line-height:1.22;}
.paper p{margin:0; font-size:15.5px; color:var(--ink-soft); flex:1; line-height:1.55;}
.paper a.dl{font-family:var(--mono); font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--amber); text-decoration:none;}
.rlist{margin-top:38px; counter-reset:r; list-style:none; padding:0;}
.rlist li{counter-increment:r; position:relative; padding:22px 0 22px 58px; border-top:1px solid var(--line-d); font-size:16.5px; color:#C7C1B2; line-height:1.55;}
.rlist li:first-child{border-top:none;}
.rlist li::before{content:counter(r,decimal-leading-zero); position:absolute; left:0; top:23px; font-family:var(--mono); font-size:13px; color:var(--amber);}
.rlist li b{color:var(--chalk); font-weight:500;}
.fields{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px;}
@media (max-width:760px){ .fields{grid-template-columns:1fr;} }
.field{border-top:2px solid var(--amber); padding-top:18px;}
.field.f2{border-top-color:var(--jade);} .field.f3{border-top-color:var(--stone);}
.field h3{font-family:var(--disp); font-weight:500; font-size:19px; margin:0 0 10px;}
.field p{margin:0; font-size:15.5px; color:var(--ink-soft); line-height:1.55;}
.pred{margin-top:34px; list-style:none; padding:0;}
.pred li{position:relative; padding:20px 0 20px 30px; border-top:1px solid var(--line-l); font-size:16.5px; color:var(--ink); line-height:1.55;}
.pred li:first-child{border-top:none;}
.pred li::before{content:""; position:absolute; left:2px; top:27px; width:9px; height:9px; background:var(--amber); border-radius:2px;}
.pred li b{font-weight:500;}
.dlist{margin-top:34px; list-style:none; padding:0; display:grid; gap:2px;}
.dlist a{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 4px; border-top:1px solid var(--line-d); text-decoration:none; color:var(--chalk);}
.dlist a:first-child{border-top:none;}
.dlist a .t{font-family:var(--disp); font-size:16.5px;}
.dlist a .x{font-family:var(--mono); font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--amber);}
.dlist a:hover .t{color:var(--amber);}
.srcline{margin-top:26px; font-family:var(--mono); font-size:12.5px; letter-spacing:.03em; color:var(--chalk-soft); line-height:1.9;}



/* ---- i18n IT/EN ---- */
.i18n-en{display:none;}
html.lang-en .i18n-it{display:none;}
html.lang-en .i18n-en{display:inline;}
/* toggle lingua */
.lang-switch{display:inline-flex; align-items:center; gap:2px; font-family:var(--mono); font-size:12px;}
.lang-switch a{background:none; border:0; color:var(--chalk-soft); cursor:pointer; padding:4px 6px; font-family:var(--mono); font-size:12px; letter-spacing:.04em; text-decoration:none;}
.lang-switch a[aria-current="page"]{color:var(--amber);}
.lang-switch .sep{color:#4A473C;}
/* ---- modalità mancino: i comandi passano dall'altro lato ---- */
body.lefty .nav{flex-direction:row-reverse;}
body.lefty .nav-links{flex-direction:row-reverse;}
body.lefty .nav-right{flex-direction:row-reverse;}
body.lefty .mobile a{text-align:right;}
body.lefty .foot{direction:rtl;}
body.lefty .foot > div{direction:ltr;}
.lefty-btn{display:inline-flex; align-items:center; gap:8px; background:none; border:0; cursor:pointer;
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone); padding:0;}
.lefty-btn:hover{color:var(--chalk-soft);}
.lefty-btn[aria-pressed="true"]{color:var(--amber);}
.lefty-btn .dot{width:8px; height:8px; border-radius:50%; border:1.5px solid currentColor;}
.lefty-btn[aria-pressed="true"] .dot{background:currentColor;}
.foot-bottom{grid-column:1 / -1; margin-top:22px; padding-top:20px; border-top:1px solid var(--line-d); display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;}
.foot-bottom .cc{font-family:var(--mono); font-size:11px; color:var(--stone);}


/* ---- Discipline: esercizi a tendina ---- */
.disc-gfx{margin-bottom:20px;}
.disc-gfx svg{width:196px; max-width:56%; height:auto; display:block;}
.ex-list{margin-top:30px; border-top:1px solid var(--line-l);}
.ex-card{border-bottom:1px solid var(--line-l);}
.ex-head{width:100%; background:none; border:0; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 4px; text-align:left; color:var(--ink);}
.ex-head:hover .ex-title{color:var(--amber);}
.ex-meta{display:block; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--stone); margin-bottom:6px;}
.ex-title{font-family:var(--disp); font-weight:500; font-size:20px; margin:0;}
.ex-toggle{font-family:var(--disp); font-size:26px; color:var(--amber); flex:none; line-height:1;}
.ex-body{display:none; padding:0 4px 26px;}
.ex-card.open .ex-body{display:block;}
.ex-body .step-label{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); margin:14px 0 6px;}
.ex-body p{margin:0 0 10px; font-size:16.5px; color:var(--ink-soft); line-height:1.6;}


/* ---- Blog ---- */
.blog-filter{display:flex; flex-wrap:wrap; gap:10px; margin-top:30px;}
.filter-btn{font-family:var(--mono); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); background:none; border:1px solid var(--line-l); border-radius:100px; padding:9px 16px; cursor:pointer;}
.filter-btn:hover{border-color:var(--stone);}
.filter-btn[aria-pressed="true"]{background:var(--ink); color:var(--bone); border-color:var(--ink);}
.blog-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:40px;}
@media (max-width:720px){ .blog-grid{grid-template-columns:1fr;} }
.post-card{display:flex; flex-direction:column; border:1px solid var(--line-l); border-radius:12px; overflow:hidden; background:var(--bone); text-decoration:none; color:var(--ink); transition:transform .15s ease, box-shadow .15s ease;}
.post-card:hover{transform:translateY(-3px); box-shadow:0 12px 30px rgba(22,21,15,.10);}
.post-card .cover{aspect-ratio:1200/630; width:100%; object-fit:cover; display:block; background:var(--void);}
.post-card .pc-body{padding:22px 24px 26px;}
.post-card .pc-cat{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber);}
.post-card h3{font-family:var(--disp); font-weight:500; font-size:23px; line-height:1.2; margin:10px 0;}
.post-card p{margin:0 0 14px; font-size:15.5px; color:var(--ink-soft); line-height:1.55;}
.post-card .pc-meta{font-family:var(--mono); font-size:11px; letter-spacing:.05em; color:var(--stone);}
.no-posts{margin-top:30px; color:var(--ink-soft);}
/* articolo */
.article-hero{border-radius:14px; overflow:hidden; margin:8px 0 20px;}
.article-hero img{width:100%; aspect-ratio:1200/540; object-fit:cover; display:block;}
.art-top{max-width:720px;}
.art-cat{font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber);}
.art-meta{font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--stone); margin-top:10px;}
.article{max-width:720px;}
.article .kicker{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone); margin:44px 0 2px;}
.article h2{font-family:var(--disp); font-weight:500; font-size:clamp(24px,3vw,32px); letter-spacing:-.01em; margin:2px 0 12px;}
.article p{font-size:18px; line-height:1.72; color:var(--ink); margin:0 0 18px;}
.article blockquote{margin:26px 0; padding:6px 0 6px 26px; border-left:2px solid var(--amber); font-family:var(--text); font-size:22px; font-style:italic; color:var(--ink); line-height:1.5;}
.article .exp{margin:30px 0; border:1px solid var(--line-l); border-radius:10px; background:var(--bone-2); padding:26px 28px;}
.article .exp .k{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:12px;}
.article .exp ol{margin:0; padding-left:20px;}
.article .exp li{font-size:16.5px; line-height:1.62; color:var(--ink); margin-bottom:9px;}
.article .exp p{font-size:16.5px; margin:12px 0 0;}
.related{max-width:720px; margin-top:44px; border-top:1px solid var(--line-l); padding-top:22px;}
.related .k{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--stone);}
.related a{display:block; font-family:var(--disp); font-size:17px; color:var(--ink); text-decoration:none; padding:9px 0;}
.related a:hover{color:var(--amber);}


/* ---- barra cookie ---- */
.cookie-bar[hidden]{display:none !important;}
.cookie-bar{position:fixed; left:16px; right:16px; bottom:16px; z-index:80; max-width:760px; margin:0 auto; background:var(--void-2); color:var(--chalk); border:1px solid var(--line-d); border-radius:12px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; box-shadow:0 12px 44px rgba(0,0,0,.4);}
.cookie-bar p{margin:0; font-size:13.5px; line-height:1.5; color:var(--chalk-soft); flex:1 1 320px;}
.cookie-actions{display:flex; gap:12px; align-items:center;}
.cookie-actions button{cursor:pointer;}
#cookie-no{background:none; border:0; color:var(--chalk-soft); font-family:var(--mono); font-size:12px; text-decoration:underline; padding:8px 6px;}
#cookie-yes{padding:10px 20px;}
body.lefty .cookie-bar{flex-direction:row-reverse;}
.social{display:flex; gap:14px; margin-top:18px;}
.social a{color:var(--chalk-soft); display:inline-flex; transition:color .15s ease;}
.social a:hover{color:var(--amber);}

/* ===== METODO — assi, formula, ruota, livelli ===== */

/* Tre assi paralleli (non una sequenza: nessuna numerazione) */
.axes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:46px;background:var(--line-d);border:1px solid var(--line-d)}
.axes .ax{background:var(--void);padding:30px 26px 26px}
.ax-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin:0 0 14px}
.ax h3{font-family:var(--disp);font-weight:500;font-size:21px;color:var(--chalk);margin:0 0 10px;letter-spacing:-.01em}
.ax p{margin:0;font-size:16px;line-height:1.62;color:#C7C1B2}
.ax-fig{margin:0 0 18px}
.ax-fig img{width:100%;height:auto;display:block}
.ax-opts{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone)}
.ax-opts b{font-weight:400;color:var(--chalk)}
.ax-opts .sep{width:18px;height:1px;background:var(--line-d);flex:none}

/* Piastra formula: il momento tipografico della pagina */
.formula{margin:56px auto 0;max-width:720px;text-align:center;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);padding:38px 20px}
.formula .eq{font-family:var(--disp);font-weight:500;font-size:clamp(21px,3.1vw,32px);letter-spacing:-.01em;color:var(--chalk);margin:0;line-height:1.35}
.formula .eq .op{color:var(--stone);padding:0 .2em;font-weight:400}
.formula .eq .res{color:var(--chalk);border-bottom:2px solid var(--amber);padding-bottom:3px}
.formula .eq .trm{color:var(--chalk)}
.formula .leg{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);margin:16px 0 0}

/* Ruota delle otto configurazioni: elemento firma */
.wheel{margin:48px auto 0;max-width:430px}
.wheel img{width:100%;height:auto;display:block}
.wheel figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);text-align:center;margin-top:18px;line-height:1.9}
.wheel .k{display:inline-flex;align-items:center;gap:7px;margin:0 10px}
.wheel .k i{width:9px;height:9px;border-radius:50%;display:inline-block}
.wheel .k.a i{background:var(--amber)} .wheel .k.b i{background:var(--jade)}

/* Nono luogo */
.centro-fig{max-width:250px;margin:0 auto 30px}
.centro-fig img{width:100%;height:auto;display:block}

/* Tre livelli di libertà: progressione, non elenco */
.levels{margin-top:46px;display:flex;flex-direction:column;gap:14px}
.lv{position:relative;border:1px solid var(--line-l);border-left:4px solid var(--stone);border-radius:0 8px 8px 0;padding:26px 30px;background:var(--bone)}
.lv:nth-child(2){border-left-color:var(--amber);margin-left:clamp(0px,3vw,34px)}
.lv:nth-child(3){border-left-color:var(--jade);margin-left:clamp(0px,6vw,68px)}
.lv-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);margin:0 0 8px}
.lv h3{font-family:var(--disp);font-weight:500;font-size:22px;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.lv p{margin:0;font-size:16.5px;line-height:1.68;color:var(--ink-soft)}
.lv-tag{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-top:14px;border:1px solid var(--line-l);color:var(--ink-soft)}

@media(max-width:860px){
  .axes{grid-template-columns:1fr}
  .lv:nth-child(2),.lv:nth-child(3){margin-left:0}
  .formula{padding:30px 12px}
}

/* ===== CAMMINATA — tre tempi affiancati, testo minuto ===== */
.steps-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:var(--line-l);border:1px solid var(--line-l)}
.steps-3 .step-c{background:var(--bone);padding:30px 26px}
.step-c .num{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--amber);display:block;margin-bottom:14px}
.step-c h3{font-family:var(--disp);font-weight:500;font-size:21px;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.step-c p{margin:0;font-size:16px;line-height:1.65;color:var(--ink-soft)}
.on-void .steps-3{background:var(--line-d);border-color:var(--line-d)}
.on-void .steps-3 .step-c{background:var(--void)}
.on-void .step-c h3{color:var(--chalk)}
.on-void .step-c p{color:#C7C1B2}
.on-bone-2 .steps-3 .step-c{background:var(--bone-2)}
.micro{font-family:var(--text);font-size:15.5px;line-height:1.7;color:var(--ink-soft)}
.on-void .micro{color:#B4AE9F}
@media(max-width:860px){ .steps-3{grid-template-columns:1fr} }

/* etichetta "Leggi →" nelle schede articolo */
.pc-more{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}

/* .steps: leggibile su fondo chiaro (default) e su fondo scuro */
.steps{border-top-color:var(--line-l)}
.step{border-bottom-color:var(--line-l)}
.step h3{color:var(--ink)}
.step p{color:var(--ink-soft)}
.on-void .steps{border-top-color:var(--line-d)}
.on-void .step{border-bottom-color:var(--line-d)}
.on-void .step h3{color:var(--chalk)}
.on-void .step p{color:#C7C1B2}

/* ===== TEST DELLE ABITUDINI ===== */
.q-prog{font-size:12px;letter-spacing:.08em}
.q-result{margin-top:40px;padding-top:34px;border-top:1px solid var(--line-l)}
.res-count{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 6px}
.res-count .n-top{font-family:var(--disp);font-size:clamp(56px,10vw,86px);font-weight:500;line-height:.9;color:var(--amber);letter-spacing:-.04em}
.res-count .res-of{font-family:var(--disp);font-size:clamp(17px,2.4vw,21px);color:var(--ink);letter-spacing:-.01em;max-width:16em}
.res-unknown{margin:8px 0 0}
.res-band{margin-top:30px}
.res-band h3{font-family:var(--disp);font-weight:500;font-size:clamp(21px,3vw,27px);color:var(--ink);letter-spacing:-.02em;margin:0 0 12px}
.res-band p{margin:0;font-size:17px;line-height:1.72;color:var(--ink-soft)}
.res-note{margin-top:30px;padding:20px 22px;border-left:3px solid var(--stone);background:var(--bone-2);font-size:15.5px;line-height:1.68;color:var(--ink-soft)}
.koan-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.koan-form input[type=email]{flex:1;min-width:220px;padding:13px 15px;border:1px solid var(--line-l);border-radius:6px;background:#fff;font-family:var(--text);font-size:16px;color:var(--ink)}
.koan-form input[type=email]::placeholder{color:var(--ink-soft)}
.on-void .koan-form input[type=email]{background:transparent;border-color:var(--line-d);color:var(--chalk)}
@media(max-width:600px){ .res-count{gap:8px} }
.n-ns,.n-tot{font-variant-numeric:tabular-nums}

/* Aperture di pagina centrate, coerenti con la home */
.page-hero .narrow{text-align:center}
.page-hero .hero-cta{justify-content:center}
.page-hero .eyebrow{margin-left:auto;margin-right:auto}
.page-hero .lede{margin-left:auto;margin-right:auto}

/* Colonne di lettura centrate anche negli articoli */
.art-top{margin-inline:auto}
.article{margin-inline:auto}

/* Sezioni di invito: titolo, testo, modulo e pulsante centrati */
.cta .narrow{text-align:center}
.cta form{margin-left:auto;margin-right:auto;align-items:center}
.cta form input,.cta form textarea{width:100%}
.cta form .btn{align-self:center}
.cta .tagline{text-align:center}

/* Moduli allineati al centro anche fuori dalle sezioni di invito */
.koan-form{justify-content:center}

/* Riga con il solo pulsante: centrata */
.cta-row{text-align:center;margin-top:24px}

/* Intestazioni di sezione centrate: occhiello e titolo.
   Il testo dei paragrafi resta a sinistra, per la leggibilità delle righe lunghe. */
.narrow > .eyebrow,
.narrow > .section-h2{text-align:center}
.narrow > .section-h2{margin-left:auto;margin-right:auto;max-width:22ch}

/* Frase manifesto */
.statement-sec{padding-top:64px;padding-bottom:64px}
.statement{font-family:var(--disp);font-weight:500;font-size:clamp(30px,5.6vw,58px);line-height:1.08;letter-spacing:-.035em;color:var(--chalk);text-align:center;margin:0}
.statement br{display:block;content:''}
.hero .hub-wrap{margin-bottom:26px}

/* ===== SESSIONE — trattamento editoriale ===== */

/* Linea del tempo dei novanta minuti */
.timeline{margin:48px 0 0;position:relative;padding-left:0}
.tl{display:grid;grid-template-columns:104px 1fr;gap:0;align-items:start;position:relative;padding:34px 0}
.tl + .tl{border-top:1px solid var(--line-l)}
.on-void .tl + .tl{border-top-color:var(--line-d)}
.tl-time{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);padding-top:6px}
.tl-body h3{font-family:var(--disp);font-weight:500;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.02em;color:var(--ink);margin:0 0 10px}
.tl-body p{margin:0;font-size:16.5px;line-height:1.7;color:var(--ink-soft)}
.on-void .tl-body h3{color:var(--chalk)} .on-void .tl-body p{color:#C7C1B2}
@media(max-width:640px){ .tl{grid-template-columns:1fr;gap:8px} .tl-time{padding-top:0} }

/* Listino: numeri grandi, filetti sottili */
.listino{margin-top:46px;border-top:1px solid var(--line-l)}
.on-void .listino{border-top-color:var(--line-d)}
.voce{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line-l)}
.on-void .voce{border-bottom-color:var(--line-d)}
.voce-k{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:10px}
.voce-t{font-family:var(--disp);font-weight:500;font-size:clamp(19px,2.4vw,23px);letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.on-void .voce-t{color:var(--chalk)}
.voce-d{margin:0;font-size:15.5px;line-height:1.65;color:var(--ink-soft);max-width:42ch}
.on-void .voce-d{color:#B4AE9F}
.voce-p{font-family:var(--disp);font-weight:500;font-size:clamp(34px,5vw,52px);letter-spacing:-.04em;color:var(--amber);line-height:1;white-space:nowrap}
.voce-p small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-top:8px;font-weight:400}
.voce.nota{grid-template-columns:1fr;border-bottom:none}
.voce.nota .voce-d{max-width:56ch}
@media(max-width:640px){ .voce{grid-template-columns:1fr;gap:14px} .voce-p{font-size:38px} }

/* Filetto d'apertura sotto l'occhiello */
.rule-amber{width:44px;height:2px;background:var(--amber);margin:0 auto 26px}

/* Segno di stacco fra sezioni */
.mark-sep{display:flex;justify-content:center;padding:8px 0 0}
.mark-sep svg{width:34px;height:34px;opacity:.5}

/* Gruppi dentro il listino */
.gruppo-titolo{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:0 0 4px;padding-top:6px}
.gruppo-titolo.second{margin-top:38px;padding-top:32px;border-top:2px solid var(--line-l)}
.on-void .gruppo-titolo.second{border-top-color:var(--line-d)}
/* la prima coppia di voci si stacca: bordo sinistro sottile */
.listino .voce.primaria{border-left:2px solid var(--amber);padding-left:22px}
.listino .voce.secondaria{padding-left:22px;border-left:2px solid var(--line-l)}
.on-void .listino .voce.secondaria{border-left-color:var(--line-d)}

/* Pulsante compatto per gli elenchi */
.btn.mini{font-size:13px;padding:10px 18px;letter-spacing:.02em}
.voce .btn{margin-top:16px}


/* La barra resta in alto anche durante lo scorrimento, e si stacca con un'ombra */
header.site.scrolled{box-shadow:0 1px 24px rgba(0,0,0,.34); background:rgba(22,21,15,.96)}
/* niente antenati con overflow che romperebbero lo sticky */

@media (max-width:860px){ .nav{padding:11px 0} }


/* Spazio per la barra fissa: il valore preciso lo misura app.js */
body{padding-top:64px}
[id]{scroll-margin-top:88px}
@media (max-width:860px){ body{padding-top:56px} }

/* Il menu a tendina si apre sopra il contenuto, senza spostarlo */
.mobile{max-height:calc(100vh - 54px); overflow-y:auto; -webkit-overflow-scrolling:touch}

/* ===== TEST — trattamento editoriale ===== */

/* la domanda diventa una riga a due colonne: numero grande a sinistra */
#habit-test .q{display:grid;grid-template-columns:64px 1fr;gap:0 22px;align-items:start;
  padding:30px 0;border-top:1px solid var(--line-l)}
#habit-test .q:first-of-type{border-top:1px solid var(--line-l)}
#habit-test .q-text{display:block;margin:0 0 16px;font-family:var(--disp);font-weight:500;
  font-size:clamp(18px,2.5vw,22px);line-height:1.32;letter-spacing:-.015em;color:var(--ink);grid-column:2}
#habit-test .q-num{grid-column:1;grid-row:1 / span 2;font-family:var(--disp);font-weight:500;
  font-size:40px;line-height:1;letter-spacing:-.04em;color:var(--line-l);padding-top:2px;display:block}
#habit-test .q.risposta .q-num{color:var(--amber)}
#habit-test .opts{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}

/* pulsanti sottili, non riempimenti pieni */
#habit-test .opt{flex:0 1 auto;min-width:118px;background:transparent;border:1px solid var(--line-l);
  color:var(--ink-soft);padding:11px 18px;border-radius:2px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .16s ease}
#habit-test .opt:hover{border-color:var(--stone);color:var(--ink)}
#habit-test .opt[aria-pressed="true"]{background:transparent;border-color:var(--amber);
  color:var(--amber);box-shadow:inset 0 -2px 0 var(--amber)}

/* avanzamento come filetto che si riempie */
.q-prog-wrap{display:flex;align-items:center;gap:14px;margin:0 0 8px}
.q-prog-bar{flex:1;height:2px;background:var(--line-l);position:relative;overflow:hidden}
.q-prog-bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--amber);transition:width .3s ease;display:block}

/* risultato: il numero come piastra */
.q-result{margin-top:52px;padding-top:0;border-top:none}
.res-count{display:block;text-align:center;margin:0 0 4px;padding:40px 0 34px;
  border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.res-count .n-top{display:block;font-size:clamp(74px,15vw,124px);line-height:.86;margin-bottom:14px}
.res-count .res-of{display:block;max-width:22ch;margin:0 auto;font-size:clamp(16px,2.2vw,19px);color:var(--ink-soft)}
.res-unknown{text-align:center;margin-top:16px}
.res-band{margin-top:38px;text-align:center}
.res-band h3{margin-bottom:14px}
.res-band p{max-width:52ch;margin:0 auto;text-align:left}

/* ===== TEST A SCORRIMENTO: una domanda alla volta, dentro un riquadro ===== */
#habit-test.passo .q{display:none}
#habit-test.passo .q.attiva{display:grid;animation:qin .32s cubic-bezier(.2,.7,.2,1) both}
@keyframes qin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

#habit-test.passo .riquadro{border:1px solid var(--line-l);border-radius:4px;background:var(--bone);
  padding:34px 34px 30px;margin-top:26px;min-height:238px;display:flex;flex-direction:column;justify-content:center}
#habit-test.passo .q{border-top:none;padding:0}
#habit-test.passo .q-num{font-size:34px}
#habit-test.passo .q-text{font-size:clamp(19px,2.7vw,24px)}

/* barra di avanzamento in cima al riquadro */
#habit-test.passo .q-prog-wrap{margin:0 0 4px}
.passo-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px;min-height:22px}
.passo-indietro{background:none;border:none;cursor:pointer;padding:0;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.passo-indietro:hover{color:var(--ink)}
.passo-indietro[hidden]{visibility:hidden;display:block}
.passo-conta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
@media(max-width:600px){ #habit-test.passo .riquadro{padding:26px 22px 24px;min-height:216px} }

/* Motivo delle tre coppie sotto il primo paragrafo della home */
.coppie{margin:40px auto 6px;max-width:560px}
.coppie img{width:100%;height:auto;display:block}
.coppie figcaption{display:flex;justify-content:space-around;margin-top:6px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}

/* ===== RESPIRO: pulsanti staccati dal testo, e la riga in corsivo dell'apertura ===== */

/* la riga di risposta nell'apertura prende aria dalla riga sopra */
.hero h1 .serif-accent{display:block; margin-top:.34em; line-height:1.16}

/* pulsanti: più distanza dal paragrafo che li precede */
.cta-row{margin-top:40px}
.hero-cta{margin-top:44px}
.narrow > p + .cta-row{margin-top:44px}
.step-c .cta-row{margin-top:26px}          /* dentro i riquadri resta compatto */
.voce .btn{margin-top:20px}

/* anche la riga sotto i pulsanti non si incolla */
.cta-row + .micro{margin-top:20px}

/* ===== CHI SONO — le sette porte come elenco editoriale ===== */
.porte-lista{margin-top:44px;border-top:1px solid var(--line-l)}
.porta-riga{display:grid;grid-template-columns:88px 1fr;gap:0 26px;align-items:start;
  padding:28px 0;border-bottom:1px solid var(--line-l)}
.porta-n{font-family:var(--disp);font-weight:500;font-size:clamp(30px,4.4vw,44px);line-height:.95;
  letter-spacing:-.04em;color:var(--line-l);padding-top:2px}
.porta-riga:hover .porta-n{color:var(--amber);transition:color .2s ease}
.porta-testo h3{font-family:var(--disp);font-weight:500;font-size:clamp(19px,2.5vw,23px);
  letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.porta-testo p{margin:0;font-size:16.5px;line-height:1.68;color:var(--ink-soft);max-width:56ch}
@media(max-width:640px){
  .porta-riga{grid-template-columns:56px 1fr;gap:0 18px;padding:22px 0}
  .porta-n{font-size:28px}
}

/* foto d'apertura: cornice più sobria, senza ombra pesante */
.about-photo{border-radius:4px;border:1px solid #3a362b;box-shadow:none;position:relative}
.about-photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(236,231,219,.10);border-radius:4px;pointer-events:none}
.about-hero{gap:56px;align-items:center}

/* --- home: definizione di "armonico" --- */
.def-armonico{margin-top:1.1em;}
.def-armonico em{font-family:var(--text);font-style:italic;color:var(--amber);}

/* --- pagina /movimento-armonico/ --- */
.ma-hero-art{max-width:620px;margin:0 auto 30px;width:100%}
.ma-hero-art img{width:100%;height:auto;display:block;opacity:.96}
.ma-fig{margin:46px auto 8px;max-width:640px}
.ma-fig img{width:100%;height:auto;display:block}
.ma-fig figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--stone);text-align:center;margin-top:14px;line-height:1.6}
.ma-quote{font-family:var(--text);font-style:italic;font-size:clamp(22px,3.1vw,32px);line-height:1.34;
  color:var(--ink);text-align:center;max-width:20ch;margin:16px auto 54px;position:relative}
.ma-quote:before,.ma-quote:after{content:"";display:block;width:38px;height:2px;background:var(--amber);margin:0 auto}
.ma-quote:before{margin-bottom:28px}
.ma-quote:after{margin-top:28px;background:var(--jade)}
.ma-orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 34px;max-width:280px}
.ma-orn span{flex:1;height:1px;background:var(--line-l)}
.ma-orn i{width:7px;height:7px;border-radius:50%;background:var(--amber);display:block}
.on-void .ma-orn span{background:var(--line-d)}
@media (max-width:640px){.ma-quote{max-width:26ch}}

/* --- /movimento-armonico/ : hero domanda + risposta --- */
.ma-h1{font-size:clamp(34px,5.2vw,58px);font-weight:500;letter-spacing:-.03em;line-height:1.06;margin:0 0 26px;}
.ma-h1 .ma-q{display:block;color:var(--chalk-soft);font-size:.66em;letter-spacing:-.015em;line-height:1.22;
  font-weight:400;margin-bottom:.46em;}
.ma-h1 .ma-a{display:block;font-family:var(--text);font-style:italic;font-weight:400;letter-spacing:0;
  color:var(--amber);line-height:1.12;}
@media (max-width:640px){.ma-h1 .ma-q{font-size:.72em;margin-bottom:.4em}}

/* --- barra: otto voci, larghezze intermedie --- */
.nav-links{flex-wrap:nowrap;}
.nav-links a{white-space:nowrap;}
@media (max-width:1460px){ .nav-links{gap:16px;} .nav-links a{font-size:11.5px; letter-spacing:.02em;} }
@media (max-width:1320px){ .nav-links{gap:12px;} .nav-links a{font-size:11px;} .nav .mark .name{display:none;} }

/* --- accento nelle hero interne (camminata, pagine di secondo livello) --- */
.page-hero h1 .serif-accent{display:block; margin-top:.30em; line-height:1.14; color:var(--amber);}
.page-hero .eyebrow{color:var(--jade);}

/* --- listino: voce in evidenza --- */
.voce.spicco{position:relative;padding-left:22px;background:linear-gradient(90deg,rgba(217,138,43,.09),transparent 62%)}
.voce.spicco:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--amber);border-radius:2px}
.voce.spicco .voce-t{color:var(--amber)}
.voce-badge{display:inline-block;margin-left:10px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:700;color:#16150F;background:var(--amber);border-radius:999px;padding:3px 9px;vertical-align:middle}
@media(max-width:640px){.voce.spicco{padding-left:16px}}


/* Schema esplicativo dentro il corpo dell'articolo */
.fig-schema{margin:34px 0 30px}
.fig-schema img{width:100%;height:auto;display:block;border-radius:3px}

/* Figura verticale dentro un articolo, con credito */
.fig-opera{margin:44px auto 34px;max-width:520px}
.fig-opera img{width:100%;height:auto;display:block;border-radius:3px}
.fig-opera figcaption{margin-top:14px;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.fig-opera .credito{display:block;margin-top:8px;font-family:var(--mono);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.fig-opera .credito a{color:var(--stone);text-decoration:underline;text-underline-offset:2px}
.on-void .fig-opera figcaption{color:#C7C1B2}

/* Apertura d'articolo con opera a fianco */
.art-hero-duo{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.art-hero-duo .art-hero-txt{min-width:0}
.art-hero-duo figure{margin:0}
.art-hero-duo img{width:100%;height:auto;display:block;border-radius:3px}
.art-hero-duo figcaption{margin-top:12px;font-size:13px;line-height:1.55;color:#B4AE9F}
.art-hero-duo .credito{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.art-hero-duo .credito a{color:var(--stone);text-decoration:underline;text-underline-offset:2px}
@media(max-width:820px){
  .art-hero-duo{grid-template-columns:1fr;gap:32px}
  .art-hero-duo figure{max-width:340px;margin:0 auto}
}

/* Illustrazione a fianco di ogni regime */
.regime{display:grid;grid-template-columns:132px 1fr;gap:26px;align-items:start;margin:30px 0 34px}
.regime img{width:132px;height:132px;display:block;border-radius:3px}
.regime .regime-txt h3{margin-top:0}
.regime .regime-txt p:last-child{margin-bottom:0}
@media(max-width:620px){
  .regime{grid-template-columns:1fr;gap:14px}
  .regime img{width:112px;height:112px}
}
