:root{
  --stone:#F5F1EA;--paper:#FBF8F2;--ink:#1A1612;--ink-s:#4A3F33;--ink-m:#6E5840;
  --terra:#B04A2A;--terra-d:#8C3A1F;--terra-t:#EFD9CD;
  --olive:#5A6B3A;--olive-t:#DDE2C8;--adriatic:#2A5670;--adriatic-t:#CFDAE2;--gold:#C9893A;--gold-t:#F0E0C0;
  --gray:#8E8676;--border:#D9D2C3;--border-s:#B8AE9B;
  --fd:'Bodoni Moda','Didot',serif;--fs:'Cormorant Garamond',Georgia,serif;--fn:'Archivo','Helvetica Neue',Arial,sans-serif;--fm:'JetBrains Mono','Menlo',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--fs);font-size:19px;line-height:1.65;color:var(--ink);background:var(--stone);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--terra-t);}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:2px;}
main{position:relative;z-index:2;}
p{margin-bottom:1.5rem;}
p:last-child{margin-bottom:0;}
em{font-style:italic;color:var(--terra);}

.bar{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(245,241,234,.94);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .4s;padding:14px 0;}
.bar.on{border-bottom-color:var(--border);}
.bar-in{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:var(--fd);font-size:21px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;}
.logo span{font-family:var(--fs);font-style:italic;font-size:12px;color:var(--gray);margin-left:.6em;vertical-align:middle;text-transform:none;letter-spacing:.04em;}
.nav-links{display:flex;gap:1.5rem;font-family:var(--fn);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-s);}
.nav-links a:hover,.nav-links a.on{color:var(--terra);}
@media(max-width:720px){.nav-links{display:none;}}

.sec{padding:9rem 0;}
.sec-paper{background:var(--paper);}
.in{max-width:1080px;margin:0 auto;padding:0 1.5rem;}
.in.narrow{max-width:640px;}
@media(max-width:760px){.sec{padding:6rem 0;}}

.sm{font-family:var(--fn);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gray);margin-bottom:2.5rem;display:flex;align-items:baseline;gap:1rem;}
.sm .n{font-family:var(--fd);font-size:14px;font-style:italic;color:var(--terra);letter-spacing:0;}

h1,h2{font-family:var(--fd);font-weight:500;font-size:clamp(2rem,4.4vw,3rem);line-height:1.12;letter-spacing:-.005em;margin-bottom:2.5rem;}
h3{font-family:var(--fd);font-weight:500;font-size:clamp(1.4rem,2.5vw,1.75rem);line-height:1.15;}

.btn{display:inline-flex;align-items:center;gap:1rem;padding:14px 26px;font-family:var(--fn);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:all .3s;background:none;}
.btn::after{content:"→";font-family:var(--fs);font-size:16px;letter-spacing:0;transition:transform .3s;margin-left:4px;}
.btn:hover::after{transform:translateX(4px);}
.bt{background:var(--terra);color:var(--paper);border-color:var(--terra);}
.bt:hover{background:var(--terra-d);}
.bs{background:transparent;color:var(--ink);border-color:var(--ink);}
.bs:hover{background:var(--ink);color:var(--stone);}
.bl{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.bl:hover{background:var(--terra-t);}

.hero{min-height:88vh;padding:12rem 0 6rem;display:flex;flex-direction:column;justify-content:center;}
.hero-in{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr;gap:4rem;align-items:end;}
.hmeta{font-family:var(--fn);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gray);margin-bottom:2.5rem;display:flex;align-items:center;gap:1rem;}
.hmeta::before{content:"";width:32px;height:1px;background:var(--border-s);}
.hl{font-family:var(--fd);font-weight:500;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.01em;margin-bottom:0;}
.hl .l1,.hl .l2,.hl .l3{display:block;opacity:0;transform:translateY(.6em);animation:hi 1.1s cubic-bezier(.16,1,.3,1) forwards;}
.hl .l1{animation-delay:.05s;}
.hl .l2{animation-delay:.25s;font-style:italic;color:var(--terra);}
.hl .l3{animation-delay:.45s;font-style:italic;color:var(--ink-m);font-weight:400;font-size:.62em;margin-top:.4em;letter-spacing:0;}
@keyframes hi{to{opacity:1;transform:translateY(0);}}
.hlede{margin-top:2.5rem;font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.55;color:var(--ink-s);max-width:38em;opacity:0;animation:fi 1s ease-out .85s forwards;}
.hctas{margin-top:2.5rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;opacity:0;animation:fi 1s ease-out 1.05s forwards;}
@keyframes fi{to{opacity:1;}}
@media(prefers-reduced-motion:reduce){.hl .l1,.hl .l2,.hl .l3,.hlede,.hctas{opacity:1;transform:none;animation:none;}}

.narr{font-size:1.15rem;line-height:1.65;text-align:left;}

.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 3rem;margin-top:3rem;}
@media(max-width:640px){.pgrid{grid-template-columns:1fr;}}
.pcat h4{font-family:var(--fn);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:1rem;font-weight:600;}
.pcat ul{list-style:none;}
.pcat li{position:relative;padding-left:1.1em;margin-bottom:.6rem;font-family:var(--fn);font-size:.98rem;line-height:1.55;color:var(--ink-s);}
.pcat li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:1px;background:var(--terra);}
.pq{font-family:var(--fd);font-style:italic;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.3;color:var(--terra);text-align:center;margin:4rem auto;max-width:26em;padding:0 1.5rem;}
.pq::before,.pq::after{content:"";display:block;width:40px;height:1px;background:var(--terra);margin:1.5rem auto;}

