/*
Theme Name: Studio Seven
Description: The Studio Seven landing page, with editable content, mobile carousels, an interactive key and desktop cursor effect.
Version: 1.0.0
Author: Studio Seven
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: studio-seven
*/
:root{--paper:#fff;--ink:#0a0a0a;--blank:#f0f0f0;--gutter:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:12px}header{height:90px;position:sticky;top:0;z-index:20;background:#fff;display:flex;align-items:center;justify-content:center}.logo{display:block;position:relative;width:148px;height:48px;overflow:hidden;background:#000;filter:invert(1)}.logo img{position:absolute;width:120%;height:auto;left:-10%;top:50%;transform:translateY(-48.7%)}.hero{position:relative;height:min(950px,70vh);min-height:320px;overflow:hidden;background:#000;touch-action:pan-y;cursor:grab}.hero:active{cursor:grabbing}.photo-track{display:flex;height:100%;width:max-content;will-change:transform}.photo-track img{display:block;height:100%;width:auto;aspect-ratio:2/3;object-fit:cover;user-select:none;pointer-events:none}.motion-button{position:absolute;right:20px;bottom:20px;width:36px;height:36px;border:1px solid #ffffff88;color:white;background:#0005;border-radius:50%;font-size:16px}.blank-strip{display:flex;gap:30px;padding:30px 20px;overflow:hidden}.blank-block{flex:1;min-width:230px;height:90px;background:var(--blank);border-radius:10px}.events{padding:25px var(--gutter) 80px}.events h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;letter-spacing:-.055em;margin:20px 0 46px;font-weight:800}.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.event-poster{aspect-ratio:4/5;background:#ededed}.event-card h3{font-size:clamp(1rem,1.7vw,1.6rem);line-height:1.12;margin:17px 0 8px;letter-spacing:-.025em;font-weight:800}.event-card p{font-size:16px;margin:0;line-height:1.5}.key-section{position:relative;height:650px;max-height:85vh;min-height:360px;background:#000;color:#fff;overflow:hidden}studio-key{display:block;width:100%;height:100%}.key-controls{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.09em}.key-controls>span{color:#999}.key-controls button{background:none;color:white;border:0;border-bottom:1px solid #666;padding:6px 0;margin-left:24px;font-size:12px;letter-spacing:.09em}#key-error{position:absolute;top:40%;width:100%;text-align:center}.statement{padding:100px 20px 115px;background:#fff}.statement h2{font-size:clamp(3.8rem,11.2vw,12rem);line-height:.95;letter-spacing:-.065em;font-weight:800;margin:0}footer{background:#0a0a0a;color:white;padding:55px 30px 24px}.footer-logo{filter:none;width:200px;height:65px}.footer-bottom{border-top:1px solid #333;margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em}@media(min-width:1800px){:root{--gutter:40px}.blank-strip{padding-inline:40px}}@media(max-width:767px){header{height:74px}.logo{width:126px;height:42px}.hero{height:65vh;min-height:350px}.blank-strip{padding:20px;gap:16px}.blank-block{min-width:230px;height:90px}.events{padding-top:18px;padding-bottom:50px}.events h2{margin:20px 0 28px;font-size:2.15rem}.event-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding-bottom:14px}.event-card{flex:0 0 78%;scroll-snap-align:start}.event-card h3{font-size:22px}.key-section{height:420px;min-height:300px}.key-controls{left:20px;right:20px;bottom:20px}.statement{padding:70px 20px 80px}.statement h2{font-size:clamp(3.25rem,12vw,6rem)}footer{padding:40px 20px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Preserve the original white glow on black, with space around the full mark. */
header{background:#000}
.logo{filter:none;width:180px;height:72px;background:#000}
.logo img{width:100%;left:0;top:50%;transform:translateY(-48.7%)}
.footer-logo{width:240px;height:98px}
@media(max-width:767px){.logo{width:150px;height:62px}.footer-logo{width:220px;height:90px}}

.footer-socials{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:36px;font-size:16px;font-weight:700}.footer-socials a{padding:10px 0}.footer-socials a:hover{text-decoration:underline;text-underline-offset:5px}

.footer-socials a{display:inline-flex;align-items:center;gap:12px;min-height:44px}.footer-socials .social-icon{display:block;width:32px;height:28px;flex:none}

.event-carousel{overflow:hidden;touch-action:pan-y;cursor:grab}.event-carousel:active{cursor:grabbing}.event-carousel:focus-visible{outline:2px solid #000;outline-offset:6px}.event-track{display:flex;width:100%;will-change:transform}.event-group{flex:0 0 calc(100% + 30px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-right:30px}.event-group .event-card{min-width:0;user-select:none}.event-poster{background:#000;aspect-ratio:3/4}.event-poster img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.event-card h3{text-transform:none}@media(max-width:767px){.event-group{flex-basis:calc((100% * .78 + 20px) * 3);gap:20px;padding-right:20px}.event-group .event-card{width:auto}}

@media(min-width:768px){.event-carousel,.event-carousel:active{cursor:default}.event-group[aria-hidden="true"]{display:none}}

.mix-strip{overflow-x:auto;scroll-snap-type:x proximity}.mix-card{display:flex;align-items:center;gap:14px;padding:10px;background:#fff;box-shadow:0 1px 6px #0002;scroll-snap-align:start}.mix-cover{display:block;width:70px;height:70px;flex:0 0 70px;object-fit:contain;background:#000;border-radius:6px}.mix-cover-pending{background:#ededed}.mix-copy h3{margin:0 0 5px;font-size:16px;font-weight:700;line-height:1.2;text-transform:uppercase}.mix-copy p{margin:0;color:#777;font-size:14px;line-height:1.25;text-transform:uppercase}@media(max-width:767px){.mix-strip .blank-block{min-width:280px}}

/* Reference: compact card labels aligned to the top of each thumbnail. */
.mix-card{align-items:flex-start;gap:10px}.mix-copy{padding-top:0}.mix-copy h3{margin:0;font-size:16px;line-height:20px;font-weight:500}.mix-copy p{font-size:16px;line-height:20px;color:#999}
/* Reference: two staggered lines, with generous open space below. */
.statement{padding:10px 20px 112px;background:#fff;color:#0a0a0a}.statement h2{font-size:max(1rem,5.5vw);line-height:1;letter-spacing:normal;font-weight:500;text-transform:uppercase;margin:0}.statement h2 span{display:block}.statement-line1{text-align:right}.statement-line2{text-align:left}
@media(min-width:1024px){.statement{padding:15px 20px 260px}.statement h2{font-size:3.1vw}.statement-line1{text-align:left}.statement-line2{text-align:right}}
/* Restore the original statement typography, retaining the requested phrase break. */
.statement{padding:100px 20px 115px}.statement h2{font-size:clamp(3.8rem,11.2vw,12rem);line-height:.95;letter-spacing:-.065em;font-weight:800;text-transform:none}.statement-line1,.statement-line2{text-align:left}
@media(max-width:767px){.statement{padding:70px 20px 80px}.statement h2{font-size:clamp(3.25rem,12vw,6rem)}.mix-strip{scroll-behavior:smooth}.mix-strip .blank-block{flex:0 0 280px}}
@media(prefers-reduced-motion:reduce){.mix-strip{scroll-behavior:auto}}

.policy-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px;font-size:14px}.policy-links a{padding:8px 0;text-decoration:underline;text-underline-offset:4px}.policy-content{max-width:860px;margin:auto;padding:50px 24px 90px}.policy-back{font-size:14px}.policy-meta{font-size:12px;color:#777;margin-top:48px}.policy-content h1{font-size:clamp(2.5rem,6vw,4rem);line-height:1.05;letter-spacing:-.04em;margin:18px 0 38px}.policy-content h2{font-size:22px;margin:32px 0 12px}.policy-content p:not(.policy-meta){font-size:16px;line-height:1.7;color:#333}.policy-page footer{margin-top:0}

.rsa-schedule{padding:25px 20px 40px;background:#fff;color:#0a0a0a}.rsa-schedule>h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;letter-spacing:-.055em;margin:20px 0 46px;font-weight:800}.rsa-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;min-height:166px;padding:18px 0 32px;border-top:1px solid #e8e8e8;align-items:start}.rsa-row h3,.rsa-row p{margin:0;font-size:16px;line-height:1.4;font-weight:800}.rsa-lineup{max-width:100%}.rsa-status{white-space:nowrap}@media(max-width:767px){.rsa-schedule{padding:18px 20px 24px}.rsa-schedule>h2{font-size:2.15rem;margin:20px 0 28px}.rsa-row{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;min-height:180px;padding:20px 0 26px}.rsa-row h3{grid-column:1;grid-row:1}.rsa-time{grid-column:1;grid-row:2}.rsa-lineup{grid-column:1 / -1;grid-row:3}.rsa-status{grid-column:2;grid-row:1}.rsa-row h3,.rsa-row p{font-size:14px}}
/* Tighten the schedule-to-posters transition and subtly shorten the key section. */
.rsa-schedule{padding-bottom:8px}
.rsa-row:last-child{min-height:105px;padding-bottom:18px}
.rsa-schedule + .events{padding-top:8px}
.rsa-schedule + .events h2{margin-top:12px;margin-bottom:30px}
.key-section{height:610px}
@media(max-width:767px){.rsa-schedule{padding-bottom:4px}.rsa-row:last-child{min-height:150px;padding-bottom:14px}.rsa-schedule + .events{padding-top:4px}.rsa-schedule + .events h2{margin-top:12px;margin-bottom:24px}.key-section{height:395px}}

.star-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:100;mix-blend-mode:difference}@media(prefers-reduced-motion:reduce){.star-trail{display:none}}

.star-trail{mix-blend-mode:normal}

footer{position:relative}.footer-sponsor{position:absolute;top:45px;right:30px;text-align:center}.footer-sponsor img{display:block;width:150px;height:150px;object-fit:contain}.footer-sponsor p{margin:10px 0 0;font-size:14px;text-transform:uppercase;letter-spacing:.06em}@media(max-width:767px){.footer-sponsor{position:static;width:140px;margin-top:28px}.footer-sponsor img{width:140px;height:140px}}

@media(max-width:1023px),(pointer:coarse){.star-trail{display:none}}

.header-emblem{position:absolute;top:50%;transform:translateY(-50%);width:100px;height:68px;object-fit:contain}.header-emblem-left{left:20px}.header-emblem-right{right:20px}.policy-links{align-items:center}.footer-partner{display:block;width:48px;height:48px;object-fit:contain}@media(max-width:767px){.header-emblem{width:64px;height:48px}.header-emblem-left{left:12px}.header-emblem-right{right:12px}.policy-links{gap:12px 18px}.footer-partner{width:40px;height:40px}}
/* Restore the earlier desktop partner placement; retain the compact mobile layout. */
@media(min-width:768px){footer .footer-partner{position:absolute;top:45px;right:30px;width:150px;height:150px;object-fit:contain}}

.mix-copy a:hover{text-decoration:underline;text-underline-offset:3px}

.footer-socials .pending-social-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 0}

/* WordPress integration: preserve the public design. */
body{margin:0}.admin-bar>header{top:32px}@media(max-width:782px){.admin-bar>header{top:46px}}
.st7-page-content{min-height:50vh}.st7-page-content img{max-width:100%;height:auto}
