/* Original drawing, palette, typefaces and templates remain inherited. */
.site-shell { min-width:0; }
.wrap { width:min(calc(100% - clamp(28px,4vw,64px)),var(--max,1320px)); margin-inline:auto; }
.header-inner > *, .grid-2 > *, .live-row > * { min-width:0; }
.brand { min-width:0; }
.brand img { max-width:100%; object-fit:contain; }
.menu-toggle { flex:0 0 46px; }
.hero { min-height:100vh; min-height:100svh; isolation:isolate; }
.hero-content { width:min(100%,980px); min-width:0; margin-inline:auto; padding:110px clamp(16px,3vw,32px); }
.hero h1 { font-size:clamp(32px,9.2vw,132px); overflow-wrap:normal; }
.hero-sub,.hero-kicker { overflow-wrap:anywhere; }
.hero-media video,.hero-media img { object-position:50% 50%; }
.hero .ritual-eye { max-width:100%; }
.hero .ctas { width:100%; }
.hero .ctas .btn { min-width:min(158px,100%); }
.scroll-hint { width:calc(100% - 32px); text-align:center; }
.section { scroll-margin-top:90px; }
.section-title,.copy,.about-copy,.live-venue,.live-city { overflow-wrap:anywhere; }
.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.art-placeholder { font-size:clamp(24px,4.5vw,64px); padding:clamp(16px,3vw,40px); overflow-wrap:anywhere; }
.video-placeholder { min-height:0; padding:clamp(14px,3vw,30px); overflow-wrap:anywhere; }
.video-shell { min-width:0; }
.video-shell iframe { display:block; max-width:100%; }
.menu-overlay { overflow-y:auto; padding:100px 24px 40px; }
.menu-overlay nav { max-width:100%; }
.menu-overlay a { overflow-wrap:anywhere; }
body.admin-bar .site-header { top:32px; }
a:focus-visible,button:focus-visible { outline:2px solid #c4c2bd; outline-offset:6px; }

/* Atmosphere lives behind the logo and text. Its origin follows the pupil.
   Final wave diameter = two thirds of the hero, on both axes. */
.acr-atmosphere { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; opacity:var(--acr-intensity,1); }
.acr-atmosphere > span {
 position:absolute; left:var(--acr-x,50%); top:var(--acr-y,40%);
 width:var(--acr-width,66.667vw); height:var(--acr-height,66.667svh);
 transform:translate(-50%,-50%); pointer-events:none;
}
.acr-halo {
 background:radial-gradient(ellipse closest-side,rgba(236,234,225,.26) 0%,rgba(230,229,221,.16) 18%,rgba(221,222,218,.065) 45%,rgba(217,220,218,.014) 76%,transparent 100%);
 animation:acr-breath var(--acr-cycle,12s) ease-in-out infinite;
}
.acr-wave {
 background:radial-gradient(ellipse closest-side,transparent 48%,rgba(226,230,226,.012) 65%,rgba(233,235,227,.095) 79%,rgba(227,230,225,.036) 88%,transparent 100%);
 opacity:0; animation:acr-sonar var(--acr-cycle,12s) cubic-bezier(.2,.45,.4,1) infinite;
}
.acr-wave.acr-wave-echo { animation-delay:var(--acr-echo-delay,-6s); }
.acr-flare {
 background:
 radial-gradient(ellipse 50% 1.2% at center,rgba(247,242,224,.15),rgba(232,233,224,.035) 38%,transparent 100%),
 radial-gradient(ellipse 1% 30% at center,rgba(246,242,228,.075),transparent 100%),
 radial-gradient(ellipse 4% 6% at 65% 50%,rgba(232,228,208,.034),transparent 100%),
 radial-gradient(ellipse 6% 9% at 29% 50%,rgba(215,224,224,.025),transparent 100%);
 animation:acr-flare var(--acr-cycle,12s) ease-in-out infinite;
}
@keyframes acr-breath {
 0%,100% { opacity:.42; transform:translate(-50%,-50%) scale(.82); }
 50% { opacity:.95; transform:translate(-50%,-50%) scale(1); }
}
@keyframes acr-sonar {
 0% { opacity:0; transform:translate(-50%,-50%) scale(.08); }
 18% { opacity:.65; }
 48% { opacity:.85; }
 80% { opacity:.3; }
 100% { opacity:0; transform:translate(-50%,-50%) scale(1); }
}
@keyframes acr-flare {
 0%,100% { opacity:.08; transform:translate(-50%,-50%) scaleX(.8); }
 46% { opacity:.48; transform:translate(-50%,-50%) scaleX(1); }
 64% { opacity:.26; }
}
@media(max-width:800px) {
 .grid-2 { grid-template-columns:minmax(0,1fr); }
 .section .wrap { text-align:center; }
 .copy,.about-copy { margin-inline:auto; }
 .section .ctas { justify-content:center !important; }
 .socials { justify-content:center; }
 .footer-inner { flex-direction:column; align-items:center; text-align:center; }
 .hero-content { padding-block:100px; }
 .hero h1 { font-size:clamp(30px,9.2vw,74px); }
 .section-title { font-size:clamp(32px,7.5vw,60px); }
 .live-row { grid-template-columns:minmax(0,1fr); text-align:center; }
 .live-city,.live-venue,.live-row .btn { grid-column:auto; grid-row:auto; }
 .live-row .btn { justify-self:center; margin-top:8px; }
 .video-placeholder { font-size:clamp(12px,3vw,16px); }
}
@media(max-width:782px) { body.admin-bar .site-header { top:46px; } }
@media(max-width:360px) { .hero .ctas { gap:12px; } .hero .btn { min-width:0; flex:1 1 100px; padding-inline:12px; } }
@media(max-height:600px) and (min-width:600px) {
 .hero-content { padding-block:100px 80px; }
 .hero .ritual-eye { width:150px; margin-bottom:16px; }
 .hero h1 { font-size:clamp(40px,8vw,80px); }
 .hero-sub { margin-top:16px; }
 .hero .ctas { margin-top:22px; }
}
@media(prefers-reduced-motion:reduce) {
 .acr-atmosphere > span { animation:none; }
 .acr-wave,.acr-flare { display:none; }
 .acr-halo { opacity:.32; }
}

/* Header eye and monochrome social marks: 1.2.0 */
.site-header .brand { gap:12px; }
.acr-header-logo { display:block; flex:none; max-width:18vw; }
.acr-header-logo .ritual-eye { display:block; width:100%; max-width:none; margin:0; }
.acr-header-logo .ritual-eye::after { box-shadow:none; }
.acr-header-logo .eyeball-dot { box-shadow:0 0 6px rgba(255,255,255,.2); }
.acr-header-logo img { width:100%; height:auto; max-height:48px; object-fit:contain; }
.acr-hero-socials { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(12px,2.4vw,24px); margin:25px auto 0; }
.acr-hero-socials a { display:flex; align-items:center; justify-content:center; width:max(44px,var(--acr-icon-size,29px)); height:max(44px,var(--acr-icon-size,29px)); opacity:.9; transition:opacity .25s; }
.acr-hero-socials a:hover { opacity:1; }
.acr-hero-socials svg,.acr-hero-socials img { display:block; width:var(--acr-icon-size,29px); height:var(--acr-icon-size,29px); object-fit:contain; }
.acr-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
.acr-video-card { margin:0; min-width:0; }
.acr-video-card iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; border:1px solid var(--line); background:#080808; }
.acr-video-card figcaption { color:#b7b4ad; font-size:14px; line-height:1.5; margin-top:12px; text-align:center; }
@media(max-width:650px) { .acr-video-grid { grid-template-columns:minmax(0,1fr); } }