.qs{background:var(--paper);padding:9rem 0;position:relative;}
.qs::before,.qs::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--border);}
.qs::before{top:0;}
.qs::after{bottom:0;}
.qf{max-width:580px;margin:0 auto;padding:0 1.5rem;text-align:center;}
.qt{font-family:var(--fd);font-size:clamp(2rem,4vw,2.75rem);line-height:1.12;margin-bottom:1.5rem;}
.qt em{font-style:italic;color:var(--terra);}
.ql{font-size:1.2rem;line-height:1.55;color:var(--ink-s);margin-bottom:4rem;max-width:30em;margin-left:auto;margin-right:auto;}
.qm{display:flex;justify-content:center;gap:4rem;margin-bottom:4rem;font-family:var(--fn);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);}
.qm-i{display:flex;flex-direction:column;align-items:center;gap:2px;}
.qm-i .v{font-family:var(--fd);font-style:italic;font-size:1.5rem;color:var(--terra);letter-spacing:0;text-transform:none;line-height:1;}
.qform{text-align:left;margin-top:2.5rem;}
.field{position:relative;margin-bottom:2.5rem;}
.flbl{display:block;font-family:var(--fn);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gray);margin-bottom:.5rem;}
.flbl .r{color:var(--terra);margin-left:2px;}
.finp{width:100%;border:none;border-bottom:1px solid var(--border-s);background:transparent;padding:10px 0 12px;font-family:var(--fs);font-size:1.2rem;color:var(--ink);outline:none;transition:border-color .3s;border-radius:0;-webkit-appearance:none;}
.finp::placeholder{color:var(--gray);font-style:italic;opacity:.8;}
.finp:focus{border-bottom-color:var(--terra);}
.finp.err{border-bottom-color:var(--terra-d);}
.fhint{display:none;margin-top:6px;font-family:var(--fs);font-style:italic;font-size:.92rem;color:var(--terra-d);}
.field.he .fhint{display:block;}
.qsb{width:100%;margin-top:1.5rem;padding:18px;background:var(--terra);color:var(--paper);font-family:var(--fn);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s;border-radius:0;}
.qsb:hover{background:var(--terra-d);}
.qsb:disabled{opacity:.5;cursor:not-allowed;}
.qft{margin-top:1.5rem;text-align:center;font-family:var(--fs);font-style:italic;font-size:.95rem;color:var(--gray);}
.qerr{display:none;margin-top:1.5rem;padding:1rem 1.5rem;background:var(--terra-t);border-left:2px solid var(--terra);font-family:var(--fs);font-style:italic;color:var(--terra-d);text-align:left;}
.qerr.on{display:block;}

.phase{display:grid;grid-template-columns:80px 1fr 220px;gap:2.5rem;padding:2.5rem 0;border-top:1px solid var(--border);align-items:start;}
.phase:last-of-type{border-bottom:1px solid var(--border);}
.pn{font-family:var(--fd);font-style:italic;font-size:2.5rem;color:var(--terra);line-height:1;}
.pt{font-family:var(--fd);font-size:clamp(1.4rem,2.4vw,1.7rem);font-weight:500;margin-bottom:.5rem;}
.pf{font-family:var(--fs);font-style:italic;font-size:1.05rem;color:var(--terra);margin-bottom:1rem;}
.pb{font-size:1.05rem;line-height:1.6;color:var(--ink-s);text-align:left;}
.po{font-family:var(--fn);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);text-align:right;padding-top:8px;}
.po .l{display:block;margin-bottom:.5rem;}
.po .v{font-family:var(--fd);font-style:italic;font-size:1.15rem;color:var(--ink);letter-spacing:0;text-transform:none;line-height:1.3;}
@media(max-width:880px){
  .phase{grid-template-columns:60px 1fr;gap:1rem;}
  .po{text-align:left;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);}
}

.db{text-align:center;background:var(--ink);color:var(--stone);}
.db h1,.db h2{color:var(--stone);}
.db h1 em,.db h2 em{color:var(--terra-t);}
.dm{display:flex;justify-content:center;gap:4rem;margin:2.5rem 0 4rem;flex-wrap:wrap;}
.dstat{display:flex;flex-direction:column;align-items:center;}
.dsn{font-family:var(--fm);font-weight:500;font-size:2.1rem;color:var(--terra-t);line-height:1;}
.dsl{font-family:var(--fn);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gray);margin-top:.5rem;}

.odiv{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:4rem auto;max-width:480px;color:var(--olive);}
.odiv .line{flex:1;height:1px;background:var(--border-s);}
.odiv svg{width:32px;height:32px;flex-shrink:0;}

.ogr{text-align:center;margin:2.5rem auto 4rem;}
.ogr .gk{display:block;font-family:var(--fd);font-size:clamp(2.8rem,6vw,4.5rem);color:var(--terra);letter-spacing:.02em;line-height:1;margin-bottom:1rem;}
.ogr .tr{display:block;font-family:var(--fs);font-style:italic;font-size:1.05rem;color:var(--ink-m);}
.on{font-size:1.1rem;line-height:1.7;text-align:left;}
.on p{margin-bottom:1.5rem;}
.on strong{font-weight:500;color:var(--terra);font-style:italic;}

