@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Noto+Sans+JP:wght@300;400&display=swap');:root{--bg:#ebe9e3;--ink:#282925}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{width:100%;display:block;object-fit:cover}button{font:inherit}header{position:fixed;top:0;left:0;right:0;z-index:50;padding:19px 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(235,233,227,.94);backdrop-filter:blur(14px)}.brand{font-size:30px;font-weight:500;letter-spacing:-.09em}.navlinks{display:flex;gap:28px;font-size:11px;letter-spacing:.12em}.toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;font-size:12px;letter-spacing:.12em}.hero{height:100svh;min-height:520px;position:relative;background:#5f5f58;overflow:hidden;color:#fff}.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero .poster{background:url('heiim-interior.jpg') center/cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.48))}.hero .herocopy{position:absolute;z-index:2;left:6vw;bottom:8vh}.herocopy h1{font-size:clamp(72px,16vw,220px);letter-spacing:-.09em;line-height:.85;font-weight:300;margin:0 0 22px}.herocopy p{font-size:11px;letter-spacing:.18em}.section{padding:110px 7vw}.kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 32px}.heading{font-size:clamp(45px,8vw,112px);font-weight:300;letter-spacing:-.065em;line-height:1.05;margin:0 0 45px}.jp{font-size:clamp(24px,4vw,50px);line-height:1.6;letter-spacing:-.04em;font-weight:300}.muted{font-size:13px;line-height:2.2}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center;margin:65px 0 120px}.split:nth-of-type(even) .visual{order:2}.visual img{aspect-ratio:4/5}.visual.wide img{aspect-ratio:4/3}.arrow{display:inline-block;margin-top:25px;padding-bottom:9px;border-bottom:1px solid;font-size:12px;letter-spacing:.12em}.pagehead{padding:165px 7vw 70px}.pagehead .heading{margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card img{aspect-ratio:4/5}.card h3{font-size:28px;font-weight:300;margin:18px 0 5px}.card p{font-size:12px;line-height:1.9}.widepic img{aspect-ratio:16/9}.subnav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;letter-spacing:.1em;margin:25px 0 50px}.placeholder{background:#d4d1c9;aspect-ratio:4/5;display:grid;place-items:center;font-size:12px;color:#777;letter-spacing:.12em}.note{font-size:12px;color:#666;line-height:2}.expand{height:200svh;position:relative}.sticky{position:sticky;top:0;height:100svh;overflow:hidden}.expandpic{position:absolute;inset:0;background:url('heiim-interior.jpg') center/cover;clip-path:inset(21% 18%)}.expandlabel{position:absolute;bottom:8%;left:7%;color:#fff;font-size:clamp(35px,6vw,85px);opacity:0}.footer{background:#272824;color:#f5f3ee;padding:80px 7vw 30px}.footer .word{font-size:clamp(85px,18vw,260px);letter-spacing:-.1em;line-height:1}.footlinks{display:flex;flex-wrap:wrap;gap:20px;margin:45px 0;font-size:11px}.footbottom{font-size:11px;opacity:.7}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.show{opacity:1;transform:none}@media(max-width:700px){header{padding:12px 5vw}.brand{font-size:27px}.toggle{display:block}.navlinks{display:none;position:absolute;top:59px;left:0;right:0;height:calc(100svh - 59px);background:var(--bg);padding:45px 7vw;flex-direction:column;gap:26px;font-size:26px;letter-spacing:-.03em}.navlinks.open{display:flex}.hero{min-height:0}.hero .poster{background-position:60% center}.herocopy{left:6vw!important;bottom:9vh!important}.herocopy h1{font-size:clamp(80px,25vw,140px)}.section{padding:75px 6vw}.pagehead{padding:120px 6vw 40px}.heading{font-size:clamp(49px,14vw,82px);margin-bottom:26px}.jp{font-size:27px}.split{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:35px 0 85px}.split:nth-of-type(even) .visual{order:0}.visual img{aspect-ratio:3/4}.cards{gap:14px}.card h3{font-size:20px}.card p{font-size:11px}.widepic img{aspect-ratio:3/4}.expandpic{background-position:55% center;clip-path:inset(27% 9%)}.expandlabel{left:6%;bottom:12%;font-size:38px}.footer{padding:70px 6vw 25px}.footer .word{font-size:24vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.expandpic{clip-path:inset(0)!important}.expandlabel{opacity:1!important}}
/* Staff motion portrait */
.turn-section{padding:clamp(55px,10vw,145px) 0;max-width:1100px;margin:auto}.turn-heading,.turn-foot{display:flex;justify-content:space-between;gap:20px;align-items:center}.turn-heading{font-size:10px;letter-spacing:.15em;color:#777;margin-bottom:clamp(35px,7vw,90px)}.turn-stage{display:flex;align-items:center;justify-content:center;perspective:1100px}.turn-frame{width:clamp(195px,35vw,390px);aspect-ratio:3/4;overflow:hidden;transform:rotateY(0);will-change:transform;transition:transform .45s cubic-bezier(.65,0,.35,1);background:#d7d1c7}.turn-frame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.turn-frame.turn-out{transform:rotateY(86deg)}.turn-frame.turn-in{transition:none;transform:rotateY(-86deg)}.turn-foot{margin-top:clamp(35px,6vw,80px);font-size:12px;color:#555}.turn-foot p{font-size:11px;color:#888;margin-top:12px}.turn-caption{font-family:Georgia,serif;font-style:italic;font-size:clamp(17px,2vw,25px);color:#252525}.turn-foot button{font-size:10px;letter-spacing:.12em;background:none;color:inherit;border:0;border-bottom:1px solid #888;padding:10px 0;cursor:pointer;white-space:nowrap}@media(max-width:640px){.turn-section{padding:75px 0}.turn-frame{width:min(61vw,300px)}.turn-heading{font-size:9px}.turn-foot{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.turn-frame{transition:none!important}}

/* Fixed background, isolated subject */
.turn-frame.turn-cutout{position:relative;overflow:hidden;background:#e5dfd5;aspect-ratio:3/4;max-width:410px;margin:auto;transform:none!important;perspective:none!important;}
.turn-fixed-bg{position:absolute;inset:0;background:linear-gradient(#e8e3dbb8,#e8e3dbb8),url('staff-static-bg.jpg') center/cover no-repeat;}
.turn-frame.turn-cutout img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none!important;animation:none!important;transition:none!important;}

/* V9: fixed editorial studio background, only the portrait rotates */
.turn-frame.turn-cutout{width:clamp(235px,36vw,420px);aspect-ratio:3/4;background:#eae5dc;isolation:isolate}
.turn-fixed-bg{background:radial-gradient(ellipse at 78% 24%,rgba(255,255,255,.82),transparent 60%),linear-gradient(155deg,#e9e4dc 0%,#d9d1c5 100%);}
.turn-fixed-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:13%;background:linear-gradient(0deg,rgba(156,141,123,.12),transparent);}
.turn-frame.turn-cutout img{object-fit:contain;object-position:center bottom;filter:drop-shadow(5px 8px 9px rgba(50,40,30,.09));}
@media(max-width:640px){.turn-frame.turn-cutout{width:min(78vw,350px)}}

/* V10: original frontal image remains fixed; only extracted person changes */
.turn-frame.turn-cutout{background:#ddd5c9;aspect-ratio:3/4;}
.turn-frame.turn-cutout .turn-fixed-bg{background:none!important;background-image:url('staff-static-bg.jpg')!important;background-size:100% 100%!important;background-position:center!important;}
.turn-frame.turn-cutout .turn-fixed-bg::after{display:none!important;}
.turn-frame.turn-cutout img{object-fit:fill!important;filter:none!important;}

/* v11: supplied studio image, no cutout artifacts */
.turn-frame.turn-cutout{aspect-ratio:3/4!important;background:#e6e0d6!important;width:min(83vw,430px)!important;max-width:430px!important}
.turn-frame.turn-cutout img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important}

/* v12: untouched source photos, gentle crossfade */
.turn-original{position:relative;overflow:hidden;background:#ddd;aspect-ratio:3/4;max-width:480px;margin-inline:auto}
.turn-original .turn-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .42s ease-in-out;display:block}
.turn-original .turn-layer.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.turn-original .turn-layer{transition:none}}
