/* ZentoDesk signature layout — a narrative naming score, not a card catalogue. */
.score-hero{padding:76px 0 80px;border-bottom:1px solid var(--ink)}
.score-title{max-width:1180px}
.score-title:before{content:"ATTO 01  /  IL NOME ENTRA IN SCENA";display:block;margin-bottom:3rem;font:800 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;color:var(--muted)}
.score-title h1{font-family:"Arial Nova",Arial,ui-sans-serif,sans-serif;font-size:clamp(4rem,6.2vw,5.9rem);line-height:.94;letter-spacing:-.058em;margin:.35rem 0 2rem;font-weight:900}
.score-title h1 span{display:block}
.score-title-main{color:var(--ink)}
.score-title-accent{color:var(--violet);margin-top:.08em}
.score-title .lead{max-width:760px;margin-left:0;font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.58}
.score-title .hero-actions{margin-left:0;margin-top:1.8rem}
.name-score{margin:78px 0 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:0;position:relative}
.score-ruler{height:54px;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:14px;border-bottom:1px solid var(--ink);font:800 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:var(--muted)}
.score-ruler i{height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 5px,transparent 5px 9px)}
.score-line{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.6fr) minmax(130px,.55fr);gap:24px;align-items:center;min-height:92px;padding:18px clamp(16px,4vw,56px);border-bottom:1px solid var(--line);position:relative}
.score-line:last-of-type{border-bottom:0}
.score-line:before{content:"";position:absolute;left:0;width:10px;height:10px;background:var(--violet)}
.score-line.primary-line{background:var(--ink);color:#fff}
.score-line.primary-line:before{background:var(--cyan)}
.score-line.muted-line{color:var(--muted)}
.score-line b{font-size:clamp(1.2rem,2.4vw,2rem);letter-spacing:-.04em}
.score-line span{font-size:.92rem}
.score-line em{font:800 .65rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--violet);font-style:normal}
.score-line.primary-line em{color:#ff7898}
.name-score figcaption{position:absolute;right:0;bottom:-28px;font:700 .65rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}
.score-hero>.proof{max-width:820px;margin:66px auto 0;justify-content:center}

.route-section{padding:120px 0 100px;position:relative;overflow:hidden}
.route-intro{max-width:840px;margin:0 auto 88px;text-align:center}
.route-intro:before{content:"";display:block;width:8px;height:54px;background:var(--cyan);margin:0 auto 24px}
.route-intro h2{font-size:clamp(3rem,6vw,6.4rem);line-height:.9;letter-spacing:-.07em;margin:.3rem 0 1.2rem}
.route-intro p{max-width:620px;margin:auto;color:var(--muted)}
.decision-route{list-style:none;padding:0;margin:0;position:relative}
.decision-route:before{content:"";position:absolute;top:2%;bottom:5%;left:50%;border-left:2px dashed #aa9caf;transform:rotate(5deg);transform-origin:top}
.decision-route li{width:52%;min-height:190px;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px;margin-bottom:12px;position:relative;background:var(--bg)}
.decision-route li:nth-child(1){margin-left:3%}
.decision-route li:nth-child(2){margin-left:39%}
.decision-route li:nth-child(3){margin-left:13%}
.decision-route li:nth-child(4){margin-left:46%}
.decision-route li:nth-child(5){margin-left:24%}
.decision-route li>span{font:900 clamp(5rem,9vw,9rem)/1 "Arial Nova",Arial,sans-serif;color:transparent;-webkit-text-stroke:1px var(--violet);letter-spacing:-.08em}
.decision-route li>div{border-top:1px solid var(--ink);padding:20px 0 12px}
.decision-route small{font:800 .63rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--cyan);letter-spacing:.12em}
.decision-route h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1;margin:.65rem 0 .5rem}
.decision-route p{margin:0;color:var(--muted);max-width:420px}

