html{scroll-behavior:auto}#portal-runway{height:240svh;pointer-events:none}#portal-world{position:fixed;inset:0;z-index:50;background:#fff;pointer-events:none}#portal-world canvas{display:block;width:100%;height:100%}#portal-light{position:fixed;inset:0;background:#fff;z-index:51;opacity:0;pointer-events:none}#portal-ui{position:fixed;inset:0;z-index:52;pointer-events:none;color:#39382f}#portal-ui button,#portal-ui a{pointer-events:auto}#portal-brand{position:absolute;top:28px;left:4vw;font:42px/1 'Cormorant Garamond';letter-spacing:-2px;text-decoration:none}#portal-skip{position:absolute;right:4vw;top:32px;background:none;border:0;font:12px Montserrat;color:inherit;padding:12px;cursor:pointer}#portal-title{position:absolute;top:29%;left:0;right:0;text-align:center}#portal-title .brand-heading{font:clamp(54px,7vw,100px)/.96 'Cormorant Garamond';margin:0 0 30px;font-weight:400}#portal-title p{font:13px Montserrat;letter-spacing:1px}#portal-welcome{position:absolute;top:40%;left:0;right:0;text-align:center;opacity:0}#portal-welcome p{font:12px Montserrat;letter-spacing:3px}#portal-welcome h2{font:clamp(60px,8vw,110px)/1 'Cormorant Garamond';margin:15px 0;font-weight:400}#portal-hint{position:absolute;bottom:30px;left:0;right:0;text-align:center;font:12px Montserrat;letter-spacing:1px}.portal-active>header{visibility:hidden;pointer-events:none}.portal-no-webgl #portal-world{background:#f4f1e9 url('assets/draped-space.webp') center/cover}.portal-no-webgl #portal-world:after{content:'';position:absolute;inset:0;background:#fff7}@media(max-width:700px){#portal-runway{height:190svh}#portal-brand{font-size:32px;left:22px;top:24px}#portal-skip{right:16px;top:20px}#portal-title{top:32%}#portal-title .brand-heading{font-size:55px}#portal-hint{bottom:30px}}@media(prefers-reduced-motion:reduce){#portal-runway{height:100svh}}

/* One sticky viewport: the real hero is already in place beneath the white veil. */
#portal-runway{height:310svh;position:relative;pointer-events:auto}#portal-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#fff;isolation:isolate}#portal-stage>.hero{height:100%;min-height:0;margin:0}#portal-world,#portal-light,#portal-ui{position:absolute}#portal-light{will-change:opacity}#portal-title{top:24%}#portal-title p{position:fixed;bottom:62px;left:0;right:0;font-size:12px}#portal-world{contain:strict}#portal-stage .hero-video{will-change:opacity}#portal-welcome,#portal-brand{display:none}@media(max-width:700px){#portal-runway{height:280svh}#portal-title{top:25%}}@media(prefers-reduced-motion:reduce){#portal-runway{height:180svh}}

#portal-title{top:50%;transform:translateY(-50%);padding:0 20px}#portal-title .brand-heading{font-size:clamp(28px,6.8vw,100px);white-space:nowrap;margin:0 0 18px;line-height:1.08}#portal-title p{position:static;margin:0;font-size:12px;font-weight:300;letter-spacing:1.5px}@media(max-width:700px){#portal-title{top:50%}#portal-title .brand-heading{font-size:clamp(25px,7.3vw,51px)}}

#portal-title .brand-heading{font-size:clamp(26px,4.7vw,66px);margin-bottom:14px}#portal-title p{font-size:11px}@media(max-width:700px){#portal-title .brand-heading{font-size:clamp(24px,6.4vw,43px)}}

#portal-runway{height:370svh}@media(max-width:700px){#portal-runway{height:330svh}}@media(prefers-reduced-motion:reduce){#portal-runway{height:180svh}}