.fb{display:grid;grid-template-columns:260px 1fr;gap:4rem;align-items:start;}
@media(max-width:760px){.fb{grid-template-columns:1fr;gap:1.5rem;}}
.fm{border-top:1px solid var(--border);padding-top:1.5rem;}
.fm .fn2{font-family:var(--fd);font-size:1.6rem;font-weight:500;display:block;}
.fm .fr{font-family:var(--fs);font-style:italic;font-size:1rem;color:var(--terra);display:block;margin-bottom:1.5rem;}
.dl{list-style:none;}
.dl li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.98rem;}
.dl .k{font-family:var(--fn);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);align-self:center;}
.fbio{font-size:1.05rem;line-height:1.65;text-align:left;}

.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem;}
@media(max-width:880px){.cg{grid-template-columns:1fr;}}
.cc{display:block;padding:2.5rem;background:var(--paper);border:1px solid var(--border);transition:all .3s;color:var(--ink);}
.cc:hover{border-color:var(--terra);transform:translateY(-2px);}
.cc .cl{font-family:var(--fn);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);margin-bottom:1rem;}
.cc .cv{font-family:var(--fd);font-size:1.5rem;font-style:italic;color:var(--terra);margin-bottom:1rem;line-height:1.2;}
.cc .cs{font-size:1rem;line-height:1.5;color:var(--ink-s);}

.foot{background:var(--ink);color:var(--stone);padding:9rem 0 4rem;}
.foot-in{max-width:880px;margin:0 auto;padding:0 1.5rem;text-align:center;}
.fcl{font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.25;font-weight:400;margin-bottom:3rem;}
.fcl em{font-style:italic;color:var(--terra-t);font-weight:500;}
.fmeta{display:flex;flex-direction:column;align-items:center;gap:1rem;font-family:var(--fn);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);}
.facr{font-family:var(--fs);font-style:italic;font-size:.95rem;letter-spacing:.02em;text-transform:none;color:var(--ink-m);max-width:40em;text-align:center;line-height:1.5;}

/* NODE CARDS — "Cosa costruiamo" catalog (sistemi in linguaggio-nodo) */
.ng{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem;}
@media(max-width:880px){.ng{grid-template-columns:1fr;}}
.ng.ng3{grid-template-columns:repeat(3,1fr);}
@media(max-width:1000px){.ng.ng3{grid-template-columns:1fr;}}
.nc{padding:2.5rem;background:var(--paper);border:1px solid var(--border);transition:border-color .3s;}
.nc:hover{border-color:var(--terra);}
.nc .nl{font-family:var(--fn);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);margin-bottom:.75rem;}
.nc h3{margin-bottom:1rem;}
.nc .np{font-size:1.02rem;line-height:1.6;color:var(--ink-s);margin-bottom:1.25rem;}
.nc .nr{font-family:var(--fn);font-size:.92rem;line-height:1.5;color:var(--terra-d);border-top:1px solid var(--border);padding-top:1rem;}
.nc .nr b{font-weight:600;color:var(--terra);}
.nc .ntag{font-family:var(--fm);font-size:.78rem;letter-spacing:.04em;color:var(--gray);display:block;margin-bottom:.75rem;}

/* IL PROBLEMA — editorial table */
.ptable{width:100%;border-collapse:collapse;margin-top:3rem;}
.ptable th{text-align:left;font-family:var(--fn);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:600;padding-bottom:1rem;border-bottom:1px solid var(--border-s);}
.ptable td{padding:2rem 2.5rem 2rem 0;border-bottom:1px solid var(--border);vertical-align:top;}
.ptable tr:last-child td{border-bottom:none;}
.ptable td.pa{font-family:var(--fd);font-style:italic;color:var(--terra);font-size:1.2rem;white-space:nowrap;width:1%;padding-right:3rem;}
.ptable td.ps p{font-size:1.08rem;line-height:1.75;color:var(--ink-s);}
@media(max-width:680px){
  .ptable,.ptable tbody,.ptable tr,.ptable td{display:block;width:auto;}
  .ptable td{padding:0;border-bottom:none;}
  .ptable tr{padding:1.75rem 0;border-bottom:1px solid var(--border);}
  .ptable td.pa{margin-bottom:.85rem;white-space:normal;}
}

/* "la realtà delle PMI italiane" — national-authority stat cards */
.realgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:3rem 0;}
@media(max-width:900px){.realgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.realgrid{grid-template-columns:1fr;}}
.realitem{background:var(--paper);border:1px solid var(--border);padding:1.75rem 1.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;will-change:transform;}
.realitem:hover{transform:translateY(-3px);box-shadow:0 14px 32px -18px rgba(26,22,18,.28);border-color:var(--terra);}
.realitem .ric{width:28px;height:28px;color:var(--terra);margin-bottom:1rem;}
.realitem .ric svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.realitem .stn{font-family:var(--fm);font-weight:500;font-size:2.1rem;color:var(--terra);display:block;margin-bottom:.6rem;line-height:1;}
.realitem p{font-size:.95rem;line-height:1.5;color:var(--ink-s);margin-bottom:.85rem;}
.realitem a{font-family:var(--fn);font-size:.8rem;color:var(--gray);border-bottom:1px solid var(--border-s);}
.realitem a:hover{color:var(--terra);border-color:var(--terra);}
.realitem-feat{display:flex;align-items:center;gap:1.5rem;max-width:38em;margin:1.5rem auto 0;padding:1.5rem 2rem;background:var(--paper);border:1px solid var(--border);border-left:3px solid var(--gold);text-align:left;transition:transform .3s,box-shadow .3s,border-color .3s;will-change:transform;}
.realitem-feat:hover{transform:translateY(-3px);box-shadow:0 14px 32px -18px rgba(26,22,18,.28);border-color:var(--border);border-left-color:var(--gold);}
.realitem-feat .ric{width:36px;height:36px;flex-shrink:0;margin-bottom:0;color:var(--gold);}
.realitem-feat .rfx p{margin-bottom:.5rem;color:var(--ink);font-weight:500;}
.realitem-feat .rfx a{color:var(--terra-d);}
@media(max-width:600px){.realitem-feat{flex-direction:column;text-align:center;}}