.index-section{padding:110px 0}
.index-heading{max-width:1000px;margin:0 auto 62px;text-align:center}
.index-heading h2{font-size:clamp(3rem,6vw,6rem);line-height:.92;letter-spacing:-.07em;margin:.4rem 0 1.8rem}
.index-heading>a{font:850 .75rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--violet);text-transform:uppercase}
.instrument-index{border-top:1px solid var(--ink)}
.instrument-row{display:grid;grid-template-columns:72px minmax(220px,.8fr) minmax(280px,1.2fr) 42px;align-items:center;gap:24px;min-height:112px;border-bottom:1px solid var(--ink);padding:20px 18px;text-decoration:none;position:relative;transition:background-color .15s,color .15s,padding .15s}
.instrument-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--cyan);transition:width .15s}
.instrument-row:hover,.instrument-row:focus-visible{background:var(--ink);color:#fff;padding-left:32px}
.instrument-row:hover:before,.instrument-row:focus-visible:before{width:8px}
.instrument-no{font:850 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--violet);letter-spacing:.1em}
.instrument-row h3{font-size:clamp(1.3rem,2.2vw,2rem);letter-spacing:-.045em;margin:0}
.instrument-row p{margin:0;color:var(--muted);font-size:.92rem}
.instrument-row:hover p,.instrument-row:focus-visible p{color:#ded3e2}
.instrument-go{font-size:1.6rem;color:var(--cyan)}

.notes-section{padding:110px 0}
.notes-heading{max-width:820px;margin-bottom:64px}
.notes-heading h2{font-size:clamp(3rem,5.4vw,5.6rem);line-height:.92;letter-spacing:-.07em;margin:.4rem 0}
.editorial-index{counter-reset:notes;border-top:1px solid var(--ink)}
.editorial-row{display:grid;grid-template-columns:72px minmax(0,1fr) 70px;gap:24px;align-items:start;padding:30px 12px;border-bottom:1px solid var(--ink);text-decoration:none}
.editorial-row>span{font:850 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--violet)}
.editorial-row h3{font-size:clamp(1.45rem,2.7vw,2.5rem);letter-spacing:-.05em;margin:0 0 .45rem}
.editorial-row p{margin:0;max-width:760px;color:var(--muted)}
.editorial-row>b{font:850 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;color:var(--violet);padding-top:.35rem}
.editorial-row:nth-child(even){padding-left:clamp(12px,8vw,110px)}
.editorial-row:hover,.editorial-row:focus-visible{background:var(--soft-violet)}

.index-hero{padding-bottom:86px}
.index-hero h1{max-width:960px}
.index-count{position:absolute;right:2%;top:42%;display:flex;align-items:center;gap:16px}
.index-count strong{font-size:clamp(4rem,7vw,7rem);line-height:.8;color:var(--violet);letter-spacing:-.08em}
.index-count span{font:750 .7rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;color:var(--muted)}
.stream-catalogue{padding:72px 0}
.stream-catalogue>header{display:grid;grid-template-columns:72px 1fr 1.2fr 42px;gap:24px;padding:0 18px 14px;border-bottom:1px solid var(--ink);font:800 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);letter-spacing:.12em}
.stream-catalogue>header span:nth-child(2){grid-column:2}
.stream-catalogue>header span:nth-child(3){grid-column:3}

/* The supporting pages use editorial sequences instead of repeated mini-card grids. */
.related .link-grid{display:block;border:0;border-top:1px solid var(--ink)}
.related .link-card{border:0;border-bottom:1px solid var(--ink);padding:24px 8px;border-radius:0;font-size:1.1rem}
.related .link-card:hover{padding-left:22px;background:var(--soft-violet)}
.method-strip{display:block;border:0;border-top:1px solid var(--ink)}
.method-strip article{display:grid;grid-template-columns:160px minmax(220px,.55fr) minmax(280px,1fr);gap:28px;align-items:start;min-height:0;border:0;border-bottom:1px solid var(--ink);padding:30px 8px}
.method-strip article span{grid-column:1;padding-top:.4rem}
.method-strip article h2{grid-column:2;margin:0}
.method-strip article p{grid-column:3;margin:.2rem 0 0;color:var(--muted)}
.explain-grid{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.explain-grid article{border:0;background:transparent}
.explain-grid article+article{border-left:1px solid var(--ink)}
.scenario-board{display:block;border:0;border-top:1px solid var(--ink);background:transparent}
.scenario-board>div{display:grid;grid-template-columns:170px minmax(220px,.7fr) minmax(280px,1fr);gap:26px;min-height:0;border-bottom:1px solid var(--ink);padding:30px 8px}
.scenario-board>div>span{grid-column:1;padding-top:.4rem}
.scenario-board>div>h2{grid-column:2;margin:0}
.scenario-board>div>p{grid-column:3;margin:.2rem 0 0;color:var(--muted)}
.case-track{display:block;border:0;border-top:1px solid var(--ink)}
.case-track>div{display:grid;grid-template-columns:150px 1fr;gap:28px;min-height:0;border:0;border-bottom:1px solid var(--ink);padding:28px 8px;background:transparent}
.case-track>div>span{grid-column:1}.case-track>div>p,.case-track>div>h2{grid-column:2;margin-top:0}
.case-track .selected{background:var(--violet);padding-left:24px}
.case-evidence{margin:70px 0}
.case-evidence>header{max-width:780px;margin-bottom:34px}
.case-evidence>header h2{font-size:clamp(2.2rem,4.5vw,4.6rem);line-height:.94;letter-spacing:-.06em;margin:.35rem 0 .8rem}
.case-evidence>header p:last-child{color:var(--muted)}
.case-evidence-list{border-top:1px solid var(--ink)}
.case-evidence-list article{display:grid;grid-template-columns:64px minmax(220px,.85fr) minmax(260px,1fr);gap:26px;align-items:start;padding:28px 8px;border-bottom:1px solid var(--ink)}
.case-evidence-list article>span{font:850 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--violet)}
.case-evidence-list h3{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.05;margin:0 0 .45rem}
.case-evidence-list p{color:var(--muted);margin:0}
.case-evidence-list strong{font-size:.9rem;line-height:1.45;border-left:4px solid var(--cyan);padding-left:16px}

