:root{
  --ink:#0b0a0e; --ink-2:#141019; --ink-3:#1d1726;
  --cream:#fbf8f2; --paper:#f6f2ea; --fog:#a89fb6; --fog-2:#6f6680;
  --purple:#481456; --magenta:#ED2375; --yellow:#FFF100;
  --cyan:#00AAEE; --orange:#F88F16; --lime:#BBD533;
  --line:rgba(255,255,255,.10);
  --line-strong:var(--line-strong);
  --btn-ink:#0b0a0e; --on-accent:#fff;
  --header-bg:rgba(11,10,14,.66); --menu-bg:rgba(11,10,14,.97); --chip-bg:rgba(11,10,14,.55);
  --glow:var(--glow);
  --display:"Fraunces",Georgia,serif;
  --body:"Hanken Grotesk",system-ui,sans-serif;
  --mono:"Spline Sans Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.22,.61,.21,1);
  --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.label{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--fog)}

/* atmosphere */
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.spot{position:fixed;inset:0;z-index:0;pointer-events:none;transition:background .3s var(--ease);
  background:radial-gradient(620px circle at var(--mx,50%) var(--my,18%),var(--glow),transparent 60%)}

/* nav */
header{position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);background:var(--header-bg);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:600;font-size:1.5rem;letter-spacing:.02em}
.seal-img{width:40px;height:40px;border-radius:50%;display:block;filter:drop-shadow(0 0 18px rgba(237,35,117,.4))}
.navlinks{display:flex;align-items:center;gap:30px}
.navlinks a{font-size:.95rem;font-weight:500;color:var(--fog);transition:color .25s;position:relative}
.navlinks a.active{color:var(--cream)}
.navlinks a.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--magenta);border-radius:2px}
.navlinks a:hover{color:var(--cream)}
.btn{font-family:var(--body);font-weight:600;font-size:.93rem;border:none;border-radius:999px;padding:11px 22px;cursor:pointer;display:inline-block;transition:transform .3s var(--ease),box-shadow .3s var(--ease),color .3s,border-color .3s}
.btn-primary{background:var(--magenta);color:var(--btn-ink);box-shadow:0 6px 26px rgba(237,35,117,.34)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 38px rgba(237,35,117,.5)}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--magenta);color:var(--magenta)}
.menu-btn{display:none;background:none;border:none;color:var(--cream);font-size:1.6rem;cursor:pointer}

/* hero */
.hero{position:relative;z-index:2;padding:clamp(70px,12vw,150px) 0 70px;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero-mark{position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:min(48vw,540px);opacity:.2;z-index:0;pointer-events:none}
.hero-mark img{display:block;width:100%;will-change:transform,filter;animation:float 7s var(--ease) infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-22px)}}
@keyframes bouncy{0%{transform:translateY(0) scale(1,1)}10%{transform:translateY(4px) scale(1.06,.9)}40%{transform:translateY(-72px) scale(.97,1.05)}60%{transform:translateY(0) scale(1.05,.92)}75%{transform:translateY(-22px) scale(1,1)}90%{transform:translateY(0) scale(1.03,.96)}100%{transform:translateY(0) scale(1,1)}}
@keyframes throb{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
@keyframes wobble{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(7deg) translateY(-12px)}}
@keyframes spin{0%{transform:rotate(0) translateY(0)}50%{transform:translateY(-16px)}100%{transform:rotate(360deg) translateY(0)}}
@keyframes rainbow{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 6px rgba(237,35,117,.55))}33%{filter:drop-shadow(0 0 28px rgba(0,170,238,.9))}66%{filter:drop-shadow(0 0 28px rgba(187,213,51,.9))}}
@keyframes neon{0%,100%{filter:brightness(1) drop-shadow(0 0 8px rgba(237,35,117,.6))}50%{filter:brightness(1.45) drop-shadow(0 0 34px rgba(237,35,117,1))}}
.hero .eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.hero .eyebrow::after{content:"";flex:1;max-width:120px;height:1px;background:var(--line)}
.hero h1{font-family:var(--display);font-weight:330;font-size:clamp(3rem,9vw,7rem);line-height:.96;letter-spacing:-.025em}
.hero h1 em{font-style:italic;color:var(--magenta)}
.hero .lede{margin-top:26px;max-width:540px;font-size:1.2rem;color:var(--fog)}
.hero .cta{margin-top:38px;display:flex;gap:15px;flex-wrap:wrap;align-items:center}
.chip{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--yellow);padding:9px 16px;border-radius:999px;animation:pulse 2.6s var(--ease) infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,241,0,.45)}50%{box-shadow:0 0 0 12px rgba(255,241,0,0)}}
a.chip{text-decoration:none;cursor:pointer;transition:transform .25s var(--ease)}
a.chip:hover{transform:translateY(-2px) scale(1.02)}