/* stat grid with linked sources */

/* cost-of-inaction, three axes, not all red */
.costgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:3.5rem 0;}
@media(max-width:760px){.costgrid{grid-template-columns:1fr;}}
.costitem{border-top:2px solid var(--c);padding-top:1.25rem;}
.costitem .cic{width:26px;height:26px;color:var(--c);margin-bottom:.85rem;}
.costitem .cic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.costitem .cl{font-family:var(--fd);font-style:italic;font-size:1.25rem;color:var(--c);display:block;margin-bottom:.6rem;}
.costitem p{font-size:1.03rem;line-height:1.55;color:var(--ink-s);}

/* second table: what Itria does per area (Metodo Itria) */
.ptable.mth td.pa{color:var(--olive);}
.ptable.mth th{color:var(--olive);}

/* 3-column problem/method table: area | pratica | cosa costruiamo (olive) */
.ptable2 td,.ptable2 th{padding:1.75rem 2rem 1.75rem 0;}
.ptable2 td.pa{font-size:1.3rem;}
.ptable2 td.ps p{font-size:1.12rem;}
.ptable2 th.mth,.ptable2 td.mth{color:var(--olive);}
.ptable2 td.mth p{color:var(--ink-s);}
.ptable2 td.mth{border-left:1px dashed var(--border-s);padding-left:2rem;}
@media(max-width:680px){.ptable2 td.mth{border-left:none;padding-left:0;}}

/* comparison table (Itria vs generic agency/consulting) */
.cmp{width:100%;border-collapse:collapse;margin-top:3rem;}
.cmp th,.cmp td{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);vertical-align:top;text-align:left;font-size:1rem;line-height:1.5;}
.cmp th{font-family:var(--fn);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);border-bottom:1px solid var(--border-s);}
.cmp td:first-child,.cmp th:first-child{font-family:var(--fn);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);width:18%;}
.cmp td.itria{color:var(--ink);font-weight:500;background:var(--terra-t);}
.cmp th.itria{color:var(--terra-d);}
@media(max-width:760px){
  .cmp,.cmp tbody,.cmp tr,.cmp td,.cmp th{display:block;width:auto;}
  .cmp thead{display:none;}
  .cmp tr{padding:1.5rem 0;border-bottom:1px solid var(--border-s);}
  .cmp td{border-bottom:none;padding:.4rem 0;}
  .cmp td:before{content:attr(data-lbl);display:block;font-family:var(--fn);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-bottom:.25rem;}
}

/* results-expected callout, understated: border + label, no color fill */
.nres{padding:.85rem 0 0;margin-top:.85rem;border-top:1px dashed var(--border-s);}
.nres .rl{display:block;font-family:var(--fn);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:.35rem;}
.nres{font-size:.95rem;line-height:1.5;color:var(--ink-s);}
.nres a{color:var(--ink-s);border-bottom:1px solid var(--border-s);}
.nres a:hover{color:var(--olive);border-color:var(--olive);}

/* service category groups */
.svcgroup{margin-top:4.5rem;}
.svcgroup:first-child{margin-top:0;}
.svchead{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:.85rem;border-bottom:2px solid var(--gc);}
.svchead .gic{width:26px;height:26px;color:var(--gc);flex-shrink:0;}
.svchead .gic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.svchead h3{color:var(--gc);font-size:1.3rem;margin:0;}
.svchead .gn{font-family:var(--fn);font-size:.85rem;color:var(--gray);margin-left:auto;}

/* compact service cards */
.ng.compact{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:0;}
@media(max-width:1000px){.ng.compact{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.ng.compact{grid-template-columns:1fr;}}
.ng.compact.ng-2{grid-template-columns:repeat(2,1fr);max-width:760px;margin-left:auto;margin-right:auto;}
@media(max-width:640px){.ng.compact.ng-2{grid-template-columns:1fr;}}
.ng.compact .nc{padding:1.5rem;}
.ng.compact .nic{width:26px;height:26px;margin-bottom:.85rem;color:var(--gc);}
.ng.compact .nl{display:none;}
.ng.compact h3{font-size:1.15rem;margin-bottom:.6rem;}
.ng.compact .np{font-size:.92rem;line-height:1.5;margin-bottom:1rem;}
.ng.compact .nr{font-size:.82rem;padding-top:.75rem;}
.ng.compact .ntag{margin-bottom:.5rem;}

/* sector icon */
.nic{width:34px;height:34px;color:var(--terra);margin-bottom:1.25rem;}
.nic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;}