@media(max-width:980px){
  .score-title h1 span,.score-title .lead,.score-title .hero-actions{margin-left:0}
  .decision-route:before{left:72px;transform:none}
  .decision-route li,.decision-route li:nth-child(n){width:100%;margin-left:0;grid-template-columns:120px 1fr}
  .index-count{position:static;margin-top:32px}
  .method-strip article,.scenario-board>div{grid-template-columns:130px 1fr}
  .method-strip article span,.scenario-board>div>span{grid-column:1}
  .method-strip article h2,.scenario-board>div>h2{grid-column:2}
  .method-strip article p,.scenario-board>div>p{grid-column:2}
}

@media(max-width:720px){
  .score-hero{padding:56px 0 64px}
  .score-title:before{margin-bottom:2.5rem}
  .score-title h1{font-size:clamp(3.15rem,13vw,4.45rem);line-height:.94;letter-spacing:-.052em}
  .name-score{margin-top:52px}
  .score-ruler{grid-template-columns:auto 1fr auto 1fr auto;font-size:.55rem}
  .score-ruler span:nth-of-type(4),.score-ruler i:nth-of-type(3){display:none}
  .score-line{grid-template-columns:1fr;gap:5px;padding:20px 18px;min-height:0}
  .score-line em{margin-top:8px}
  .name-score figcaption{position:static;padding:14px 0}
  .score-hero>.proof{margin-top:32px;justify-content:flex-start}
  .route-section{padding:84px 0 70px}
  .route-intro{text-align:left;margin-bottom:56px}
  .route-intro:before{margin-left:0}
  .route-intro h2{font-size:3.4rem}
  .decision-route:before{left:39px}
  .decision-route li,.decision-route li:nth-child(n){grid-template-columns:74px 1fr;gap:14px;min-height:150px}
  .decision-route li>span{font-size:4rem}
  .instrument-row{grid-template-columns:52px 1fr 30px;gap:12px;padding:22px 6px}
  .instrument-row p{grid-column:2/4;margin-top:-4px}
  .instrument-row:hover,.instrument-row:focus-visible{padding-left:14px}
  .index-heading{text-align:left}
  .index-heading h2,.notes-heading h2{font-size:3.35rem}
  .editorial-row{grid-template-columns:42px 1fr;gap:12px;padding:24px 4px}
  .editorial-row>b{display:none}
  .editorial-row:nth-child(even){padding-left:28px}
  .stream-catalogue>header{display:none}
  .index-count strong{font-size:4.5rem}
  .method-strip article,.scenario-board>div{display:block;padding:24px 4px}
  .method-strip article h2,.scenario-board>div h2{margin:.8rem 0}
  .case-track>div{grid-template-columns:92px 1fr;gap:14px}
  .case-evidence-list article{grid-template-columns:38px 1fr;gap:12px;padding:24px 4px}
  .case-evidence-list article>strong{grid-column:2;margin-top:4px}
  .explain-grid article+article{border-left:0;border-top:1px solid var(--ink)}
}
