/* Experiences selected by the user: masterclass V02 and suspended panels V05.
   Scoped to the campaign; no globals from the prototypes. */
.masterclass-experience{height:90svh;min-height:680px;max-height:980px;position:relative;overflow:hidden;isolation:isolate;background:#0b0705;color:var(--cream);color-scheme:dark}
.mc-texture{position:absolute;inset:-60px;background:#0b0705 url('./masterclass/assets/textura.webp') center/1536px auto repeat;z-index:-2}
.masterclass-experience::after{content:'';position:absolute;inset:0;background:linear-gradient(var(--ink),transparent 12%);pointer-events:none;z-index:4}
.mc-copy{position:absolute;left:var(--page-gutter);top:40%;width:29%;max-width:390px;z-index:3}
.mc-copy h2{font-size:clamp(32px,3.3vw,52px);line-height:1.05;margin-bottom:24px}
.mc-copy p{font-size:clamp(16px,1.25vw,18px);line-height:1.5;max-width:29ch;color:var(--muted)}
.mc-art{position:absolute;inset:0;left:52%;width:62%;transform:translateX(-50%);pointer-events:none;z-index:1}
.mc-layer{position:absolute;left:50%;aspect-ratio:800/1080;transform:translateX(-50%);transform-origin:50% 72%}
.mc-landscape{height:98%;top:0;z-index:0}.mc-model{height:102%;top:7%;z-index:1;filter:drop-shadow(0 12px 10px #0004)}
.mc-sprite{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;visibility:hidden}.mc-sprite.active{visibility:visible}
.mc-signup{position:absolute;right:var(--page-gutter);top:49%;z-index:5;display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:8px 0;background:none;color:var(--yellow);font:400 clamp(26px,2.7vw,44px)/1.15 var(--type);letter-spacing:-.03em;transition:color 180ms}.mc-signup span{display:inline-block;opacity:0;transform:translateX(-8px);transition:opacity 180ms,transform 180ms}.mc-signup:hover,.mc-signup:focus-visible{color:#fff}.mc-signup:hover span,.mc-signup:focus-visible span{opacity:1;transform:none}
.campaign-footer{display:block;background:#160c07;color:var(--cream);color-scheme:dark}
.footer-panels{height:90svh;min-height:440px;max-height:980px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 52% 92%,#654024 0,#38200f 30%,#1b0e06 64%,#100904 100%)}
.footer-panels::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 83%,#160c07 100%);pointer-events:none;z-index:2}
.panels-canvas{position:absolute;inset:0}.panels-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.panels-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

.footer-content{padding:32px var(--page-gutter) 40px;display:flex;flex-direction:column;align-items:center;gap:48px}
.footer-contact{align-self:flex-start}.footer-links{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;max-width:1440px}
.footer-links .brand-signature{width:min(480px,52%);min-height:0}
.footer-links nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px;font-size:16px}
.footer-links nav a{display:flex;align-items:center;min-height:48px;text-underline-offset:6px}
.footer-links nav a:hover{color:var(--yellow);text-decoration:underline}
.footer-credit{width:100%;text-align:center;color:var(--yellow);font-size:16px;line-height:1.5}
@media(min-width:761px) and (max-width:1050px){.mc-copy{width:31%;top:36%}.mc-copy h2{font-size:34px}.mc-copy p{font-size:16px}.mc-art{left:58%;width:60%}.mc-signup{top:78%;right:var(--page-gutter)}.footer-links nav{gap:8px 20px}}
@media(max-width:760px){
 .masterclass-experience{height:104svh;min-height:900px;max-height:1120px}.mc-copy{top:40px;left:var(--page-gutter);right:var(--page-gutter);width:auto;max-width:none}.mc-copy h2{font-size:clamp(36px,9vw,48px);margin-bottom:20px}.mc-copy p{font-size:16px;line-height:1.5;max-width:38ch}
 .mc-art{left:50%;top:310px;height:calc(100% - 310px);width:100%}.mc-landscape{height:94%;top:2%}.mc-model{height:99%;top:8%}.mc-signup{font-size:32px;top:240px;left:var(--page-gutter);right:auto}
 .footer-panels{height:46svh;min-height:320px;max-height:440px}.footer-content{padding-top:20px;gap:40px}.footer-links{flex-direction:column;align-items:flex-start;gap:24px}.footer-links .brand-signature{width:min(480px,100%)}.footer-links nav{gap:8px 24px;font-size:14px}.footer-credit{font-size:14px;max-width:30ch}
}
@media(max-width:360px){.mc-copy h2{font-size:34px}.mc-signup{top:280px}.mc-art{top:350px;height:calc(100% - 350px)}.footer-links nav{gap:8px 18px}}