/* page header (interior) */
.page-head{position:relative;z-index:2;padding:clamp(60px,9vw,110px) 0 40px;border-bottom:1px solid var(--line)}
.page-head .eyebrow{margin-bottom:18px}
.page-head h1{font-family:var(--display);font-weight:340;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;letter-spacing:-.02em}
.page-head h1 em{font-style:italic;color:var(--magenta)}
.page-head p{margin-top:18px;max-width:560px;color:var(--fog);font-size:1.1rem}

/* marquee */
.marquee{position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;overflow:hidden;white-space:nowrap;background:var(--ink-2)}
.marquee .track{display:inline-block;animation:slide 26s linear infinite;font-family:var(--display);font-style:italic;font-size:1.55rem}
.marquee .track span{margin:0 30px;color:var(--fog)}
.marquee .track b{color:var(--magenta);font-style:normal;font-weight:400}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
section{position:relative;z-index:2}
.block{padding:84px 0;border-bottom:1px solid var(--line)}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:42px;flex-wrap:wrap}
.sec-head .num{font-family:var(--mono);font-size:.82rem;color:var(--magenta)}
.sec-head h2{font-family:var(--display);font-weight:360;font-size:clamp(1.9rem,4.4vw,3rem);letter-spacing:-.01em}
.sec-head .more{margin-left:auto;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .25s,border-color .25s}
.sec-head .more:hover{color:var(--magenta);border-color:var(--magenta)}

/* featured show */
.feature{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:1fr;gap:34px;
  background:radial-gradient(120% 130% at 88% 0%,rgba(237,35,117,.16),transparent 55%),linear-gradient(150deg,var(--ink-3),var(--ink-2) 60%,var(--ink));box-shadow:0 30px 80px rgba(0,0,0,.45)}
.feature .label{margin-bottom:18px}
.feature h3{font-family:var(--display);font-weight:340;font-size:clamp(2rem,5vw,3.4rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:10px}
.feature h3 em{font-style:italic;color:var(--magenta)}
.feature p{max-width:54ch;color:var(--fog);font-size:1.08rem;margin:14px 0 28px}
.feature .cta{display:flex;gap:14px;flex-wrap:wrap}
.feature.has-img{grid-template-columns:1.25fr .85fr;align-items:center}
.feature-text,.feature-img{position:relative;z-index:1}
.feature-img{display:flex;align-items:center;justify-content:center}
.feature-img img{max-width:100%;max-height:420px;width:auto;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:0 16px 50px rgba(0,0,0,.4)}
@media(max-width:760px){.feature.has-img{grid-template-columns:1fr}.feature-img img{max-height:340px}}

/* disciplines */
.disc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.disc{display:block;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);min-height:230px;cursor:pointer;background:linear-gradient(155deg,var(--ink-3),var(--ink-2));transition:transform .45s var(--ease),border-color .45s var(--ease)}
.disc:hover{transform:translateY(-6px)}
.disc .bar{position:absolute;top:0;left:0;width:100%;height:5px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.disc:hover .bar{transform:scaleX(1)}
.disc .inner{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}
.disc .dot{width:13px;height:13px;border-radius:50%;margin-bottom:auto}
.disc h4{font-family:var(--display);font-weight:380;font-size:1.6rem;margin-bottom:6px}
.disc p{color:var(--fog);font-size:.92rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s var(--ease)}
.disc:hover p{max-height:120px;opacity:1}

/* shows grid */
.shows{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.show{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2);transition:transform .4s var(--ease),border-color .4s var(--ease)}
.show:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.show .art{position:relative;aspect-ratio:16/10;display:flex;align-items:flex-end;padding:16px;overflow:hidden;background-color:var(--ink-3)}
.show .art::before{content:"";position:absolute;inset:0;background-image:var(--art-img);background-size:cover;background-position:center;filter:blur(26px) brightness(.6) saturate(1.25);transform:scale(1.2);z-index:0}
.show .art::after{content:"";position:absolute;inset:0;background-image:var(--art-img);background-size:contain;background-repeat:no-repeat;background-position:center;z-index:1}
.show .art .tag{position:relative;z-index:2;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;background:var(--chip-bg);backdrop-filter:blur(4px);padding:6px 12px;border-radius:999px}
.show .body{padding:22px}
.show .date{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;color:var(--magenta);margin-bottom:8px}
.show h4{font-family:var(--display);font-weight:380;font-size:1.45rem;line-height:1.1;margin-bottom:10px}
.show p{color:var(--fog);font-size:.94rem;margin-bottom:18px}
.show .ln{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .25s,border-color .25s}
.show:hover .ln{color:var(--magenta);border-color:var(--magenta)}

/* show detail */
.show-detail{position:relative;z-index:2;padding:clamp(50px,8vw,90px) 0}
.show-detail .back{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);margin-bottom:30px;display:inline-block}
.show-detail .back:hover{color:var(--magenta)}
.show-detail .meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.show-detail .disc-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 13px;border-radius:999px;color:var(--ink);font-weight:600}
.show-detail h1{font-family:var(--display);font-weight:340;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:20px}
.show-detail .poster{display:block;width:auto;max-width:100%;max-height:560px;border-radius:20px;border:1px solid var(--line);margin:10px 0 40px}
.prose{max-width:680px;font-size:1.12rem;color:var(--paper)}
.prose p{margin-bottom:18px}
.prose h2,.prose h3{font-family:var(--display);font-weight:400;margin:30px 0 12px;color:var(--cream)}
.prose a{color:var(--magenta);text-decoration:underline}
.show-detail .cta{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}

