@font-face{font-family:Anton;src:url("assets/fonts/anton.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Epilogue;src:url("assets/fonts/epilogue-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Epilogue;src:url("assets/fonts/epilogue-700.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#080909;--paper:#f5efe5;--muted:#c7c2b8;--gold:#cfad72;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}
/* Owner rule: plain letterforms, no strokes or shadow-based halos. See AGENTS.md. */
*,*::before,*::after{text-shadow:none;-webkit-text-stroke-width:0}
html{background:var(--ink);color:var(--paper);scroll-behavior:auto}
body{margin:0;font-family:Epilogue,"Segoe UI",sans-serif;font-size:18px;line-height:1.5;background:var(--ink)}
body,a,button{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
a{color:inherit}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}
button[hidden],.detail[hidden]{display:none}
img,video{display:block;max-width:100%}
.skip{position:fixed;top:12px;left:12px;z-index:100;padding:12px 20px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}
.skip:focus{transform:none}
.mast{position:fixed;z-index:40;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);gap:24px;isolation:isolate}
.brand{width:58px;flex:none;display:block}
.brand img{width:100%;height:auto}
.nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px)}
.nav a{text-decoration:none;font-size:16px;font-weight:700;transition:color .2s}
.nav a:hover{color:var(--gold)}
.nav-action{border-bottom:1px solid #f5efe566;padding:10px 0;display:flex;align-items:center;gap:26px}
.nav-action span{font-size:22px}
.menu{display:none;background:none;color:var(--paper);border:0;padding:12px 0;font-size:16px;cursor:pointer}
.cinema{display:none}
.chapter{position:relative;min-height:100vh}
.scene{padding:120px var(--gutter) 80px}
.display{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(68px,9vw,160px);line-height:.95;letter-spacing:-.01em;margin:0}
.display span{display:block}
.scene p{margin:0 0 1em}
.scene-copy{max-width:350px}
.scene-copy p{font-size:clamp(18px,1.6vw,23px);line-height:1.5}
.text-link{border:0;padding:10px 0;background:none;text-align:left;color:var(--paper);text-decoration:none;font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid #f5efe56b}
.text-link span{font-size:20px;transition:transform .25s}
.text-link:hover span{transform:translateY(3px)}
.service-label{font-size:clamp(18px,2vw,27px);line-height:1.2;font-weight:700;margin:0 0 22px}
.act{display:inline-flex;justify-content:space-between;align-items:center;gap:50px;padding:18px 28px;font-weight:700;font-size:18px;text-decoration:none;border:1px solid #f5efe580;background:var(--paper);color:var(--ink);transition:background .25s,color .25s}
.act:hover{background:var(--gold);border-color:var(--gold)}
.act span{font-size:25px}
.aside{display:block;margin-top:22px;font-size:16px;text-decoration:none;color:var(--muted);max-width:38ch}
.aside:hover{color:var(--paper)}
.colophon{display:flex;align-items:center;gap:28px;font-size:14px;color:var(--muted)}
.colophon a{text-decoration:none}
.film-controls{position:fixed;right:var(--gutter);bottom:25px;z-index:45;display:flex;align-items:center;gap:22px}
.quiet-btn{border:0;background:none;color:var(--muted);font:inherit;font-size:16px;padding:12px 0;cursor:pointer}
.film-btn{display:block;padding:12px 0 12px 14px;background:none;border:none;color:var(--paper);font-size:16px;cursor:pointer}
.film-btn::before{content:"Ⅱ";font-size:14px;display:inline-block;width:25px}
.film-btn[data-state="paused"]::before{content:"▶"}
.film-btn[data-state="ended"]::before{content:"↻";font-size:20px}
.continue{display:inline-flex;align-items:center;gap:35px;color:var(--paper);font-size:16px;text-decoration:none}
.continue span{font-size:24px}
.detail{max-width:420px;font-size:17px;line-height:1.5;margin-top:20px}
.founder-story{max-width:430px}
.founder-story p{font-size:18px}
.story-opening{font-size:24px!important;font-weight:700}
.founder-signature{font-size:18px;font-weight:700}
.founder-signature span{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:6px}

/* One shared screen; native document scroll is the scene clock. */
.has-cinema .cinema{display:block;position:fixed;inset:0;z-index:0;background:var(--ink);overflow:hidden}
.has-cinema .frame{position:absolute;inset:0;opacity:0;visibility:hidden;overflow:hidden;background:var(--ink);will-change:opacity}
.has-cinema .frame.is-current{visibility:visible}
.frame .scene-film{height:100%;width:100%;object-fit:contain;object-position:center;background:var(--ink)}
.frame-opening{display:grid;place-items:center}
.frame-opening .scene-film{width:100%;height:min(62.5vw,100dvh,900px);object-fit:contain;object-position:center;max-height:900px}
.frame-voice .scene-film{object-position:center 40%}
.has-cinema .journey{position:relative;z-index:2}
.has-cinema .chapter{height:150svh;min-height:0;pointer-events:none}
.has-cinema .chapter-opening{height:115svh}
.has-cinema .chapter-practice{height:170svh}
.has-cinema .chapter-founder{height:160svh}
.has-cinema .chapter-end{height:100svh}
.has-cinema .scene{position:fixed;inset:0;width:100%;height:100dvh;padding:0;opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform}
.has-cinema .scene.is-active{visibility:visible}
.has-cinema .scene.is-readable a,.has-cinema .scene.is-readable button{pointer-events:auto}
.has-cinema .scene-opening{opacity:1}
.scene-opening .continue{position:absolute;bottom:32px;left:var(--gutter);opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s}
.opening-complete .scene-opening .continue{opacity:1;transform:none}
.has-cinema .scene-voice .display-group{position:absolute;left:var(--gutter);bottom:12vh;width:86vw}
.has-cinema .scene-voice .display{font-size:clamp(82px,11.4vw,188px);line-height:.9}
.has-cinema .scene-voice .scene-copy{position:absolute;right:var(--gutter);top:23vh;max-width:340px}
.has-cinema .scene-practice .display{position:absolute;left:var(--gutter);bottom:29vh;font-size:clamp(65px,7.3vw,128px)}
.has-cinema .scene-practice .scene-copy{position:absolute;right:var(--gutter);bottom:17vh;max-width:350px}
.has-cinema .scene-practice .role-details{position:absolute;left:var(--gutter);bottom:15vh;max-width:540px}
.has-cinema .scene-founder .display{position:absolute;left:var(--gutter);bottom:24vh;font-size:clamp(96px,12vw,195px);line-height:.88}
.has-cinema .founder-story{position:absolute;right:var(--gutter);bottom:22vh;max-width:390px}
.has-cinema .founder-signature{position:absolute;left:var(--gutter);bottom:11vh}
.has-cinema .scene-end .display{position:absolute;left:var(--gutter);bottom:19vh;font-size:clamp(85px,9.5vw,165px);line-height:.9}
.has-cinema .end-copy{position:absolute;bottom:15vh;right:var(--gutter);max-width:390px}
.end-copy>p{font-size:21px}
.has-cinema .colophon{position:absolute;left:var(--gutter);bottom:30px}
.has-cinema .display span{transform:translate3d(0,calc(var(--enter,0)*55px),0);opacity:calc(1 - var(--enter,0));}
.has-cinema .display span:nth-child(2){transform:translate3d(0,calc(var(--enter,0)*85px),0)}
.has-cinema .scene-copy,.has-cinema .founder-story{transform:translate3d(0,calc(var(--enter,0)*25px),0)}
[data-page="organization"] .scene-voice .display{font-size:clamp(78px,9vw,154px)}
[data-page="organization"] .scene-practice .display{font-size:clamp(68px,8vw,140px)}
[data-page="organization"] .scene-founder .display{font-size:clamp(72px,8vw,144px)}
[data-page="organization"] .scene-end .display{font-size:clamp(75px,9vw,155px)}
[data-page="organization"] .chapter-opening{height:105svh}

/* Keep the desktop disclosure button fixed while its answer opens below it. */
@media(orientation:landscape){
  .has-cinema[data-layout="cinema"] [data-page="candidate"] .scene-practice .detail{position:absolute;top:100%;bottom:auto;left:0;width:min(420px,55vw);max-width:none;margin-top:8px}
  .has-cinema[data-layout="cinema"] [data-page="candidate"] .scene-practice .detail p{margin-bottom:0}
  .has-cinema[data-layout="cinema"] [data-page="candidate"] .scene-practice .scene-next:focus-visible{top:120px;bottom:auto}
}

@media(max-width:900px){
  .mast{padding:16px 24px}
  .brand{width:50px}
  .menu{display:block;position:relative;z-index:2}
  .nav{position:absolute;top:0;right:0;width:100%;height:100dvh;background:#080909f7;padding:110px 32px 80px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:30px;transform:translateY(-105%);visibility:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),visibility .5s}
  .nav a{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(30px,7vw,55px);line-height:1.1;text-shadow:none}
  .nav-action{width:100%;margin-top:15px;padding:18px 0}
  .mast.is-open .nav{transform:translateY(0);visibility:visible}
  .mast.is-open .brand{position:relative;z-index:2}
  .has-cinema .scene-voice .display,.has-cinema .scene-voice .display{font-size:clamp(68px,11vw,98px)}
  .has-cinema .scene-voice .scene-copy{top:20vh;max-width:35vw}
  .has-cinema .scene-practice .role-details{max-width:36vw}
  .has-cinema .founder-story{max-width:40vw}
  .founder-story p{font-size:16px}
  .has-cinema .scene-founder .display{font-size:11vw}
}
@media(orientation:portrait){
  .frame-opening .scene-film{height:min(calc(844 / 390 * 100vw),100dvh,844px);max-height:844px}
  .frame .scene-film{object-fit:cover;object-position:center}
  .frame-opening .scene-film{object-fit:contain}
  .frame-finale .scene-film{position:absolute;inset:0;height:100%;object-fit:cover}
  .has-cinema .chapter{height:140svh}
  .has-cinema .chapter-practice,.has-cinema .chapter-founder{height:165svh}
  .has-cinema .chapter-end{height:100svh}
  .has-cinema .scene-voice .display-group{left:var(--gutter);bottom:30vh;width:calc(100% - 2*var(--gutter))}
  .has-cinema .scene-voice .display{font-size:clamp(62px,15.5vw,96px);line-height:.92}
  .has-cinema .scene-voice .scene-copy{top:auto;left:var(--gutter);right:var(--gutter);bottom:10vh;max-width:340px}
  .scene-copy p{font-size:17px;line-height:1.45}
  .has-cinema .scene-practice .display{left:var(--gutter);top:auto;bottom:44vh;font-size:clamp(48px,12vw,74px)}
  .has-cinema .scene-practice .scene-copy{left:var(--gutter);right:var(--gutter);bottom:19vh;max-width:350px}
  .has-cinema .scene-practice .role-details{left:var(--gutter);right:var(--gutter);bottom:10vh;max-width:none}
  .detail{padding:18px;background:#080909ed;position:absolute;bottom:100%;font-size:16px;max-height:40vh;overflow:auto;border-left:1px solid var(--gold)}
  .has-cinema .scene-founder .display{left:var(--gutter);top:auto;bottom:40vh;font-size:clamp(66px,18vw,120px);line-height:.88}
  .has-cinema .founder-story{left:var(--gutter);right:var(--gutter);bottom:13vh;max-width:390px}
  .founder-story p{font-size:16px;line-height:1.4;margin-bottom:12px}
  .story-opening{font-size:19px!important}
  .has-cinema .founder-signature{left:var(--gutter);bottom:5vh;font-size:15px}
  .founder-signature span{font-size:14px;margin-top:2px}
  .has-cinema .scene-end .display{left:var(--gutter);right:var(--gutter);top:50vh;bottom:auto;font-size:clamp(58px,14.5vw,95px)}
  .has-cinema .end-copy{left:var(--gutter);right:var(--gutter);bottom:11vh}
  .end-copy>p{font-size:16px;max-width:29ch}
  .act{font-size:16px;gap:15px;padding:15px 18px;line-height:1.35;width:100%;max-width:440px}
  .aside{font-size:16px;line-height:1.4;margin-top:15px;max-width:35ch}
  .has-cinema .colophon{bottom:20px;left:var(--gutter);font-size:14px;gap:20px}
  .film-controls{right:24px;bottom:18px}
  [data-scene="opening"] .film-controls{bottom:70px}
  .scene-opening .continue{bottom:136px}
  .film-btn{font-size:16px}
  .colophon>span{display:none}
  [data-page="organization"] .scene-voice .display{font-size:clamp(52px,12.2vw,88px)}
  [data-page="organization"] .scene-voice .display-group{bottom:39vh}
  [data-page="organization"] .scene-voice .scene-copy{bottom:10vh}
  [data-page="organization"] .scene-practice .display{font-size:clamp(47px,11.2vw,78px);bottom:41vh}
  [data-page="organization"] .scene-founder .display{font-size:clamp(52px,12vw,86px);bottom:46vh}
  [data-page="organization"] .scene-end .display{font-size:clamp(48px,11.3vw,80px);top:49vh}
  .service-label{font-size:18px;margin-bottom:16px}
}
@media(max-height:650px) and (orientation:landscape){
  .has-cinema .scene-voice .display{font-size:12vh}
  .has-cinema .scene-voice .scene-copy{top:23vh;max-width:30vw}
  .scene-copy p,.founder-story p{font-size:16px}
  .has-cinema .scene-founder .display{font-size:16vh}
  .has-cinema .scene-practice .display{font-size:11vh;top:17vh}
  .has-cinema .scene-end .display{font-size:15vh;top:19vh}
  .has-cinema .end-copy{bottom:14vh}
}
@media(max-height:760px) and (orientation:portrait){
  [data-page="candidate"] .scene-voice .display-group{bottom:34vh}
  [data-page="candidate"] .scene-practice .display{bottom:48vh}
  [data-page="candidate"] .scene-founder .display{bottom:calc(40vh + 60px)}
  [data-page="candidate"] .founder-story{bottom:calc(13vh + 24px)}
  [data-page="candidate"] .founder-signature{bottom:calc(5vh + 20px)}
  [data-page="candidate"] .scene-end .display{top:calc(50vh - 55px)}
}
[data-motion="quiet"] .display span,[data-motion="quiet"] .display span:nth-child(2),[data-motion="quiet"] .scene-copy,[data-motion="quiet"] .founder-story{transform:none}
[data-motion="quiet"] .nav,[data-motion="quiet"] .continue,[data-motion="quiet"] .text-link span{transition:none}
.frame-native .scene-film{object-fit:contain;object-position:center}

:is(a,button,[tabindex="-1"]):focus-visible{outline:2px solid var(--gold);outline-offset:3px;box-shadow:0 0 0 5px var(--ink)}
.film-controls[hidden]{display:none}
.sr-only,.scene-next{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.scene-next:focus-visible{width:auto;height:auto;margin:0;padding:12px 18px;clip-path:none;white-space:normal;left:var(--gutter);bottom:80px;z-index:50;max-width:calc(100% - 2*var(--gutter));background:var(--ink);color:var(--paper);text-shadow:none}
@media(max-width:900px){
  .nav{overflow-y:auto;overscroll-behavior:contain}
}

/* Only cramped/zoomed viewports reflow the existing copy into document order. */
[data-layout="flow"] .chapter{height:auto;min-height:100svh;pointer-events:auto}
[data-layout="flow"] .scene{position:relative;inset:auto;min-height:100svh;height:auto;width:100%;padding:100px var(--gutter) 100px;display:flex;flex-direction:column;justify-content:flex-end;gap:24px;pointer-events:auto;will-change:auto}
[data-layout="flow"] .scene :is(.display-group,.display,.scene-copy,.role-details,.founder-story,.founder-signature,.end-copy,.colophon){position:static;inset:auto;width:100%;max-width:none;margin:0;transform:none}
[data-layout="flow"] .scene .display{font-size:clamp(36px,12vw,64px);line-height:1;overflow-wrap:break-word}
[data-layout="flow"] .scene .display span{transform:none;opacity:1}
[data-layout="flow"] .detail{position:static;inset:auto;max-height:none;max-width:100%;overflow:visible}
[data-layout="flow"] .act{width:100%;max-width:100%;gap:16px;padding:16px}
[data-layout="flow"] .text-link{max-width:100%}
[data-layout="flow"] .colophon{flex-wrap:wrap}
[data-layout="flow"] .film-controls{bottom:8px;right:24px;padding:0 8px;max-width:calc(100% - 48px);background:#080909f2}
[data-layout="flow"] .scene-opening .continue{position:static;opacity:1;transform:none}
[data-layout="flow"] .scene-next{position:static;width:auto;height:auto;margin:0;padding:10px 0;overflow:visible;clip-path:none;white-space:normal;max-width:100%}
[data-layout="flow"] .nav{justify-content:flex-start}
