@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#101516;--panel:#181f20;--ink:#f3f1e9;--muted:#acb4b1;--gold:#c7ab75;--line:#ffffff24;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}p{margin:0 0 1.4em}h1,h2,h3{margin:0;font-weight:400}h2{font:400 clamp(2.7rem,4.8vw,4.65rem)/1.08 var(--serif);letter-spacing:-.025em}h2 em{color:var(--gold);font-weight:400}h3{font:500 1.8rem/1.2 var(--serif)}strong{font-weight:600}img{max-width:100%;display:block}small,.small{font-size:.875rem;line-height:1.7}.muted{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.section{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.18em;color:var(--gold);margin-bottom:28px}.lead{font-size:1.15rem;line-height:1.75;color:var(--ink)}.tiny-label{font-size:.75rem;letter-spacing:.13em;color:var(--gold)}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;font-size:.875rem;font-weight:600;line-height:1.5;transition:background .2s,color .2s}.gold{background:var(--gold);color:#172020}.gold:hover{background:#dfc593}.outline{border-color:var(--line);background:none}.outline:hover{background:#ffffff10}.text-link{font-size:.875rem;display:inline-block;border:none;border-bottom:1px solid var(--gold);padding:7px 0;background:none;color:inherit}.text-link:hover{color:var(--gold)}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--gold);color:#000;padding:10px}.skip:focus{top:10px}.header{height:92px;position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid #ffffff1c;background:linear-gradient(#101516e6,#10151622)}.brand{display:flex;align-items:center;gap:11px;line-height:1.3;flex-shrink:0}.brand-c{font:3.6rem/.9 var(--serif);color:var(--gold);border-right:1px solid #c7ab7555;padding-right:12px}.brand>span:last-child{font-size:.65rem;letter-spacing:.15em}.brand strong{font-size:.91rem;letter-spacing:.17em}.header nav{display:flex;align-items:center;gap:27px}.header nav a{font-size:.8125rem}.header nav a:hover{color:var(--gold)}.nav-contact{padding:8px 14px;border:1px solid #c7ab7566}.menu-toggle{display:none}.hero{position:relative;min-height:870px;height:min(1000px,100svh);padding-top:145px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-landscape{position:absolute;inset:0;z-index:-2;background:url('assets/tomba-cicerone.jpg') 75% center/cover no-repeat;filter:saturate(.4)}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101516f7 0%,#101516e0 25%,#10151670 60%,#10151622),linear-gradient(0deg,#101516 0%,#10151610 35%,#10151666 100%)}.hero-content{padding-bottom:100px}.hero-eyebrow{margin-bottom:30px}.logo-frame{width:min(670px,100%);aspect-ratio:4.2;overflow:hidden;position:relative;margin-left:-2.5%;mix-blend-mode:screen}.logo-frame img{position:absolute;width:100%;max-width:none;height:auto;top:50%;transform:translateY(-50%);filter:invert(1) sepia(1) saturate(.75)}.hero-type{font-size:.85rem;letter-spacing:.24em;color:var(--gold);margin:21px 0 25px}.hero-type span{margin:0 12px}.hero-line{font:400 clamp(2rem,3.4vw,3.2rem)/1.12 var(--serif);margin-bottom:22px}.hero-description{max-width:470px;color:#d2d5ce;font-size:1rem;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.hero-authors{font-size:.8rem;color:#bfc4bb;margin-top:30px}.hero-authors strong{color:#e2dfd2}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;gap:20px;font-size:.68rem;letter-spacing:.16em;color:#b7b9af}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}.intro-copy{padding-top:43px;color:var(--muted)}.intro-copy p:last-child{margin:0}.three-worlds{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.three-worlds a{display:flex;gap:23px;align-items:center;padding:30px 20px;border-right:1px solid var(--line)}.three-worlds a:first-child{padding-left:0}.three-worlds a:last-child{border:none}.number{font:2.8rem var(--serif);color:var(--gold)}.three-worlds strong{display:block;font:1.4rem var(--serif)}.three-worlds small{color:var(--muted);display:block;font-size:.8rem}.three-worlds a:hover{background:#ffffff05}.section-heading.inline{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.section-heading.inline>p{color:var(--muted);font-size:.95rem;max-width:320px;margin-bottom:6px}.timeline-controls{display:grid;grid-template-columns:repeat(6,1fr);margin:55px 0 0;border-bottom:1px solid var(--line)}.timeline-controls button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 4px 23px;text-align:left;position:relative;color:var(--muted)}.timeline-controls strong{font:2.3rem var(--serif)}.timeline-controls span{font-size:.75rem;margin-left:6px}.timeline-controls small{display:block;font-size:.8rem}.timeline-controls button.selected{color:var(--gold);border-bottom-color:var(--gold)}.timeline-controls button:hover{color:var(--ink)}.timeline-detail{display:grid;grid-template-columns:1fr 2fr;gap:40px;background:var(--panel);padding:38px 44px;min-height:228px}.date-large{font:5.8rem/1.3 var(--serif);color:#c7ab754a;white-space:nowrap}.date-large small{font:1.4rem var(--serif)}.timeline-detail h3{margin-bottom:12px}.timeline-detail p{color:var(--muted);font-size:.95rem;margin-bottom:17px}.formia-section{display:grid;grid-template-columns:1fr 1fr;background:#1b2322}.formia-photo{position:relative;min-height:660px}.formia-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:49% center;filter:saturate(.6)}.formia-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101516cc,transparent 45%)}.formia-photo>span{position:absolute;bottom:35px;left:35px;right:35px;font-size:.7rem;letter-spacing:.15em;z-index:1}.formia-content{padding:80px 12% 70px 10%}.formia-content h2{margin-bottom:30px}.formia-content>p:not(.lead){color:var(--muted)}.note{border-left:1px solid var(--gold);padding-left:20px;margin:28px 0}.note strong{font-size:.9rem}.note p{font-size:.85rem;margin:10px 0;color:var(--muted)}.tullia{display:grid;grid-template-columns:1fr 1fr;gap:100px}.tullia h2{font-size:clamp(2.8rem,4.5vw,4.5rem)}.tullia-copy{position:relative;padding:65px 10px 0 25px;color:var(--muted)}.ornament{font:9rem/.6 var(--serif);color:#c7ab7538;position:absolute;top:37px;left:-5px}.tullia-copy .lead{position:relative;font-family:var(--serif);font-size:1.85rem;line-height:1.35}.music{background:#0c1011}.music-intro{max-width:700px;color:var(--muted);margin-top:30px}.songs{margin-top:45px;border-top:1px solid var(--line)}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}.songs summary{display:grid;grid-template-columns:45px 1fr 260px 22px;gap:14px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.songs summary>span{color:var(--gold);font-size:.8rem}.songs summary h3{font-size:1.65rem}.songs summary small{font-size:.8rem;color:var(--muted)}summary b{font:1.5rem var(--sans);color:var(--gold);font-weight:400;transition:transform .2s}details[open]>summary b{transform:rotate(45deg)}.songs details>p{padding:24px 280px 26px 60px;margin:0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.95rem}.music-note{margin:28px 0 0;max-width:780px}.schools{background:#eeeae0;color:#27322e;--gold:#836333;--line:#24322930;--muted:#59655e;--ink:#243229}.schools h2 em{color:#86683c}.school-intro{max-width:760px;color:var(--muted);margin-top:28px}.school-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:45px 0 0;border-bottom:1px solid #27322e44}.school-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:18px 12px;color:#515b53;text-align:left;font-size:.9rem}.school-tabs button:first-child{padding-left:0}.school-tabs span{display:block;font-size:.8rem;margin-top:3px}.school-tabs button[aria-selected=true]{border-color:#806332;color:#243229;font-weight:700}.school-panel{padding:42px 0;display:grid;grid-template-columns:1fr 1.45fr;gap:70px;min-height:416px}.school-panel h3{font-size:2.8rem;margin:14px 0 22px}.school-panel .lead{font-size:1rem}.school-steps{display:grid;gap:22px}.school-step{display:grid;grid-template-columns:75px 1fr;gap:20px}.school-step>span{font-size:.75rem;letter-spacing:.1em;font-weight:600;color:#806332;padding-top:4px}.school-step h4{font-size:1rem;margin:0 0 4px;font-weight:600}.school-step p{margin:0;font-size:.9rem;color:var(--muted)}.school-outcome{border-top:1px solid var(--line);padding-top:18px;font-size:.9rem;margin:4px 0 0}.school-footer{border-top:1px solid #27322e33;padding-top:23px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.school-footer p{font-size:.8rem;max-width:730px;color:var(--muted);margin:0}.dark-link{color:#344136;flex-shrink:0}.school-panel .button{margin-top:12px;background:#283b33;color:#f1eee2}.school-panel .button:hover{background:#3d5145}.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:55px}.formats article{border:1px solid var(--line);padding:37px 30px;display:flex;flex-direction:column}.format-label{font-size:.7rem;letter-spacing:.12em;color:var(--gold)}.formats h3{font-size:2rem;margin:27px 0 20px}.formats p{color:var(--muted);font-size:.94rem}.formats article>span:last-child{font-size:.8rem;color:var(--gold);border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.formats+p{margin-top:23px}.territory{border-top:1px solid var(--line);padding-top:75px}.activities{display:grid;grid-template-columns:1fr 1fr;gap:40px 75px;margin-top:45px}.activities article{display:flex;gap:25px}.activities article>span{font:1.6rem var(--serif);color:var(--gold);padding-top:4px}.activities h3{font-size:1.8rem;margin-bottom:12px}.activities p{font-size:.95rem;color:var(--muted);margin:0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:20px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:.98rem}.faq-list p{font-size:.9rem;color:var(--muted);padding-right:35px}.contact{text-align:center;background:radial-gradient(ellipse at 50% 100%,#394137 0%,#202a26 45%,#18211e 100%)}.contact h2{font-size:clamp(3.1rem,5.8vw,5.3rem)}.contact p:not(.eyebrow){max-width:590px;margin:28px auto 33px;color:#c3c9c1}.contact .small{display:block;margin-top:16px;font-size:.8rem}.footer{padding-top:70px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-bottom:40px}.footer-top p{font-size:.8rem;color:var(--muted);margin-top:22px}.footer-top .footer-quote{font:1.9rem/1.2 var(--serif);color:var(--ink);margin:0}.footer-quote em{color:var(--gold)}.credits{border-top:1px solid var(--line);padding:20px 0;font-size:.75rem;color:var(--muted)}.credits summary{font-size:.8rem}.credits p{margin:18px 0 0;max-width:1050px}.credits a{text-decoration:underline;text-underline-offset:3px}.footer-bottom{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.05em;color:var(--muted)}dialog{background:var(--panel);color:var(--ink);border:1px solid #c7ab7544;max-width:690px;width:calc(100% - 28px);padding:45px;max-height:90svh;overflow:auto}dialog::backdrop{background:#060b0dde;backdrop-filter:blur(5px)}dialog h2{font-size:2.8rem;margin-bottom:17px}dialog>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.dialog-close{position:absolute;top:8px;right:17px;border:0;background:none;font-size:2rem;color:var(--muted)}label{display:block;font-size:.85rem;margin:17px 0 7px}label span{color:var(--muted)}input,select,textarea{width:100%;border:1px solid #ffffff33;background:#111819;color:var(--ink);padding:11px 13px;font-size:1rem;border-radius:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8f9a96}.form-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.dialog-actions{display:flex;gap:14px;margin-top:25px;flex-wrap:wrap}.dialog-actions+.small{margin-top:15px;font-size:.75rem}#request-status{font-size:.9rem;color:var(--gold);margin:10px 0 0}#print-area{display:none}.noscript{padding:20px;background:#c7ab75;color:#111}
@media(min-width:1600px){.hero-landscape{background-position:center 48%}.hero{height:950px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header nav{gap:17px}.header nav a{font-size:.75rem}.intro,.tullia{gap:50px}.formia-content{padding:65px 40px}.formats{gap:15px}.formats article{padding:30px 22px}.faq{gap:55px}.school-panel{gap:40px}.hero{min-height:830px}.songs summary{grid-template-columns:40px 1fr 220px 20px}.songs details>p{padding-right:100px}.date-large{font-size:4.5rem}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.section{padding-top:74px;padding-bottom:74px}.header{height:80px;padding:0 22px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#141c1b;flex-direction:column;align-items:stretch;gap:0;padding:15px 25px 25px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:13px 0;font-size:1rem}.nav-contact{border:0}.menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:0;font-size:.85rem;padding:10px 0}.menu-toggle span{font-size:1.15rem}.hero{height:auto;min-height:790px;padding-top:150px;padding-bottom:55px}.hero-content{padding-bottom:70px}.hero:before{background:linear-gradient(90deg,#101516e8,#1015168c),linear-gradient(0deg,#101516,transparent 60%)}.hero-landscape{background-position:58% center}.hero-eyebrow{font-size:.68rem;letter-spacing:.14em}.logo-frame{width:100%;max-width:620px;margin-left:-2%}.hero-type{font-size:.75rem;letter-spacing:.18em;margin-top:20px}.hero-line{font-size:2.8rem}.hero-description{max-width:470px}.hero-bottom{font-size:.6rem;bottom:24px}.vertical-word{display:none}.intro{grid-template-columns:1fr;gap:20px}.intro-copy{padding-top:0}.three-worlds{grid-template-columns:1fr}.three-worlds a{padding:23px 0;border-right:0;border-bottom:1px solid var(--line)}.three-worlds a:last-child{border-bottom:0}.three-worlds .number{width:40px;font-size:2.4rem}.three-worlds strong{font-size:1.55rem}.section-heading.inline{display:block}.section-heading.inline>p{margin-top:25px}.timeline-controls{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px}.timeline-controls button{padding-bottom:14px}.timeline-controls strong{font-size:2rem}.timeline-detail{grid-template-columns:1fr;padding:27px;gap:12px;min-height:300px}.date-large{font-size:3.4rem;line-height:1}.timeline-detail p{font-size:.9rem}.formia-section{grid-template-columns:1fr}.formia-photo{min-height:380px;order:2}.formia-photo img{object-position:center 40%}.formia-content{padding:64px 24px}.tullia{grid-template-columns:1fr;gap:18px}.tullia-copy{padding:44px 0 0 22px}.tullia h2{font-size:3.15rem}.ornament{top:23px}.songs summary{grid-template-columns:30px 1fr 20px;gap:10px;padding:20px 0}.songs summary h3{font-size:1.45rem}.songs summary small{grid-column:2;grid-row:2;font-size:.75rem}.songs summary b{grid-column:3;grid-row:1/3}.songs details>p{padding:22px 8px 25px 40px}.school-tabs{grid-template-columns:1fr 1fr;gap:8px}.school-tabs button{padding:14px 8px;min-height:85px;font-size:.85rem}.school-tabs button:first-child{padding-left:8px}.school-panel{grid-template-columns:1fr;gap:28px;padding:30px 0;min-height:0}.school-panel h3{font-size:2.5rem}.school-panel .lead{margin-bottom:13px}.school-footer{display:block}.school-footer .text-link{margin-top:17px}.school-step{grid-template-columns:62px 1fr;gap:15px}.formats{grid-template-columns:1fr;gap:18px;margin-top:35px}.formats article{padding:30px}.formats h3{margin-top:17px}.formats p{max-width:570px}.activities{grid-template-columns:1fr;gap:35px}.faq{grid-template-columns:1fr;gap:32px}.contact h2{font-size:3.4rem}.footer-top{align-items:flex-start;flex-wrap:wrap}.footer-quote{display:none}.footer-bottom{gap:25px;font-size:.65rem}.footer-top .text-link{font-size:.8rem}.eyebrow{margin-bottom:22px}.hero-actions{gap:23px}.hero-actions .text-link{font-size:.8rem}}
@media(max-width:420px){.hero{min-height:780px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-authors{font-size:.72rem}.hero-type{font-size:.67rem}.hero-line{font-size:2.5rem}.hero-description{font-size:.93rem}.brand-c{font-size:3rem}.brand>span:last-child{font-size:.6rem}.brand strong{font-size:.8rem}h2{font-size:2.7rem}.tullia h2{font-size:2.9rem}.school-tabs button{font-size:.8rem}.contact h2{font-size:3rem}.contact .button{padding:15px 20px}.form-grid{grid-template-columns:1fr;gap:0}dialog{padding:35px 24px}.dialog-actions{flex-direction:column}.hero-bottom{font-size:.56rem}.footer-bottom{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{body>*{display:none!important}body{background:#fff;color:#000;font:12pt/1.5 Georgia,serif}#print-area{display:block!important;padding:12mm}#print-area h1{font-size:25pt;margin-bottom:7mm}#print-area h2{font:21pt Georgia,serif;margin:6mm 0}#print-area h3{font:17pt Georgia,serif;margin:6mm 0}#print-area h4{margin:5mm 0 2mm}#print-area p{margin:0 0 4mm}#print-area .school-panel{display:block;padding:0;min-height:0}#print-area .school-step{display:block;margin-bottom:5mm}#print-area .school-step>span{font-weight:bold}#print-area .school-outcome{margin-top:5mm}#print-area button{display:none}#print-area *{color:#000!important}.print-footer{font-size:10pt;margin-top:8mm!important;border-top:1pt solid #bbb;padding-top:4mm}}
/* Fixed navigation and production credit */
.header{position:fixed;z-index:30;background:rgba(16,21,22,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 5px 30px #00000020}
.header nav{gap:22px}.header nav a{font-size:.82rem}
.hero-production{display:block;margin-top:9px;letter-spacing:.08em;font-size:.76rem}.hero-production strong,.production-credit strong{color:var(--gold)}
.production-credit{display:inline-block;margin-top:13px;font-size:.875rem}.production-credit strong{font-weight:700;letter-spacing:.09em}
/* Scenographic gallery */
.gallery{background:#111b1b;border-bottom:1px solid var(--line)}
.gallery-intro{max-width:790px;margin-top:28px;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;margin-top:45px}
.gallery-card{margin:0;min-width:0}.gallery-lead{grid-column:1/-1}
.gallery-open{width:100%;position:relative;display:block;padding:0;border:1px solid #c7ab7526;background:#101516;overflow:hidden}
.gallery-open img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}
.gallery-lead .gallery-open img{aspect-ratio:2/1;object-position:center 55%}
.gallery-open:hover img{transform:scale(1.025)}
.gallery-zoom{position:absolute;right:15px;bottom:15px;background:#101516d9;border:1px solid #c7ab7566;padding:7px 12px;color:var(--ink);font-size:.75rem;backdrop-filter:blur(8px)}
.gallery-card figcaption{display:flex;align-items:flex-start;gap:18px;padding:22px 0 0}
.gallery-number{font:1.5rem/1.2 var(--serif);color:var(--gold);padding-top:2px}
.gallery-card h3{font-size:1.7rem;line-height:1.15}.gallery-card p{margin:8px 0 0;color:var(--muted);font-size:.875rem;line-height:1.6}
.gallery-lead h3{font-size:2.1rem}.concept-label{margin-left:auto;align-self:center;color:var(--gold);font-size:.7rem;letter-spacing:.14em}
.gallery-disclosure{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin:35px 0 0;padding-top:20px;max-width:960px}
.gallery-dialog{width:min(1320px,calc(100% - 36px));max-width:1320px;max-height:94svh;padding:18px 26px 23px;overflow:auto;background:#101516;border:1px solid #c7ab7544}
.gallery-dialog::backdrop{background:#060a0bf5;backdrop-filter:blur(10px)}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;font-size:.75rem;letter-spacing:.12em;color:var(--gold)}
.lightbox-top button{display:flex;align-items:center;gap:13px;min-height:44px;background:none;border:none;color:var(--ink);font-size:.875rem;letter-spacing:0}.lightbox-top button span{font-size:1.8rem}
.lightbox-figure{margin:0}.lightbox-figure>img{width:100%;max-height:64svh;object-fit:contain;background:#0a1011}
.lightbox-figure figcaption{text-align:center;margin-top:20px}.lightbox-figure h2{font:400 2rem/1.2 var(--serif);margin:0}.lightbox-figure p{font-size:.9rem;color:var(--muted);margin:8px 0 0}
.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.lightbox-bottom .button{min-height:46px;padding:9px 18px;font-size:.8rem}.lightbox-bottom p{font-size:.75rem;color:var(--muted);margin:0;text-align:center}
@media(max-width:1100px){.header nav{gap:14px}.header nav a{font-size:.76rem}.gallery-grid{gap:30px 20px}.gallery-card h3{font-size:1.5rem}}
@media(max-width:1000px){
.header{height:80px;padding:0 22px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;max-height:calc(100svh - 80px);overflow:auto;background:#141c1b;flex-direction:column;align-items:stretch;gap:0;padding:15px 25px 25px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:13px 0;font-size:1rem}.nav-contact{border:0}.menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:0;font-size:.85rem;padding:10px 0}.menu-toggle span{font-size:1.15rem}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-lead{grid-column:1/-1}.gallery-card:last-child{grid-column:1/-1}.gallery-card:last-child .gallery-open img{aspect-ratio:2/1}
}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-open img,.gallery-lead .gallery-open img,.gallery-card:last-child .gallery-open img{aspect-ratio:3/2}.gallery-card figcaption{gap:12px;padding-top:18px}.gallery-card h3,.gallery-lead h3{font-size:1.7rem}.concept-label{display:none}.gallery-zoom{font-size:.7rem;padding:5px 9px;right:10px;bottom:10px}.gallery-disclosure{font-size:.75rem}.gallery-dialog{width:calc(100% - 16px);padding:12px;max-height:96svh}.lightbox-top{gap:10px;font-size:.65rem}.lightbox-top>span:nth-child(2){display:none}.lightbox-figure>img{max-height:57svh}.lightbox-figure h2{font-size:1.7rem}.lightbox-figure p{font-size:.8rem}.lightbox-bottom{flex-wrap:wrap;gap:10px}.lightbox-bottom p{order:3;flex:0 0 100%;font-size:.7rem}.lightbox-bottom .button{font-size:.8rem}.hero-production{font-size:.7rem}}
/* Contemporary transparent wordmark, shared by header, hero and footer. */
.brand-modern{display:block;position:relative;width:190px;aspect-ratio:4.5;overflow:hidden}
.brand-modern img{position:absolute;top:50%;transform:translateY(-50%);width:100%;height:auto;max-width:none}
.footer-brand.brand-modern{width:265px}
.logo-frame.logo-modern{aspect-ratio:4.5;mix-blend-mode:normal}
.logo-frame.logo-modern img{filter:none}
body:has(dialog[open]){overflow:hidden}
@media(max-width:1100px){.header .brand-modern{width:172px}}
@media(max-width:420px){.header .brand-modern{width:178px}.footer-brand.brand-modern{width:245px}}
/* Author profile, using the portrait and biography from Benvenuti a Gaeta. */
.author{background:#141b1c;border-top:1px solid var(--line);margin-bottom:90px}
.author-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"portrait heading" "portrait copy" "projects projects";column-gap:80px;row-gap:28px;align-items:start}
.author-heading{grid-area:heading}.author-heading h2{font-size:clamp(3.5rem,5.5vw,5.4rem)}
.author-roles{font-size:.8rem;letter-spacing:.12em;color:var(--gold);margin:25px 0 0}
.author-portrait{grid-area:portrait;margin:0;background:#0b1011;border:1px solid #c7ab7526}
.author-portrait img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.author-portrait figcaption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;font-family:var(--serif);font-size:1.4rem;border-top:1px solid var(--line)}
.author-portrait figcaption span{font-family:var(--sans);font-size:.7rem;letter-spacing:.05em;color:var(--muted);text-align:right}
.author-copy{grid-area:copy;color:var(--muted)}.author-copy strong{color:var(--ink)}.author-copy p{font-size:.95rem;margin-bottom:1.4em}.author-copy .lead{font-family:var(--serif);font-size:1.8rem;line-height:1.35;color:var(--ink)}.author-copy p:last-child{margin-bottom:0}
.author-projects{grid-area:projects;border-top:1px solid var(--line);padding-top:35px;margin-top:15px}
.author-projects .eyebrow{margin-bottom:24px}.author-projects dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0}
.author-projects dt{font-family:var(--serif);font-size:1.4rem;line-height:1.2;color:var(--ink)}.author-projects dd{margin:10px 0 0;font-size:.8rem;color:var(--muted)}
.author-source{font-size:.75rem;color:var(--muted);margin:32px 0 0}.author-source a{text-decoration:underline;text-decoration-color:#c7ab7577;text-underline-offset:4px}.author-source a:hover{color:var(--gold)}
@media(max-width:1100px){.author-layout{column-gap:45px}.author-portrait figcaption{display:block}.author-portrait figcaption span{display:block;text-align:left;margin-top:6px}.author-projects dl{gap:20px}}
@media(max-width:800px){.author{margin-bottom:65px}.author-layout{grid-template-columns:1fr;grid-template-areas:"heading" "portrait" "copy" "projects";gap:30px}.author-heading h2{font-size:3.8rem}.author-portrait{max-width:480px;width:100%}.author-portrait figcaption{display:flex}.author-portrait figcaption span{margin:0;text-align:right}.author-projects{margin-top:0;padding-top:30px}.author-projects dl{grid-template-columns:1fr 1fr;gap:28px 22px}.author-copy .lead{font-size:1.7rem}}
@media(max-width:420px){.author-portrait figcaption{padding:17px;font-size:1.25rem}.author-portrait figcaption span{font-size:.65rem}.author-projects dt{font-size:1.3rem}.author-projects dd{font-size:.75rem}}