/* involve */
.involve{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.inv{border-radius:18px;border:1px solid var(--line);background:var(--ink-2);padding:30px;transition:transform .4s var(--ease),border-color .4s var(--ease)}
.inv:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.inv .ic{font-family:var(--display);font-style:italic;font-size:2.4rem;margin-bottom:16px;line-height:1}
.inv h4{font-family:var(--display);font-weight:400;font-size:1.45rem;margin-bottom:10px}
.inv p{color:var(--fog);font-size:.96rem;margin-bottom:18px}
.inv a{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--magenta)}

/* visit */
.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.visit .map{height:340px;border-radius:18px;overflow:hidden;border:1px solid var(--line);position:relative}
.visit .map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.2) contrast(1.05)}
.visit .pin{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;background:var(--magenta);color:var(--ink);padding:10px 18px;border-radius:999px;font-weight:600}
.visit h2{font-family:var(--display);font-weight:360;font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:18px}
.visit .row{display:flex;gap:14px;margin-bottom:14px;font-size:1.04rem}
.visit .row .k{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);width:84px;flex:none;padding-top:4px}

/* newsletter */
.news{text-align:center;padding:90px 0}
.news h2{font-family:var(--display);font-weight:340;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.02em}
.news h2 em{font-style:italic;color:var(--magenta)}
.news p{color:var(--fog);margin:16px auto 30px;max-width:460px}
.news .form{display:flex;gap:12px;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.news input{flex:1;min-width:220px;background:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:14px 22px;color:var(--cream);font-family:var(--body);font-size:.98rem}
.news input:focus{outline:none;border-color:var(--magenta)}

/* footer */
footer{position:relative;z-index:2;background:var(--ink-2);padding:70px 0 36px}
footer .seal-img{width:36px;height:36px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:48px}
.fbrand .brand{margin-bottom:16px}
.fbrand p{color:var(--fog);max-width:300px;font-size:.96rem}
.fcol h5{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fog);margin-bottom:18px}
.fcol a{display:block;color:var(--cream);margin-bottom:11px;font-size:.96rem;transition:color .25s}
.fcol a:hover{color:var(--magenta)}
.fbot{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--fog-2);font-family:var(--mono);font-size:.74rem;letter-spacing:.04em}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

@media(max-width:860px){
  .visit{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:960px){
  .navlinks{position:fixed;inset:72px 0 auto 0;flex-direction:column;background:var(--menu-bg);padding:24px 28px;gap:18px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .4s var(--ease)}
  .navlinks.open{transform:none}
  .navlinks a{font-size:1.05rem}
  .menu-btn{display:block}
}

/* who we are: board & staff */
.team-group{font-family:var(--display);font-weight:400;font-size:1.5rem;margin:6px 0 18px;color:var(--cream)}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;margin-bottom:44px}
.member{text-align:left}
.m-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}
.m-ph{background:linear-gradient(150deg,var(--ink-3),var(--ink-2))}
.m-name{font-family:var(--display);font-size:1.2rem;margin-top:12px}
.m-role{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--magenta);margin-top:4px}
.m-bio{color:var(--fog);font-size:.92rem;margin-top:10px;line-height:1.55}
.member.no-photo{background:var(--ink-2);border:1px solid var(--line);border-top:3px solid var(--magenta);border-radius:14px;padding:22px 20px}
.member.no-photo .m-name{margin-top:0}

/* who we are: gallery photo archive */
.gfilters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.gchip{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);background:transparent;border:1px solid var(--line);padding:8px 16px;border-radius:999px;cursor:pointer;transition:color .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.gchip:hover{color:var(--cream);border-color:rgba(255,255,255,.3)}
.gchip.active{background:var(--magenta);color:var(--ink);border-color:var(--magenta)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.gitem{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2)}
.gitem img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;transition:transform .5s var(--ease)}
.gitem img:hover{transform:scale(1.04)}
.gitem figcaption{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.gitem .gt{font-family:var(--display);font-size:1.08rem}
.gitem .gmeta{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--magenta)}
.gitem .gc{color:var(--fog);font-size:.88rem}
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(8,7,11,.92);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;flex-direction:column;padding:40px;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:80vh;border-radius:12px;border:1px solid var(--line)}
.lb-cap{color:var(--cream);font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;margin-top:18px;text-align:center}
.lb-close{position:absolute;top:22px;right:30px;font-size:2.6rem;color:var(--fog);cursor:pointer;line-height:1}
.lb-close:hover{color:var(--magenta)}

/* prose images (rental page, etc.) */
.prose img{border-radius:14px;border:1px solid var(--line);margin:20px 0;max-height:460px}

