:root{
  --ink:#241c16;--paper:#f3eadb;--paper2:#e7d7be;--night:#191817;
  --red:#7c2d25;--blue:#263f59;--gold:#aa813b;--green:#3e5d49;
  --muted:#6f6256;--line:#c6b18f;--serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --shadow:0 18px 55px rgba(39,29,18,.14)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#d3c6b4}
body{margin:0;color:var(--ink);font-family:var(--serif);line-height:1.76;background:
radial-gradient(circle at 12% 0,rgba(124,45,37,.06),transparent 28rem),
linear-gradient(180deg,#e4d8c6,#cfc1ad)}
a{color:inherit}button{font:inherit}
.progress{position:fixed;top:0;left:0;height:4px;width:0;z-index:100;background:linear-gradient(90deg,var(--blue),var(--red),var(--gold))}
.masthead{position:relative;min-height:78vh;display:grid;place-items:center;padding:7rem 1.3rem 4rem;overflow:hidden;background:
radial-gradient(circle at 82% 20%,rgba(170,129,59,.14),transparent 20rem),
linear-gradient(135deg,#191716,#29221c 58%,#171514);color:#f8f0e4}
.masthead::after{content:"";position:absolute;inset:0;background:
repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.015) 47px 48px),
linear-gradient(180deg,transparent 60%,rgba(0,0,0,.38));pointer-events:none}
.illuminated-letter{position:absolute;right:4vw;top:2vh;font-size:min(48vw,40rem);line-height:.9;font-weight:700;color:rgba(170,129,59,.11);font-family:Georgia,serif;transform:rotate(-3deg);user-select:none}
.hero{position:relative;z-index:2;max-width:1160px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:end}
.kicker{font:800 .76rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#e0c37e}
h1{font-size:clamp(4rem,12vw,9rem);line-height:.85;letter-spacing:-.055em;margin:.5rem 0 .7rem;font-weight:600}
.subtitle{font-size:clamp(1.5rem,3vw,2.3rem);margin:.2rem 0 .7rem;color:#e9d9bd}
.dek{font-size:clamp(1.12rem,2vw,1.55rem);max-width:760px;color:#efe4d4}
.hero-card{border:1px solid rgba(255,255,255,.22);background:rgba(24,20,17,.55);backdrop-filter:blur(8px);padding:1.35rem;box-shadow:var(--shadow)}
.hero-card b{font:850 .7rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#e7c987}
.hero-card p{font-size:1rem;line-height:1.58;margin:.6rem 0 0}
.shell{max-width:1420px;margin:auto;background:var(--paper);box-shadow:0 0 75px rgba(29,22,17,.15)}
.nav-wrap{position:sticky;top:0;z-index:50;background:rgba(243,234,219,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{max-width:1260px;margin:auto;padding:.55rem .8rem;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav a{flex:0 0 auto;text-decoration:none;padding:.55rem .78rem;border-radius:999px;font:780 .79rem/1 var(--sans);color:#5d5146;white-space:nowrap}
nav a:hover,nav a.active{background:#28211c;color:#fff}
nav a.nav-home{background:var(--blue);color:#fff;font-weight:850}
nav a.nav-home:hover{background:#28211c}
.content{max-width:1160px;margin:auto;padding:4.2rem 1.35rem 7rem}
.opening{display:grid;grid-template-columns:1.35fr .65fr;gap:3rem;align-items:start;margin-bottom:6rem}
.lead{font-size:1.34rem;line-height:1.65}
.dropcap:first-letter{float:left;font-size:4.8rem;line-height:.8;padding:.13rem .16rem 0 0;color:var(--red);font-weight:700}
.aside{background:var(--paper2);border-top:4px solid var(--red);padding:1.35rem;position:sticky;top:5rem}
.aside b{font:850 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.11em;color:var(--red)}
section{scroll-margin-top:6.5rem;margin-bottom:7rem}
.section-title{border-top:1px solid #baa486;padding-top:1rem;margin-bottom:2.2rem}
.eyebrow{font:850 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:.55rem}
h2{font-size:clamp(2.3rem,5.3vw,4.9rem);line-height:1.02;letter-spacing:-.04em;margin:.1rem 0 .4rem;font-weight:600}
h3{font-size:1.6rem;line-height:1.22;margin:2.5rem 0 .7rem}
p{font-size:1.08rem}
.two-col{columns:2 390px;column-gap:3.5rem}
.two-col p{break-inside:avoid;margin-top:0}
.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:2.1rem 0}
.glossary-item{background:#f8f2e8;border:1px solid var(--line);padding:1rem 1.05rem}
.glossary-item b{display:block;font:850 .8rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--red);margin-bottom:.4rem}
.glossary-item p{font-size:.94rem;line-height:1.5;margin:0}
.question{margin:2.3rem 0;padding:1.45rem 1.6rem;background:var(--blue);color:#fff;font-size:clamp(1.25rem,2.3vw,1.75rem);line-height:1.42}
.question em{color:#f0d79a;font-style:normal}
.callout{margin:2rem 0;padding:1.4rem 1.55rem;background:#e8dfd1;border-left:5px solid var(--blue)}
.callout strong{color:var(--blue)}
.student-box{position:relative;overflow:hidden;margin:2.2rem 0;padding:1.25rem 1.35rem;background:#f7eddd;border:1px solid #c7b18b;border-left:6px solid var(--gold);box-shadow:0 10px 28px rgba(44,31,20,.07)}
.student-label{font:900 .68rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.25rem}
.student-box h3{font-size:1.42rem;margin:.15rem 0 .55rem}
.student-box p{font-size:.98rem;line-height:1.58}
.student-box .try{margin-top:.8rem;padding:.82rem .9rem;background:#251f1b;color:#f6eee3;border-left:4px solid #d1ae66;font:500 .86rem/1.5 var(--sans)}
.student-box .try strong{color:#f0d398}
.gesture-lab{margin:2.8rem 0;padding:1.5rem 1.6rem 1.4rem;background:#f8f0e4;border:1px solid #c6af89;border-top:5px solid var(--red);box-shadow:var(--shadow)}
.lab-kicker{font:900 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.gesture-lab h3{font-size:1.9rem;margin:.35rem 0 .45rem}
.gesture-stage{position:relative;height:230px;margin:1rem 0 .4rem;background:
linear-gradient(to bottom,transparent 49.5%,rgba(91,70,48,.12) 50%,transparent 50.5%);overflow:hidden;border-block:1px solid #c8b391}
.gesture-stage svg{position:absolute;inset:14px 12px;width:calc(100% - 24px);height:200px}
.gesture-stage path{fill:none;stroke:#7d3429;stroke-width:4;stroke-linecap:round;stroke-dasharray:15 12;vector-effect:non-scaling-stroke;opacity:.82}
.hand{position:absolute;left:0;top:0;font-size:2rem;line-height:1;filter:drop-shadow(0 4px 4px rgba(0,0,0,.12));opacity:0;transform:translate(-50%,-50%)}
.gesture-stage.play .hand{opacity:1}
@keyframes followGesture{from{offset-distance:0%}to{offset-distance:100%}}
.neume-strip{display:grid;grid-template-columns:repeat(10,1fr);gap:.25rem;padding:1rem .7rem;background:#e5d5ba;border:1px solid #c7af87}
.neume-strip span{font-size:clamp(1.8rem,4vw,3.5rem);text-align:center;opacity:.3;transition:.18s}
.neume-strip span.on{opacity:1;color:var(--red);transform:translateY(-5px)}
.gesture-controls{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
.gesture-controls button,.voice-demo button{border:0;background:#28211c;color:#fff;padding:.65rem .9rem;border-radius:999px;font:850 .78rem/1 var(--sans);cursor:pointer}
.gesture-controls span{font:650 .78rem/1.45 var(--sans);color:#6c5f52}
.gesture-result{display:none;margin-top:1rem;padding:1rem;background:#eadfc9;border-left:4px solid var(--gold)}
.gesture-result.show{display:block}
.voice-demo{margin:2.4rem 0;padding:1.35rem 1.4rem;background:linear-gradient(180deg,#f8f0e4,#eee0ca);border:1px solid var(--line);border-top:5px solid var(--gold);box-shadow:var(--shadow)}
.voice-demo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem;margin-bottom:1rem}
.voice-demo-head h3{font-size:1.6rem;margin:.3rem 0 .35rem}
.voice-demo-head p{max-width:760px;font-size:.96rem;line-height:1.55;margin:0}
.voice-demo button{border:0;background:#28211c;color:#fff;padding:.68rem .92rem;border-radius:999px;font:850 .76rem/1 var(--sans);cursor:pointer;flex:0 0 auto}
.voice-score{display:grid;grid-template-columns:150px 1fr;grid-template-rows:1fr 1fr;gap:0;background:#f8f1e6;border:1px solid #c9b390;overflow:hidden}
.voice-score-label{padding:1rem;background:#eadfc9;border-right:1px solid #c9b390;display:flex;flex-direction:column;justify-content:center}
.voice-score-label b{font:900 .72rem/1.15 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.voice-score-label span{font-size:.78rem;color:#6c5c4f;margin-top:.25rem}
.principal-label{grid-column:1;grid-row:1;color:#4d4034;border-bottom:1px solid #c9b390}
.organal-label{grid-column:1;grid-row:2;color:var(--red)}
.voice-score-canvas{grid-column:2;grid-row:1 / span 2;min-height:300px;position:relative;background:
linear-gradient(to bottom,transparent 49.7%,rgba(91,70,48,.10) 50%,transparent 50.3%)}
.voice-score-canvas svg{display:block;width:100%;height:100%}
.voice-guides line{stroke:#d8c8b0;stroke-width:1.5;stroke-dasharray:5 8}
.voice-path{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.28}
.principal-path{stroke:#4d4034}
.organal-path{stroke:var(--red)}
.principal-notes circle{fill:#4d4034;opacity:.35}
.organal-notes circle{fill:var(--red);opacity:.28}
.voice-cursor{opacity:0;stroke:#fff8e9;stroke-width:4;filter:drop-shadow(0 0 7px rgba(0,0,0,.18))}
.principal-cursor{fill:#4d4034}
.organal-cursor{fill:var(--red)}
.voice-demo.play .principal-path{opacity:1}
.voice-demo.play .organal-path{opacity:1}
.voice-demo.play .principal-notes circle{opacity:1}
.voice-demo.play .organal-notes circle{opacity:1}
.voice-demo.play .voice-cursor{opacity:1}
.voice-demo-legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin:.8rem 0 0;font:700 .75rem/1.4 var(--sans);color:#66584c}
.voice-demo-legend div{display:flex;align-items:center;gap:.45rem}
.voice-demo-legend i{display:block;width:26px;height:4px;border-radius:99px}
.legend-principal{background:#4d4034}
.legend-organal{background:var(--red)}
.voice-demo-result{display:block;margin-top:1rem}
@media(max-width:760px){.voice-demo-head{flex-direction:column}.voice-score{grid-template-columns:1fr}.voice-score-label{border-right:0}.principal-label{grid-column:1;grid-row:1}.voice-score-canvas{grid-column:1;grid-row:2;min-height:260px}.organal-label{grid-column:1;grid-row:3;border-top:1px solid #c9b390}.voice-score{grid-template-rows:auto 1fr auto}}
@media(prefers-reduced-motion:reduce){.voice-cursor{display:none}}
footer{border-top:1px solid var(--line);padding:2rem 1.3rem;display:flex;justify-content:space-between;gap:1rem;max-width:1160px;margin:auto;font:700 .76rem/1.4 var(--sans);color:#64584c}
footer a{text-decoration:none}
@media(max-width:780px){.hero{grid-template-columns:1fr}.hero-card{max-width:520px}.opening{grid-template-columns:1fr}.aside{position:static}.glossary-grid{grid-template-columns:1fr}.two-col{columns:1}.gesture-stage{height:200px}.gesture-stage svg{height:170px}.neume-strip{grid-template-columns:repeat(5,1fr)}}
@media(max-width:560px){.content{padding-left:1rem;padding-right:1rem}.masthead{padding-left:1rem;padding-right:1rem}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gesture-stage.play .hand,.voice-demo.play .voice-line::after{animation:none}.hand{opacity:1;offset-distance:100%}.voice-line::after{transform:scaleX(.96)}}

.route-strip{display:flex;align-items:center;gap:.55rem;overflow-x:auto;margin:1.6rem 0 2.4rem;padding:.8rem 0 .3rem;scrollbar-width:thin}
.route-strip span{flex:0 0 auto;background:#eee2ce;border-top:4px solid var(--gold);padding:.72rem .85rem;font:800 .78rem/1 var(--sans);letter-spacing:.03em}
.route-strip i{font-style:normal;color:var(--red);font-weight:900}
.story-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:2rem 0 2.7rem}
.story-cards article{background:#f7efe2;border:1px solid var(--line);border-top:5px solid var(--gold);padding:1.15rem}
.story-tag{font:900 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.story-cards h3{font-size:1.35rem;margin:.25rem 0 .45rem}
.story-cards p{font-size:.94rem;line-height:1.52;margin:.25rem 0}
.source-principle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:2rem 0 2.5rem}
.source-principle div{background:#e8ddcc;border:1px solid var(--line);padding:1rem}
.source-principle b{display:block;font:850 .78rem/1.1 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin-bottom:.4rem}
.source-principle span{display:block;font-size:.9rem;line-height:1.45;color:#66594e}
.instrument-cabinet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2rem 0 2.6rem}
.instrument-cabinet article{background:#f8f1e5;border:1px solid var(--line);border-top:4px solid var(--gold);padding:1rem 1.05rem}
.instrument-cabinet b{display:block;font:850 .8rem/1 var(--sans);letter-spacing:.04em;color:var(--red);margin-bottom:.38rem}
.instrument-cabinet p{font-size:.93rem;line-height:1.5;margin:0}
@media(max-width:850px){.story-cards{grid-template-columns:1fr}.source-principle{grid-template-columns:repeat(2,1fr)}.instrument-cabinet{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.source-principle,.instrument-cabinet{grid-template-columns:1fr}}

.contrast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:2rem 0 2.5rem}
.contrast-grid article{background:#f7efe3;border:1px solid var(--line);padding:1.15rem;border-top:5px solid var(--gold)}
.contrast-grid b{display:block;font:850 .82rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--red);margin-bottom:.45rem}
.contrast-grid p{font-size:.95rem;line-height:1.55;margin:0}
.silence-player{margin:2.3rem 0;padding:1.35rem 1.4rem;background:#211e1b;color:#f7efe4;border-top:5px solid var(--gold);box-shadow:var(--shadow)}
.silence-player h3{color:#fff;margin:.3rem 0 .35rem}
.silence-player p{color:#ded2c4;margin:.2rem 0 .9rem}
.silence-player button{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;padding:.62rem .9rem;border-radius:999px;font:850 .8rem/1 var(--sans);cursor:pointer}
.silence-player button:hover{background:#fff;color:#221e1a}
.silence-result{min-height:1.5rem;margin-top:.9rem;font:700 .86rem/1.5 var(--sans);color:#e8ca8e}
.book-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:2rem 0}
.book-compare article{background:#eee3d1;border:1px solid var(--line);padding:1rem}
.book-compare b{display:block;font:850 .8rem/1 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin-bottom:.35rem}
.book-compare span{font-size:.9rem;line-height:1.45;color:#66594d}
.ratio-lab{margin:2.5rem 0;padding:1.4rem;background:#f8f0e3;border:1px solid var(--line);border-top:5px solid var(--blue)}
.ratio-lab h3{margin:.3rem 0 .45rem}
.ratio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:1rem 0}
.ratio-grid button{border:1px solid var(--line);background:#eee2d0;padding:.8rem .65rem;cursor:pointer;font:850 .95rem/1.15 var(--sans);color:#332b24}
.ratio-grid button:hover,.ratio-grid button.active{background:var(--blue);color:#fff}
.ratio-grid span{display:block;font-size:.68rem;margin-top:.25rem;letter-spacing:.04em;text-transform:uppercase}
.string-box{height:74px;display:flex;align-items:center;padding:0 1rem;background:#2c261f}
.string-line{height:4px;width:100%;background:#d6b66f;box-shadow:0 0 8px rgba(214,182,111,.35);transform-origin:left;transition:.35s}
.ratio-note{font:700 .85rem/1.4 var(--sans);color:#66584b}
@media(max-width:760px){.contrast-grid,.book-compare{grid-template-columns:1fr}.ratio-grid{grid-template-columns:repeat(2,1fr)}}

.source-dialog{max-width:620px;width:calc(100% - 2rem);border:1px solid #bca57e;background:#f8f0e3;color:var(--ink);padding:1.5rem 1.6rem 1.4rem;box-shadow:0 24px 70px rgba(23,18,14,.35)}
.source-dialog::backdrop{background:rgba(20,16,13,.62);backdrop-filter:blur(3px)}
.source-dialog h3{margin:.35rem 0 .7rem;font-size:1.65rem}
.source-dialog p{font-size:1rem;line-height:1.62}
.dialog-kicker{font:900 .68rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.dialog-close{position:absolute;right:.7rem;top:.55rem;border:0;background:transparent;color:#4b4036;font:700 1.6rem/1 var(--sans);cursor:pointer}

.isorythm-lab,.chase-lab,.word-lab{margin:2.4rem 0;padding:1.35rem 1.4rem;background:#f8f0e3;border:1px solid var(--line);border-top:5px solid var(--gold)}
.cycle-row{display:grid;grid-template-columns:80px 1fr;gap:.8rem;align-items:center;margin:.8rem 0}
.cycle-label{font:900 .72rem/1 var(--sans);letter-spacing:.11em;color:var(--red)}
.cycle{display:grid;gap:.35rem}
.cycle.talea{grid-template-columns:repeat(4,1fr)}
.cycle.color{grid-template-columns:repeat(6,1fr)}
.cycle span{height:34px;background:#e6d6bd;border:1px solid #c2ab86}
.isorythm-lab.play .talea span{animation:taleaPulse 1.6s linear infinite}
.isorythm-lab.play .color span{animation:colorPulse 2.4s linear infinite}
@keyframes taleaPulse{0%,100%{transform:scaleY(.75)}50%{transform:scaleY(1);background:#c99d55}}
@keyframes colorPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px);background:#8b4a3d}}
.isorythm-lab button,.chase-lab button,.word-lab button{border:0;background:#28211c;color:#fff;padding:.62rem .85rem;border-radius:999px;font:850 .78rem/1 var(--sans);cursor:pointer}
.return-lab{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:.5rem;overflow-x:auto;margin:1.5rem 0 2rem;padding-bottom:.2rem}
.form-piece{background:#eee3d1;border-top:4px solid #8f7654;padding:.85rem;text-align:center;font:800 .78rem/1.2 var(--sans)}
.form-piece.refrain{background:#e1d2bc;border-top-color:var(--red);color:#5d2b25}
.chase-track{position:relative;height:130px;background:#eadfce;overflow:hidden;margin-bottom:1rem;border:1px solid var(--line)}
.chase-track span{position:absolute;left:-18%;width:130px;padding:.55rem .65rem;border-radius:999px;font:850 .72rem/1 var(--sans);color:#fff;text-align:center}
.voice-a{top:28px;background:var(--blue)}
.voice-b{top:76px;background:var(--red)}
.chase-lab.play .voice-a{animation:chaseRun 4.4s linear forwards}
.chase-lab.play .voice-b{animation:chaseRun 4.4s linear .8s forwards}
@keyframes chaseRun{to{left:88%}}
.word-lab{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.word-stage{flex:1 1 100%;min-height:92px;background:#eadfcf;border:1px solid var(--line);padding:1rem;margin-top:.5rem;font-size:1rem;line-height:1.5}
.word-stage.ascend{background:linear-gradient(15deg,#eadfcf 0 44%,#cfb070 45% 50%,#eadfcf 51%)}
.word-stage.stop{border-left:12px solid var(--red)}
.word-stage.run{background:repeating-linear-gradient(90deg,#eadfcf 0 18px,#e0cfb4 18px 26px)}
.word-stage.cry{background:linear-gradient(180deg,#eadfcf,#d9c8b6)}
.continuity-path{display:flex;gap:.4rem;align-items:center;overflow-x:auto;margin:2rem 0;padding:1rem 0}
.continuity-path span{flex:0 0 auto;background:#eee3d2;border-top:4px solid var(--gold);padding:.75rem .85rem;font:800 .76rem/1 var(--sans)}
.continuity-path i{font-style:normal;color:var(--red);font-weight:900}
.timeline-gate{margin:2.4rem 0;padding:1.5rem 1.6rem;background:#211e1a;color:#f7efe4;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;border-top:5px solid var(--gold)}
.timeline-gate h3{color:#fff;margin:.3rem 0 .5rem}
.timeline-gate p{color:#dfd4c7;margin:.2rem 0}
.timeline-gate a{flex:0 0 auto;text-decoration:none;background:#e8c77c;color:#2a2119;padding:.7rem .95rem;border-radius:999px;font:850 .78rem/1 var(--sans)}
@media(max-width:760px){.timeline-gate{display:block}.timeline-gate a{display:inline-block;margin-top:1rem}.return-lab{grid-template-columns:repeat(5,135px)}}

.story-link{text-decoration:none;display:block;color:inherit}
.story-link article{height:100%;transition:.18s}
.story-link:hover article{transform:translateY(-3px);border-top-color:var(--red);box-shadow:0 12px 28px rgba(45,32,20,.10)}
.story-link span{display:inline-block;margin-top:.75rem;font:850 .74rem/1 var(--sans);letter-spacing:.03em;color:var(--blue)}

.listening-suite{margin:2.8rem 0 3.4rem}
.listening-head{margin-bottom:1rem}
.listening-head h3{font-size:1.85rem;margin:.35rem 0 .4rem}
.verified-listen{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);background:#211e1a;color:#f7efe5;margin:1rem 0 1.3rem;overflow:hidden;box-shadow:var(--shadow);border-top:4px solid var(--gold)}
.verified-listen .listen-copy{padding:1.3rem 1.4rem;align-self:center}
.verified-listen h3{color:#fff;margin:.3rem 0 .55rem}
.verified-listen p{font-size:.94rem;line-height:1.55;color:#ddd2c5}
.listen-badge{font:900 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#e8ca8d}
.listen-video{background:#0d0c0b;min-height:250px}
.listen-video iframe{display:block;width:100%;height:100%;min-height:250px;border:0;aspect-ratio:16/9}
.listen-fallback{display:inline-flex;margin-top:.45rem;text-decoration:none;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:.5rem .72rem;font:800 .73rem/1 var(--sans);color:#fff}
.listen-fallback:hover{background:#fff;color:#251f1a}
.chapter-buttons{display:flex;flex-wrap:wrap;gap:.42rem;margin:.9rem 0 .6rem}
.chapter-buttons button{border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:.5rem .66rem;font:800 .72rem/1 var(--sans);cursor:pointer}
.chapter-buttons button:hover,.chapter-buttons button.active{background:#e6c57b;color:#2a211a;border-color:#e6c57b}
.listen-note{font:700 .77rem/1.4 var(--sans)!important;color:#e8ca8d!important}
.listen-contrast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.verified-listen.compact{grid-template-columns:1fr;margin:0}
.verified-listen.compact .listen-video{min-height:220px}
.verified-listen.compact .listen-video iframe{min-height:220px}
@media(max-width:850px){.verified-listen{grid-template-columns:1fr}.listen-contrast{grid-template-columns:1fr}.listen-video{min-height:0}.listen-video iframe{min-height:0}}

.theory-essay{max-width:940px;margin:0 auto 1.4rem}
.theory-essay p{font-size:1.1rem;line-height:1.82;margin:0 0 1.25rem}
.office-day{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:2rem 0 2.6rem}
.office-day div{background:#efe3d2;border:1px solid var(--line);border-top:4px solid var(--gold);padding:.9rem .95rem}
.office-day b{display:block;font:900 .68rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.office-day span{display:block;font-size:1.02rem;font-weight:700}
.office-day small{display:block;margin-top:.28rem;font:650 .72rem/1.35 var(--sans);color:#6c5f51}
.office-listens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:2rem 0 3rem}
.mass-map{display:grid;grid-template-columns:repeat(11,minmax(115px,1fr));gap:.42rem;overflow-x:auto;margin:2rem 0 2.8rem;padding-bottom:.45rem}
.mass-step{min-width:115px;padding:.8rem .72rem;border-top:5px solid #a89579;background:#eee3d2}
.mass-step b{display:block;font-size:.95rem;line-height:1.18}
.mass-step span{display:block;margin-top:.4rem;font:900 .62rem/1 var(--sans);letter-spacing:.08em}
.mass-step small{display:block;margin-top:.3rem;font:650 .68rem/1.3 var(--sans);color:#66594d}
.mass-step.ordinary{border-top-color:var(--red);background:#ead8cf}
.mass-step.ordinary span{color:var(--red)}
.mass-step.proper{border-top-color:var(--blue);background:#dfe7e9}
.mass-step.proper span{color:var(--blue)}
.mass-step.reading{border-top-color:var(--gold);background:#eee4cf}
.mass-step.reading span{color:#7b6331}
.chant-spectrum{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.65rem;align-items:center;margin:1.7rem 0 2.2rem}
.chant-spectrum div{background:#efe3d0;border:1px solid var(--line);padding:1rem;text-align:center}
.chant-spectrum b{display:block;font:850 .8rem/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.chant-spectrum span{font-size:.9rem;color:#66594c}
.chant-spectrum i{font-style:normal;color:var(--gold);font-weight:900;font-size:1.2rem}
.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.8rem 0 2.4rem}
.mode-grid div{background:#ede2d0;border:1px solid var(--line);border-top:4px solid var(--blue);padding:1rem;text-align:center}
.mode-grid b{display:block;font:900 1.05rem/1 var(--sans);color:var(--blue)}
.mode-grid span{display:block;margin-top:.3rem;font:700 .76rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#675a4d}
@media(max-width:900px){.office-day{grid-template-columns:repeat(2,1fr)}.office-listens{grid-template-columns:1fr}.mode-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.office-day,.mode-grid{grid-template-columns:1fr}.chant-spectrum{grid-template-columns:1fr}.chant-spectrum i{transform:rotate(90deg);justify-self:center}}

.word-study{margin:2rem 0 2.7rem;padding:1.25rem 1.35rem;background:#efe2ce;border:1px solid var(--line);border-top:5px solid var(--red)}
.word-study-head{font:900 .68rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:.85rem}
.word-study-grid{display:grid;grid-template-columns:.7fr .7fr 1.6fr;gap:.75rem}
.word-study-grid>div{background:#f8f1e6;border:1px solid #d2bea0;padding:1rem}
.word-study-grid b{display:block;font:900 .9rem/1 var(--sans);color:#342a23;margin-bottom:.35rem}
.word-study-grid span{display:block;font-size:.85rem;color:var(--red);font-style:italic}
.word-study-grid p{font-size:.92rem;line-height:1.5;margin:.45rem 0 0}
.neume-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.8rem 0 2.4rem}
.neume-table div{background:#f5ecde;border:1px solid var(--line);border-top:4px solid var(--gold);padding:.9rem}
.neume-table b{display:block;font:850 .8rem/1 var(--sans);letter-spacing:.04em;color:var(--red);margin-bottom:.35rem}
.neume-table span{font-size:.9rem;line-height:1.45;color:#65584c}
.evolution-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:.55rem;align-items:center;margin:2rem 0 2.6rem}
.evolution-steps div{background:#eee3d2;border:1px solid var(--line);padding:1rem;text-align:center}
.evolution-steps b{display:block;font:850 .78rem/1 var(--sans);color:var(--blue);margin-bottom:.35rem}
.evolution-steps span{font-size:.88rem;line-height:1.4;color:#65584c}
.evolution-steps i{font-style:normal;color:var(--gold);font-weight:900;font-size:1.25rem}
.guido-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1.8rem 0 2.6rem}
.guido-grid article{background:#eee3d0;border:1px solid var(--line);border-left:5px solid var(--blue);padding:1rem 1.05rem}
.guido-grid b{display:block;font:850 .82rem/1 var(--sans);letter-spacing:.03em;color:var(--blue);margin-bottom:.35rem}
.guido-grid p{font-size:.92rem;line-height:1.45;margin:0}
@media(max-width:850px){.word-study-grid{grid-template-columns:1fr}.neume-table{grid-template-columns:repeat(2,1fr)}.evolution-steps{grid-template-columns:1fr}.evolution-steps i{transform:rotate(90deg);justify-self:center}.guido-grid{grid-template-columns:1fr}}
@media(max-width:560px){.neume-table{grid-template-columns:1fr}}

.motion-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2rem 0 .8rem}
.motion-card{background:#f3eadb;border:1px solid var(--line);border-top:4px solid var(--blue);padding:.9rem}
.motion-card svg{display:block;width:100%;height:auto;margin:.4rem 0 .55rem}
.motion-card .staff line{stroke:#cdbda5;stroke-width:1.4}
.motion-card .voice-a{fill:none;stroke:#7b2e28;stroke-width:3}
.motion-card .voice-b{fill:none;stroke:#2f5964;stroke-width:3}
.motion-card .notes-a circle{fill:#7b2e28}
.motion-card .notes-b circle{fill:#2f5964}
.score-label{font:900 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.motion-card p{font-size:.88rem;line-height:1.45;margin:.4rem 0 0;color:#65584c}
.figure-note{font:650 .75rem/1.45 var(--sans);color:#75685a;margin:.6rem 0 2rem}
.texture-score{margin:1.8rem 0 2.6rem;padding:1rem 1.1rem;background:#211e1a;color:#f5ecdf;border-top:4px solid var(--gold)}
.texture-label{font:900 .68rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#e6c57b;margin-bottom:.8rem}
.texture-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:.8rem;padding:.55rem 0;border-top:1px solid rgba(255,255,255,.12)}
.texture-row span{font:850 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#ddc79d}
.fast-notes,.pulse-notes,.held-note{font-family:Georgia,serif;letter-spacing:.18em;white-space:nowrap;overflow:hidden}
.fast-notes{font-size:1.15rem}
.held-note{font-size:1.15rem;color:#e7c987}
.discant-score .pulse-notes{font-size:1.05rem}
.discant-score .pulse-notes.slow{letter-spacing:.35em;color:#e7c987}
.texture-score p{font-size:.88rem;line-height:1.45;color:#d8cbbd;margin:.75rem 0 0}
.sederunt-map{display:grid;grid-template-columns:1.25fr .9fr 1.25fr;gap:.65rem;margin:2rem 0 .7rem}
.sederunt-map>div{padding:1rem;min-height:190px;border:1px solid var(--line);position:relative;overflow:hidden}
.sederunt-map b{display:block;font:900 .9rem/1 var(--sans);letter-spacing:.04em;margin-bottom:.4rem}
.sederunt-map span{display:block;font:850 .68rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}
.sederunt-map small{display:block;font:650 .75rem/1.35 var(--sans)}
.sederunt-poly{background:#ead9cf;border-top:5px solid var(--red)!important}
.sederunt-poly span{color:var(--red)}
.sederunt-return{background:#dfe7e9;border-top:5px solid var(--blue)!important}
.sederunt-return span{color:var(--blue)}
.poly-lines{position:absolute;left:1rem;right:1rem;bottom:1rem;height:60px}
.poly-lines i,.poly-lines strong{position:absolute;left:0;right:0;height:2px;border-radius:999px}
.poly-lines i:nth-child(1){top:5px;background:linear-gradient(90deg,transparent 0 3%,#7b2e28 3% 18%,transparent 18% 22%,#7b2e28 22% 48%,transparent 48% 56%,#7b2e28 56% 91%,transparent 91%)}
.poly-lines i:nth-child(2){top:22px;background:linear-gradient(90deg,#996b38 0 12%,transparent 12% 18%,#996b38 18% 63%,transparent 63% 70%,#996b38 70% 100%)}
.poly-lines i:nth-child(3){top:39px;background:linear-gradient(90deg,#2f5964 0 25%,transparent 25% 33%,#2f5964 33% 82%,transparent 82%)}
.poly-lines strong{top:56px;background:#3b342e}
.chant-line{position:absolute;left:1rem;right:1rem;bottom:2rem;height:3px;background:#2f5964}
.poly-lexicon .word-study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:950px){.motion-score-grid{grid-template-columns:1fr}.sederunt-map{grid-template-columns:1fr}.poly-lexicon .word-study-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.texture-row{grid-template-columns:1fr}.poly-lexicon .word-study-grid{grid-template-columns:1fr}}

.listen-progression{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:2rem 0 2.6rem}
.listen-progression .verified-listen{margin:0}
.sederunt-listens{margin:1.8rem 0 2.4rem}
@media(max-width:1000px){.listen-progression{grid-template-columns:1fr}}

.genre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.8rem 0 2.5rem}
.genre-grid article{background:#f1e5d3;border:1px solid var(--line);border-top:4px solid var(--gold);padding:1rem}
.genre-grid b{display:block;font:900 .82rem/1 var(--sans);letter-spacing:.03em;color:var(--red);margin-bottom:.3rem}
.genre-grid span{display:block;font:800 .68rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:.45rem}
.genre-grid p{font-size:.9rem;line-height:1.45;margin:0;color:#65584c}
.travel-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:.55rem;align-items:center;margin:2rem 0 2.7rem}
.travel-chain div{background:#e9e1d4;border:1px solid var(--line);padding:1rem;text-align:center}
.travel-chain b{display:block;font:850 .76rem/1.15 var(--sans);color:var(--blue);margin-bottom:.35rem}
.travel-chain span{display:block;font-size:.83rem;line-height:1.35;color:#66594c}
.travel-chain i{font-style:normal;color:var(--gold);font-weight:900;font-size:1.25rem}
.source-journey{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin:1.8rem 0 2.6rem}
.source-journey div{position:relative;background:#eee2d0;border:1px solid var(--line);padding:.9rem .8rem}
.source-journey b{display:block;font:900 .7rem/1.15 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.source-journey span{display:block;font-size:.8rem;line-height:1.4;color:#66594c}
@media(max-width:1000px){.genre-grid{grid-template-columns:repeat(2,1fr)}.travel-chain{grid-template-columns:1fr}.travel-chain i{transform:rotate(90deg);justify-self:center}.source-journey{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.genre-grid,.source-journey{grid-template-columns:1fr}}

.neume-focus-lab{margin:2.4rem 0 3rem;padding:1.6rem;background:
linear-gradient(180deg,rgba(250,244,234,.97),rgba(239,226,204,.97));
border:1px solid #c6af89;border-top:5px solid var(--blue);box-shadow:var(--shadow);position:relative;overflow:hidden}
.neume-focus-lab::after{content:"";position:absolute;right:-110px;top:-120px;width:280px;height:280px;border:1px solid rgba(155,123,85,.16);border-radius:50%;box-shadow:0 0 0 28px rgba(155,123,85,.04),0 0 0 56px rgba(155,123,85,.025);pointer-events:none}
.neume-focus-copy{max-width:880px;position:relative;z-index:1}
.neume-focus-copy h3{font-size:clamp(1.7rem,3.2vw,2.35rem);margin:.35rem 0 .55rem}
.neume-focus-copy p{font-size:1.02rem;line-height:1.65}
.neume-player{position:relative;z-index:1;margin-top:1.25rem}
.neume-player-stage{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(260px,1.1fr);align-items:center;min-height:360px;background:
radial-gradient(circle at 18% 20%,rgba(187,143,70,.10),transparent 32%),
linear-gradient(135deg,#f9f0df,#ead9bd);
border:1px solid #c8af87;box-shadow:inset 0 0 40px rgba(88,59,27,.05);position:relative;overflow:hidden}
.neume-player-stage::before{content:"";position:absolute;inset:16px;border:1px solid rgba(125,52,41,.12);pointer-events:none}
.folio-corner{position:absolute;right:24px;top:18px;color:#aa854f;font-size:1.2rem;opacity:.75}
.neume-counter{position:absolute;left:24px;top:20px;font:900 .7rem/1 var(--sans);letter-spacing:.14em;color:var(--blue)}
#neumeTraceSvg{width:100%;height:320px;overflow:visible;padding:18px}
.neume-ghost{fill:none;stroke:#8f765a;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;opacity:.13}
.neume-trace{fill:none;stroke:var(--red);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 2px rgba(85,42,32,.10))}
.neume-cursor{fill:#d7a84d;stroke:#fff8e9;stroke-width:4;filter:drop-shadow(0 0 7px rgba(196,145,54,.7));opacity:0}
.neume-player-stage.tracing .neume-cursor{opacity:1}
.neume-caption{padding:2.4rem 2.8rem 2.4rem 1rem;align-self:center}
.neume-caption .neume-kind{display:block;font:900 .66rem/1 var(--sans);letter-spacing:.15em;color:var(--red);margin-bottom:.45rem}
.neume-caption strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1;color:#2c241f;margin-bottom:.85rem}
.neume-caption p{font-size:1.05rem;line-height:1.6;color:#605246;max-width:36rem;margin:0}
.neume-rail{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem;margin-top:.65rem}
.neume-rail button{appearance:none;border:1px solid #cab595;background:#f5ead8;padding:.68rem .55rem;cursor:pointer;text-align:left;transition:.18s ease;min-width:0}
.neume-rail button span{display:block;font:900 .58rem/1 var(--sans);letter-spacing:.1em;color:#9b7650;margin-bottom:.25rem}
.neume-rail button b{display:block;overflow:hidden;text-overflow:ellipsis;font:850 .72rem/1.1 var(--sans);color:#4d4035}
.neume-rail button:hover{transform:translateY(-2px);background:#fff7ea;border-color:#9f7f59}
.neume-rail button.active{background:#28211c;border-color:#28211c;box-shadow:0 6px 16px rgba(48,36,25,.16)}
.neume-rail button.active span{color:#e3bd72}
.neume-rail button.active b{color:#fff}
.neume-player-controls{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.neume-player-controls button{border:0;background:#28211c;color:#fff;padding:.7rem 1rem;border-radius:999px;font:850 .76rem/1 var(--sans);cursor:pointer}
.neume-player-controls button.secondary{background:transparent;color:#3f342c;border:1px solid #af9876}
.neume-player-controls button:hover{transform:translateY(-1px)}
.neume-speed{margin-left:auto;display:flex;align-items:center;gap:.48rem;padding:.42rem .58rem;border:1px solid #c8b18d;border-radius:999px;background:rgba(255,249,238,.72);font:750 .66rem/1 var(--sans);color:#6e5e50}
.neume-speed .speed-title{font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--red)}
.neume-speed .speed-end{white-space:nowrap;color:#7b6a58}
.neume-speed input[type="range"]{width:118px;accent-color:var(--red);cursor:pointer}
.neume-speed b{min-width:3rem;text-align:center;color:#3d3129;font:900 .68rem/1 var(--sans)}
.neume-speed:focus-within{outline:2px solid rgba(125,52,41,.25);outline-offset:2px}
.neume-instruction{margin-top:1rem;padding:1rem 1.1rem;background:#e9dcc5;border-left:4px solid var(--gold);font-size:.95rem;line-height:1.55}
.neume-instruction b{color:var(--red)}
@media(max-width:920px){.neume-player-stage{grid-template-columns:1fr}.neume-caption{padding:0 1.5rem 2rem}.neume-rail{grid-template-columns:repeat(4,1fr)}.neume-speed{width:100%;margin-left:0}}
@media(max-width:560px){.neume-focus-lab{padding:1rem}.neume-player-stage{min-height:0}#neumeTraceSvg{height:250px}.neume-rail{grid-template-columns:repeat(2,1fr)}.neume-caption strong{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.neume-trace{stroke-dasharray:none!important;stroke-dashoffset:0!important}.neume-cursor{display:none}}

.neume-audio-label{display:inline-flex;align-items:center;gap:.55rem;margin-top:1rem;padding:.48rem .68rem;border:1px solid rgba(125,52,41,.18);background:rgba(255,250,241,.66);border-radius:999px}
.neume-audio-label span{font:900 .58rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8d6f4f}
.neume-audio-label b{font:900 .72rem/1 var(--sans);letter-spacing:.08em;color:var(--red)}

.triplex-reader{margin:2rem 0 2.8rem;background:linear-gradient(180deg,#f4ead9,#eadbc4);border:1px solid #c7ae86;border-top:5px solid var(--blue);box-shadow:var(--shadow);overflow:hidden}
.triplex-reader-head{display:flex;justify-content:space-between;gap:1.2rem;align-items:flex-start;padding:1.25rem 1.35rem;border-bottom:1px solid #cdb995}
.triplex-reader-head h4{font-family:Georgia,"Times New Roman",serif;font-size:1.85rem;margin:.2rem 0 .35rem;color:#2d251f}
.triplex-reader-head p{max-width:760px;margin:0;font-size:.95rem;line-height:1.55;color:#65574b}
.triplex-reader-head a{flex:0 0 auto;text-decoration:none;background:#28211c;color:#fff;padding:.65rem .85rem;border-radius:999px;font:850 .72rem/1 var(--sans)}
.triplex-frame{background:#211e1a;padding:.8rem}
.triplex-frame iframe{display:block;width:100%;height:clamp(430px,66vw,720px);border:0;background:#fff}
.triplex-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #cdb995}
.triplex-guide div{padding:1rem 1.1rem;border-right:1px solid #cdb995}
.triplex-guide div:last-child{border-right:0}
.triplex-guide b{display:block;font:900 .68rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.triplex-guide span{display:block;font-size:.86rem;line-height:1.42;color:#66584d}
@media(max-width:760px){.triplex-reader-head{flex-direction:column}.triplex-guide{grid-template-columns:1fr}.triplex-guide div{border-right:0;border-bottom:1px solid #cdb995}.triplex-guide div:last-child{border-bottom:0}.triplex-frame iframe{height:520px}}

.friuli-time{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1.9rem 0 2.7rem}
.friuli-time div{background:#efe3d1;border:1px solid var(--line);border-top:4px solid var(--gold);padding:1rem}
.friuli-time b{display:block;font:900 1rem/1 var(--sans);color:var(--red);margin-bottom:.3rem}
.friuli-time span{display:block;font:850 .76rem/1.2 var(--sans);letter-spacing:.04em;color:var(--blue);margin-bottom:.38rem}
.friuli-time small{display:block;font-size:.82rem;line-height:1.45;color:#66584c}
.procession-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:.55rem;align-items:center;margin:1.8rem 0 2.5rem}
.procession-flow div{background:#f0e4d2;border:1px solid var(--line);padding:1rem;text-align:center}
.procession-flow b{display:block;font:900 .78rem/1 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--red);margin-bottom:.35rem}
.procession-flow span{font-size:.87rem;line-height:1.4;color:#66584c}
.procession-flow i{font-style:normal;color:var(--gold);font-weight:900;font-size:1.25rem}
@media(max-width:900px){.friuli-time{grid-template-columns:repeat(2,1fr)}.procession-flow{grid-template-columns:1fr}.procession-flow i{transform:rotate(90deg);justify-self:center}}
@media(max-width:600px){.friuli-time{grid-template-columns:1fr}}

.local-window{margin:2rem 0 2.6rem;padding:1.15rem 1.25rem;background:linear-gradient(180deg,#f1e6d5,#eadcc6);border:1px solid #c8b28e;border-left:5px solid var(--blue);box-shadow:0 10px 28px rgba(70,52,34,.06)}
.local-window-label{font:900 .68rem/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--red);margin-bottom:.55rem}
.local-window h3{margin:.25rem 0 .55rem;font-size:1.35rem}
.local-window p{margin:.25rem 0 .75rem;line-height:1.6}
.local-window a{display:inline-block;text-decoration:none;font:850 .76rem/1.2 var(--sans);color:var(--blue);border-bottom:1px solid currentColor;padding-bottom:.1rem}

.guidonian-lab{margin:2.1rem 0 3rem;background:linear-gradient(180deg,#f5ead8,#ead9bf);border:1px solid #c7ad84;border-top:5px solid var(--gold);box-shadow:var(--shadow);overflow:hidden}
.guidonian-head{display:flex;justify-content:space-between;gap:1.2rem;align-items:flex-start;padding:1.2rem 1.3rem;border-bottom:1px solid #cab48f}
.guidonian-head h4{font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;margin:.25rem 0 .4rem;color:#30271f}
.guidonian-head p{max-width:720px;margin:0;line-height:1.55;color:#66584b}
.guidonian-controls{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.guidonian-controls button{border:0;background:#28211c;color:#fff;padding:.68rem .9rem;border-radius:999px;font:850 .72rem/1 var(--sans);cursor:pointer}
.guidonian-controls button.secondary{background:transparent;color:#3f342c;border:1px solid #a88f6b}
.guidonian-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:0;align-items:stretch}
.guidonian-figure{margin:0;padding:1rem;background:#2b241d}
.guidonian-image-wrap{position:relative;width:min(100%,720px);margin:auto;aspect-ratio:2616/3069;background:#c9ad72;overflow:hidden}
.guidonian-image-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.guidonian-hotspots{position:absolute;inset:0}
.guidonian-hotspot{position:absolute;transform:translate(-50%,-50%);width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(255,248,225,.92);background:rgba(65,42,27,.52);color:#fff7e4;display:grid;place-items:center;font:900 .67rem/1 var(--sans);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.22);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.guidonian-hotspot:hover,.guidonian-hotspot:focus-visible,.guidonian-hotspot.active{background:var(--red);transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 5px rgba(238,210,137,.25),0 3px 10px rgba(0,0,0,.25);outline:none;z-index:3}
.guidonian-pointer{position:absolute;left:12%;top:50%;width:2.8rem;height:2.8rem;border:3px solid #f1d585;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(241,213,133,.18),0 0 24px rgba(241,213,133,.72);pointer-events:none;transition:left .28s ease,top .28s ease,opacity .18s ease;z-index:2}
.guidonian-figure figcaption{font:650 .68rem/1.45 var(--sans);color:#d8c9b6;padding:.75rem .25rem .15rem}
.guidonian-figure figcaption a{color:#efd790;text-decoration:none}
.guidonian-info{padding:1.5rem 1.35rem;background:#efe2cf;display:flex;flex-direction:column;justify-content:center;border-left:1px solid #c9b28e}
.guidonian-counter{font:900 .67rem/1 var(--sans);letter-spacing:.11em;color:var(--red);margin-bottom:.6rem}
.guidonian-note{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.6rem);line-height:.95;color:#2d241d;margin-bottom:.55rem}
.guidonian-modern{font:850 .72rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin-bottom:1rem}
.guidonian-info p{font-size:.98rem;line-height:1.65;margin:.15rem 0 .9rem}
.guidonian-audio-state{padding:.75rem .8rem;background:rgba(255,250,239,.7);border-left:4px solid var(--gold);font:700 .75rem/1.45 var(--sans);color:#66584b}
.guidonian-audio-state.on{border-left-color:var(--red);color:#493b31}
.guidonian-note-box{padding:1rem 1.25rem;border-top:1px solid #cab48f;font-size:.9rem;line-height:1.55;color:#65564a}
@media(max-width:860px){.guidonian-head{flex-direction:column}.guidonian-controls{justify-content:flex-start}.guidonian-layout{grid-template-columns:1fr}.guidonian-info{border-left:0;border-top:1px solid #c9b28e}.guidonian-figure{padding:.75rem}.guidonian-hotspot{width:1.8rem;height:1.8rem;font-size:.62rem}}
@media(max-width:520px){.guidonian-pointer{width:2.2rem;height:2.2rem}.guidonian-hotspot{width:1.55rem;height:1.55rem;font-size:.56rem}.guidonian-head h4{font-size:1.45rem}}


.icon-method{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:1.8rem 0 2.7rem}
.icon-method div{padding:1rem .9rem;background:#eee2d0;border:1px solid var(--line);border-top:4px solid var(--gold)}
.icon-method b{display:block;font:900 .7rem/1.15 var(--sans);letter-spacing:.04em;color:var(--red);margin-bottom:.35rem}
.icon-method span{font-size:.82rem;line-height:1.42;color:#65584b}
.organology-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:.55rem;align-items:center;margin:1.8rem 0 2.5rem}
.organology-path div{padding:1rem;background:#f0e4d2;border:1px solid var(--line);text-align:center}
.organology-path b{display:block;font:900 .72rem/1 var(--sans);text-transform:uppercase;color:var(--blue);margin-bottom:.35rem}
.organology-path span{font-size:.83rem;line-height:1.4;color:#66584c}
.organology-path i{font-style:normal;color:var(--gold);font-size:1.2rem;font-weight:900}
.source-door{display:flex;justify-content:space-between;gap:1.2rem;align-items:center;margin:1.8rem 0 2.7rem;padding:1.05rem 1.15rem;background:#eadfc9;border:1px solid #c9b18d;border-left:5px solid var(--blue)}
.source-door b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;margin:.25rem 0}
.source-door p{margin:.25rem 0;font-size:.88rem;line-height:1.5}
.source-door a{flex:0 0 auto;text-decoration:none;background:#28211c;color:#fff;padding:.7rem .9rem;border-radius:999px;font:850 .72rem/1 var(--sans)}
.cantigas-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.7rem 0 2.4rem}
.cantigas-books div{padding:1rem;background:#efe3d1;border:1px solid var(--line)}
.cantigas-books b{display:block;font:950 1.15rem/1 var(--sans);color:var(--red);margin-bottom:.35rem}
.cantigas-books span{display:block;font:800 .72rem/1.25 var(--sans);color:var(--blue);margin-bottom:.45rem}
.cantigas-books small{display:block;font-size:.8rem;line-height:1.4;color:#66584c}
@media(max-width:900px){.icon-method{grid-template-columns:repeat(2,1fr)}.cantigas-books{grid-template-columns:repeat(2,1fr)}.organology-path{grid-template-columns:1fr}.organology-path i{transform:rotate(90deg);justify-self:center}}
@media(max-width:620px){.icon-method,.cantigas-books{grid-template-columns:1fr}.source-door{align-items:flex-start;flex-direction:column}}

.medieval-gallery{margin:2rem 0 3.2rem;border:1px solid #c6ae88;background:#e9dcc7;box-shadow:var(--shadow);overflow:hidden}
.medieval-gallery-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;background:#29231d;color:#f8efe1}
.medieval-gallery-head b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;margin-top:.2rem}
.medieval-gallery-head .lab-kicker{color:#d9ba76}
.medieval-gallery-controls{display:flex;align-items:center;gap:.55rem;flex:0 0 auto}
.medieval-gallery-controls button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:1.1rem;cursor:pointer}
.medieval-gallery-controls span{min-width:4.3rem;text-align:center;font:850 .68rem/1 var(--sans);letter-spacing:.08em}
.medieval-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.medieval-gallery-track::-webkit-scrollbar{display:none}
.medieval-gallery-card{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);min-height:540px;background:#f5ecde}
.medieval-gallery-image{position:relative;border:0;padding:0;background:#211d18;overflow:hidden;cursor:zoom-in;min-height:540px}
.medieval-gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.medieval-gallery-image:hover img{transform:scale(1.018)}
.medieval-gallery-image span{position:absolute;right:.8rem;bottom:.8rem;background:rgba(34,28,23,.88);color:#fff;padding:.55rem .72rem;border-radius:999px;font:800 .68rem/1 var(--sans)}
.medieval-gallery-caption{padding:1.5rem 1.35rem;align-self:center}
.gallery-place{font:900 .66rem/1.25 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.55rem}
.medieval-gallery-caption h4{font-family:Georgia,"Times New Roman",serif;font-size:1.9rem;line-height:1.05;margin:0 0 .85rem;color:#2d251f}
.medieval-gallery-caption p{line-height:1.62;font-size:.98rem;color:#5e5045}
.medieval-gallery-caption a{display:inline-block;margin-top:.45rem;text-decoration:none;color:var(--blue);font:850 .72rem/1.3 var(--sans);border-bottom:1px solid currentColor}
.medieval-gallery-dots{display:flex;justify-content:center;gap:.42rem;padding:.8rem;background:#e4d4bc;border-top:1px solid #c6ae88}
.medieval-gallery-dots button{width:10px;height:10px;border-radius:50%;border:0;background:#aa987c;padding:0;cursor:pointer}
.medieval-gallery-dots button.active{background:var(--red);transform:scale(1.25)}
.medieval-gallery-dialog{width:min(1120px,94vw);max-width:none;border:0;padding:0;background:#211d18;color:#f5eadb;box-shadow:0 30px 90px rgba(0,0,0,.55);overflow:hidden}
.medieval-gallery-dialog::backdrop{background:rgba(20,16,13,.86)}
.medieval-gallery-dialog img{display:block;width:100%;max-height:74vh;object-fit:contain;background:#15120f}
.gallery-dialog-copy{padding:1rem 4.4rem 1.2rem}
.gallery-dialog-copy span{font:900 .65rem/1 var(--sans);letter-spacing:.1em;color:#d4ac63}
.gallery-dialog-copy h4{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;margin:.3rem 0 .35rem}
.gallery-dialog-copy p{margin:0;line-height:1.5;color:#decfbd}
.gallery-dialog-close,.gallery-dialog-prev,.gallery-dialog-next{position:absolute;border:0;background:rgba(24,20,17,.82);color:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer;font-size:1.25rem}
.gallery-dialog-close{right:.8rem;top:.8rem}
.gallery-dialog-prev{left:.8rem;top:48%}
.gallery-dialog-next{right:.8rem;top:48%}
@media(max-width:760px){
  .medieval-gallery-head{align-items:flex-start}
  .medieval-gallery-card{grid-template-columns:1fr;min-height:0}
  .medieval-gallery-image{min-height:420px}
  .medieval-gallery-caption{padding:1.15rem}
  .medieval-gallery-caption h4{font-size:1.55rem}
  .gallery-dialog-copy{padding:1rem 1.2rem 1.2rem}
}
@media(max-width:520px){
  .medieval-gallery-head{flex-direction:column}
  .medieval-gallery-controls{align-self:flex-end}
  .medieval-gallery-image{min-height:360px}
}

.medieval-gallery-head small{display:block;max-width:720px;margin-top:.35rem;color:#d8cbbb;font-size:.72rem;line-height:1.35}
.gallery-sound-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.9rem 0 .45rem;padding:.7rem 0 .15rem;border-top:1px solid #d5c3a8}
.gallery-sound-row.two-sounds{gap:.42rem}
.gallery-sound{border:1px solid #9f8765;background:#302821;color:#fff7ea;border-radius:999px;padding:.62rem .78rem;font:850 .7rem/1 var(--sans);cursor:pointer;transition:transform .12s ease,background .12s ease}
.gallery-sound:hover,.gallery-sound:focus-visible{background:var(--red);outline:none;transform:translateY(-1px)}
.gallery-sound.playing{background:var(--red);box-shadow:0 0 0 3px rgba(124,52,42,.15)}
.gallery-sound.loading{opacity:.72;cursor:progress}
.gallery-audio-source{margin:0!important;border-bottom:0!important;font-size:.66rem!important;color:#786957!important}
.gallery-sound-status{padding:.7rem 1rem;background:#efe2ce;border-top:1px solid #c9b18d;color:#695a4c;font-size:.76rem;line-height:1.35;text-align:center}
.gallery-sound-status strong{color:var(--red)}
@media(max-width:520px){.gallery-sound{width:100%;text-align:left}.gallery-audio-source{display:block;width:100%}}

.mendicant-map,.communication-ladder{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:.55rem;align-items:center;margin:1.9rem 0 2.6rem}
.mendicant-map div,.communication-ladder div{padding:1rem;background:#efe3d1;border:1px solid var(--line);text-align:center}
.mendicant-map b,.communication-ladder b{display:block;font:900 .72rem/1.1 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--red);margin-bottom:.35rem}
.mendicant-map span,.communication-ladder span{font-size:.84rem;line-height:1.42;color:#66584c}
.mendicant-map i,.communication-ladder i{font-style:normal;color:var(--gold);font-size:1.2rem;font-weight:900}
.liturgical-bridge{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.8rem;margin:1.9rem 0 2.6rem}
.liturgical-bridge>div:not(.bridge-mark){padding:1.15rem;background:#eee2d0;border:1px solid var(--line)}
.liturgical-bridge b{display:block;font:900 .78rem/1 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin-bottom:.45rem}
.liturgical-bridge span{font-size:.9rem;line-height:1.5;color:#625548}
.bridge-mark{align-self:center;font-size:1.6rem;color:var(--gold);font-weight:900}
@media(max-width:850px){
  .mendicant-map,.communication-ladder{grid-template-columns:1fr}
  .mendicant-map i,.communication-ladder i{transform:rotate(90deg);justify-self:center}
  .liturgical-bridge{grid-template-columns:1fr}.bridge-mark{transform:rotate(90deg);justify-self:center}
}

.mass-map-wrap{margin:2rem 0 2.8rem}
.mass-map-wrap .mass-map{margin:0;padding-bottom:.55rem}
.mass-step{position:relative;display:flex;flex-direction:column;min-height:176px}
.mass-step>em{display:block;margin:.62rem 0 .45rem;font:italic 700 .67rem/1.3 Georgia,"Times New Roman",serif;color:#5f5348}
.mass-step .mass-sample{margin-top:auto;align-self:flex-start;border:1px solid rgba(67,54,43,.34);background:rgba(255,250,240,.72);color:#3a3029;border-radius:999px;padding:.46rem .58rem;font:900 .62rem/1 var(--sans);cursor:pointer;transition:background .13s ease,color .13s ease,transform .13s ease}
.mass-step .mass-sample:hover,.mass-step .mass-sample:focus-visible{background:#302821;color:#fff;outline:none;transform:translateY(-1px)}
.mass-step.playing{box-shadow:inset 0 0 0 2px rgba(119,52,43,.26),0 5px 18px rgba(60,45,30,.09)}
.mass-step .mass-sample.playing{background:var(--red);border-color:var(--red);color:#fff}
.mass-step .mass-sample.loading{opacity:.67;cursor:progress}
.mass-sample-pair{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:auto}
.mass-sample-pair .mass-sample{margin-top:0;padding:.44rem .5rem}
.mass-sample-status{padding:.78rem 1rem;background:#2e2822;color:#f4eadd;font-size:.78rem;line-height:1.5;border-top:3px solid var(--gold)}
.mass-sample-status strong{color:#e3bf72}
.mass-sample-status b{color:#fff}
.mass-sample-status.is-playing strong{color:#fff}
.mass-sample-sources{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;padding:.58rem .85rem;background:#e8dbc6;border:1px solid #cbb590;border-top:0;font:700 .65rem/1.35 var(--sans);color:#6e5e50}
.mass-sample-sources a{color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:600px){.mass-step{min-height:166px}.mass-sample-status{font-size:.73rem}.mass-sample-sources{display:grid;grid-template-columns:1fr}}

.roots-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.8rem 0 2.7rem}
.roots-triptych article{padding:1.15rem;background:#eee2d0;border:1px solid var(--line);border-top:5px solid var(--blue)}
.roots-triptych b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:#2f2721}
.roots-triptych span{display:block;margin:.28rem 0 .55rem;font:900 .65rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.roots-triptych p{margin:0;font-size:.9rem;line-height:1.55;color:#635548}
.temple-sound,.language-river{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.6rem;align-items:center;margin:1.8rem 0 2.5rem}
.language-river{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}
.temple-sound div,.language-river div{padding:1rem;background:#efe3d1;border:1px solid var(--line);text-align:center}
.temple-sound b,.language-river b{display:block;font:900 .73rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin-bottom:.35rem}
.temple-sound span,.language-river span{font-size:.84rem;line-height:1.4;color:#64564a}
.temple-sound i,.language-river i{font-style:normal;color:var(--gold);font-size:1.2rem;font-weight:900}
.roots-timeline{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:.5rem;overflow-x:auto;margin:1.8rem 0 2.6rem;padding-bottom:.4rem}
.roots-timeline div{min-width:120px;padding:.9rem;background:#ece0ce;border:1px solid var(--line);border-top:4px solid var(--gold)}
.roots-timeline b{display:block;color:var(--red);font:900 .8rem/1 var(--sans);margin-bottom:.3rem}
.roots-timeline span{font-size:.78rem;line-height:1.35;color:#65584d}
.roots-source-links{display:flex;gap:.45rem;flex-wrap:wrap}
.roots-source-links a{background:#28211c!important;color:#fff!important;border:0!important;border-radius:999px;padding:.62rem .75rem!important;font-size:.66rem!important}
@media(max-width:760px){.roots-triptych{grid-template-columns:1fr}.temple-sound,.language-river{grid-template-columns:1fr}.temple-sound i,.language-river i{transform:rotate(90deg);justify-self:center}}

.mass-step{display:flex;flex-direction:column}
.mass-incipit{margin-top:auto;align-self:flex-start;border:1px solid rgba(68,55,43,.32);background:rgba(255,255,255,.38);color:#332a23;border-radius:999px;padding:.36rem .52rem;font:900 .61rem/1 var(--sans);cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}
.mass-incipit:hover,.mass-incipit:focus-visible{background:#302821;color:#fff;outline:none;transform:translateY(-1px)}
.mass-incipit.playing{background:var(--red);border-color:var(--red);color:#fff}
.mass-incipit.loading{opacity:.68}
.mass-incipit-status{margin:-2rem 0 2.7rem;padding:.8rem 1rem;background:#efe3d0;border-left:4px solid var(--gold);font-size:.78rem;line-height:1.5;color:#66584c}
.mass-incipit-status strong{color:#3b3028}

/* --- Prologo 00 · multimedialità --- */
.roots-triptych-media{align-items:stretch}
.roots-triptych-media article{display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}
.roots-date{font:900 .62rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.1rem}
.roots-triptych-media article>b,
.roots-triptych-media article>span,
.roots-triptych-media article>p{display:block}
.roots-triptych-media article>span{margin:0;font:850 .69rem/1.3 var(--sans);letter-spacing:.045em;text-transform:uppercase;color:var(--red)}
.roots-triptych-media article>p{margin:.15rem 0 .45rem;line-height:1.52}
.roots-audio{margin-top:auto;align-self:flex-start;border:0;border-radius:999px;background:#2e2721;color:#fff;padding:.68rem .86rem;font:850 .7rem/1 var(--sans);cursor:pointer;transition:transform .12s ease,background .12s ease}
.roots-audio:hover,.roots-audio:focus-visible{background:var(--red);transform:translateY(-1px);outline:none}
.roots-audio.playing{background:var(--red);box-shadow:0 0 0 4px rgba(124,45,37,.14)}
.roots-audio.loading{opacity:.7;cursor:progress}
.roots-audio-source{display:inline-block;font:800 .64rem/1.2 var(--sans);color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor;align-self:flex-start}
.roots-audio-status{margin:-1.5rem 0 2.5rem;padding:.9rem 1rem;background:#ede0cc;border-left:4px solid var(--gold);font-size:.8rem;line-height:1.5;color:#625548}
.roots-audio-status strong{color:#302821}

/* Mixer sonoro didattico del Tempio */
.temple-mixer{margin:-1.2rem 0 2.8rem;background:linear-gradient(180deg,#2f2923,#221e1a);color:#f3eadc;border:1px solid #5a4c3d;border-top:5px solid var(--gold);box-shadow:var(--shadow);overflow:hidden}
.temple-mixer-head{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;padding:1.2rem 1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.12)}
.temple-mixer-head>div{min-width:0}
.temple-mixer-head .lab-kicker{display:block;font:900 .6rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#d5b36b;margin-bottom:.35rem}
.temple-mixer-head h3{margin:.05rem 0 .45rem;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3vw,2rem)}
.temple-mixer-head p{margin:0;max-width:760px;color:#d7cbbb;font-size:.88rem;line-height:1.55}
.temple-mixer-power{flex:0 0 auto;border:1px solid rgba(255,255,255,.18);background:#efe3cf;color:#2c251f;border-radius:999px;padding:.72rem .95rem;font:900 .7rem/1 var(--sans);cursor:pointer;min-height:44px}
.temple-mixer-power:hover,.temple-mixer-power:focus-visible{background:#fff;outline:2px solid rgba(228,190,114,.55);outline-offset:2px}
.temple-mixer-power.playing{background:var(--red);color:#fff;border-color:var(--red)}
.temple-mixer-presets{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap;padding:.72rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}
.temple-mixer-presets>span{font:900 .6rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#c8b99f;margin-right:.2rem}
.temple-mixer-presets button{border:1px solid rgba(255,255,255,.16);background:transparent;color:#eadfce;border-radius:999px;padding:.48rem .62rem;font:800 .64rem/1 var(--sans);cursor:pointer}
.temple-mixer-presets button:hover,.temple-mixer-presets button:focus-visible,.temple-mixer-presets button.active{background:#efe3cf;color:#2b241e;outline:none}
.temple-mixer-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid rgba(255,255,255,.1)}
.temple-mixer-channels label{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value" "range range";gap:.52rem .7rem;align-items:center;padding:1rem 1.05rem;border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);min-width:0}
.temple-mixer-channels label:nth-child(3n){border-right:0}
.temple-mixer-channels label:nth-last-child(-n+3){border-bottom:0}
.temple-mixer-channels label>span{grid-area:name;min-width:0}
.temple-mixer-channels b{display:block;color:#fff;font:900 .78rem/1.1 var(--sans);letter-spacing:.03em}
.temple-mixer-channels small{display:block;margin-top:.25rem;color:#bfae98;font:650 .64rem/1.35 var(--sans)}
.temple-mixer-channels output{grid-area:value;min-width:2.2rem;text-align:right;color:#e0bd73;font:900 .72rem/1 var(--sans);font-variant-numeric:tabular-nums}
.temple-mixer-channels input[type="range"]{grid-area:range;width:100%;accent-color:#d8b266;cursor:pointer}
.temple-mixer-channels label:focus-within{background:rgba(255,255,255,.035)}
.temple-mixer-channels .temple-master{background:rgba(216,178,102,.07)}
.temple-mixer-foot{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;padding:.85rem 1.05rem;color:#bfb19f;font-size:.72rem;line-height:1.45}
.temple-mixer-foot strong{color:#e8c77f;white-space:nowrap}
.temple-mixer-sources{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;padding:.72rem 1.05rem;background:#e8dbc6;border-top:1px solid rgba(70,55,42,.22);font:800 .62rem/1.3 var(--sans);color:#625447}
.temple-mixer-sources strong{color:#3a3028;text-transform:uppercase;letter-spacing:.08em;margin-right:.2rem}
.temple-mixer-sources a{color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor}
.temple-mixer-sources a:hover,.temple-mixer-sources a:focus-visible{color:var(--red)}
@media(max-width:760px){
  .temple-mixer{margin-top:-.8rem}
  .temple-mixer-head{display:grid;grid-template-columns:1fr}
  .temple-mixer-power{justify-self:start}
  .temple-mixer-channels{grid-template-columns:1fr}
  .temple-mixer-channels label,.temple-mixer-channels label:nth-child(3n),.temple-mixer-channels label:nth-last-child(-n+3){border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .temple-mixer-channels label:last-child{border-bottom:0}
  .temple-mixer-foot{display:grid;grid-template-columns:1fr}
  .temple-mixer-foot strong{white-space:normal}
}
.temple-sound div,.language-river div{display:flex!important;flex-direction:column;gap:.35rem;align-items:center;justify-content:center}
.temple-sound div>b,.temple-sound div>span,.temple-sound div>small,
.language-river div>b,.language-river div>span{display:block!important;width:100%}
.temple-sound div>b,.language-river div>b{margin:0!important;line-height:1.1}
.temple-sound div>span,.language-river div>span{margin:0!important;line-height:1.35}
.temple-sound div>small{font:700 .7rem/1.35 var(--sans);color:#796958}

/* galleria ebraica */
.jewish-icon-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.8rem 0 2.8rem}
.jewish-icon-card{background:#eee2d0;border:1px solid var(--line);overflow:hidden}
.jewish-icon-image{display:block;position:relative;width:100%;aspect-ratio:4/3;border:0;padding:0;background:#251f1a;cursor:zoom-in;overflow:hidden}
.jewish-icon-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.jewish-icon-image:hover img{transform:scale(1.025)}
.jewish-icon-image span{position:absolute;left:.65rem;bottom:.65rem;background:rgba(35,28,23,.86);color:#fff;padding:.42rem .58rem;border-radius:999px;font:850 .62rem/1 var(--sans)}
.jewish-icon-card>div{padding:1rem}
.jewish-icon-card b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;line-height:1.15;color:#2f2721;margin-bottom:.35rem}
.jewish-icon-card p{margin:.2rem 0 .7rem;font-size:.86rem;line-height:1.5;color:#65574b}
.jewish-icon-card a{font:800 .64rem/1.2 var(--sans);color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor}
.jewish-icon-dialog{width:min(1040px,94vw);max-width:none;border:0;padding:0;background:#211c18;color:#f5eadb;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.jewish-icon-dialog::backdrop{background:rgba(18,14,11,.86)}
.jewish-icon-dialog img{display:block;width:100%;max-height:76vh;object-fit:contain;background:#15120f}
.jewish-icon-dialog-copy{padding:1rem 1.25rem 1.3rem}
.jewish-icon-dialog-copy h4{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;margin:.1rem 0 .4rem}
.jewish-icon-dialog-copy p{margin:0;color:#ddcfbd;line-height:1.5}
.jewish-icon-close{position:absolute;top:.8rem;right:.8rem;width:42px;height:42px;border-radius:50%;border:0;background:rgba(26,21,18,.86);color:#fff;font-size:1.3rem;cursor:pointer}

/* confronto cantillazione */
.cantillation-compare{margin:2rem 0 3rem;padding:1.2rem;background:linear-gradient(180deg,#eadcc7,#e4d4ba);border:1px solid #c4aa81;border-top:5px solid var(--blue)}
.cantillation-compare-head{max-width:900px;margin-bottom:1rem}
.cantillation-compare-head h3{margin:.35rem 0 .55rem;font-size:1.8rem}
.cantillation-compare-head p{margin:0;line-height:1.55}
.cantillation-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;position:relative}
.cantillation-timeline::before{content:"";position:absolute;left:4%;right:4%;top:1.15rem;height:2px;background:linear-gradient(90deg,var(--gold),var(--red),var(--blue));opacity:.55}
.cantillation-timeline article{position:relative;background:#f4ebdc;border:1px solid #cbb693;padding:1rem;z-index:1}
.cantillation-date{display:flex;gap:.55rem;align-items:center;margin-bottom:.75rem}
.cantillation-date b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#2e2721;color:#fff;font:900 .7rem/1 var(--sans)}
.cantillation-date span{font:850 .66rem/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--red)}
.cantillation-video{aspect-ratio:16/9;background:#1d1915;margin-bottom:.8rem;overflow:hidden}
.cantillation-video iframe{display:block;width:100%;height:100%;border:0}
.cantillation-timeline h4{font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;margin:.15rem 0 .45rem}
.cantillation-timeline p{font-size:.88rem;line-height:1.52;color:#615348}
.cantillation-timeline a{font:800 .65rem/1.2 var(--sans);color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor}

@media(max-width:900px){
  .jewish-icon-gallery,.cantillation-timeline{grid-template-columns:1fr}
  .cantillation-timeline::before{display:none}
}
@media(max-width:620px){
  .roots-audio{width:100%;text-align:left}
  .jewish-icon-image{aspect-ratio:16/10}
}

.cantillation-axis{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.55rem;align-items:center;margin:.9rem 0 1.2rem;padding:.75rem;background:#e8dac4;border:1px solid #c7af89}
.cantillation-axis span{display:flex;flex-direction:column;gap:.18rem;text-align:center}
.cantillation-axis b{font:900 .72rem/1.15 var(--sans);letter-spacing:.055em;text-transform:uppercase;color:var(--red)}
.cantillation-axis small{font-size:.73rem;line-height:1.3;color:#68594c}
.cantillation-axis i{font-style:normal;font-weight:900;color:var(--gold)}
@media(max-width:760px){.cantillation-axis{grid-template-columns:1fr}.cantillation-axis i{transform:rotate(90deg);justify-self:center}}

/* spacing hardening: prevents bold labels and descriptions from collapsing together on mobile */
.temple-sound>div,.language-river>div,.roots-triptych-media>article{display:flex!important;flex-direction:column!important}
.temple-sound>div{row-gap:.34rem!important}
.temple-sound>div>b,.temple-sound>div>span,.temple-sound>div>small,
.language-river>div>b,.language-river>div>span{display:block!important;position:static!important;float:none!important}
.temple-sound>div>b,.language-river>div>b{margin:0 0 .12rem!important}
.temple-sound>div>span,.language-river>div>span{margin:0!important}


/* --- Laboratorio polifonia · mixer SATB reale --- */
.poly-mixer{margin:2rem 0 3rem;background:#211d19;color:#f2e8d8;border:1px solid #594c3e;border-top:5px solid var(--gold);box-shadow:var(--shadow);overflow:hidden}
.poly-mixer-head{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1.2rem 1.3rem;border-bottom:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,#302922,#25201b)}
.poly-mixer-head>div:first-child{min-width:0}
.poly-mixer-head .lab-kicker{color:#d6b46c}
.poly-mixer-head h3{margin:.2rem 0 .45rem;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3.5vw,2.35rem);line-height:1.08}
.poly-mixer-head p{margin:0;max-width:820px;color:#d2c5b3;font-size:.92rem;line-height:1.58}
.poly-piece{flex:0 0 220px;padding:.85rem .9rem;background:#eadcc5;color:#322921;border:1px solid #c6ae87}
.poly-piece strong,.poly-piece span,.poly-piece small{display:block}
.poly-piece strong{font:900 .67rem/1.1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.poly-piece span{margin:.38rem 0 .25rem;font-family:Georgia,"Times New Roman",serif;font-size:1.03rem;line-height:1.2}
.poly-piece small{font:750 .62rem/1.35 var(--sans);color:#6f5e4e}

.poly-console{display:grid;grid-template-columns:150px minmax(360px,1fr) 210px;min-height:390px;background:#26211c}
.poly-transport{display:flex;flex-direction:column;align-items:stretch;gap:.7rem;padding:1rem;border-right:1px solid rgba(255,255,255,.1);background:#1e1a17}
.poly-main-play{width:72px;height:72px;align-self:center;border-radius:50%;border:2px solid #c8ab72;background:#f3e7d4;color:#261f1a;font:900 1.45rem/1 var(--sans);cursor:pointer;box-shadow:0 0 0 4px rgba(216,178,102,.08)}
.poly-main-play:hover,.poly-main-play:focus-visible{background:#fff;outline:2px solid rgba(221,186,116,.5);outline-offset:3px}
.poly-main-play.playing{background:var(--red);border-color:var(--red);color:#fff}
.poly-main-play.loading{font-size:.76rem;letter-spacing:.03em}
.poly-time{text-align:center;font:900 .68rem/1 var(--sans);font-variant-numeric:tabular-nums;color:#d8bb80}
#polySeek{width:100%;accent-color:#d5ae62;cursor:pointer}
#polySeek:disabled{opacity:.35;cursor:not-allowed}
.poly-rec-controls{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.15rem}
.poly-rec-controls button,.poly-reset{border:1px solid rgba(255,255,255,.16);background:#302a25;color:#eee2d1;border-radius:.35rem;padding:.62rem .42rem;font:900 .61rem/1 var(--sans);letter-spacing:.04em;cursor:pointer;min-height:38px}
.poly-rec-controls button:hover,.poly-rec-controls button:focus-visible,.poly-reset:hover,.poly-reset:focus-visible{background:#eadcc6;color:#2c241f;outline:none}
.poly-rec-controls button:disabled{opacity:.35;cursor:not-allowed}
.poly-rec-controls .poly-rec{color:#ffb5ae}
.poly-rec-controls .poly-rec.recording{background:#8b2e28;color:#fff;border-color:#aa453d;animation:polyRecPulse 1.1s ease-in-out infinite}
@keyframes polyRecPulse{50%{box-shadow:0 0 0 5px rgba(170,69,61,.16)}}
.poly-reset{margin-top:.05rem;background:transparent}
.poly-transport-note{margin:auto 0 0;color:#9f9180;font-size:.65rem;line-height:1.45}

.poly-faders{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));min-width:0}
.poly-channel{display:flex;flex-direction:column;align-items:center;gap:.48rem;padding:.95rem .55rem .8rem;border-right:1px solid rgba(255,255,255,.09);position:relative;min-width:0}
.poly-channel:last-child{border-right:0}
.poly-channel:first-child{background:rgba(210,173,99,.055)}
.poly-channel-name{text-align:center;min-height:42px}
.poly-channel-name b{display:block;color:#fff;font:900 .74rem/1 var(--sans);letter-spacing:.08em}
.poly-channel-name span{display:block;margin-top:.22rem;color:#a99885;font:700 .59rem/1 var(--sans);text-transform:uppercase;letter-spacing:.06em}
.poly-vslider{width:46px;height:176px;display:flex;align-items:center;justify-content:center;position:relative}
.poly-vslider input[type="range"]{width:150px;height:28px;transform:rotate(-90deg);accent-color:#dfb966;cursor:pointer}
.poly-channel output,.poly-master output{min-width:2.4rem;text-align:center;color:#e0bd73;font:900 .68rem/1 var(--sans);font-variant-numeric:tabular-nums}
.poly-ms{display:flex;gap:.28rem}
.poly-ms button{width:32px;height:30px;padding:0;border:1px solid rgba(255,255,255,.16);background:#342e29;color:#cabda9;border-radius:.25rem;font:900 .62rem/1 var(--sans);cursor:pointer}
.poly-ms button.active[data-poly-mute]{background:#7e302a;border-color:#a0463e;color:#fff}
.poly-ms button.active[data-poly-solo]{background:#c79d48;border-color:#e0bb6c;color:#201b17}
.poly-meter{position:absolute;left:8px;top:66px;width:5px;height:175px;background:#151210;border:1px solid rgba(255,255,255,.09);overflow:hidden;border-radius:999px}
.poly-meter i{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,#817f68,#d1b361,#b75a4f);transition:height .07s linear}

.poly-master{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.1);background:#1d1a17}
.poly-master-faders{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.1)}
.poly-master-faders label{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.95rem .4rem .7rem;border-right:1px solid rgba(255,255,255,.08)}
.poly-master-faders label:last-child{border-right:0}
.poly-master-faders label>span{font:900 .62rem/1 var(--sans);letter-spacing:.08em;color:#d7c6ae}
.poly-master-main{background:rgba(210,173,99,.055)}
.poly-eq{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.85rem .55rem 1rem}
.poly-knob{position:relative;display:flex;flex-direction:column;align-items:center;gap:.36rem;min-width:0}
.poly-knob>span:first-child{font:900 .54rem/1 var(--sans);letter-spacing:.06em;color:#aa9a86}
.poly-knob-face{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#4a433c 0 24%,#28231f 56%,#151310 100%);border:1px solid #655749;box-shadow:inset 0 0 0 3px rgba(255,255,255,.025),0 2px 4px rgba(0,0,0,.25);position:relative;transform:rotate(var(--knob-angle,-135deg))}
.poly-knob-face i{position:absolute;left:50%;top:5px;width:2px;height:13px;background:#e2bb6d;border-radius:3px;transform:translateX(-50%)}
.poly-knob input[type="range"]{position:absolute;width:44px;height:44px;top:1.1rem;opacity:0;cursor:ew-resize}
.poly-knob output{font:900 .58rem/1 var(--sans);color:#dabb79;font-variant-numeric:tabular-nums}
.poly-knob output::after{content:" dB";font-size:.5rem;color:#8f8171}

.poly-status{padding:.85rem 1rem;border-top:1px solid rgba(255,255,255,.09);background:#302a24;color:#cfc2b0;font-size:.76rem;line-height:1.5}
.poly-status strong{color:#e3c27a}
.poly-status.error{background:#442522;color:#f5d7d2}
.poly-status.recording{background:#3d2420;color:#f5dfd9}
.poly-mixer-foot{display:grid;grid-template-columns:1fr;gap:.55rem;padding:.8rem 1rem;background:#e9dcc7;color:#5f5145;border-top:1px solid #bca482;font-size:.72rem;line-height:1.5}
.poly-mixer-foot p{margin:0}
.poly-mixer-foot strong{color:#3d3129}
.poly-mixer-foot a{color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor}

@media(max-width:900px){
  .poly-mixer-head{display:grid;grid-template-columns:1fr}
  .poly-piece{flex:auto;width:auto}
  .poly-console{grid-template-columns:125px minmax(320px,1fr) 180px;overflow-x:auto}
}
@media(max-width:680px){
  .poly-console{display:block;overflow:visible}
  .poly-transport{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:80px 1fr;align-items:center}
  .poly-main-play{grid-row:1/4;width:66px;height:66px}
  .poly-time{text-align:left}
  #polySeek{align-self:center}
  .poly-rec-controls{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}
  .poly-reset{grid-column:1/-1}
  .poly-transport-note{grid-column:1/-1}
  .poly-faders{min-height:325px}
  .poly-channel{padding-left:.45rem;padding-right:.45rem}
  .poly-meter{left:5px}
  .poly-master{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
  .poly-master-faders{grid-template-columns:1fr 1fr}
  .poly-master-faders .poly-vslider{height:145px}
  .poly-master-faders .poly-vslider input[type="range"]{width:122px}
  .poly-eq{max-width:270px;width:100%;margin:0 auto}
  .poly-mixer-foot{grid-template-columns:1fr}
}
@media(max-width:420px){
  .poly-faders{grid-template-columns:repeat(4,minmax(65px,1fr))}
  .poly-vslider{height:158px}
  .poly-vslider input[type="range"]{width:132px}
  .poly-channel-name b{font-size:.66rem}
  .poly-channel-name span{font-size:.54rem}
  .poly-rec-controls{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.poly-rec-controls .poly-rec.recording{animation:none}}


/* Accesso alla pagina satellite sul monastero */
.monastery-door{display:grid;grid-template-columns:72px 1fr auto;gap:1rem;align-items:center;margin:2rem 0 2.4rem;padding:1rem 1.1rem;background:linear-gradient(135deg,#2d2721,#44382d);border:1px solid #765f42;box-shadow:0 10px 26px rgba(40,27,18,.16);text-decoration:none;color:#f3eadb}
.monastery-door:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(40,27,18,.2)}
.monastery-door-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#ead7b8;color:#47372b;font-size:2rem;border:2px solid #c7a46c}
.monastery-door-copy{display:flex;flex-direction:column;gap:.24rem}
.monastery-door-copy small{font:800 .66rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#dcb96f}
.monastery-door-copy strong{font:800 1.35rem/1.15 var(--serif);color:#fff8ec}
.monastery-door-copy span{font-size:.9rem;line-height:1.45;color:#dfd2c0}
.monastery-door-arrow{font-size:2rem;color:#dcb96f}
@media(max-width:620px){.monastery-door{grid-template-columns:54px 1fr}.monastery-door-icon{width:50px;height:50px;font-size:1.5rem}.monastery-door-arrow{display:none}}


/* 2026-10-06 · laboratori polifonia, Triplex, viaggio, strumenti e bestiario */
.motion-card{display:flex;flex-direction:column}
.motion-card p{flex:1}
.motion-play{align-self:flex-start;margin:.2rem 0 .45rem;border:0;border-radius:999px;background:#2c2520;color:#fff;padding:.52rem .78rem;font:850 .7rem/1 var(--sans);cursor:pointer}
.motion-play.playing{background:var(--red)}
.motion-card circle{transition:transform .16s,fill .16s,filter .16s;transform-box:fill-box;transform-origin:center}
.motion-card circle.is-sounding{fill:#c39548!important;transform:scale(1.45);filter:drop-shadow(0 0 4px rgba(195,149,72,.45))}

.polytime-lab{margin:1.8rem 0 2.5rem;padding:1.05rem 1.1rem;background:#f5ecdd;border:1px solid #c8b28d;border-top:5px solid var(--gold);box-shadow:0 8px 22px rgba(49,35,22,.06)}
.polytime-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.polytime-head>div{min-width:0;flex:1 1 560px}
.polytime-head h4{font-size:1.45rem;margin:.3rem 0 .35rem}
.polytime-head p{margin:0;font-size:.92rem;line-height:1.5;color:#66574a}
.polytime-play,.polytime-clause{border:0;border-radius:999px;background:#2c2520;color:#fff;padding:.58rem .82rem;font:850 .72rem/1 var(--sans);cursor:pointer}
.polytime-stage{margin-top:.9rem;border:1px solid #cab493;background:#fbf5e9;overflow:hidden}
.polytime-row{display:grid;grid-template-columns:125px 1fr;min-height:88px;border-bottom:1px solid #d9c7aa}
.polytime-row:last-child{border-bottom:0}
.polytime-label{padding:.8rem .75rem;background:#eadfc9;border-right:1px solid #cab493;display:flex;flex-direction:column;justify-content:center}
.polytime-label b{font:900 .68rem/1 var(--sans);letter-spacing:.09em;color:var(--red)}
.polytime-label span{font-size:.68rem;line-height:1.3;color:#756455;margin-top:.3rem}
.polytime-track{position:relative;min-width:0;background:repeating-linear-gradient(90deg,transparent 0 12.25%,rgba(105,82,56,.07) 12.5%,transparent 12.75%)}
.polytime-track::after{content:"";position:absolute;left:5%;right:5%;top:50%;height:1px;background:#d8c5a7}
.polytime-note{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--red);left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2;opacity:.36}
.polytime-note::after{content:"";position:absolute;left:5px;bottom:10px;width:2px;height:18px;background:var(--red)}
.polytime-tenor-bar{position:absolute;left:8%;right:8%;top:50%;height:7px;border-radius:99px;background:#b58a47;transform:translateY(-50%);z-index:2}
.polytime-tenor-bar::before{content:"";position:absolute;left:-3px;top:50%;width:18px;height:18px;border-radius:50%;background:#b58a47;transform:translateY(-50%)}
.polytime-tenor-bar.left{right:61%}.polytime-tenor-bar.right{left:64%}
.polytime-pulse{position:absolute;top:50%;left:var(--x);width:16px;height:16px;border-radius:50%;background:#b58a47;transform:translate(-50%,-50%);z-index:2;opacity:.5}
.polytime-guide{position:absolute;top:0;bottom:0;left:var(--x);width:2px;background:rgba(125,52,41,.18);z-index:1}
.polytime-cursor{position:absolute;top:0;bottom:0;width:3px;background:var(--blue);left:5%;opacity:0;z-index:4}
.polytime-message{margin-top:.7rem;padding:.75rem .85rem;background:#e8dcc8;border-left:4px solid var(--red);font-size:.84rem;line-height:1.45}
.polytime-formbar{display:grid;grid-template-columns:1.25fr .7fr 1.25fr;gap:.25rem;margin:.85rem 0}
.polytime-formbar span,.polytime-formbar button{padding:.65rem;text-align:center;font:900 .66rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.polytime-formbar span{background:#ddd0ba;color:#5f5144}
.polytime-formbar .polytime-clause{border-radius:0;background:var(--red)}
.polytime-lab.playing .polytime-cursor{opacity:1;animation:polytimeSweep 4.4s linear infinite}
.polytime-lab.playing .polytime-note{opacity:1;animation:polytimePulse 1s ease-in-out infinite alternate}
.polytime-lab.playing .polytime-pulse{opacity:1;animation:polytimePulse 1s ease-in-out infinite alternate}
.polytime-clause.flash{animation:polytimeFlash .8s ease 2}
@keyframes polytimeSweep{from{left:5%}to{left:95%}}
@keyframes polytimePulse{from{transform:translate(-50%,-50%) scale(.92)}to{transform:translate(-50%,-50%) scale(1.15)}}
@keyframes polytimeFlash{50%{filter:brightness(1.35);transform:translateY(-2px)}}

.triplex-visual{margin:2rem 0 2.3rem}
.triplex-visual-head{max-width:820px;margin-bottom:1rem}
.triplex-visual-head h3{margin:.3rem 0 .45rem}
.triplex-visual-head p{margin:0;line-height:1.55;color:#67594d}
.triplex-figure{margin:1rem 0 1.25rem;background:#f6ecdc;border:1px solid #c6af89;padding:.75rem}
.triplex-figure img{display:block;width:100%;max-height:620px;object-fit:contain;background:#e8dcc7}
.triplex-figure.detail{max-width:900px;margin-left:auto;margin-right:auto}
.triplex-figure figcaption{padding:.75rem .2rem .1rem;font-size:.88rem;line-height:1.5;color:#625447}
.triplex-key{padding:1rem 1.1rem;background:#2b4864;color:#fff;font-size:1.08rem;line-height:1.45}
.triplex-key strong{color:#efd18b}

.travelling-musicians-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.3rem 0 2.2rem}
.travelling-musicians-strip img{display:block;width:100%;height:270px;object-fit:cover;border:1px solid #c4ad89;border-top:4px solid var(--gold);background:#e9decc}

.second-level-door{margin-top:1.6rem}

.instrument-cabinet article{display:flex;flex-direction:column}
.instrument-cabinet article p{flex:1}
.instrument-sound{align-self:flex-start;margin-top:.8rem;border:0;border-radius:999px;background:#2b2520;color:#fff;padding:.55rem .8rem;font:850 .7rem/1 var(--sans);cursor:pointer}
.instrument-sound.playing{background:var(--red)}
.instrument-sound-status{margin:-1.7rem 0 2.3rem;padding:.78rem .9rem;background:#e8ddcb;border-left:4px solid var(--gold);font:650 .78rem/1.45 var(--sans);color:#66584c}

.beast-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.6rem 0 2.2rem}
.beast-gallery figure{margin:0;background:#eee2cf;border:1px solid #c5ae8a;overflow:hidden}
.beast-gallery img{display:block;width:100%;height:220px;object-fit:cover;background:#d8c9b4}
.beast-gallery figcaption{padding:.72rem .75rem}
.beast-gallery figcaption b{display:block;font:850 .72rem/1.2 var(--sans);letter-spacing:.045em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.beast-gallery figcaption span{display:block;font-size:.82rem;line-height:1.42;color:#67584b}

@media(max-width:850px){
  .travelling-musicians-strip{grid-template-columns:1fr 1fr}
  .travelling-musicians-strip img:last-child{grid-column:1/-1}
  .beast-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .polytime-row{grid-template-columns:1fr;min-height:135px}
  .polytime-label{border-right:0;border-bottom:1px solid #cab493;padding:.55rem .7rem}
  .polytime-track{min-height:85px}
  .travelling-musicians-strip{grid-template-columns:1fr}
  .travelling-musicians-strip img,.travelling-musicians-strip img:last-child{grid-column:auto;height:240px}
  .beast-gallery{grid-template-columns:1fr}
  .beast-gallery img{height:260px}
}
@media(prefers-reduced-motion:reduce){
  .polytime-lab.playing .polytime-cursor,.polytime-lab.playing .polytime-note,.polytime-lab.playing .polytime-pulse{animation:none}
}


/* 2026-10-08 · Menu Medioevo: tutte le voci visibili, anche da PC.
   La navigazione condivisa apre/chiude il pannello; qui cambiamo
   solo l'impaginazione interna, senza toccare le altre pagine. */
.nav-wrap.atlas-autonav > nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  align-content: start;
  align-items: stretch;
  gap: .45rem .55rem;
  width: 100%;
  box-sizing: border-box;
}
.nav-wrap.atlas-autonav > nav > a {
  display: flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  flex: initial;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
  padding: .63rem .78rem;
  border-radius: .7rem;
}
@media (max-width: 700px) {
  .nav-wrap.atlas-autonav > nav {
    grid-template-columns: 1fr;
  }
}

/* 8 ore canoniche: campioni di 30 secondi, impaginazione invariata. */
.office-day .office-card{display:flex;flex-direction:column;min-width:0}
.office-day .office-chant{display:block;margin:.72rem 0 .78rem;font-size:.86rem;line-height:1.3;font-weight:700;color:#53483e;overflow-wrap:anywhere}
.office-day .office-sample{align-self:flex-start;margin-top:auto;border:1px solid #b39b7a;border-radius:999px;background:#fbf6ee;color:#29231d;padding:.5rem .8rem;font:850 .75rem/1.2 var(--sans);cursor:pointer;min-height:38px;transition:background .16s,color .16s}
.office-day .office-sample:hover,.office-day .office-sample:focus-visible{background:#2d2620;color:#fff}
.office-day .office-sample.playing{background:#302821;color:#fff;border-color:#302821}
.office-day .office-sample.loading{opacity:.7}
.office-day .office-sample:focus-visible{outline:2px solid #826529;outline-offset:3px}
.office-day .office-source{display:inline-block;align-self:flex-start;font:650 .7rem/1.4 var(--sans);color:#725b3c;margin-top:.48rem;text-underline-offset:3px}
.office-audio-status{margin:-1.7rem 0 2.5rem;padding:.75rem .9rem;border-left:3px solid var(--gold);background:#e9ddcb;color:#5d5043;font:650 .8rem/1.5 var(--sans)}

/* Testata figurativa: miniatura medievale con fonte visibile. */
.masthead.with-hero-art{background-image:linear-gradient(90deg,rgba(25,21,22,.97),rgba(25,21,25,.86) 45%,rgba(25,21,25,.40)),url("https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Cantigas_de_Santa_Maria,_Musician%27s_Codex,_page_Bl-2_039V.jpg/960px-Cantigas_de_Santa_Maria,_Musician%27s_Codex,_page_Bl-2_039V.jpg");background-size:cover;background-position:70% 43%;background-repeat:no-repeat}.masthead.with-hero-art .illuminated-letter{opacity:.25}.masthead.with-hero-art .hero-card{background:rgba(23,20,20,.70)}
.hero-art-credit{position:absolute;z-index:4;right:clamp(1rem,5vw,4rem);bottom:.95rem;max-width:90%;padding:.45rem .68rem;background:rgba(15,17,24,.74);border:1px solid #ffffff55;color:#f5e9d8;font:600 .69rem/1.5 var(--sans);text-align:right}.hero-art-credit a{color:#f6e6c7;text-decoration:underline;text-underline-offset:2px}@media(max-width:690px){.hero-art-credit{left:1rem;right:1rem;max-width:none;text-align:left;font-size:.65rem}}
@media(max-width:780px){.masthead.with-hero-art{background-image:linear-gradient(90deg,rgba(25,21,22,.92),rgba(25,21,25,.66)),url("https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Cantigas_de_Santa_Maria,_Musician%27s_Codex,_page_Bl-2_039V.jpg/960px-Cantigas_de_Santa_Maria,_Musician%27s_Codex,_page_Bl-2_039V.jpg");background-position:60% 40%;padding-bottom:6rem}}

/* Medievale, audit iconografico 24-10-2026: il testo circonda le miniature.
   Nessuna griglia di carte o immagine a tutta larghezza nei paragrafi. */
#cammina .theory-essay.mm-prose-illustrated,
#convento .theory-essay.mm-prose-illustrated,
#numero .theory-essay.mm-prose-illustrated,
#arsnova .theory-essay.mm-prose-illustrated,
#trecento .mm-prose-illustrated,
#lodare .mm-prose-illustrated{display:flow-root}
#cammina figure.mm-prose-figure,
#convento figure.mm-prose-figure,
#numero figure.mm-prose-figure,
#arsnova figure.mm-prose-figure,
#trecento figure.mm-prose-figure,
#lodare figure.mm-prose-figure{background:#fbf8f0}
#lodare .mm-prose-illustrated .book-compare{clear:both}
#trecento .mm-prose-illustrated{margin-bottom:1.4rem}
#trecento .mm-prose-illustrated > p{margin-top:0}
@media(max-width:700px){
#trecento .mm-prose-illustrated figure.mm-prose-figure,
#lodare .mm-prose-illustrated figure.mm-prose-figure{margin:1rem auto 1.25rem}
}
