/* V3.3: comparison theme and restrained motion; original assets preserved. */
html[data-theme="light"] {
  --black:#fff; --panel:#f7f7f5; --white:#202124; --gold:#936408;
  --copy:#505052; --muted:#666669; --line:#25252520; color-scheme:light;
}
html[data-theme="dark"] { color-scheme:dark; }
html[data-theme="light"] .header,html[data-theme="light"] .footer,
html[data-theme="light"] .artist-brand-panel { background:#fff; }
html[data-theme="light"] .official-logo,
html[data-theme="light"] .artist-brand-panel img { filter:invert(1); }
html[data-theme="light"] .artist-brand-panel figcaption { background:none; }
html[data-theme="light"] .hero-overlay {
 background:linear-gradient(90deg,#fff 0%,#fffffff5 28%,#ffffffb8 48%,#ffffff12 78%),linear-gradient(0deg,#fff,transparent 30%);
}
html[data-theme="light"] .hero-side { color:#343434; }
html[data-theme="light"] .button-outline { color:var(--white); border-color:#93640866; background:#ffffffb3; }
html[data-theme="light"] .button-light,html[data-theme="light"] .btn { background:#202124; color:#fff; }
html[data-theme="light"] .button-light:hover { background:#805700; }
html[data-theme="light"] .academy-section { background:linear-gradient(120deg,#f9f4e6,#fff 65%); }
html[data-theme="light"] .tile { background:#fff; }
html[data-theme="light"] .editorial-note { color:#656568; }
html[data-theme="light"] .nav { box-shadow:0 20px 40px #54401d16; }
html[data-theme="light"] .vision-photo { box-shadow:20px 20px 0 -1px #fff,20px 20px 0 #b1813540; }
html[data-theme="light"] .about-stage-photo { box-shadow:0 24px 60px #3d301515; }
html[data-theme="light"] .lightbox p,html[data-theme="light"] .lightbox button { color:#f3f0ea; }
.header-right { display:flex; gap:18px; align-items:center; }
.theme-toggle { min-height:44px; padding:8px 13px; border:1px solid var(--line); color:var(--white); background:transparent; font-size:11px; cursor:pointer; white-space:nowrap; }
.theme-toggle:hover { border-color:var(--gold); }
.hero .hero-photo { animation:none; transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1)); transform-origin:70% 65%; }
.button,.btn,.theme-toggle { transition:box-shadow .25s,border-color .25s,background .25s,transform .25s; }
.button:focus-visible,.btn:focus-visible,.theme-toggle:focus-visible { box-shadow:0 0 0 3px #d9a35f30,0 0 28px #e5b64050; }
.v31-photo a,.vision-photo,.about-stage-photo { transition:translate .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s; }
.v31-photo a { overflow:visible; }
.v31-photo a:hover img { filter:none; }
@media (hover:hover) and (pointer:fine) {
 .button:hover,.btn:hover,.theme-toggle:hover { box-shadow:0 0 0 1px #dbb55280,0 0 26px #e5b64045; transform:translateY(-2px); }
 .underline-link:hover,.contact-paths a:hover { text-shadow:0 0 18px #e5b64080; }
 .v31-photo a:hover,.vision-photo:hover,.about-stage-photo:hover { translate:0 -5px; box-shadow:0 18px 35px #9c772322; }
}
.header,.footer,.hero-content,.pagehead,.section { min-width:0; }
.section-heading>* { min-width:0; }
.button,.underline-link { max-width:100%; overflow-wrap:anywhere; }
.nav { max-height:calc(100dvh - 104px); overflow-y:auto; }
@media (min-width:1600px) {
 :root { --gutter:max(64px,calc((100vw - 1480px)/2)); }
}
@media (max-width:1000px) and (min-width:701px) {
 .header-right { flex-direction:column; gap:0; }
 .campus-top { padding:3px 0; }
 .contact-options { grid-template-columns:1fr; }
 .section-heading { flex-wrap:wrap; }
}
@media (max-width:700px) {
 .header { grid-template-columns:44px minmax(0,1fr) auto; padding-inline:16px; height:90px; gap:8px; }
 .logo .official-logo { width:140px; }
 .header-right { gap:0; }
 .theme-toggle { font-size:10px; padding:8px; }
 .hero { min-height:calc(100svh - 90px); }
 .hero-content { width:calc(100% - 40px); padding:48px 0 230px; }
 .hero h1 { font-size:clamp(56px,14.5vw,92px); }
 .hero-poetry { font-size:clamp(22px,6vw,28px); }
 .hero .hero-photo { transform-origin:60% 90%; }
 html[data-theme="light"] .hero-overlay { background:linear-gradient(180deg,#fff 0%,#fffffff5 46%,#ffffffd9 66%,#ffffff08 88%,#ffffff55 100%); }
 html[data-theme="light"] .vision-photo { box-shadow:10px 10px 0 -1px #fff,10px 10px 0 #b1813540; }
 .nav { grid-template-columns:1fr; gap:0; padding:16px 24px; max-height:calc(100dvh - 90px); }
 .nav a { padding:10px 0; }
 .section-heading { gap:20px; }
 .section { padding-block:64px; }
 .statement { padding-block:88px; }
 .lightbox p { padding-inline:8px; }
}
@media (prefers-reduced-motion:reduce) {
 .hero .hero-photo { transform:none!important; }
 .v31-photo a,.vision-photo,.about-stage-photo,.button,.btn,.theme-toggle { translate:none!important; transform:none!important; transition:none!important; }
}

/* V3.3.1: menú vertical en todos los tamaños. */
.nav { grid-template-columns:minmax(0,1fr); gap:0; padding-block:16px; }
.nav a { display:block; width:100%; min-height:44px; padding:12px 0; }
.hero .hero-photo { transition:transform .18s ease-out; }
@media (prefers-reduced-motion:reduce) { .hero .hero-photo { transition:none; } }

/* Barra social: dorado y negro; sin enlaces inventados. */
.social-rail { position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:40; display:flex; flex-direction:column; gap:16px; align-items:center; padding:24px 9px; background:#e4b64d; border-radius:8px 0 0 8px; }
.social-icon { position:relative; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#101010; color:#e4b64d; transition:transform .25s,box-shadow .25s; }
.social-icon svg { width:25px; height:25px; }
.social-icon[aria-disabled] { cursor:default; }
.social-icon:hover,.social-icon:focus-visible { transform:scale(1.05); box-shadow:0 0 18px #fff8; outline:2px solid #fff; outline-offset:3px; }
.social-tip { position:absolute; right:54px; white-space:nowrap; background:#202124; color:#fff; padding:7px 10px; border-radius:4px; font-size:12px; opacity:0; pointer-events:none; }
.social-icon:hover .social-tip,.social-icon:focus-visible .social-tip { opacity:1; }
@media (min-width:701px) { body { padding-right:62px; } .hero-side { right:24px; } }
@media (max-width:700px) { .social-rail { position:static; transform:none; flex-direction:row; justify-content:center; border-radius:0; padding:18px; } .social-tip { bottom:54px; right:auto; } }
@media (prefers-reduced-motion:reduce) { .social-icon { transition:none; } .social-icon:hover,.social-icon:focus-visible { transform:none; } }