/* rental / inquiry form */
.rform{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px}
.rform .full{grid-column:1 / -1}
.rform label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);margin-bottom:8px}
.rform input,.rform textarea{width:100%;background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--cream);font-family:var(--body);font-size:.98rem}
.rform input:focus,.rform textarea:focus{outline:none;border-color:var(--magenta)}
.rform textarea{min-height:120px;resize:vertical}
@media(max-width:620px){.rform{grid-template-columns:1fr}}

/* what's here: tenant directory */
.tenants{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.tenant-card{position:relative;display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--line);background:var(--ink-2);padding:24px;transition:transform .4s var(--ease),border-color .4s var(--ease)}
.tenant-card:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.unit-badge{align-self:flex-start;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--yellow);padding:5px 12px;border-radius:999px;font-weight:600;margin-bottom:16px}
.tenant-logo{height:84px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:14px}
.tenant-logo img{max-height:84px;max-width:100%;object-fit:contain}
.tlogo-ph{width:60px;height:60px;border-radius:14px;background:linear-gradient(150deg,var(--ink-3),var(--purple));display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.7rem;color:var(--cream)}
.tenant-name{font-family:var(--display);font-size:1.4rem;line-height:1.1}
.tenant-type{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--magenta);margin-top:6px}
.tenant-sum{color:var(--fog);font-size:.92rem;margin-top:10px}
.tenant-ln{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);margin-top:auto;padding-top:16px}
.tenant-card:hover .tenant-ln{color:var(--magenta)}
/* what's here: tenant detail */
.tenant-hero{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:30px}
.tenant-hero-logo{width:120px;height:120px;border-radius:18px;border:1px solid var(--line);background:var(--ink-2);display:flex;align-items:center;justify-content:center;padding:14px;flex:none}
.tenant-hero-logo img{max-width:100%;max-height:100%;object-fit:contain}
.tenant-contact{margin-top:30px;border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:12px;max-width:480px}
.tc-row{display:flex;gap:16px;font-size:1.02rem}
.tc-k{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);width:90px;flex:none;padding-top:3px}
.tc-row a{color:var(--magenta)}

/* checkbox group in forms */
.rform .field-checks{grid-column:1 / -1}
.checks{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:6px}
.checks label{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--body);font-size:.96rem;letter-spacing:normal;text-transform:none;color:var(--cream);cursor:pointer}
.rform .checks input[type=checkbox]{width:18px;height:18px;accent-color:var(--magenta);padding:0;margin:0;border-radius:4px}

/* home announcement bar */
.announce{display:inline-block;margin-bottom:20px;background:var(--magenta);color:var(--on-accent);font-family:var(--mono);font-size:.8rem;letter-spacing:.03em;padding:9px 16px;border-radius:999px}
.announce a{color:var(--on-accent);text-decoration:underline}

/* sponsors strip (all pages) */
.sponsors{position:relative;z-index:2;background:var(--ink);border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:18px 28px;overflow:hidden}
.sponsors-label{flex:none;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fog)}
.sponsors-viewport{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.sponsors-track{display:flex;align-items:center;gap:18px;width:max-content;animation:slide 34s linear infinite}
.sponsors:hover .sponsors-track{animation-play-state:paused}
.sponsor{display:flex;align-items:center;justify-content:center;height:56px;padding:0 14px}
.sponsor img{height:44px;width:auto;display:block}
@media(max-width:640px){.sponsors{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 18px}.sponsors-viewport{width:100%}.sponsor{height:46px}.sponsor img{height:34px}}

/* mobile polish */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:520px){
  .wrap{padding:0 18px}
  .news{padding:60px 0}
}
@media(max-width:460px){
  .hero .cta,.feature .cta{flex-direction:column;align-items:stretch}
  .hero .cta .btn,.feature .cta .btn{width:100%;text-align:center;justify-content:center}
}

/* add to calendar */
.addcal{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap;font-family:var(--mono)}
.addcal>span{color:var(--fog);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}
.addcal a{color:var(--cream);border:1px solid var(--line);padding:8px 15px;border-radius:999px;font-size:.82rem;transition:border-color .25s,color .25s}
.addcal a:hover{border-color:var(--magenta);color:var(--magenta)}

/* show facts + credits */
.show-facts{list-style:none;display:flex;flex-wrap:wrap;gap:14px 34px;margin:22px 0 0}
.show-facts li{display:flex;flex-direction:column;gap:3px;font-size:.98rem;color:var(--cream)}
.show-facts li span{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fog)}
.show-credits{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}
.show-credits h3{font-family:var(--display);font-weight:360;font-size:1.4rem;margin:0 0 10px}
.credits-body{white-space:pre-line;color:var(--fog);line-height:1.6}

/* past productions archive */
.arc-year{margin:0 0 42px}
.arc-yr{font-family:var(--display);font-weight:340;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--magenta);border-bottom:1px solid var(--line);padding-bottom:8px;margin:0 0 22px}
.arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.arc-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--ink-2)}
.arc-thumb{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--ink-3)}
.arc-noimg{display:flex;align-items:flex-end;padding:12px}
.arc-noimg span{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);opacity:.75}
.arc-body{padding:14px 16px}
.arc-disc{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fog)}
.arc-body h3{font-family:var(--display);font-weight:360;font-size:1.2rem;margin:4px 0 0;line-height:1.15}
.arc-body h3 a{color:var(--cream)}
.arc-body h3 a:hover{color:var(--magenta)}
.arc-body p{color:var(--fog);font-size:.9rem;margin:7px 0 0}