/* simple page hero for deep pages (no full-viewport hero, no aside) */
.phero{padding:11rem 0 3rem;}
.phero .in{max-width:820px;}

.rv{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);}
.rv.on{opacity:1;transform:translateY(0);}
.d1{transition-delay:.12s;}
.d2{transition-delay:.24s;}
.d3{transition-delay:.36s;}
.d4{transition-delay:.48s;}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}}

.ov{display:none;position:fixed;inset:0;z-index:100;background:var(--stone);align-items:center;justify-content:center;flex-direction:column;padding:2.5rem;}
.ov.on{display:flex;}
.ov-in{position:relative;text-align:center;max-width:520px;}
.ov-ey{font-family:var(--fn);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gray);margin-bottom:1.5rem;}
.ov-co{font-family:var(--fd);font-style:italic;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--terra);margin-bottom:4rem;line-height:1.2;}
.ov-ol{width:90px;height:90px;margin:0 auto 2.5rem;color:var(--olive);}
.ov-ol svg{width:100%;height:100%;}
.ov-ol path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:200;animation:dr 4s ease-in-out infinite;}
.ov-ol path:nth-child(2){animation-delay:.4s;}
.ov-ol path:nth-child(3){animation-delay:.8s;}
.ov-ol path:nth-child(4){animation-delay:1.2s;}
@keyframes dr{0%{stroke-dashoffset:200;opacity:.2;}40%{stroke-dashoffset:0;opacity:1;}80%{stroke-dashoffset:0;opacity:1;}100%{stroke-dashoffset:-200;opacity:.2;}}
.ov-st{font-family:var(--fd);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--ink);line-height:1.4;min-height:2.4em;margin-bottom:2.5rem;transition:opacity .5s;}
.ov-st.fd{opacity:0;}
.ov-ti{font-family:var(--fn);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gray);display:flex;align-items:center;justify-content:center;gap:1rem;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--terra);animation:bl 1.6s ease-in-out infinite;}
@keyframes bl{0%,100%{opacity:.3;transform:scale(.85);}50%{opacity:1;transform:scale(1);}}
.ov-fn{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--border);font-family:var(--fs);font-style:italic;font-size:.95rem;color:var(--gray);}

/* ============================================================
   FASE ALPHA — CONVERSION LAYER (24 lug 2026)
   Nav mobile · footer sitewide · primo passo · rifiuti · FAQ · verificabilità
   ============================================================ */

/* --- NAV MOBILE: prima non esisteva alcuna navigazione sotto i 720px --- */
.navtog{display:none;background:none;border:0;cursor:pointer;padding:8px;margin:-8px;color:var(--ink);}
.navtog svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;}
@media(max-width:720px){
  .navtog{display:block;}
  .nav-links{display:flex;position:fixed;inset:56px 0 auto 0;flex-direction:column;gap:0;
    background:var(--stone);border-bottom:1px solid var(--border);padding:.5rem 0 1.25rem;
    font-size:12px;letter-spacing:.24em;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;}
  .nav-links a{padding:.9rem 1.5rem;border-bottom:1px solid var(--border);}
  .nav-links a:last-child{border-bottom:none;}
  .bar.navopen .nav-links{opacity:1;visibility:visible;transform:none;}
}

/* --- LINEA DEI CHECKPOINT (sotto le tab) ---
   Un pallino per sezione, da Metodo a Contatti. La posizione orizzontale la
   assegna progress.js misurando il centro di ogni tab: qui non ci sono
   coordinate, solo l'aspetto. Sotto i 720px la nav diventa un menu a tendina
   e la linea non avrebbe piu' nulla a cui agganciarsi, quindi sparisce —
   il che tiene anche l'altezza della barra a 56px, come assume `inset:56px`
   del menu mobile qui sopra. */
.ckrail{position:relative;max-width:1280px;margin:7px auto -3px;height:16px;}
@media(max-width:720px){.ckrail{display:none;}}

.ckline{position:absolute;top:50%;height:1px;background:var(--border);transform:translateY(-50%);overflow:hidden;}
/* Il riempimento e' sempre largo quanto la linea e viene scalato: animare
   `width` non funziona qui, perche' la larghezza della linea viene rimisurata
   a ogni resize e la transizione ripartirebbe da capo ogni volta, restando
   ferma a zero. `scaleX` e' indipendente dalla misura (e gira sul compositor). */
.ckfill{height:100%;width:100%;background:var(--terra);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .8s cubic-bezier(.16,1,.3,1);}

.ckdot{position:absolute;top:50%;transform:translate(-50%,-50%);
  width:20px;height:20px;display:flex;align-items:center;justify-content:center;}
.ckdot-i{width:7px;height:7px;border-radius:50%;background:var(--stone);
  border:1px solid var(--border-s);
  transition:background .45s ease,border-color .45s ease,box-shadow .45s ease,transform .3s ease;}
.ckdot:hover .ckdot-i{transform:scale(1.35);border-color:var(--terra);}

/* Tappa raggiunta (fino al punto in cui ci si trova) */
.ckdot.on .ckdot-i{background:var(--terra);border-color:var(--terra);}
/* Gia' visitata ma piu' avanti del punto attuale: solo il contorno */
.ckdot.seen .ckdot-i{border-color:var(--terra);background:var(--terra-t);}
/* Tappa in cui ci si trova adesso */
.ckdot.now .ckdot-i{box-shadow:0 0 0 4px var(--terra-t);}

