/* David Zam V3 ? Music ? Art ? Voice. No framework or external JS dependency. */
:root {
  --black:#0B0B0C; --panel:#171719; --white:#F3F0EA; --gold:#D9A35F;
  --muted:#989898; --copy:#c7c4bf; --line:#f3f0ea26;
  --font-display:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  --font-art:'Playfair Display',Georgia,serif;
  --font-body:'Manrope',Arial,sans-serif;
  --gutter:clamp(20px,6.5vw,112px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; background:var(--black); color:var(--white); font:400 16px/1.8 var(--font-body); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
img { display:block; max-width:100%; }
figure { margin:0; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--font-display); font-weight:400; line-height:1.02; letter-spacing:.015em; overflow-wrap:anywhere; text-wrap:balance; }
h2 { font-size:clamp(48px,6.4vw,104px); }
h3 { font-size:clamp(30px,3vw,46px); }
p { text-wrap:pretty; color:var(--copy); }
em { color:var(--gold); font-style:normal; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:20px; top:12px; z-index:200; padding:12px 20px; background:var(--white); color:var(--black); }
.header { height:96px; padding:0 var(--gutter); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:relative; z-index:30; background:var(--black); border-bottom:1px solid var(--line); }
.logo { display:flex; flex-direction:column; align-items:center; gap:8px; line-height:1; }
.logo strong { font:400 40px/.9 var(--font-display); letter-spacing:.05em; }
.logo small { font-size:8px; font-weight:600; letter-spacing:.26em; }
.menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:48px; height:48px; padding:10px; background:none; border:0; cursor:pointer; }
.menu-toggle span { width:26px; height:1px; background:var(--white); transition:transform .25s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }
.header-right { justify-self:end; }
.campus-top { display:inline-block; padding:12px 0; font-size:10px; font-weight:600; letter-spacing:.1em; border-bottom:1px solid var(--gold); }
.muted-top { color:var(--muted); border-color:var(--line); }
.nav { display:none; position:absolute; top:100%; inset-inline:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 40px; padding:32px var(--gutter); background:var(--panel); border-bottom:1px solid var(--gold); box-shadow:0 20px 40px #0008; }
.nav.open { display:grid; }
.nav a { font-size:18px; padding:10px 0; }
.nav a:hover,.footer a:hover { color:var(--gold); }
.hero { min-height:850px; min-height:max(800px,calc(100svh - 96px)); position:relative; display:flex; align-items:center; isolation:isolate; overflow:hidden; }
.hero-photo,.hero-overlay { position:absolute; inset:0; z-index:-2; }
.hero-photo { background:var(--hero-photo) 64% 40% / cover no-repeat; animation:stage-arrival 14s ease-out both; }
.hero-overlay { z-index:-1; background:linear-gradient(90deg,#0b0b0cf5 0%,#0b0b0cd9 33%,#0b0b0c38 74%),linear-gradient(0deg,var(--black),transparent 35%); }
.hero-content { width:min(920px,80%); margin-left:var(--gutter); padding:64px 0 110px; }
.kicker { display:block; font-size:11px; font-weight:600; line-height:1.7; letter-spacing:.2em; }
.gold { color:var(--gold); }
.hero h1 { font-size:clamp(70px,7.6vw,124px); line-height:.98; margin:26px 0 22px; max-width:850px; }
.hero-poetry { font:italic 400 clamp(23px,2.8vw,39px)/1.4 var(--font-art); color:var(--white); margin-bottom:26px; letter-spacing:-.025em; }
.artist-roles { font-size:12px; font-weight:600; letter-spacing:.035em; color:var(--gold); max-width:620px; }
.hero-description { max-width:520px; font-size:15px; line-height:1.9; }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.button,.btn { display:inline-flex; align-items:center; justify-content:space-between; min-height:50px; gap:28px; padding:17px 23px; font-size:11px; font-weight:700; letter-spacing:.09em; line-height:1.5; border:1px solid transparent; transition:background .25s,color .25s,border-color .25s; }
.button-light,.btn { background:var(--white); color:var(--black); }
.button-light:hover,.btn:hover { background:var(--gold); }
.button-outline { border-color:#f3f0ea80; color:var(--white); background:#0b0b0c30; }
.button-outline:hover { background:#d9a35f18; border-color:var(--gold); }
.hero-bottom { position:absolute; bottom:28px; left:var(--gutter); right:var(--gutter); display:flex; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.15em; color:var(--copy); }
.hero-bottom a { padding:10px 0; }
.hero-side { position:absolute; right:20px; top:50%; writing-mode:vertical-rl; font-size:9px; letter-spacing:.28em; color:var(--copy); }
.editorial { display:grid; grid-template-columns:1fr 1fr; background:var(--panel); }
.editorial-image { position:relative; min-height:680px; overflow:hidden; }
.editorial-image img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center 62%; filter:grayscale(1); transition:filter .8s; }
.editorial-image:hover img { filter:grayscale(.25); }
.editorial-image figcaption { position:absolute; inset:auto 0 0; padding:60px 28px 24px; background:linear-gradient(transparent,#000b); font-size:9px; letter-spacing:.15em; }
.editorial-copy { min-width:0; padding:clamp(48px,6.5vw,112px); align-self:center; }
.editorial-copy h2 { font-size:clamp(46px,5.6vw,90px); margin:26px 0; }
.art-quote { font:italic 400 clamp(22px,2.5vw,32px)/1.5 var(--font-art); letter-spacing:-.02em; color:var(--white); }
.editorial-note { font-size:12px; line-height:1.9; color:#aaa6a0; max-width:800px; margin:24px 0 0; }
.underline-link,.text-link { display:inline-flex; align-items:center; gap:20px; padding:12px 0; border-bottom:1px solid var(--gold); font-size:11px; font-weight:600; letter-spacing:.1em; line-height:1.7; margin-top:12px; }
.underline-link:hover,.text-link:hover { color:var(--gold); }
.section { padding:clamp(68px,9vw,144px) var(--gutter); }
.section-dark,.projects-section { background:var(--panel); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:56px; }
.section-heading h2 { margin:20px 0 0; }
.section-heading .underline-link { flex-shrink:0; }
.section-intro { max-width:290px; font-size:14px; margin-bottom:0; }
.discipline-list { border-top:1px solid var(--line); }
.discipline { border-bottom:1px solid var(--line); }
.discipline summary { display:grid; grid-template-columns:60px 1fr 32px; align-items:center; gap:24px; min-height:100px; padding:22px 0; cursor:pointer; list-style:none; font:400 clamp(25px,3.3vw,50px)/1.15 var(--font-display); }
.discipline summary::-webkit-details-marker { display:none; }
.discipline summary:hover { color:var(--gold); }
.discipline-number { font:400 12px/1.5 var(--font-body); color:var(--gold); }
.discipline-mark { font:300 30px/1 var(--font-body); transition:transform .25s; }
.discipline[open] .discipline-mark { transform:rotate(45deg); color:var(--gold); }
.discipline-content { display:grid; grid-template-columns:60px 1fr 220px; gap:24px; align-items:center; padding:0 0 30px; }
.discipline-content p { max-width:640px; font-size:14px; margin:0; }
.discipline-content a { padding:12px 0; font-size:10px; letter-spacing:.09em; color:var(--gold); text-decoration:underline; text-underline-offset:6px; }
.discipline-glyph { font:400 42px/1 var(--font-art); color:var(--gold); }
.sound-lines { height:50px; display:flex; gap:5px; align-items:center; }
.sound-lines i { width:2px; height:20%; background:var(--gold); }
.sound-lines i:nth-child(2n) { height:70%; }
.sound-lines i:nth-child(3n) { height:100%; }
.statement { text-align:center; padding:clamp(90px,12vw,180px) var(--gutter); background:radial-gradient(ellipse at 50% 100%,#d9a35f12,transparent 65%); }
.statement .kicker { color:var(--muted); }
.statement h2 { font:400 clamp(33px,4.8vw,74px)/1.35 var(--font-art); letter-spacing:-.03em; margin:32px 0; }
.statement em { font-style:italic; }
.statement-line { display:block; height:1px; width:72px; margin:auto; background:var(--gold); }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.art-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-wide { grid-column:span 2; }
.gallery-photo { display:block; position:relative; overflow:hidden; background:var(--panel); min-height:340px; }
.gallery-photo img { width:100%; height:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .8s,filter .8s; }
.gallery-wide img { aspect-ratio:1.5; }
.gallery-photo:hover img { transform:scale(1.025); }
.gallery-photo span { position:absolute; inset:auto 0 0; padding:65px 24px 24px; background:linear-gradient(transparent,#000d); font-size:10px; letter-spacing:.15em; }
.project-placeholder { border-block:1px solid var(--line); padding:52px 0; display:grid; grid-template-columns:1fr 2fr; gap:64px; align-items:center; }
.project-symbol { color:var(--gold); font:400 clamp(100px,16vw,230px)/1 var(--font-display); text-align:center; }
.project-placeholder h3 { margin:20px 0; font-size:clamp(40px,4vw,64px); }
.project-placeholder p { max-width:600px; font-size:15px; }
.compact { margin-top:60px; margin-bottom:28px; }
.compact h3 { margin:0; }
.vocal-section { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(40px,10vw,180px); align-items:center; }
.vocal-section h2 { margin:24px 0; }
.vocal-section p { max-width:550px; }
.voice-areas { list-style:none; margin:0; padding:0; counter-reset:area; border-top:1px solid var(--line); }
.voice-areas li { padding:23px 0; border-bottom:1px solid var(--line); font-size:14px; display:flex; gap:24px; align-items:center; counter-increment:area; }
.voice-areas li::before { content:'0' counter(area); color:var(--gold); font-size:10px; }
.academy-section { background:linear-gradient(120deg,#262019,var(--panel) 65%); border-block:1px solid #d9a35f26; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.tile { min-width:0; background:#1e1e20; border:1px solid var(--line); }
.tile-visual { height:300px; overflow:hidden; }
.tile-visual img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.tile:hover .tile-visual img { transform:scale(1.03); }
.tile-info { padding:28px; }
.tile-info h2,.tile-info h3 { font-size:36px; margin:16px 0; }
.tile-info p { font-size:14px; }
.course-preview { margin-top:48px; }
.final-cta { text-align:center; background:radial-gradient(ellipse at 50% 100%,#d9a35f18,transparent 70%); }
.final-cta h2 { font-size:clamp(58px,8vw,128px); margin:30px 0 50px; }
.contact-paths { display:flex; justify-content:center; gap:32px; flex-wrap:wrap; }
.contact-paths a { display:flex; justify-content:space-between; gap:32px; border-bottom:1px solid var(--gold); font-size:12px; padding:14px 0; }
.pagehead { padding:clamp(70px,9vw,144px) var(--gutter); background:radial-gradient(ellipse at 100% 100%,#d9a35f14,transparent 70%); border-bottom:1px solid var(--line); }
.pagehead h1 { font-size:clamp(56px,8.5vw,136px); margin:28px 0; max-width:1200px; }
.pagehead p { max-width:650px; }
.empty-message { color:var(--copy); font-size:15px; padding:30px 0; line-height:1.9; }
.empty-message a { text-decoration:underline; text-underline-offset:5px; }
.contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-bottom:80px; }
.contact-options article { min-width:0; padding-top:28px; border-top:1px solid var(--gold); }
.contact-options h2 { font-size:36px; margin:24px 0; }
.contact-options p { font-size:14px; }
.contact-box { max-width:800px; border-top:1px solid var(--line); padding-top:48px; }
.contact-box h2 { font-size:clamp(42px,5vw,72px); margin:24px 0; }
.contact-box a { text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.footer { padding:64px var(--gutter) 28px; display:grid; grid-template-columns:1fr 1fr; gap:48px; background:var(--black); border-top:1px solid var(--line); }
.footer-brand { font:400 52px/1 var(--font-display); letter-spacing:.04em; }
.footer p { font-size:9px; letter-spacing:.22em; margin-top:14px; }
.footer-links { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 24px; font-size:12px; }
.footer-links a { padding:12px 0; }
.footer>small { grid-column:1/-1; border-top:1px solid var(--line); padding-top:24px; color:var(--muted); font-size:11px; }
.wrap { width:min(100% - 2 * var(--gutter),1100px); margin-inline:auto; }
.article { padding-block:clamp(64px,8vw,128px); }
.article h1 { font-size:clamp(48px,7vw,104px); margin:24px 0; }
.eyebrow { color:var(--muted); font-size:12px; letter-spacing:.08em; margin-top:32px; }
.lead { font-size:clamp(18px,2vw,23px); max-width:760px; }
.article>img { width:100%; max-height:720px; object-fit:contain; margin-block:36px; }
.article-body { max-width:760px; font-size:17px; overflow-wrap:anywhere; }
.btn { margin-top:24px; }
.lightbox[hidden] { display:none!important; }
.lightbox { position:fixed; inset:0; z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:70px; background:#0b0b0cf5; }
.lightbox img { max-height:75svh; max-width:90vw; object-fit:contain; }
.lightbox p { margin:16px 0 0; color:var(--white); text-align:center; font-size:13px; max-width:65ch; overflow-wrap:anywhere; }
.lightbox button { position:absolute; min-height:48px; min-width:48px; border:1px solid #f3f0ea70; background:#171719; color:var(--white); cursor:pointer; font-size:30px; }
.lightbox-close { right:20px; top:20px; }
.lightbox-prev { left:16px; top:50%; }
.lightbox-next { right:16px; top:50%; }
.reveal-pending { opacity:0; transform:translateY(18px); transition:opacity .7s,transform .7s; }
.reveal-visible { opacity:1; transform:none; }
@keyframes stage-arrival { from { transform:scale(1.045); } to { transform:scale(1); } }
@media (max-width:1000px) {
  .editorial-copy { padding:48px 32px; }
  .editorial-copy h2 { font-size:56px; }
  .discipline-content { grid-template-columns:60px 1fr; }
  .discipline-content a { grid-column:2; }
  .vocal-section { gap:48px; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-options { gap:24px; }
}
@media (max-width:700px) {
  .header { height:80px; padding:0 20px; grid-template-columns:48px 1fr 48px; gap:4px; }
  .logo strong { font-size:32px; }
  .logo small { font-size:7px; letter-spacing:.16em; }
  .campus-top { font-size:8px; letter-spacing:0; }
  .muted-top { display:none; }
  .nav { grid-template-columns:1fr 1fr; gap:8px 24px; padding:24px; }
  .nav a { font-size:16px; min-height:44px; }
  .hero { min-height:max(820px,calc(100svh - 80px)); }
  .hero-photo { background-position:60% center; }
  .hero-overlay { background:linear-gradient(90deg,#0b0b0ce8,#0b0b0c6b),linear-gradient(0deg,var(--black),#0b0b0c38 80%); }
  .hero-content { width:calc(100% - 40px); margin-left:20px; padding:64px 0 120px; }
  .hero h1 { font-size:clamp(64px,16vw,102px); margin-top:24px; }
  .hero-poetry { font-size:26px; max-width:320px; }
  .artist-roles { font-size:11px; }
  .hero-description { font-size:14px; }
  .hero .kicker { font-size:9px; letter-spacing:.14em; }
  .hero-side,.hero-bottom>span { display:none; }
  .hero-bottom { left:20px; right:20px; bottom:22px; }
  .actions .button { width:100%; }
  .editorial { grid-template-columns:1fr; }
  .editorial-image { min-height:0; height:520px; }
  .editorial-copy { padding:56px var(--gutter); }
  .editorial-copy h2 { font-size:clamp(48px,12vw,76px); }
  .section-heading { align-items:flex-start; flex-direction:column; gap:24px; margin-bottom:36px; }
  .section-heading h2 { font-size:clamp(46px,12vw,74px); }
  .section-intro { max-width:460px; }
  .discipline summary { grid-template-columns:24px 1fr 24px; gap:14px; font-size:clamp(24px,6.8vw,40px); min-height:88px; }
  .discipline-content { grid-template-columns:24px 1fr; gap:14px; }
  .discipline-content p { font-size:13px; }
  .discipline-glyph { font-size:24px; }
  .sound-lines { gap:2px; }
  .sound-lines i { width:1px; }
  .statement h2 { font-size:clamp(30px,7.5vw,48px); }
  .gallery-grid,.art-gallery { grid-template-columns:1fr; }
  .gallery-wide { grid-column:auto; }
  .gallery-photo { min-height:0; }
  .gallery-photo img { height:auto; aspect-ratio:4/5; object-position:center 58%; }
  .gallery-wide img { aspect-ratio:4/3; }
  .project-placeholder { grid-template-columns:1fr; gap:24px; padding:36px 0; }
  .project-symbol { text-align:left; font-size:80px; }
  .vocal-section { grid-template-columns:1fr; gap:48px; }
  .cards,.contact-options { grid-template-columns:1fr; }
  .tile-visual { height:auto; aspect-ratio:4/3; }
  .final-cta h2 { font-size:clamp(52px,13vw,82px); }
  .contact-paths { flex-direction:column; gap:8px; text-align:left; }
  .contact-paths a { font-size:13px; }
  .pagehead h1 { font-size:clamp(48px,12vw,84px); }
  .footer { grid-template-columns:1fr; gap:28px; padding-top:48px; }
  .footer-links { justify-content:flex-start; }
  .lightbox { padding:80px 12px 100px; }
  .lightbox img { max-width:100%; max-height:65svh; }
  .lightbox-prev,.lightbox-next { top:auto; bottom:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .reveal-pending { opacity:1; transform:none; }
}

/* V3.1: official identity and approved academy photography. */
.header,.footer { background:#000; }
.header { height:104px; }
.logo .official-logo { display:block; width:184px; height:auto; max-width:100%; }
.footer-brand { display:inline-block; }
.footer-brand .official-logo { width:220px; height:auto; max-width:100%; }
.hero .hero-photo { background-size:100% auto; background-position:center bottom; background-repeat:no-repeat; }
.hero-overlay { background:linear-gradient(90deg,#0b0b0cf5 0%,#0b0b0cd9 35%,#0b0b0c24 85%),linear-gradient(180deg,#0b0b0cbf,transparent 65%,#0b0b0c66); }
.artist-brand-panel { display:flex; align-items:center; justify-content:center; min-height:480px; background:#000; }
.artist-brand-panel img { position:static; width:80%; height:auto; max-width:480px; object-fit:contain; filter:none; }
.artist-brand-panel:hover img { filter:none; }
.v31-photo { margin:0; min-width:0; }
.v31-photo a { display:block; overflow:hidden; background:#111; }
.v31-photo img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; transition:filter .5s; }
.v31-photo a:hover img { filter:brightness(1.06); }
.v31-photo figcaption { padding:16px 0 4px; font-size:10px; line-height:1.8; letter-spacing:.12em; color:var(--copy); }
.v31-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
.v31-gallery .v31-photo:nth-child(2) { margin-top:64px; }
.v31-gallery .v31-photo:nth-child(3) { margin-top:128px; }
.achievement-layout,.voice-practice-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,96px); align-items:start; }
.stories-section { background:var(--panel); border-block:1px solid var(--line); }
.achievement-copy { padding-block:24px; }
.achievement-copy h3 { font-size:clamp(44px,5vw,80px); margin:24px 0; }
.achievement-copy .art-quote { margin-top:32px; }
.achievement-copy .v31-photo { width:min(100%,300px); margin-top:40px; }
.voice-practice-section { background:radial-gradient(ellipse at 0 0,#d9a35f0d,transparent 60%); }
.voice-practice-copy { min-width:0; padding-top:24px; }
.voice-practice-copy h3 { font-size:clamp(44px,4.7vw,72px); margin:28px 0; }
.practice-details { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:64px auto 0; max-width:880px; align-items:start; }
.practice-details .v31-photo:nth-child(2) { margin-top:72px; }
.academy-practice-image { padding:clamp(24px,4vw,56px); align-self:center; }
@media (max-width:1000px) {
  .voice-practice-layout { gap:32px; }
  .voice-areas li { padding:16px 0; }
  .achievement-copy h3 { font-size:52px; }
}
@media (max-width:700px) {
  .header { height:90px; }
  .logo .official-logo { width:154px; }
  .hero .hero-photo { background-image:var(--hero-photo-mobile,var(--hero-photo)); background-size:100% auto; background-position:center bottom; }
  .hero { min-height:max(1000px,calc(100svh - 90px)); }
  .hero-content { padding:56px 0 240px; }
  .hero-overlay { background:linear-gradient(180deg,#0b0b0c 0%,#0b0b0ce8 55%,#0b0b0c33 85%,#0b0b0c70 100%); }
  .hero-bottom { bottom:10px; }
  .artist-brand-panel { height:auto; min-height:280px; padding:64px 24px; }
  .v31-gallery,.achievement-layout,.voice-practice-layout,.practice-details { grid-template-columns:1fr; }
  .v31-gallery .v31-photo:nth-child(n),.practice-details .v31-photo:nth-child(n) { margin-top:0; }
  .v31-gallery { gap:40px; }
  .achievement-copy { padding:0; }
  .achievement-copy .v31-photo { width:100%; max-width:440px; }
  .voice-practice-copy { padding-top:0; }
  .practice-details { margin-top:48px; gap:40px; }
  .v31-photo figcaption { font-size:10px; }
}

/* V3.2: scoped artist layouts. The microphone hero and student layouts are unchanged. */
.nav .nav-about { color:var(--gold); font-size:13px; font-weight:700; letter-spacing:.06em; border-bottom:1px solid #d9a35f66; }
.about-button { margin-top:20px; max-width:100%; }
.vision-v32 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,88px); align-items:center; padding-block:clamp(64px,7vw,112px); }
.vision-copy,.about-copy { min-width:0; }
.vision-v32 h1 { font-size:clamp(48px,5.5vw,88px); margin:26px 0; }
.vision-photo,.about-stage-photo { margin:0; min-width:0; position:relative; }
.vision-photo img,.about-stage-photo img { display:block; width:100%; height:auto; object-fit:contain; border:1px solid var(--line); }
.vision-photo { box-shadow:20px 20px 0 -1px var(--black),20px 20px 0 #d9a35f40; }
.vision-photo figcaption,.about-stage-photo figcaption { padding-top:14px; font-size:9px; letter-spacing:.16em; color:var(--copy); }
.about-v32 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(40px,7vw,112px); align-items:center; background:radial-gradient(ellipse at 0 50%,#26465e22,transparent 60%),var(--panel); scroll-margin-top:24px; }
.about-copy h2 { font-size:clamp(48px,5.4vw,86px); margin:26px 0; }
.about-roles { color:var(--gold); font-size:12px; line-height:2; }
.about-copy .art-quote { margin-block:28px; }
.about-stage-photo { box-shadow:0 24px 60px #0005; }
@media (max-width:900px) {
  .vision-v32,.about-v32 { grid-template-columns:minmax(0,1fr); gap:40px; }
  .vision-copy { order:0; }
  .vision-photo { order:1; box-shadow:10px 10px 0 -1px var(--black),10px 10px 0 #d9a35f40; margin-right:10px; }
  .vision-v32 h1,.about-copy h2 { font-size:clamp(46px,8vw,76px); }
  .about-stage-photo { width:min(100%,560px); justify-self:center; }
  .about-copy { grid-row:1; }
}
@media (max-width:480px) {
  .about-button { width:100%; font-size:10px; letter-spacing:.04em; gap:12px; }
  .vision-v32 h1,.about-copy h2 { font-size:clamp(42px,11vw,56px); }
}