/* tenant photo gallery */
.tenant-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:26px 0 4px}
.tg-item{margin:0}
.tg-item img{width:100%;height:auto;border-radius:12px;display:block;border:1px solid var(--line)}
.tg-item figcaption{font-family:var(--mono);font-size:.72rem;color:var(--fog);margin-top:6px}

/* ===== Seasonal + special themes (switched via Site Settings) ===== */
[data-theme="fall"]{
  --ink:#150f0a; --ink-2:#1e160e; --ink-3:#281c12;
  --cream:#f7efe2; --paper:#efe2cf; --fog:#b7a78f; --fog-2:#7e6a52;
  --purple:#5c3a1e; --magenta:#c4622d; --yellow:#e3b347;
  --cyan:#7d9b6a; --orange:#d98e3b; --lime:#9b8f3a;
  --line:rgba(255,238,214,.12); --line-strong:rgba(255,238,214,.26);
  --btn-ink:#1a120a; --on-accent:#fff4e8;
  --header-bg:rgba(21,15,10,.7); --menu-bg:rgba(21,15,10,.97); --chip-bg:rgba(21,15,10,.6);
  --glow:rgba(196,98,45,.12);
}
[data-theme="winter"]{
  --ink:#eef3f8; --ink-2:#ffffff; --ink-3:#e1ebf4;
  --cream:#16222e; --paper:#d7e3ef; --fog:#5a6b7c; --fog-2:#8aa0b3;
  --purple:#3a5a7a; --magenta:#2f7fc4; --yellow:#9fd3ec;
  --cyan:#1f9fd6; --orange:#5aa9d6; --lime:#7fb5cf;
  --line:rgba(20,45,75,.14); --line-strong:rgba(20,45,75,.28);
  --btn-ink:#ffffff; --on-accent:#ffffff;
  --header-bg:rgba(238,243,248,.82); --menu-bg:rgba(238,243,248,.98); --chip-bg:rgba(255,255,255,.72);
  --glow:rgba(47,127,196,.10);
}
[data-theme="summer"]{
  --ink:#fff7ec; --ink-2:#ffffff; --ink-3:#fdeeda;
  --cream:#241a10; --paper:#f3e2c8; --fog:#7a6a52; --fog-2:#a08a6a;
  --purple:#7c3aed; --magenta:#ff4f87; --yellow:#ffce00;
  --cyan:#06b6d4; --orange:#ff8a00; --lime:#62c422;
  --line:rgba(60,40,20,.14); --line-strong:rgba(60,40,20,.28);
  --btn-ink:#ffffff; --on-accent:#2a1a10;
  --header-bg:rgba(255,247,236,.82); --menu-bg:rgba(255,247,236,.98); --chip-bg:rgba(255,255,255,.72);
  --glow:rgba(255,138,0,.12);
}
[data-theme="pride"]{
  --purple:#750787; --magenta:#e40303; --yellow:#ffed00;
  --cyan:#004dff; --orange:#ff8c00; --lime:#008026;
  --line-strong:rgba(255,255,255,.26);
  --btn-ink:#fff; --on-accent:#fff;
  --glow:rgba(228,3,3,.09);
}
[data-theme="halloween"]{
  --ink:#08060a; --ink-2:#100a14; --ink-3:#180f1e;
  --cream:#f3ecf7; --paper:#221830; --fog:#9a8aad; --fog-2:#6a5a7d;
  --purple:#6a0dad; --magenta:#ff7518; --yellow:#d6ff3a;
  --cyan:#9d4edd; --orange:#ff9a3c; --lime:#39ff14;
  --line:rgba(255,180,120,.12); --line-strong:rgba(255,180,120,.26);
  --btn-ink:#0a0608; --on-accent:#0a0608;
  --header-bg:rgba(8,6,10,.72); --menu-bg:rgba(8,6,10,.98); --chip-bg:rgba(8,6,10,.6);
  --glow:rgba(255,117,24,.14);
}
[data-theme="cabaret"]{
  --ink:#0c0808; --ink-2:#15100d; --ink-3:#201712;
  --cream:#f4e9d6; --paper:#e7d8bd; --fog:#b09a7e; --fog-2:#7a6650;
  --purple:#6a2c5a; --magenta:#cf2a3f; --yellow:#e8c34a;
  --cyan:#3a8c8c; --orange:#d4a017; --lime:#7e8c3a;
  --line:rgba(244,233,214,.13); --line-strong:rgba(244,233,214,.28);
  --btn-ink:#f8efe0; --on-accent:#f8efe0;
  --header-bg:rgba(12,8,8,.72); --menu-bg:rgba(12,8,8,.98); --chip-bg:rgba(12,8,8,.6);
  --glow:rgba(207,42,63,.13);
}