/* Contatti: la meta del percorso, quindi piu' grande e piu' presente */
.ckdot-meta{width:26px;height:26px;}
.ckdot-meta .ckdot-i{width:11px;height:11px;border-color:var(--terra);}
.ckdot-meta:not(.on) .ckdot-i{animation:ckattesa 2.8s ease-in-out infinite;}
@keyframes ckattesa{
  0%,100%{box-shadow:0 0 0 0 rgba(176,74,42,.30);}
  50%    {box-shadow:0 0 0 6px rgba(176,74,42,0);}
}

/* Contatti raggiunto: la linea si accende tutta */
.ckrail.done .ckline{background:var(--terra-t);}
.ckrail.done .ckfill{background:linear-gradient(90deg,var(--terra),var(--gold),var(--terra));
  background-size:200% 100%;animation:cksweep 3s ease-in-out infinite;}
.ckrail.done .ckdot-meta .ckdot-i{background:var(--terra);
  box-shadow:0 0 0 5px var(--terra-t),0 0 16px rgba(176,74,42,.45);animation:none;}
@keyframes cksweep{0%{background-position:0% 0;}100%{background-position:200% 0;}}

@media(prefers-reduced-motion:reduce){
  .ckfill{transition:none;}
  .ckrail.done .ckline{background:var(--terra);}
  .ckdot-i,.ckdot-meta:not(.on) .ckdot-i,.ckrail.done .ckfill{animation:none;transition:none;}
}

/* --- FOOTER SITEWIDE --- */
.foot-in.wide{max-width:1080px;text-align:left;}
.fnav{display:grid;grid-template-columns:1.5fr .9fr .9fr .9fr;gap:3rem 2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(245,241,234,.14);}
@media(max-width:760px){.fnav{grid-template-columns:1fr;gap:2.5rem;}}
.fnav h4{font-family:var(--fn);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gray);margin-bottom:1.25rem;font-weight:600;}
.fnav ul{list-style:none;}
.fnav li{margin-bottom:.7rem;font-family:var(--fs);font-size:1rem;color:var(--stone);}
.fnav a{border-bottom:1px solid transparent;transition:border-color .3s,color .3s;}
.fnav a:hover{color:var(--terra-t);border-bottom-color:var(--terra-t);}
.fnav .fcl{font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:1.5rem;}
.fbot{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;justify-content:space-between;align-items:baseline;padding-top:2rem;
  font-family:var(--fn);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);}
.fbot a:hover{color:var(--terra-t);}

/* --- IL PRIMO PASSO: il blocco che rende l'impegno finito e verificabile --- */
.step{background:var(--ink);color:var(--stone);border:1px solid rgba(245,241,234,.14);padding:3.5rem;max-width:56em;margin:0 auto;}
@media(max-width:640px){.step{padding:2rem 1.5rem;}}
.step h3{font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.25;margin-bottom:1.5rem;color:var(--stone);}
.step h3 em{color:var(--terra-t);}
.step p{color:var(--stone);opacity:.86;font-size:1.05rem;line-height:1.6;}
.stepgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:2.5rem 0;padding:2rem 0;
  border-top:1px solid rgba(245,241,234,.14);border-bottom:1px solid rgba(245,241,234,.14);}
@media(max-width:760px){.stepgrid{grid-template-columns:repeat(2,1fr);gap:2rem 1rem;}}
.stepgrid .v{display:block;font-family:var(--fm);font-size:1.6rem;font-weight:500;color:var(--terra-t);line-height:1;}
.stepgrid .l{display:block;font-family:var(--fn);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);margin-top:.6rem;}
.stepout{font-family:var(--fs);font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--terra-t);margin-top:2rem;}

/* --- COSA NON FACCIAMO: il rifiuto come prova di competenza --- */
.nofit{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--border);margin-top:3rem;background:var(--paper);}
@media(max-width:760px){.nofit{grid-template-columns:1fr;}}
.nofit li{list-style:none;padding:1.75rem 2rem;border-bottom:1px solid var(--border);display:flex;gap:1rem;align-items:flex-start;
  font-size:1.02rem;line-height:1.55;color:var(--ink-s);}
.nofit li:nth-child(odd){border-right:1px solid var(--border);}
@media(max-width:760px){.nofit li:nth-child(odd){border-right:none;}}
.nofit li:last-child,.nofit li:nth-last-child(2):nth-child(odd){border-bottom:none;}
@media(max-width:760px){.nofit li:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--border);}}
.nofit .x{flex:0 0 auto;font-family:var(--fm);font-size:.9rem;color:var(--terra);line-height:1.7;}
.nofit b{font-weight:600;color:var(--ink);}

/* --- VERIFICABILITÀ: la regola sui numeri, dichiarata in chiaro --- */

/* --- FAQ / OBIEZIONI --- */
.faq{max-width:46em;margin:3rem auto 0;border-top:1px solid var(--border);}
.faq details{border-bottom:1px solid var(--border);}
.faq summary{list-style:none;cursor:pointer;padding:1.6rem 2.5rem 1.6rem 0;position:relative;
  font-family:var(--fd);font-size:1.2rem;line-height:1.35;color:var(--ink);transition:color .3s;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--terra);}
