/* Scoped to the intro; the shared header and existing homepage retain their styles. */
main.studio-home{overflow:clip}.pf-intro{--pf-header:78px;position:relative;height:165svh;color:#f5e9dd;background:#100e19}.pf-intro__scene{height:calc(100svh - var(--pf-header));min-height:560px;position:sticky;top:var(--pf-header);overflow:hidden;isolation:isolate}.pf-intro img{display:block}.pf-intro__sky,.pf-intro__pillar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;will-change:transform}.pf-intro__sky img{width:100%;height:100%;object-fit:cover}.pf-intro__sky{transform:scale(1.1);opacity:.85}.pf-intro__shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#100e19b5,transparent 80%);pointer-events:none}.pf-intro__copy{position:absolute;left:8%;right:5%;top:19%;z-index:7;will-change:transform,opacity}.pf-intro__eyebrow{font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.24em;color:#efb08e}.pf-intro__copy h2{font:400 clamp(42px,5.5vw,88px)/1.1 Georgia,serif;letter-spacing:-.045em;margin:25px 0;max-width:950px}.pf-intro em{font-weight:400;color:#efb08e}.pf-intro__copy>p:not(.pf-intro__eyebrow){font:14px/1.8 system-ui,sans-serif;color:#d8cadb;margin:24px 0}.pf-intro__button{display:inline-flex;align-items:center;gap:35px;background:#efb08e;color:#261923;padding:14px 23px;font:12px/1.5 system-ui,sans-serif;text-decoration:none}.pf-intro__copy small{display:block;margin-top:20px;font:italic 12px/1.5 Georgia,serif;color:#c2afc6}.pf-intro__fox{position:absolute;z-index:4;inset:auto auto -3svh -1svh;width:min(110svh,102%);height:auto;max-width:none;transform-origin:20% bottom;mask-image:linear-gradient(to right,#000 78%,transparent);pointer-events:none}.pf-intro__chapter{position:absolute;inset:34% 6% auto;text-align:center;z-index:7;opacity:0;pointer-events:none}.pf-intro__chapter>span{font:10px system-ui,sans-serif;letter-spacing:.25em;color:#efb08e}.pf-intro__chapter p{font:400 clamp(26px,3.4vw,49px)/1.4 Georgia,serif;margin:30px 0}.pf-intro__fade{position:absolute;inset:70% 0 0;z-index:6;background:linear-gradient(transparent,#07060a);pointer-events:none}.pf-intro__bottom{position:absolute;bottom:24px;left:5%;right:5%;display:flex;justify-content:space-between;z-index:8;font:10px system-ui,sans-serif;letter-spacing:.1em}.pf-intro__bottom button{background:transparent;border:0;font:inherit;color:inherit;cursor:pointer}.pf-intro a:focus-visible,.pf-intro button:focus-visible{outline:2px solid #efb08e;outline-offset:6px}#home-cocon{scroll-margin-top:90px}@media(max-width:550px){.pf-intro{height:155svh}.pf-intro__copy{left:7%;top:14%}.pf-intro__copy h2{font-size:42px}.pf-intro__eyebrow{font-size:8px}.pf-intro__copy small{max-width:235px}.pf-intro__fox{width:105%;left:-2%;bottom:-1svh}.pf-intro__pillar{opacity:.65}.pf-intro__chapter{inset:38% 7% auto}.pf-intro__chapter p{font-size:27px}}@media(max-width:430px){.pf-intro{--pf-header:70px}}@media(prefers-reduced-motion:reduce){.pf-intro{height:auto}.pf-intro__scene{position:relative;top:0}.pf-intro__sky,.pf-intro__pillar,.pf-intro__copy{will-change:auto}}

.pf-intro__pillar{transform:scale(.84);transform-origin:70% bottom}
/* Fit the entire transparent canvas before applying the scroll zoom. */
.pf-intro__pillar{object-fit:contain;object-position:right bottom;transform-origin:right bottom}

/* Bury the transparent asset edge below the ground; zoom around its foot. */
.pf-intro__pillar{top:auto;bottom:-3%;height:100%;transform-origin:right bottom}

/* Isolate the sticky scene's painting; only the tower zooms on touch devices. */
@media(hover:none) and (pointer:coarse){
 .pf-intro__scene{contain:paint;transform:translateZ(0);backface-visibility:hidden}
 .pf-intro__sky{will-change:auto}
 .pf-intro__pillar{backface-visibility:hidden;will-change:transform}
 .pf-intro__fox{will-change:auto}
}
/* Portrait phones need a wider canvas: contain otherwise shrinks the entire
   landscape asset to the narrow viewport, leaving the tower too small. */
@media(max-width:550px){
 .pf-intro__pillar{inset:auto -20% -3% auto;width:190%;height:auto;max-width:none;object-fit:contain;object-position:right bottom;transform-origin:80% bottom;opacity:1}
}