/* ===== Cabaret show dressing (active only under the cabaret theme) ===== */
[data-theme="cabaret"] .spot{
  background:
    radial-gradient(900px 520px at 50% -4%, rgba(207,42,63,.22), transparent 62%),
    radial-gradient(420px circle at var(--mx,50%) var(--my,16%), rgba(232,195,74,.12), transparent 60%);
}
[data-theme="cabaret"] header{border-top:3px solid var(--yellow)}
[data-theme="cabaret"] header::after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:8px;pointer-events:none;z-index:41;
  background:radial-gradient(circle at center, var(--yellow) 0 2px, rgba(232,195,74,0) 2.7px);
  background-size:26px 8px;background-repeat:repeat-x;background-position:center;
  filter:drop-shadow(0 0 4px rgba(232,195,74,.85));
  animation:cabGlow 2.6s ease-in-out infinite;
}
[data-theme="cabaret"] .sec-head h2::after{content:" ◆";color:var(--yellow);font-size:.6em;opacity:.85;vertical-align:middle}
[data-theme="cabaret"] .hero .eyebrow::after{background:linear-gradient(90deg,var(--yellow),transparent)}
@keyframes cabGlow{0%,100%{opacity:.7}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){[data-theme="cabaret"] header::after{animation:none}}

/* ===== Per-show themes (rest of 2026 season) ===== */
[data-theme="bad-auditions"]{ /* comedy, spotlight chaos, bright pop */
  --ink:#0e0c10; --ink-2:#161219; --ink-3:#201826;
  --cream:#fbf4ef; --paper:#ece2d8; --fog:#b0a2b0; --fog-2:#6f6680;
  --purple:#8a5cf0; --magenta:#ff2e88; --yellow:#ffd400;
  --cyan:#2bd4d4; --orange:#ff8a3d; --lime:#9be15d;
  --line:rgba(255,255,255,.11); --line-strong:rgba(255,255,255,.25);
  --btn-ink:#16080f; --on-accent:#16080f;
  --header-bg:rgba(14,12,16,.7); --menu-bg:rgba(14,12,16,.97); --chip-bg:rgba(14,12,16,.6);
  --glow:rgba(255,46,136,.11);
}
[data-theme="attack"]{ /* Attack of the PACA, 1950s creature feature */
  --ink:#060a07; --ink-2:#0c130d; --ink-3:#121d13;
  --cream:#eafbe6; --paper:#cfe2cc; --fog:#90a890; --fog-2:#5d6f5d;
  --purple:#7a2cc4; --magenta:#e23b2b; --yellow:#d8ff2a;
  --cyan:#39d0c0; --orange:#ff7a1a; --lime:#5dff3a;
  --line:rgba(190,255,180,.12); --line-strong:rgba(190,255,180,.26);
  --btn-ink:#f3fff0; --on-accent:#f3fff0;
  --header-bg:rgba(6,10,7,.74); --menu-bg:rgba(6,10,7,.98); --chip-bg:rgba(6,10,7,.62);
  --glow:rgba(93,255,58,.12);
}
[data-theme="vanya"]{ /* Uncle Vanya, faded autumnal estate, melancholy */
  --ink:#12130f; --ink-2:#191a14; --ink-3:#23241b;
  --cream:#ece6d6; --paper:#d7cfba; --fog:#a89e87; --fog-2:#74684f;
  --purple:#7a6a82; --magenta:#b07a6a; --yellow:#cbb56a;
  --cyan:#6f8f8a; --orange:#c39a52; --lime:#8a9a6b;
  --line:rgba(236,230,214,.12); --line-strong:rgba(236,230,214,.24);
  --btn-ink:#f3eee2; --on-accent:#f3eee2;
  --header-bg:rgba(18,19,15,.72); --menu-bg:rgba(18,19,15,.97); --chip-bg:rgba(18,19,15,.6);
  --glow:rgba(176,122,106,.09);
}
[data-theme="irish"]{ /* The Irish and How They Got That Way, warm pub, green/gold */
  --ink:#0a120c; --ink-2:#0f190f; --ink-3:#152116;
  --cream:#f3ecd8; --paper:#dcd2b6; --fog:#a3a585; --fog-2:#6f7553;
  --purple:#7a4a2a; --magenta:#1f9d4d; --yellow:#e8c24a;
  --cyan:#3a9aa0; --orange:#e07b2a; --lime:#7ab33a;
  --line:rgba(243,236,216,.12); --line-strong:rgba(243,236,216,.26);
  --btn-ink:#f3ecd8; --on-accent:#f3ecd8;
  --header-bg:rgba(10,18,12,.72); --menu-bg:rgba(10,18,12,.98); --chip-bg:rgba(10,18,12,.6);
  --glow:rgba(31,157,77,.11);
}
[data-theme="goat"]{ /* The Goat, Albee, cold clinical light with a wound of red */
  --ink:#e9e9ec; --ink-2:#fafafb; --ink-3:#dedee3;
  --cream:#1a1a1f; --paper:#cfcfd6; --fog:#6b6b75; --fog-2:#9a9aa3;
  --purple:#6a5f78; --magenta:#b3122a; --yellow:#b9a96a;
  --cyan:#5f7f88; --orange:#9a6b5a; --lime:#7f8a72;
  --line:rgba(20,20,30,.14); --line-strong:rgba(20,20,30,.28);
  --btn-ink:#ffffff; --on-accent:#ffffff;
  --header-bg:rgba(233,233,236,.84); --menu-bg:rgba(233,233,236,.98); --chip-bg:rgba(255,255,255,.72);
  --glow:rgba(179,18,42,.08);
}
[data-theme="meangirls"]{ /* Mean Girls Jr., Y2K hot pink Burn Book */
  --ink:#160810; --ink-2:#210f18; --ink-3:#2b1420;
  --cream:#fdeef6; --paper:#e6cdd9; --fog:#c79bb0; --fog-2:#8a6076;
  --purple:#a64dff; --magenta:#ff1f8e; --yellow:#ffd23f;
  --cyan:#34d1e0; --orange:#ff6fa8; --lime:#b6e23a;
  --line:rgba(255,230,245,.12); --line-strong:rgba(255,230,245,.27);
  --btn-ink:#ffffff; --on-accent:#ffffff;
  --header-bg:rgba(22,8,16,.72); --menu-bg:rgba(22,8,16,.98); --chip-bg:rgba(22,8,16,.6);
  --glow:rgba(255,31,142,.13);
}
[data-theme="whos-holiday"]{ /* Who's Holiday, twisted adult Grinch holiday */
  --ink:#0a0d0a; --ink-2:#10160f; --ink-3:#161d14;
  --cream:#f1ece0; --paper:#d3d0bd; --fog:#9aa088; --fog-2:#67705a;
  --purple:#7a3a6a; --magenta:#d6243b; --yellow:#e8c34a;
  --cyan:#2aa1a1; --orange:#e0712a; --lime:#3fb83f;
  --line:rgba(241,236,224,.12); --line-strong:rgba(241,236,224,.26);
  --btn-ink:#f1ece0; --on-accent:#f1ece0;
  --header-bg:rgba(10,13,10,.72); --menu-bg:rgba(10,13,10,.98); --chip-bg:rgba(10,13,10,.6);
  --glow:rgba(214,36,59,.11);
}