.faq summary::after{content:"+";position:absolute;right:0;top:1.5rem;font-family:var(--fm);font-size:1.2rem;color:var(--terra);transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .fa{padding:0 2.5rem 1.75rem 0;font-size:1.05rem;line-height:1.65;color:var(--ink-s);}
.faq .fa p{margin-bottom:1rem;}
.faq .fa a{color:var(--terra);border-bottom:1px solid var(--terra-t);}

/* --- PAGINE SETTORE: hero, giornata tipo, chiusura --- */
.shero{padding-top:11rem;}
.shero .seyebrow{font-family:var(--fn);font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--terra);margin-bottom:1.5rem;display:flex;align-items:center;gap:.9rem;}
.shero .seyebrow::before{content:"";width:28px;height:1px;background:var(--terra);}
.shero h1{font-family:var(--fd);font-size:clamp(2.4rem,5.4vw,4rem);line-height:1.08;font-weight:400;letter-spacing:-.01em;max-width:15em;margin-bottom:0;}
.shero h1 em{font-style:italic;color:var(--terra);}
.shero .slede{font-family:var(--fs);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55;color:var(--ink-s);max-width:38em;margin-top:2rem;}
.sback{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--fn);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);margin-bottom:2.5rem;transition:color .3s;}
.sback:hover{color:var(--terra);}

/* giornata tipo — dove se ne vanno le ore, ora per ora */
.tline{margin-top:3rem;border-left:1px solid var(--border-s);padding-left:0;max-width:52em;}
.trow{display:grid;grid-template-columns:88px 1fr;gap:0 2rem;padding:0 0 2.75rem 2rem;position:relative;}
.trow:last-child{padding-bottom:0;}
.trow::before{content:"";position:absolute;left:-4.5px;top:.55rem;width:8px;height:8px;border-radius:50%;background:var(--stone);border:1px solid var(--border-s);transition:background .3s,border-color .3s;}
.trow:hover::before{background:var(--terra);border-color:var(--terra);}
.trow .th{font-family:var(--fm);font-size:.95rem;font-weight:500;color:var(--terra);letter-spacing:-.02em;padding-top:.15rem;}
.trow .tb h4{font-family:var(--fd);font-size:1.25rem;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:.6rem;}
.trow .tb p{font-size:1.02rem;line-height:1.6;color:var(--ink-s);margin-bottom:.85rem;}
.trow .tfix{display:block;font-family:var(--fn);font-size:.86rem;line-height:1.5;letter-spacing:.01em;color:var(--olive);padding-left:1.4rem;position:relative;}
.trow .tfix::before{content:"→";position:absolute;left:0;top:0;font-family:var(--fs);}
.trow .tfix a{color:var(--olive);border-bottom:1px solid var(--olive-t);}
@media(max-width:640px){
  .trow{grid-template-columns:1fr;gap:.5rem;padding-left:1.5rem;}
  .trow .th{padding-top:0;}
}
.tsum{max-width:52em;margin-top:3rem;padding:1.75rem 2rem;background:var(--paper);border:1px solid var(--border);
  font-family:var(--fs);font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--ink-s);}
.tsum b{font-style:normal;font-weight:600;color:var(--ink);}

/* ============================================================
   PROVA DI COSTRUZIONE — flow diagram + stat proof (24 lug 2026)
   ============================================================ */
.pbuild{background:var(--ink);color:var(--stone);padding:6rem 0;}
.pbuild .sm span{color:var(--stone);opacity:.7;}
.pbuild .sm .n{color:var(--terra-t);}
.pbuild h2{color:var(--stone);}
.pbuild h2 em{color:var(--terra-t);}
.pbuild .plede{color:var(--stone);opacity:.82;font-size:1.1rem;line-height:1.6;max-width:42em;margin-top:1.25rem;}

.pflow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:4rem 0 3rem;position:relative;}
@media(max-width:880px){.pflow{grid-template-columns:1fr;gap:2rem;}}
.pflow::before{content:"";position:absolute;top:26px;left:12.5%;right:12.5%;height:1px;background:rgba(245,241,234,.16);}
@media(max-width:880px){.pflow::before{display:none;}}
.pfnode{position:relative;padding:0 1.25rem;text-align:center;}
@media(max-width:880px){.pfnode{text-align:left;padding:0 0 0 3.5rem;}}
.pfnum{width:52px;height:52px;border-radius:50%;background:var(--ink);border:1px solid var(--terra-t);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;position:relative;z-index:2;
  font-family:var(--fm);font-size:1rem;font-weight:500;color:var(--terra-t);}
@media(max-width:880px){.pfnum{position:absolute;left:0;top:0;margin:0;}}
.pfnode h4{font-family:var(--fd);font-size:1.2rem;font-weight:400;color:var(--stone);margin-bottom:.6rem;}
.pfnode p{font-size:.95rem;line-height:1.55;color:var(--stone);opacity:.78;}

.pstats{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap;padding-top:3rem;border-top:1px solid rgba(245,241,234,.14);}
.pstat{text-align:center;}
.pstat .v{display:block;font-family:var(--fm);font-size:2.1rem;font-weight:500;color:var(--terra-t);line-height:1;}
.pstat .l{display:block;font-family:var(--fn);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);opacity:.62;margin-top:.7rem;}
.pnote{font-family:var(--fs);font-style:italic;font-size:1.02rem;line-height:1.55;color:var(--stone);opacity:.78;max-width:44em;margin:2.5rem auto 0;text-align:center;}