html,body{overflow-x:clip}body.portal-entered #portal-runway{height:100svh!important}body.portal-entered #portal-stage{position:relative}#ambient-toggle{position:absolute;left:4vw;top:32px;background:none;border:0;color:inherit;font:12px Montserrat;padding:12px;cursor:pointer}#back-universe{border:0;background:none;font:12px Montserrat;color:inherit;cursor:pointer;padding:12px}#portal-ui button{min-height:44px}#portal-title p{font-size:12px}@media(max-width:700px){#ambient-toggle{left:10px;top:20px}#portal-stage{height:100svh}#portal-title{padding:0 14px}#portal-title .brand-heading{font-size:clamp(23px,6.3vw,40px)}#portal-hint{bottom:max(24px,env(safe-area-inset-bottom))}footer{flex-wrap:wrap}#back-universe{flex-basis:100%}}

body footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:24px;padding:32px 4vw}body footer>span{justify-self:center}body footer #back-universe{flex-basis:auto;padding:12px 0;white-space:nowrap}body footer>a:last-child{white-space:nowrap}body footer .wordmark{margin:0}body footer>span,body footer>a:last-child,body footer #back-universe{font-size:12px}@media(max-width:700px){body footer{grid-template-columns:1fr 1fr;gap:22px 14px;padding:28px 22px}body footer .wordmark{grid-column:1;grid-row:1;justify-self:start}body footer>span{grid-column:2;grid-row:1;justify-self:end;text-align:right;white-space:nowrap;font-size:11px}body footer #back-universe{grid-row:2;grid-column:1;justify-self:start}body footer>a:last-child{grid-row:2;grid-column:2;justify-self:end}}/* Use the rendered stage dimensions for both CSS and the 3D projection. */
#portal-stage{height:100svh;min-height:0;width:100%;max-width:100%;box-sizing:border-box}#portal-world canvas{display:block;width:100%!important;height:100%!important}#portal-ui{box-sizing:border-box}#portal-hint{bottom:calc(24px + env(safe-area-inset-bottom,0px));padding-inline:20px}#ambient-toggle,#portal-skip{top:calc(18px + env(safe-area-inset-top,0px))}html{-webkit-text-size-adjust:100%}button,a{touch-action:manipulation}
/* Contact is one burgundy chapter, including its quiet three-column footer. */
#contact.contact-editorial.contact.section{max-width:none;width:100%;background:#3f080e;color:#fff9f5;padding:80px max(6vw,calc((100vw - 1260px)/2)) 0;gap:6vw}#contact .eyebrow,#contact .channel-pending,#contact .channel-value{color:#eddae1}#contact .contact-channels>a,#contact .contact-channels>div{border-color:#ffffff35}#contact .contact-channels a:hover,#contact .contact-channels a:hover .channel-value{color:#fff;border-color:#ffffff90}#contact .contact-art{max-width:510px;transform:none}#contact .card-contact{left:39.5%;top:17%;width:30%;height:14%;font-size:5.2cqw;color:#3f080e}#contact .contact-channels:target{animation:none}#contact .contact-channels a:focus-visible{outline:1px solid white;outline-offset:4px}
body footer{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;align-items:center;gap:10px 24px;background:#3f080e;color:#fff9f5;padding:30px max(6vw,calc((100vw - 1260px)/2));border-top:1px solid #ffffff26}body footer .wordmark{grid-column:1;grid-row:1;justify-self:start}body footer .wordmark img{width:66px;height:auto;filter:brightness(0) invert(1)}body footer>span{grid-column:1;grid-row:2;justify-self:start;text-align:left;width:auto;font-size:11px;color:#e9d6de;display:block}body footer #back-universe{grid-column:2;grid-row:1/3;justify-self:center;white-space:normal;text-align:center;padding:12px 0;font-size:12px}body footer>a:last-child{grid-column:3;grid-row:1/3;justify-self:end;font-size:12px;white-space:nowrap}
@media(max-width:700px){#contact.contact-editorial.contact.section{padding:52px 24px 0;display:flex;gap:16px}#contact .contact-art{max-width:380px;align-self:center}body footer{padding:26px 20px;gap:10px 12px;grid-template-columns:1.25fr 1fr .8fr}body footer>span{font-size:9px;white-space:normal;max-width:100px;line-height:1.6}body footer #back-universe,body footer>a:last-child{font-size:10px}body footer .wordmark img{width:54px}#portal-title .brand-heading{font-size:clamp(22px,6vw,40px)}}
/* A small tactile switch; the environment follows its own slower exposure curve. */
#universe-lights{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin-top:14px;padding:0 8px;border:0;background:none;color:inherit;font:12px Arial,sans-serif;letter-spacing:.05em;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#universe-lights .light-switch{width:42px;height:25px;border-radius:20px;background:#646a61;position:relative;box-shadow:inset 0 0 0 1px #ffffff30;transition:background-color 220ms cubic-bezier(.23,1,.32,1)}
#universe-lights .light-switch>span{position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transform:translateX(17px);transition:transform 240ms cubic-bezier(.23,1,.32,1)}
#universe-lights[aria-checked=false] .light-switch{background:#55515a}
#universe-lights[aria-checked=false] .light-switch>span{transform:translateX(0)}
#universe-lights .light-state{min-width:22px;text-align:left}
#universe-lights:focus-visible{outline:1px solid currentColor;outline-offset:4px;border-radius:6px}
#portal-ui{color:rgb(calc(40 + var(--night,0)*207),calc(40 + var(--night,0)*196),calc(40 + var(--night,0)*175))}
#portal-ui #portal-skip,#portal-ui #ambient-toggle{color:inherit}
body.portal-no-webgl #portal-world{filter:brightness(calc(1 - var(--night,0)*.83))}
@media(prefers-reduced-motion:reduce){#universe-lights .light-switch>span{transition-duration:100ms}}

body footer{grid-template-rows:auto;align-items:center;padding-block:32px}
body footer>.wordmark{display:none}
body footer>span{grid-column:1;grid-row:1;max-width:none;white-space:nowrap}
body footer #back-universe{grid-column:2;grid-row:1}
body footer>a:last-child{grid-column:3;grid-row:1}
@media(max-width:700px){.brand-group li{width:130px;height:70px;padding:8px 14px}.brand-logo{width:102px;height:48px}.brand-track{animation-duration:40s}.brand-window{padding-block:12px}body footer{padding:24px 16px;gap:8px;grid-template-columns:1.15fr 1fr .8fr}body footer>span{font-size:10px;white-space:normal;line-height:1.5}.hero .eyebrow{font-size:10px;letter-spacing:.08em}}

/* Editorial cutouts: kept in their own space, never over service copy. */
#creative{position:relative;overflow:visible}
#creative>.eyebrow,#creative>h2,#creative>.creative-lead{max-width:58%}
#creative .press-cutout{position:absolute;right:-4vw;top:36px;width:34%;max-height:420px;object-fit:contain;object-position:right bottom;pointer-events:none}
#creative .services{position:relative;margin-top:110px}
#contact.contact-editorial.contact.section{position:relative;isolation:isolate;padding-top:85px;padding-bottom:45px;align-items:center}
#contact:before{content:"";position:absolute;inset:22px;border:1px solid #a88b58;opacity:.68;pointer-events:none;z-index:-1}
#contact .television-art{width:100%;max-width:410px;justify-self:center;align-self:center}
#contact .television-art img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
@media(max-width:700px){
#creative>.eyebrow,#creative>h2,#creative>.creative-lead{max-width:100%}
#creative .press-cutout{position:relative;display:block;top:auto;right:auto;width:72%;max-height:340px;margin:22px -6vw 0 auto;object-position:right bottom}
#creative .services{margin-top:34px}
#contact.contact-editorial.contact.section{padding:55px 30px 36px;gap:32px}
#contact:before{inset:12px}
#contact .television-art{width:76%;max-width:290px;margin:auto}
}

/* Clean editorial layout after removal of the two decorative cutouts. */
#creative>.eyebrow,#creative>h2{max-width:100%}
#creative>.creative-lead{max-width:650px}
#creative .services{margin-top:56px}
#contact.contact-editorial.contact.section{display:block;padding-bottom:75px}
#contact .contact-editorial-copy{max-width:740px;margin:0 auto}
#contact .contact-channels{max-width:none}
@media(max-width:700px){#creative .services{margin-top:34px}#contact.contact-editorial.contact.section{padding-bottom:48px}}