/* ===== Per-show dressing (each appears only under its own theme) ===== */
/* Bad Auditions: clashing audition spotlights */
[data-theme="bad-auditions"] .spot{
  background:
   radial-gradient(520px circle at 22% 6%, rgba(255,46,136,.16), transparent 60%),
   radial-gradient(520px circle at 80% 2%, rgba(43,212,212,.14), transparent 60%),
   radial-gradient(460px circle at 50% 26%, rgba(255,212,0,.10), transparent 60%);
}
[data-theme="bad-auditions"] header{border-top:3px solid var(--magenta)}
[data-theme="bad-auditions"] .sec-head h2::after{content:" ★";color:var(--yellow);font-size:.55em;vertical-align:middle}

/* Attack of the PACA: radioactive glow + B-movie flicker */
[data-theme="attack"] .spot{
  background:
   radial-gradient(720px 440px at 50% 106%, rgba(93,255,58,.20), transparent 62%),
   radial-gradient(420px circle at 50% -6%, rgba(226,59,43,.16), transparent 60%);
}
[data-theme="attack"] header{border-top:3px solid var(--lime)}
[data-theme="attack"] .hero h1{animation:atkFlicker 5s steps(1) infinite}
[data-theme="attack"] .sec-head h2::after{content:" ☠";color:var(--lime);font-size:.55em;vertical-align:middle}
@keyframes atkFlicker{0%,96%,100%{opacity:1}96.5%{opacity:.55}97%{opacity:1}98%{opacity:.4}98.4%{opacity:1}}

/* Uncle Vanya: candlelit warmth + soft vignette */
[data-theme="vanya"] .spot{
  background:radial-gradient(560px circle at 50% 2%, rgba(195,154,82,.10), transparent 60%);
  box-shadow:inset 0 0 260px 70px rgba(0,0,0,.45);
}
[data-theme="vanya"] header{border-top:3px solid var(--orange)}
[data-theme="vanya"] .sec-head h2::after{content:" ❧";color:var(--orange);font-size:.62em;vertical-align:middle}

/* The Irish: pub hearth glow + shamrock */
[data-theme="irish"] .spot{
  background:
   radial-gradient(640px 420px at 50% 104%, rgba(224,123,42,.16), transparent 62%),
   radial-gradient(420px circle at 50% 0%, rgba(31,157,77,.10), transparent 60%);
}
[data-theme="irish"] header{border-top:3px solid var(--yellow)}
[data-theme="irish"] .sec-head h2::after{content:" ☘";color:var(--magenta);font-size:.6em;vertical-align:middle}

