:root{--paper:#f7f5f1;--ink:#292725;--muted:#74706b;--line:#dcd7d1;--blush:#ead8d0;--sans:"futura-pt",Futura,"Century Gothic",Arial,sans-serif;color-scheme:light}
/* Body/desktop text: at least 16px. Mobile supporting labels: at least 14px. */
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
::selection{color:var(--ink);background:var(--blush)}
:where(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:7px}
.shell{width:calc(100% - 112px);max-width:1520px;margin-inline:auto}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:16px;font-weight:400}
.muted{color:var(--muted)}
.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:16px;line-height:1.6;transition:opacity .2s}
.text-link:hover{opacity:.58}
.skip-link{position:fixed;z-index:50;top:12px;left:12px;transform:translateY(-160%);background:var(--ink);color:var(--paper);padding:10px 20px}
.skip-link:focus{transform:none}
.masthead{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:17px}
.brand img{width:42px;height:45px}
.brand-name{font-size:16px;letter-spacing:-.02em}
.nav{display:flex;align-items:center;gap:36px;font-size:16px}
.nav a{padding:8px 0}
.nav a[aria-current=page]{border-bottom:1px solid var(--ink)}
.hero{padding-top:29px}
.hero-topline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;color:var(--muted);font-size:16px;letter-spacing:.17em;text-transform:uppercase}
.hero-title{padding:62px 0 56px;position:relative}
.hero-title h1{font:500 clamp(62px,7.5vw,124px)/1.07 var(--sans);letter-spacing:-.02em;max-width:1100px}
.hero-title h1 em{font-weight:500;font-style:normal}
.hero-title .hero-secondary{font-size:clamp(17px,1.8vw,29px);letter-spacing:-.02em;margin-top:25px}
.hero-title .hero-index{position:absolute;right:0;bottom:62px;color:var(--muted);font-size:16px;letter-spacing:.15em}
.hero-visual{height:clamp(360px,40vw,680px);position:relative;overflow:hidden;background:#d0d2ce}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.hero-caption{position:absolute;bottom:0;inset-inline:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;background:linear-gradient(transparent,#151715a6);color:#fff}
.hero-caption span{font-size:16px;letter-spacing:.14em;text-transform:uppercase}
.hero-caption a{font-size:16px}
.hero-caption a:focus-visible{outline-color:#fff}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:90px;padding-block:110px 100px}
.intro .kicker{padding-top:13px}
.intro-copy>p:first-child{font-size:clamp(23px,2.65vw,40px);letter-spacing:-.02em;line-height:1.45;max-width:900px}
.intro-copy>p+p{margin-top:27px;font-size:16px;line-height:1.9;max-width:570px;color:var(--muted)}
.studio{border-top:1px solid var(--line);padding-top:36px;display:grid;grid-template-columns:1fr 2fr;gap:90px;padding-bottom:110px}
.studio-label h2{font:500 43px/1.15 var(--sans);letter-spacing:-.02em;max-width:260px}
.studio-body h3{font-size:25px;letter-spacing:-.02em;font-weight:400;margin-bottom:20px}
.studio-body p{max-width:640px;font-size:16px;line-height:1.9;color:var(--muted)}
.studio-body p+p{margin-top:20px}
.studio-body .text-link{margin-top:30px}
.space-feature{display:grid;grid-template-columns:1.1fr 1fr;background:var(--blush)}
.space-feature .feature-photo{min-height:560px;overflow:hidden}
.feature-photo img{width:100%;height:100%;object-fit:cover}
.space-feature .feature-copy{padding:76px clamp(40px,6vw,110px);align-self:center}
.feature-copy h2{font:500 clamp(42px,4.3vw,67px)/1.08 var(--sans);letter-spacing:-.02em;margin:30px 0}
.feature-copy p{font-size:16px;line-height:1.9;max-width:400px}
.feature-copy .text-link{margin-top:32px}
.feature-copy .feature-area{font-size:16px;letter-spacing:.1em;margin-top:48px;text-transform:uppercase;color:#6d5e57}
.divisions{padding-block:100px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:32px}
.section-heading h2{font:500 46px/1.2 var(--sans);letter-spacing:-.02em}
.section-heading .kicker{color:var(--muted)}
.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.division{min-height:440px;padding:48px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;background:#eeece7}
.division .division-label{font-size:16px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.division h3{font-weight:400;font-size:clamp(36px,4vw,60px);letter-spacing:-.02em;margin:55px 0 24px;line-height:1}
.division p{max-width:360px;font-size:16px;line-height:1.9;color:var(--muted)}
.division .text-link{margin-top:auto;padding-top:32px}
.division.entertainment{background:#101010;color:#eee}
.entertainment .division-label,.entertainment p{color:#a3a3a3}
.division.entertainment h3{font-size:clamp(32px,3.5vw,55px);letter-spacing:-.02em}
.entertainment h3 span{color:#ff4fa3}
.entertainment .text-link{color:#ff4fa3}
.division .division-sign{position:absolute;right:36px;top:35px;opacity:.7;font-size:28px}
.paper-fold{width:52px;height:52px;position:absolute;right:36px;top:36px;background:linear-gradient(135deg,transparent 49%,#292725 50%);transform:rotate(-10deg);opacity:.13}
.contact{border-top:1px solid var(--line);padding-block:55px 68px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.contact h2{font:500 clamp(58px,7vw,105px)/1.15 var(--sans);letter-spacing:-.02em;margin-bottom:17px}
.contact p{color:var(--muted);font-size:16px}
.contact .email{font-size:clamp(19px,2.2vw,32px);letter-spacing:-.02em;border-bottom:1px solid var(--ink);margin-bottom:12px}
.footer{border-top:1px solid var(--line);padding-block:30px 35px}
.footer-top{display:flex;justify-content:space-between;gap:25px;font-size:16px}
.group-link{border-bottom:1px solid currentColor;padding-bottom:3px}
.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-top:30px;font-size:16px;line-height:1.8;color:var(--muted)}
.footer-bottom address{font-style:normal;max-width:370px}
.footer-bottom .legal{text-align:right}
.space-hero{padding-block:30px 65px}
.space-title{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-top:65px}
.space-title h1{font:500 clamp(66px,8vw,122px)/.97 var(--sans);letter-spacing:-.02em;max-width:850px}
.space-title h1 span{display:block;font-family:var(--sans);font-size:clamp(17px,1.7vw,27px);letter-spacing:-.02em;margin-top:22px}
.space-title .text-link{margin-bottom:7px}
.space-description{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;padding-block:52px 70px}
.space-description .big-area{font-size:clamp(38px,4vw,65px);line-height:1;letter-spacing:-.02em}
.space-description .big-area small{font-size:16px;letter-spacing:-.02em}
.space-description .dimensions{font-size:16px;color:var(--muted);margin-top:18px;letter-spacing:.08em}
.space-description>p{font-size:16px;line-height:1.95;max-width:570px}
.space-cover{height:clamp(350px,42vw,700px);overflow:hidden;background:#d4d6d1}
.space-cover img{width:100%;height:100%;object-fit:cover}
.gallery-section{padding-bottom:90px}
.gallery-heading{border-top:1px solid var(--line);padding-top:32px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.gallery-item{margin:0;min-width:0;position:relative}
.gallery-item a{display:block;overflow:hidden;position:relative;background:#d8dbd6;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.gallery-item a:hover img{transform:scale(1.035)}
.gallery-item figcaption{padding:11px 0 18px;color:var(--muted);font-size:16px;display:flex;justify-content:space-between;gap:10px}
.gallery-item .photo-index{font-variant-numeric:tabular-nums}
.photo-dialog{background:#121212;color:#eee;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}
.photo-dialog::backdrop{background:#121212}
.photo-viewer{display:flex;flex-direction:column;height:100%;padding:20px 30px}
.photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;font-size:16px}
.photo-toolbar button,.photo-nav button{color:inherit;background:none;border:0;border-bottom:1px solid #666;padding:4px 0;font-size:16px}
.photo-dialog :focus-visible{outline-color:#fff}
.photo-main{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding-block:20px}
.photo-main img{max-width:100%;max-height:100%;object-fit:contain}
.photo-nav{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:16px;min-height:40px}
.photo-dialog-open{overflow:hidden}
.photo-dialog .photo-title{color:#bdbdbd}
.photo-close{margin-left:auto}
@media(min-width:1800px){.hero-visual{height:720px}}
@media(max-width:1100px){.shell{width:calc(100% - 80px)}
.intro,.studio{gap:50px;grid-template-columns:1fr 1.7fr}
.intro{padding-block:85px}
.space-feature .feature-copy{padding:50px 40px}
.space-feature .feature-photo{min-height:510px}
.division{padding:36px}
.space-description{gap:50px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}
.masthead{min-height:95px;gap:15px}
.brand{gap:11px}
.brand img{width:31px;height:34px}
.brand-name{font-size:16px}
.nav{gap:18px;font-size:16px}
.nav .nav-studio{display:none}
.hero{padding-top:22px}
.hero-topline{font-size:16px;letter-spacing:.1em}
.hero-title{padding-block:47px 39px}
.hero-title h1{font-size:clamp(49px,10.5vw,79px);letter-spacing:-.02em}
.hero-title .hero-secondary{font-size:16px;max-width:300px;line-height:1.5;margin-top:21px}
.hero-index{display:none}
.hero-visual{height:360px}
.hero-caption{padding:22px 18px}
.hero-caption span{font-size:16px;letter-spacing:.08em;max-width:110px}
.hero-caption a{font-size:16px}
.intro,.studio{display:block;padding-block:58px}
.intro .kicker{padding:0;margin-bottom:27px}
.intro-copy>p:first-child{font-size:27px;letter-spacing:-.02em}
.intro-copy>p+p{font-size:16px;margin-top:23px}
.studio{padding-top:28px}
.studio-label h2{font-size:36px;max-width:none;margin-bottom:31px}
.studio-body h3{font-size:22px;letter-spacing:-.02em;margin-bottom:16px}
.studio-body p{font-size:16px}
.space-feature{grid-template-columns:1fr}
.space-feature .feature-photo{height:390px;min-height:0}
.space-feature .feature-copy{padding:44px 29px 50px}
.feature-copy h2{font-size:49px;letter-spacing:-.02em;margin:24px 0}
.feature-copy p{font-size:16px}
.feature-copy .feature-area{margin-top:36px;font-size:16px}
.divisions{padding-block:58px}
.section-heading{padding-bottom:25px;align-items:flex-start}
.section-heading h2{font-size:37px;letter-spacing:-.02em}
.section-heading .kicker{font-size:16px;padding-top:8px}
.division-grid{grid-template-columns:1fr}
.division{padding:33px 28px;min-height:370px}
.division h3{font-size:50px;margin-top:44px}
.division.entertainment h3{font-size:43px}
.division p{font-size:16px}
.contact{padding-block:38px 48px;align-items:flex-start;flex-direction:column;gap:27px}
.contact h2{font-size:65px;letter-spacing:-.02em}
.contact .email{font-size:24px;letter-spacing:-.02em;overflow-wrap:anywhere;max-width:100%}
.contact p{font-size:16px}
.footer{padding-block:23px 28px}
.footer-top{flex-wrap:wrap;gap:15px;font-size:16px}
.footer-bottom{margin-top:25px;display:block;font-size:16px}
.footer-bottom .legal{text-align:left;margin-top:17px}
.space-hero{padding-top:23px;padding-bottom:42px}
.space-title{margin-top:45px;align-items:flex-start;flex-direction:column;gap:30px}
.space-title h1{font-size:69px}
.space-title h1 span{font-size:18px;margin-top:18px}
.space-description{grid-template-columns:1fr;gap:25px;padding-block:40px 46px}
.space-description .big-area{font-size:55px}
.space-description>p{font-size:16px;line-height:1.9}
.space-cover{height:330px}
.gallery-grid{grid-template-columns:repeat(2,1fr);gap:3px}
.gallery-item figcaption{font-size:16px;padding:8px 3px 13px}
.gallery-section{padding-bottom:58px}
.photo-viewer{padding:14px 15px}
.photo-toolbar,.photo-toolbar button,.photo-nav button{font-size:16px}}
@media(max-width:370px){.nav{gap:12px;font-size:16px}
.brand-name{font-size:16px}
.brand img{width:27px;height:30px}
.hero-title h1{font-size:45px}
.space-title h1{font-size:59px}
.contact .email{font-size:22px}
.division.entertainment h3{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}}
.space-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.private-office-note{font-size:16px;line-height:1.9;max-width:750px;color:var(--muted);padding-bottom:28px}
.hero-action{margin-top:28px}
.hero+.intro{border-top:1px solid var(--line);padding-bottom:0}
@media(max-width:760px){.hero-title h1{font-size:clamp(34px,10.5vw,64px)}}

.breadcrumbs{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.breadcrumbs a,.footer-archive,.archive-note a{text-decoration:underline;text-underline-offset:4px}
.footer-archive{margin-left:12px}
.archive-hero{padding-block:50px 32px}
.archive-hero h1{font-size:clamp(38px,5.8vw,76px);font-weight:500;line-height:1.12;letter-spacing:-.025em;margin-top:65px}
.archive-note{max-width:760px;margin-top:28px;color:var(--muted);font-size:16px;line-height:1.8}
.archive-copy{max-width:780px;padding-block:30px 100px;font-size:19px;line-height:1.8}
.archive-copy p+p{margin-top:24px}
.archive-copy a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.archive-hero h1{margin-top:42px}.archive-copy{font-size:17px;padding-bottom:60px}.breadcrumbs{gap:5px}}

/* Liquid-silver hero study. The original vector remains the no-JS/WebGL fallback. */
.hero-with-logo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;align-items:center;padding-block:48px 46px}
.hero-with-logo .hero-copy{position:relative;z-index:1}
.hero-with-logo h1{font-size:clamp(49px,5.4vw,94px);line-height:1.09;letter-spacing:-.025em}
.hero-with-logo .hero-secondary{font-size:clamp(16px,1.45vw,23px);max-width:510px;margin-top:23px}
.liquid-logo{position:relative;width:100%;aspect-ratio:1/1.1;isolation:isolate}
.liquid-logo canvas{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s;pointer-events:none}
.logo-object{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;color:inherit;cursor:grab;touch-action:none;user-select:none;-webkit-tap-highlight-color:transparent}
.logo-object[hidden],.logo-hint[hidden]{display:none}
.logo-object:focus-visible{outline:1px solid var(--muted);outline-offset:5px;border-radius:12px}
.liquid-logo[data-logo-dragging=true] .logo-object{cursor:grabbing}
.logo-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:16px;letter-spacing:.015em;color:var(--muted);pointer-events:none;margin:0;opacity:.75}
.logo-hint .hint-tap{display:none}
.logo-keyboard-help{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:none){.logo-hint .hint-click{display:none}.logo-hint .hint-tap{display:inline}}
.liquid-logo-fallback{position:absolute;width:66%;height:auto;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.32;transition:opacity .4s}
.liquid-logo[data-logo-state=ready] canvas{opacity:1}
.liquid-logo[data-logo-state=ready] .liquid-logo-fallback{opacity:0}
.logo-motion{position:absolute;bottom:4px;right:6px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);padding:0;opacity:.6;transition:opacity .2s}
.logo-motion[hidden]{display:none}
.logo-motion:hover,.logo-motion:focus-visible{opacity:1}
.logo-motion svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.motion-play{display:none}
.logo-motion[aria-pressed=true] .motion-pause{display:none}
.logo-motion[aria-pressed=true] .motion-play{display:block}
@media(min-width:761px){.liquid-logo{transform:translateX(-18%)}.hero-with-logo .hero-copy{pointer-events:none}.hero-with-logo .hero-copy>*{pointer-events:auto;width:fit-content}}
@media(min-width:1700px){.hero-with-logo{padding-block:55px 58px}.liquid-logo{max-width:600px;justify-self:start}}
@media(max-width:1050px) and (min-width:761px){.hero-with-logo{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0}.hero-with-logo h1{font-size:clamp(43px,5.2vw,56px)}.hero-with-logo .hero-secondary{font-size:16px;max-width:350px}.liquid-logo{aspect-ratio:1/1.1}}
@media(max-width:760px){.hero-with-logo{grid-template-columns:1fr;padding-block:43px 20px;gap:4px}.hero-with-logo h1{font-size:clamp(34px,10.5vw,64px)}.hero-with-logo .hero-secondary{font-size:16px;max-width:300px;line-height:1.5;margin-top:21px}.liquid-logo{width:min(78%,330px);aspect-ratio:1;justify-self:center;margin-top:7px}.logo-motion{right:-18px;bottom:12px}.hero-with-logo .hero-action{margin-top:24px}}

/* Sky study: full-bleed world behind the header and hero, scoped to home. */
.sky-home{--masthead-height:120px}
.sky-home .masthead{position:relative;z-index:10;height:var(--masthead-height);color:#fff;border-bottom-color:rgba(255,255,255,.24);pointer-events:none}
.sky-home .brand,.sky-home .nav{pointer-events:auto}
.sky-home .brand img{filter:brightness(0) invert(1)}
.sky-home .masthead :focus-visible{outline-color:#fff}
.sky-home .hero{position:relative;isolation:isolate;width:100%;max-width:none;padding-inline:max(56px,calc((100% - 1520px)/2));color:#fff}
.sky-home .hero-topline{position:relative;z-index:2;pointer-events:none;color:rgba(255,255,255,.83)}
.sky-home .hero-with-logo{position:static;min-height:clamp(470px,64vh,720px)}
.sky-home .hero-copy{z-index:3;text-shadow:0 1px 18px rgba(7,35,65,.14)}
.sky-home .hero-copy :focus-visible{outline-color:#fff}
.sky-home .liquid-logo{position:absolute;inset:calc(-1 * var(--masthead-height)) 0 0;width:100%;max-width:none;height:auto;aspect-ratio:auto;transform:none;isolation:auto;z-index:0;background:radial-gradient(ellipse at 80% 72%,#c9e8f6a6,transparent 38%),linear-gradient(140deg,#2c618e,#80b4d8)}
.sky-home .liquid-logo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,32,57,.64),rgba(10,32,57,.53) 110px,transparent 280px),linear-gradient(90deg,rgba(8,35,65,.48),rgba(8,35,65,.14) 50%,transparent 73%)}
.sky-home .logo-anchor{width:100%;aspect-ratio:1/1.1;transform:translateX(-18%);pointer-events:none}
.sky-home .logo-object:focus-visible{outline-color:rgba(255,255,255,.75);outline-offset:-6px;border-radius:0}
.sky-home .logo-hint{z-index:2;left:70%;bottom:25px;color:#fff;font-size:16px;letter-spacing:.04em;opacity:.8}
.sky-home .logo-motion{z-index:4;right:max(56px,calc((100% - 1520px)/2));bottom:19px;border-color:rgba(255,255,255,.6);color:#fff;opacity:.8}
.sky-home .liquid-logo-fallback{width:250px;left:70%;top:58%;filter:brightness(0) invert(1);opacity:.5}
.sky-home .hero+.intro{border-top:0}
@media(max-width:760px){.sky-home{--masthead-height:92px}.sky-home .hero{padding-inline:24px}.sky-home .hero-with-logo{min-height:0}.sky-home .logo-anchor{width:min(78%,330px);aspect-ratio:1;justify-self:center;margin-top:7px;transform:none}.sky-home .logo-hint{left:50%;bottom:16px;width:calc(100% - 100px);white-space:normal;text-align:center;line-height:1.5}.sky-home .logo-motion{right:24px;bottom:10px}.sky-home .liquid-logo-fallback{left:50%;top:auto;bottom:65px;width:min(60%,220px);transform:translateX(-50%)}}

/* Larger text stays readable without crowding the mobile header or sculpture. */
.sky-home .logo-hint{max-width:calc(60% - 180px);white-space:normal;text-align:center;line-height:1.4}
@media(max-width:760px){.sky-home .hero-with-logo{padding-bottom:90px}.sky-home .logo-hint{max-width:none}.sky-home .liquid-logo-fallback{bottom:125px}}
@media(max-width:480px){.masthead{min-height:132px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding-block:12px}.nav{width:100%;justify-content:space-between;gap:24px}.sky-home{--masthead-height:132px}.hero-topline{gap:8px 16px;letter-spacing:.08em}}
@media(max-width:760px){.section-heading{flex-direction:column;align-items:flex-start;gap:12px}.section-heading .kicker{max-width:100%;padding-top:0}}
@media(max-width:760px){.nav,.kicker,.text-link,.hero-topline,.hero-title .hero-index,.hero-caption span,.hero-caption a,.feature-copy .feature-area,.division .division-label,.section-heading .kicker,.space-description .dimensions,.gallery-item figcaption,.footer-top,.footer-bottom,.photo-toolbar,.photo-toolbar button,.photo-nav,.photo-nav button,.logo-hint,.sky-home .logo-hint{font-size:14px}}
