/* Scroll choreography. Native scrolling, no external animation library. */
.ambient-scene:before,.ambient-scene svg{animation:none!important}
.ambient-scene:before{transform:translate3d(0,var(--ambient-shift,0px),0)!important}
.ambient-scene svg{transform:translate3d(0,var(--wave-shift,0px),0)!important;opacity:.15}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:109;pointer-events:none;transform-origin:left;transform:scaleX(var(--reading-progress,0));background:linear-gradient(90deg,#66512b,#e2bc73,#fff0c9);box-shadow:0 0 13px #dcb96745}
body.motion-enabled main .scroll-enter[data-scroll-reveal]{transition:opacity .75s ease var(--reveal-delay,0ms),translate .9s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms),transform .4s var(--curve),border-color .4s ease,box-shadow .4s ease!important}
.scroll-enter{translate:0 0}
.motion-enabled .scroll-enter.is-pending{opacity:0;translate:0 24px}
.motion-enabled .scroll-enter.is-pending:focus-within{opacity:1;translate:0 0}
.scroll-ruled{position:relative}
.scroll-ruled:after{content:'';display:block;width:76px;height:1px;margin-top:26px;background:linear-gradient(90deg,#e3c68c,#e3c68c00);transform-origin:left;transform:scaleX(1);transition:transform 1s var(--curve)}
.scroll-ruled.is-pending:after{transform:scaleX(.08)}
.motion-enabled .hero:not(.about-scroll-story) h1,.motion-enabled main.page>.shell>h1{translate:0 var(--hero-drift,0px)}
.cinema-process{border-top:1px solid #cdb27525;padding-top:65px}
.process-intro{max-width:900px;margin-bottom:50px}
.process-intro>p{color:#bbbbbb;font-size:15px;line-height:1.7;margin-top:24px}
.process-story{--stage-travel:540px;--theater-height:650px;--sticky-top:24px;position:relative}
.process-sticky{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(26px,4vw,64px);align-items:center}
.cinema-nav{display:flex;flex-direction:column;gap:6px;margin:0;position:relative;padding:6px 0}
.cinema-nav:before{content:'';position:absolute;left:24px;top:35px;bottom:35px;width:1px;background:#b69c5733}
.cinema-nav a{position:relative;border:0!important;border-radius:12px!important;display:flex;align-items:center;gap:13px;padding:5px 0!important;min-height:51px;background:none!important;transition:color .4s ease!important}
.cinema-nav a>span{position:relative;display:grid;place-items:center;width:49px;height:41px;flex-shrink:0;border:1px solid transparent;border-radius:12px;background:#0f0f0f;color:#7d7d7d;font-size:12px;transition:color .4s ease,border-color .4s ease,background-color .4s ease}
.cinema-nav a>b{color:#9b9b9b;font-size:13px;font-weight:400;transition:color .4s ease}
.cinema-nav a>i{display:none}
.cinema-nav a[aria-current]>span{border-color:#e1be7766;color:#f0d79e;background:linear-gradient(125deg,#5f502d66,#202020);box-shadow:0 0 28px #cba44d12}
.cinema-nav a[aria-current]>b{color:#f0dec1}
.cinema-nav a.is-complete>span{color:#c3af7c}
.cinema-nav a:hover>b{color:#e9c887}
.cinema-nav a:focus-visible{outline-offset:1px!important}
.process-theater{display:none;position:relative;min-width:0;overflow:hidden;border:1px solid #c0a15d47;border-radius:28px;background:radial-gradient(ellipse at 65% 20%,#6957231a,transparent 60%),linear-gradient(145deg,#191919f5,#0f0f0fef);box-shadow:inset 0 1px 0 #f6dba310,0 30px 80px #0003}
.cinema-enhanced .process-theater,.cinema-static .process-theater{display:block}
.theater-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 30px 0;color:#b8b8b8;font-size:9px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.theater-topline>span:first-child{display:flex;align-items:center;gap:9px}
.theater-topline i{width:5px;height:5px;display:block;background:#d9bb74;border-radius:50%;box-shadow:0 0 10px #e8cb8944}
.process-art{position:relative;isolation:isolate;height:clamp(220px,38svh,400px);padding:0 15px;overflow:hidden}
.process-art svg{display:block;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif}
.process-scene{opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:360px 210px;transition:opacity .5s ease,transform .65s var(--curve),visibility .5s;--phase:0}
.process-scene.is-active{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.process-scene .ink-draw{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--phase));}
.process-scene .asset-route{stroke-dasharray:.015 .025;stroke-dashoffset:calc(var(--phase) * -.15)}
.selection-card{transform:translateY(calc(var(--phase) * -7px));transform-origin:360px 210px}
.selection-cursor{transform:translate(calc(var(--phase) * -13px),calc(var(--phase) * -10px))}
.agreement-fill{transform:scaleX(var(--phase));transform-box:fill-box;transform-origin:left}
.brief-asset{opacity:calc(1 - var(--phase) * .55)}
.asset-one{transform:translate(calc(var(--phase) * 74px),calc(var(--phase) * 30px))}
.asset-two{transform:translate(calc(var(--phase) * 90px),calc(var(--phase) * -16px))}
.asset-three{transform:translate(calc(var(--phase) * 42px),calc(var(--phase) * 32px))}
.design-artwork{opacity:calc(.25 + var(--phase) * .75)}
.design-guides{opacity:calc(1 - var(--phase) * .5)}
.designer-pen{transform:translate(calc(var(--phase) * -24px),calc(var(--phase) * 21px))}
.feedback-note{transform:translateY(calc((1 - var(--phase)) * 12px));opacity:calc(.4 + var(--phase) * .6)}
.approval-check{stroke-dashoffset:calc(1 - var(--phase))}
.approval-seal{transform:scale(calc(.94 + var(--phase) * .06));transform-origin:467px 265px}
.delivery-files{transform:translateX(calc((1 - var(--phase)) * 18px))}
.delivery-box{transform:translateX(calc((1 - var(--phase)) * -18px))}
.theater-copy{display:grid;padding:2px clamp(24px,4vw,48px) 25px;min-height:204px}
.theater-caption{grid-area:1/1;visibility:hidden;opacity:0;translate:0 8px;pointer-events:none;transition:opacity .35s ease,translate .5s var(--curve),visibility .35s}
.theater-caption.is-active{visibility:visible;opacity:1;translate:0 0}
.theater-kicker{font-size:10px;letter-spacing:.16em;color:#d2b77a}
.theater-copy h3{margin:13px 0 13px;font-size:clamp(24px,2.8vw,39px);font-weight:400;letter-spacing:-.045em;line-height:1.08;color:#f1ecdf;text-wrap:balance}
.theater-copy>p,.theater-caption>p{margin:0;font-size:14px;line-height:1.7;color:#c5c5c5;max-width:630px}
.theater-role{display:flex;gap:14px;align-items:baseline;margin-top:17px;padding-top:14px;border-top:1px solid #d1b67b1c}
.theater-role>span{flex-shrink:0;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#cdb478}
.theater-role p{font-size:12px;line-height:1.6;color:#aeaeae;margin:0}
.theater-copy.is-changing{animation:theater-copy-in .5s var(--curve) both}
@keyframes theater-copy-in{from{opacity:.25;translate:0 7px}to{opacity:1;translate:0 0}}
.theater-bottom{display:flex;align-items:center;gap:18px;padding:14px 30px 18px;border-top:1px solid #ddd0a414;font-size:8px;letter-spacing:.09em;color:#a1a1a1;font-variant-numeric:tabular-nums}
.theater-bottom>span:first-child{white-space:nowrap}
.cinema-progress{height:2px;background:#a6956733;flex:1;overflow:hidden}
.cinema-progress>span{display:block;height:100%;background:linear-gradient(90deg,#897041,#f3d493);transform:scaleX(var(--process-progress,0));transform-origin:left}
.cinema-enhanced{height:calc(var(--theater-height) + var(--stage-travel) * 7)}
.cinema-enhanced .process-sticky{position:sticky;top:var(--sticky-top)}
.cinema-enhanced .steps{position:absolute;inset:0;display:block;pointer-events:none}
.cinema-enhanced .steps .step{position:absolute!important;top:calc(var(--stage-travel) * var(--step-index));left:0;width:1px;height:1px;min-height:0!important;padding:0!important;margin:0;border:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;scroll-margin-top:var(--sticky-top)}
.cinema-static .process-sticky{align-items:start;margin-bottom:35px}
.cinema-static .theater-copy{display:none}
.cinema-static .theater-bottom{display:none}
.cinema-static .process-scene{--phase:1}
.cinema-static .steps{gap:20px}
.cinema-condensed .process-art{height:clamp(110px,25svh,230px)}
.cinema-condensed .theater-role{display:none}
.cinema-condensed .theater-copy{min-height:0;padding-bottom:16px}
.cinema-condensed .theater-topline{padding-top:14px}
.cinema-process .step-art{display:none}
@media(min-width:1600px){.process-sticky{grid-template-columns:220px minmax(0,1fr)}.cinema-nav a>b{font-size:14px}}
@media(max-width:1100px){.process-sticky{grid-template-columns:145px minmax(0,1fr);gap:24px}.cinema-nav a{gap:9px}.cinema-nav a>b{font-size:12px}.theater-copy{padding:4px 25px 20px;min-height:230px}.theater-topline{padding:20px 25px 0}.theater-bottom{padding-inline:25px;gap:12px}.theater-bottom>span:first-child{font-size:7px}}
@media(max-width:900px){.process-sticky{grid-template-columns:1fr;gap:15px}.cinema-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:0;margin:0}.cinema-nav:before{left:20px;right:20px;top:23px;bottom:auto;width:auto;height:1px}.cinema-nav a{display:grid;place-items:center;min-height:44px;gap:0;padding:0!important}.cinema-nav a>span{width:100%;max-width:48px;height:42px;min-width:0}.cinema-nav a>b{display:none}.process-art{height:clamp(155px,30svh,330px)}.theater-copy{min-height:185px;padding:0 28px 22px}.theater-topline{padding:20px 28px 0}.process-story{--sticky-top:16px}.theater-role{margin-top:14px}.cinema-static .process-sticky{grid-template-columns:1fr}.cinema-static .process-art{height:240px}}
@media(max-width:520px){.cinema-process{padding-top:40px}.process-intro{margin-bottom:30px}.process-intro>p{font-size:13px}.process-theater{border-radius:21px}.theater-topline{padding:17px 17px 0;font-size:7px;letter-spacing:.07em;gap:7px}.process-art{height:clamp(135px,26svh,205px);padding:0}.theater-copy{padding:0 18px 18px;min-height:250px}.theater-copy h3{font-size:25px;line-height:1.12;margin:12px 0}.theater-copy>p{font-size:13px;line-height:1.65}.theater-kicker{font-size:9px;letter-spacing:.12em}.theater-role{display:block;margin-top:14px;padding-top:12px}.theater-role>span{font-size:9px}.theater-role p{font-size:11px;margin-top:6px;line-height:1.5}.theater-bottom{padding:12px 17px 15px;gap:10px;font-size:8px}.theater-bottom>span:first-child{display:none}.cinema-nav{gap:3px}.cinema-nav a>span{height:35px;font-size:10px;border-radius:10px}.cinema-nav:before{top:22px}.process-sticky{gap:10px}.process-story{--sticky-top:12px}.scroll-ruled:after{width:48px;margin-top:20px}}
@media(max-width:520px){.theater-caption>p{font-size:13px;line-height:1.65}.cinema-condensed .process-art{height:clamp(110px,23svh,165px)}}
/* Desktop composition is vertically centered by the measured sticky offset. */
@media(min-width:1101px){
  .process-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);column-gap:65px;align-items:end;max-width:none;margin-bottom:60px}
  .process-intro>.eyebrow{grid-column:1/-1}
  .process-intro>h2{margin-bottom:0;font-size:clamp(34px,3.6vw,53px)}
  .process-intro>p{max-width:310px;margin-bottom:3px;line-height:1.9}
  .process-intro:after{grid-column:1/-1}
  .process-art{height:clamp(285px,44svh,490px)}
  .theater-copy{padding:8px 40px 30px;min-height:0}
  .theater-caption{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:30px;align-content:start}
  .theater-caption>.theater-kicker{grid-column:1;grid-row:1;line-height:1.6}
  .theater-caption>h3{grid-column:1;grid-row:2/4;font-size:clamp(27px,2.5vw,36px);margin:12px 0 0;max-width:320px}
  .theater-caption>p{grid-column:2;grid-row:1/3;font-size:14px;line-height:1.8}
  .theater-caption>.theater-role{grid-column:2;grid-row:3;display:block;margin-top:16px;padding-top:12px}
  .theater-caption>.theater-role p{margin-top:5px}
  .cinema-condensed .process-art{height:clamp(200px,30svh,300px)}
  .cinema-condensed .theater-caption>.theater-role{display:none}
}
/* Mobile is its own reading layout, not a miniaturized desktop theater. */
.mobile-process{height:auto!important}
.mobile-process .process-sticky{position:sticky;top:12px;z-index:8;display:block;margin:0 0 28px;padding:8px;background:#111111ee;border:1px solid #d6bb7e24;border-radius:17px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mobile-process .process-theater{display:none!important}
.mobile-process .cinema-nav{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.mobile-process .cinema-nav a{min-height:38px}
.mobile-process .cinema-nav a>span{height:36px;width:100%;border-radius:10px}
.mobile-process .cinema-nav:before{top:19px;left:15px;right:15px}
.mobile-process .steps{display:grid;gap:28px;position:relative;counter-reset:process-step}
.mobile-process .steps .step{position:relative;display:flex;flex-direction:column;gap:0;min-height:0!important;padding:22px 20px 25px!important;margin:0;overflow:hidden;border-radius:23px;scroll-margin-top:85px;counter-increment:process-step;background:linear-gradient(145deg,#202020b3,#101010ed)!important}
.mobile-process .steps .step.active{border-color:#d0af6b88!important;background:linear-gradient(145deg,#26231cb8,#121212ed)!important}
.mobile-process .step>.number{display:none}
.mobile-process .step-art{display:block;position:relative;margin:-22px -20px 25px;padding:20px 9px 16px;border-bottom:1px solid #c3a97520;background:radial-gradient(ellipse at 50% 60%,#b18b3d12,transparent 72%);min-height:0}
.mobile-process .step-art svg{display:block;width:100%;height:auto;max-height:300px;font-family:Arial,Helvetica,sans-serif}
.mobile-process .step-art .scene-grid{opacity:.45}
.mobile-process .step-kicker{font-size:10px;letter-spacing:.13em;margin:0 0 15px}
.mobile-process .step-kicker:before{content:counter(process-step,decimal-leading-zero) ' / ';color:#e0c38a}
.mobile-process .step h3{font-size:clamp(25px,5.2vw,33px);line-height:1.14;margin-bottom:16px;text-wrap:balance}
.mobile-process .step>div>p{font-size:14px;line-height:1.85!important}
.mobile-process .step-responsibility{margin-top:24px;padding-left:13px}
.mobile-process .step-responsibility p{font-size:12px!important;line-height:1.75!important}
.mobile-process .chips{margin-top:23px;gap:7px}
.mobile-process .chips span{font-size:10px;padding:7px 10px;line-height:1.4}
@media(max-width:520px){.process-intro h2{font-size:clamp(28px,7.5vw,38px);line-height:1.13}.mobile-process .steps .step{padding:20px 16px 23px!important}.mobile-process .step-art{margin:-20px -16px 23px;padding:17px 6px 14px}.mobile-process .step h3{font-size:clamp(24px,6.2vw,29px)}.mobile-process .step>div>p{font-size:13px}.mobile-process .process-sticky{padding:5px;border-radius:14px}.mobile-process .cinema-nav a>span{font-size:10px}.mobile-process .chips{gap:6px}.mobile-process .chips span{padding:6px 8px}.mobile-process .step-art svg{max-height:265px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reading-progress{display:none}.scroll-enter{opacity:1!important;translate:none!important;transition:none!important}.scroll-ruled:after{transition:none}.hero h1,main.page>.shell>h1{translate:none!important}.ambient-scene:before,.ambient-scene svg{transform:none!important}.process-scene,.process-scene *,.theater-copy,.theater-caption{animation:none!important;transition:none!important}}