/* The Goat: clinical light, a wound of red */
[data-theme="goat"] .spot{background:radial-gradient(760px 520px at 50% -10%, rgba(20,20,30,.06), transparent 60%)}
[data-theme="goat"] header{border-top:3px solid var(--magenta)}
[data-theme="goat"] .sec-head h2::after{content:" †";color:var(--magenta);font-size:.6em;vertical-align:middle}

/* Mean Girls: Y2K pink glow + sparkle */
[data-theme="meangirls"] .spot{
  background:
   radial-gradient(520px circle at 50% -4%, rgba(255,31,142,.20), transparent 60%),
   radial-gradient(420px circle at 82% 18%, rgba(166,77,255,.12), transparent 60%);
}
[data-theme="meangirls"] header{border-top:3px solid var(--magenta)}
[data-theme="meangirls"] .sec-head h2::after{content:" ✧";color:var(--yellow);font-size:.6em;vertical-align:middle;animation:mgSparkle 1.8s ease-in-out infinite}
@keyframes mgSparkle{0%,100%{opacity:.45}50%{opacity:1}}

/* Who's Holiday: string of holiday lights */
[data-theme="whos-holiday"] header{border-top:3px solid var(--lime)}
[data-theme="whos-holiday"] header::after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:8px;pointer-events:none;z-index:41;
  background:
   radial-gradient(circle at center, var(--magenta) 0 2px, rgba(0,0,0,0) 2.7px),
   radial-gradient(circle at center, var(--lime) 0 2px, rgba(0,0,0,0) 2.7px),
   radial-gradient(circle at center, var(--yellow) 0 2px, rgba(0,0,0,0) 2.7px);
  background-size:78px 8px,78px 8px,78px 8px;
  background-position:0 center,26px center,52px center;
  background-repeat:repeat-x;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.45));
  animation:cabGlow 2.6s ease-in-out infinite;
}
[data-theme="whos-holiday"] .spot{
  background:
   radial-gradient(700px 460px at 50% -6%, rgba(214,36,59,.16), transparent 60%),
   radial-gradient(520px circle at 50% 8%, rgba(63,184,63,.10), transparent 60%);
}
[data-theme="whos-holiday"] .sec-head h2::after{content:" ❄";color:var(--cyan);font-size:.6em;vertical-align:middle}

@media(prefers-reduced-motion:reduce){
  [data-theme="attack"] .hero h1,
  [data-theme="meangirls"] .sec-head h2::after,
  [data-theme="whos-holiday"] header::after{animation:none}
}

/* donate page form */
.donate-form{margin-top:8px}

/* select + file input on forms */
.rform select{width:100%;background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--cream);font-family:var(--body);font-size:.98rem;appearance:none}
.rform select:focus{outline:none;border-color:var(--magenta)}
.rform input[type=file]{padding:11px 14px;cursor:pointer}
.rform input[type=file]::file-selector-button{background:var(--ink-3);color:var(--cream);border:1px solid var(--line);border-radius:8px;padding:7px 12px;margin-right:12px;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

/* past productions year subhead on What's On */
.pastyr{font-family:var(--display);font-weight:340;font-size:clamp(1.4rem,3vw,2rem);color:var(--magenta);margin:34px 0 16px}
.show .body .ln + .ln{margin-left:18px}

/* show photo gallery (past productions) - uncropped masonry */
.show-gallery{columns:3 220px;column-gap:14px;margin:30px 0}
.show-gallery img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);display:block;margin:0 0 14px;break-inside:avoid}

/* tenant social icons */
.tenant-socials{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}
.tenant-socials a{color:var(--cream);display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}
.tenant-socials a:hover{color:var(--btn-ink);background:var(--magenta);border-color:var(--magenta)}
.tenant-socials svg{width:20px;height:20px;display:block}

/* skip-to-content link (keyboard / screen reader) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--magenta);color:var(--btn-ink);padding:11px 18px;border-radius:0 0 12px 0;font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;text-decoration:none}
.skip-link:focus{left:0}

/* Tech / SOP page */
.sop-cat{font-family:var(--display);font-size:1.35rem;margin:34px 0 14px}
.sop-cat:first-of-type{margin-top:8px}
.sop-list{display:grid;gap:12px}
.sop-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s var(--ease),background .15s var(--ease),transform .15s var(--ease)}
.sop-item:hover{border-color:var(--magenta);transform:translateY(-1px)}
.sop-info{display:flex;flex-direction:column;gap:2px}
.sop-t{font-weight:600;font-size:1.05rem}
.sop-d{color:var(--fog);font-size:.9rem}
.sop-go{color:var(--magenta);font-size:.85rem;font-weight:600;white-space:nowrap;letter-spacing:.02em}
.sop-empty{opacity:.6}
.sop-empty .sop-go{color:var(--fog)}

/* tenant building calendar */
.cal-h{font-family:var(--display);font-size:1.5rem;margin:0 0 6px}
.cal-note{color:var(--fog);margin:0 0 16px;max-width:60ch}
.building-cal{width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.building-cal iframe{display:block;width:100%;height:640px;border:0}
@media (max-width:640px){.building-cal iframe{height:520px}}