/* card lift on hover — premium feel across the site */
.nc,.cc{will-change:transform;}
.nc:hover,.cc:hover{transform:translateY(-3px);box-shadow:0 14px 32px -18px rgba(26,22,18,.28);}

/* ============================================================
   APPLICAZIONI REALI — prototipi per settore (24 lug 2026)
   ============================================================ */
.proto{background:var(--ink);color:var(--stone);padding:4.5rem 3rem;margin-top:3rem;border-radius:2px;}
@media(max-width:760px){.proto{padding:3rem 1.5rem;}}
.proto + .proto{margin-top:2.5rem;}
.proto .ptag{font-family:var(--fn);font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--terra-t);margin-bottom:1rem;}
.proto h3{font-family:var(--fd);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:400;line-height:1.25;color:var(--stone);max-width:22em;}
.proto h3 em{color:var(--terra-t);font-style:italic;}

/* Feature card — clean surface, lifts with shadow on hover like .nc/.cc */
.feature-card{
  background:var(--paper);
  border:1px solid var(--border-s);
  border-radius:2px;
  max-width:640px;
  margin:2.5rem auto 0;
  padding:3.5rem 3rem;
  box-shadow:0 18px 40px -22px rgba(26,22,18,.18);
  transition:transform .3s, box-shadow .3s, border-color .3s;
  will-change:transform;
}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px -16px rgba(26,22,18,.28);border-color:var(--adriatic);}
@media(max-width:640px){.feature-card{padding:2.5rem 1.75rem;}}
.proto .ppitch{font-size:1.02rem;line-height:1.6;color:var(--stone);opacity:.82;max-width:40em;margin-top:1rem;}

.ptime{margin-top:2.75rem;overflow-x:auto;}
.ptime table{width:100%;border-collapse:collapse;min-width:480px;}
.ptime th{text-align:left;font-family:var(--fn);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);opacity:.55;padding-bottom:.85rem;border-bottom:1px solid rgba(245,241,234,.16);}
.ptime th:not(:first-child),.ptime td:not(:first-child){text-align:right;}
.ptime td{padding:.85rem 0;border-bottom:1px solid rgba(245,241,234,.09);font-family:var(--fm);font-size:.95rem;}
.ptime td:first-child{font-family:var(--fs);font-size:1rem;color:var(--stone);}
.ptime td.before{color:#D99B7E;}
.ptime td.after{color:#9FD98A;font-weight:600;}

.pmotori{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(245,241,234,.12);margin-top:2.75rem;border:1px solid rgba(245,241,234,.12);}
.pmotori .pm{background:var(--ink);padding:1.5rem 1.65rem;}
.pmotori .pm .ptagm{font-family:var(--fn);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-t);font-weight:600;display:block;margin-bottom:.6rem;}
.pmotori .pm h4{font-family:var(--fd);font-size:1.1rem;font-weight:400;color:var(--stone);margin-bottom:.5rem;}
.pmotori .pm p{font-size:.92rem;line-height:1.5;color:var(--stone);opacity:.75;}

.pduo{display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem;margin-top:2.75rem;align-items:stretch;}
@media(max-width:700px){.pduo{grid-template-columns:1fr;}}
.pstress{display:flex;border:1px solid rgba(245,241,234,.16);}
.pstress > div{flex:1;padding:1.5rem .5rem;text-align:center;}
.pstress > div + div{border-left:1px solid rgba(245,241,234,.16);}
.pstress .n{font-family:var(--fm);font-weight:600;font-size:1.7rem;color:var(--stone);}
.pstress .n .u{font-size:.85rem;color:var(--stone);opacity:.6;}
.pstress .l{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);opacity:.55;margin-top:.5rem;font-weight:500;}

.pstake{background:rgba(159,217,138,.1);border:1px solid rgba(159,217,138,.28);padding:1.5rem 1.65rem;}
.pstake .amt{font-family:var(--fm);font-weight:600;font-size:1.7rem;color:#9FD98A;white-space:nowrap;}
.pstake .amt small{font-family:var(--fn);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);opacity:.65;margin-left:.4rem;}
.pstake .pchips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.9rem;}
.pstake .pchip{border:1px solid rgba(245,241,234,.18);background:rgba(245,241,234,.05);padding:.35rem .6rem;font-size:.82rem;color:var(--stone);opacity:.85;}
.pstake .pchip b{font-family:var(--fm);font-weight:600;color:#9FD98A;font-size:.85rem;}

.pmath{margin-top:1.5rem;border:1px solid rgba(245,241,234,.16);}
.pmath summary{list-style:none;cursor:pointer;padding:.9rem 1.25rem;font-family:var(--fn);font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--stone);opacity:.85;display:flex;align-items:center;gap:.6rem;}
.pmath summary::-webkit-details-marker{display:none;}
.pmath summary::before{content:"+";font-family:var(--fm);color:var(--terra-t);}
.pmath[open] summary::before{content:"\2212";}
.pmath .pmbody{padding:0 1.25rem 1.25rem;}
.pmstep{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(245,241,234,.08);font-size:.88rem;}
.pmstep:last-child{border-bottom:none;font-weight:600;color:#9FD98A;}
.pmstep .k{color:var(--stone);opacity:.75;}
.pmstep .v{font-family:var(--fm);color:var(--stone);white-space:nowrap;}
