/* solos — continuous scroll edition. Static document is the resilient baseline. */
:root{--paper:#050505;--ink:#f4f2ec;--muted:#aaa9a3;--line:rgba(244,242,236,.23);--gutter:clamp(22px,4.3vw,84px);--en:Archivo,Arial,sans-serif;--jp:"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;--mono:"IBM Plex Mono",monospace;--header:78px;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--paper);scroll-padding-top:88px;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--jp);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}::selection{color:var(--paper);background:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:6px}body:has(dialog[open]){overflow:hidden}.sr-only,.f-hp{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:10px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:14px;transform:translateY(-200%)}.skip-link:focus{transform:none}.eyebrow{font:400 12px/1.5 var(--mono);letter-spacing:.12em}.strong{font-weight:700}
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:30;background:linear-gradient(#050505cf,transparent);pointer-events:none}.site-header>*{pointer-events:auto}.brand{width:112px;display:block}.brand img{width:100%;height:auto}.site-header nav{display:flex;gap:clamp(16px,2.6vw,45px);align-items:center}.site-header nav a{font:11px/1.5 var(--mono);letter-spacing:.11em;position:relative;padding:12px 0}.site-header nav a::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover::after,.site-header nav a[aria-current]::after{transform:scaleX(1)}.site-header nav a:last-child{font-size:12px}.site-header nav span{padding-left:12px;font-size:18px}
.chapter{position:relative}.stage{position:relative;min-height:100svh;overflow:clip}.section-label{position:absolute;top:104px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;z-index:8}.section-label>span:last-child{color:var(--muted)}
.hero-stage{height:100svh;min-height:650px}.sun-scene{position:absolute;inset:0}.sun-scene canvas{display:block;width:100%;height:100%;background:url(frames/blacksun/0001.webp) center/cover;transform-origin:50% 39%;will-change:transform}.sun-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0005 0%,transparent 52%,#000c 100%)}.sun-iris{position:absolute;left:50%;top:39%;width:26vw;height:26vw;max-width:none;border-radius:50%;background:#050505;transform:translate(-50%,-50%) scale(0);opacity:0}.hero-kicker{position:absolute;top:113px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between}.hero-kicker span{font-size:11px}.hero-words{position:absolute;top:17%;left:var(--gutter);right:var(--gutter);height:40%;pointer-events:none}.hero-word{font:700 clamp(120px,25.8vw,460px)/.83 var(--en);letter-spacing:-.08em;display:block}.word-form,.word-forward{display:none}.word-forward{font-size:20.1vw}.word-dot{display:inline-block}.hero-captions{position:absolute;left:calc(var(--gutter) + 6px);top:57%;font-size:clamp(16px,1.6vw,25px);font-weight:700;letter-spacing:.03em}.hero-captions p{margin-bottom:.6em}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:87px;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px}.hero-services{display:flex;gap:24px;font-size:12px}.scroll-cue{font:11px/1.5 var(--mono);letter-spacing:.12em;display:flex;gap:24px;align-items:center}.scroll-cue span{font-size:25px}.hero-chapters{position:absolute;right:var(--gutter);bottom:170px;display:flex;gap:20px;font:11px var(--mono);letter-spacing:.12em}.hero-chapters span{opacity:.35}.hero-chapters span:first-child{opacity:1}
.approach{background:#050505}.approach-stage{padding:180px var(--gutter) 130px}.approach-phrase{position:relative;z-index:2}.phrase-top{font-size:clamp(25px,4.7vw,72px);font-weight:700;letter-spacing:-.05em;display:flex;gap:.13em;justify-content:center;white-space:nowrap}.unite{font-size:clamp(90px,18vw,300px);line-height:1.25;letter-spacing:-.1em;text-align:center;font-weight:700}.unite span{display:inline-block}.approach-orbit{position:absolute;top:19%;left:50%;width:min(72vw,1050px);height:55%;transform:translateX(-50%);pointer-events:none;opacity:.35}.approach-orbit i{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;transform:rotate(-24deg)}.approach-orbit i:last-child{transform:rotate(24deg)}.approach-story{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:70px;position:relative;z-index:2}.approach-en{font:700 clamp(56px,8vw,130px)/.94 var(--en);letter-spacing:-.065em}.approach-en span{color:#6c6c68}.approach-copy{font-size:15px;line-height:1.9;max-width:590px}.approach-copy p+p{margin-top:20px}.approach-copy .strong{font-size:20px;line-height:1.7}.approach-lines{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:space-evenly;opacity:.25}.approach-lines i{width:1px;background:var(--ink);height:100%;transform-origin:bottom}.approach-exit{display:none}
.service{background:#0a0a0a}.service-stage{padding:180px var(--gutter) 100px}.service-heading{font:700 clamp(72px,10vw,160px)/.91 var(--en);letter-spacing:-.065em;margin-bottom:60px}.service-heading span{color:#777771}.service-index{display:flex;gap:35px;position:relative;z-index:10;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:35px}.service-index a{font:12px var(--mono);letter-spacing:.07em;padding:12px 0;transition:color .25s}.service-index a span{color:#777;padding-right:10px}.service-index a.active{color:var(--ink)}.service-panel{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--line);min-height:600px;position:relative;background:#0a0a0a}.service-visual{position:relative;overflow:hidden;min-width:0;background:#101010}.service-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.57}.service-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 70%);pointer-events:none}.service-giant{position:absolute;left:18px;bottom:-.11em;font:700 clamp(150px,23vw,400px)/1 var(--en);letter-spacing:-.09em;z-index:2;color:#f4f2ec}.service-copy{padding:clamp(25px,3.4vw,65px);background:var(--ink);color:#111;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}.service-copy .eyebrow{color:#55554f}.service-copy h3{font-size:clamp(30px,3.7vw,66px);line-height:1.24;letter-spacing:-.045em;margin-top:16px}.service-promise{font-size:16px;margin-top:18px}.service-copy ul{list-style:none;padding:0;margin:24px 0 20px}.service-copy li{font-size:14px;line-height:1.8;border-top:1px solid #0003;padding:5px 0}.service-copy li:last-child{border-bottom:1px solid #0003}.service-price{display:flex;gap:15px;align-items:baseline}.service-price>span{font:500 32px var(--en);letter-spacing:-.05em}.service-price small{font-size:12px}.service-note{font-size:12px;line-height:1.7;color:#c0bfb9;margin-top:26px;max-width:760px}.service-diagram{position:absolute;inset:10% 8%;z-index:2;opacity:.65;pointer-events:none}.service-diagram i{position:absolute;display:block;border:1px solid var(--ink);width:24px;height:24px;left:calc(15% + mod(var(--i),4) * 21%);top:calc(10% + round(down,var(--i) / 4) * 23%)}.diagram-1 i{width:60%;height:60%;left:20%;top:15%;border-radius:50%;transform:rotate(calc(var(--i)*15deg)) scaleX(.45)}.diagram-2 i{width:calc(22% + var(--i)*6%);height:calc(22% + var(--i)*6%);left:50%;top:45%;transform:translate(-50%,-50%);border-radius:50%;opacity:calc(1 - var(--i)*.06)}
.works{background:#080808}.works-stage{padding:180px var(--gutter) 120px}.works-intro h2{font:700 clamp(75px,14vw,220px)/.9 var(--en);letter-spacing:-.065em}.works-intro h2 span{color:#81817a}.works-intro>p{font-size:18px;line-height:1.9;margin-top:32px}.works-intro .works-intro-note{font-size:14px;color:var(--muted);margin-top:18px}.works-deck{margin-top:70px}.work{position:relative;margin-bottom:100px}.work-image{position:relative;overflow:hidden;background:#171717;aspect-ratio:1.9}.work-image img{width:100%;height:100%;object-fit:cover;object-position:center}.work-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:25px;border-top:1px solid var(--line);margin-top:20px}.work-caption>div{max-width:650px}.wk-open{font-size:clamp(21px,2.1vw,34px);font-weight:700;display:flex;align-items:center;gap:25px;border:0;padding:14px 0;background:none;text-align:left;line-height:1.5}.wk-open span{font-size:32px;transition:transform .3s}.wk-open:hover span{transform:translate(5px,-5px)}.work-caption p{font-size:14px;line-height:1.9;max-width:560px}.wk-meta{font:11px/1.6 var(--mono);color:var(--muted);display:block;margin-top:14px}.work-number{font:500 clamp(70px,11vw,180px)/.8 var(--en);letter-spacing:-.08em;color:#77776f}.works-progress{display:none}
.closing-space{position:relative}.closing-background{position:absolute;inset:0;pointer-events:none}.closing-background-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#050505}.closing-background canvas{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(1)}#stars{background:url(frames/stars/0060.webp) center/cover;opacity:.24}#petals{background:url(frames/petals/0150.webp) center/cover;opacity:0;mix-blend-mode:screen}.company{position:relative;padding:180px var(--gutter) 140px;min-height:90svh;border-top:1px solid var(--line)}.company-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:center}.company-mark img{width:100%;height:auto;max-width:390px}.company-mark .eyebrow{display:block;margin-top:32px;color:var(--muted)}.company dl{margin:0;display:grid;grid-template-columns:90px 1fr;gap:22px 25px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}.company dt{color:var(--muted);font-size:12px}.company dd{margin:0}.faq{position:relative;display:grid;grid-template-columns:1fr 1.5fr;gap:9vw;padding:100px var(--gutter) 150px}.faq-heading{align-self:start;position:sticky;top:130px}.faq-heading h2{font:700 clamp(52px,7vw,116px)/.95 var(--en);letter-spacing:-.06em;margin:25px 0 35px}.text-link{display:inline-flex;gap:60px;border-bottom:1px solid var(--ink);padding:12px 0;font-size:14px}.qa{display:grid;grid-template-columns:30px 1fr;gap:25px;border-top:1px solid var(--line);padding:30px 0}.qa-number{font:12px var(--mono);padding-top:6px;color:var(--muted)}.qa h3{font-size:18px;line-height:1.6;margin-bottom:15px}.qa p{font-size:14px;line-height:2;color:#cecdc6}.contact-stage{min-height:930px;padding:160px var(--gutter) 80px;display:flex;flex-direction:column;justify-content:center}.contact-content{position:relative;z-index:2}.contact-pre{font-size:17px;line-height:1.85;margin-bottom:20px}.contact h2{font:700 clamp(100px,19vw,320px)/.8 var(--en);letter-spacing:-.07em}.contact h2>span{display:inline-block}.contact-us{margin-left:.08em}.contact-period{display:inline-block}.cta{display:flex;align-items:center;justify-content:space-between;gap:80px;margin-top:40px;background:var(--ink);color:#050505;border:1px solid var(--ink);font-size:16px;padding:22px 28px;min-width:270px;transition:background .25s,color .25s}.cta span{font-size:27px}.cta:hover{background:#050505;color:var(--ink)}.site-foot{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:70px;padding-top:22px;position:relative;z-index:2;font-size:12px;line-height:1.8}.site-foot p{margin-top:12px;color:var(--muted);font-size:11px}.site-foot>div:last-child{text-align:right}.site-foot a:hover{text-decoration:underline}.journey{position:fixed;bottom:24px;left:var(--gutter);width:calc(100% - var(--gutter)*2 - 170px);display:none;gap:22px;align-items:center;z-index:25;font:10px var(--mono);letter-spacing:.1em;pointer-events:none;text-shadow:0 1px 8px #000}.journey-current{width:120px;flex-shrink:0}.journey-track{height:1px;background:#7776;flex:1}.journey-track i{display:block;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left}.journey-end{color:var(--muted)}.motion-toggle{position:fixed;bottom:12px;right:var(--gutter);z-index:31;background:#080808db;border:1px solid #7778;font-size:11px;padding:11px 14px;min-height:40px;display:none}.motion-toggle:hover{border-color:var(--ink)}.has-controls .motion-toggle{display:block}.has-controls .journey{display:flex}
/* Progressive motion layout: sticky surfaces stay in normal document flow. */
.is-motion .hero{height:516svh}.is-motion .stage{position:sticky;top:0;height:100svh;min-height:0}.is-motion .hero-word{position:absolute;display:block;will-change:transform,opacity}.is-motion .word-form,.is-motion .word-forward{visibility:hidden}.is-motion .hero-captions p{position:absolute;top:0;left:0;white-space:nowrap}.is-motion .hero-captions p:not(:first-child){visibility:hidden}.is-motion .approach{height:314.5svh}.is-motion .approach-stage{padding:0}.is-motion .approach-phrase{position:absolute;left:var(--gutter);right:var(--gutter);top:27%}.is-motion .approach-story{position:absolute;left:var(--gutter);right:var(--gutter);top:30%;margin-top:0;visibility:hidden}.is-motion .approach-orbit{top:22%;height:55%}.is-motion .approach-lines i{transform:scaleY(0)}.is-motion .approach-exit{position:absolute;bottom:12%;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;visibility:hidden}.is-motion .service{height:620svh}.is-motion .service-stage{padding:0}.is-motion .service-heading{position:absolute;left:var(--gutter);top:24%;z-index:2}.is-motion .service-index{position:absolute;left:var(--gutter);right:var(--gutter);top:149px;justify-content:space-between;margin:0;gap:15px;padding-bottom:10px}.is-motion .service-index a{color:#898981}.is-motion .service-index a.active{color:var(--ink)}.is-motion .service-panels{position:absolute;left:var(--gutter);right:var(--gutter);top:213px;bottom:100px;perspective:1400px}.is-motion .service-panel{position:absolute;inset:0;min-height:0;height:100%;grid-template-columns:1.07fr 1fr;border:0;will-change:transform,opacity;visibility:hidden}.is-motion .service-copy{padding:clamp(20px,2.7vw,48px)}.is-motion .service-copy h3{font-size:clamp(27px,3vw,55px);margin-top:12px}.is-motion .service-copy ul{margin:14px 0}.is-motion .service-copy li{font-size:13px;padding:3px 0}.is-motion .service-promise{font-size:15px;margin-top:12px}.is-motion .service-copy .eyebrow{font-size:11px}.is-motion .service-price>span{font-size:26px}.is-motion .service-giant{font-size:20vw}.is-motion .service-note{position:absolute;left:var(--gutter);right:var(--gutter);bottom:61px;margin:0;visibility:hidden}.is-motion .works{height:607svh}.is-motion .works-stage{padding:0}.is-motion .works-intro{position:absolute;left:var(--gutter);top:24%;z-index:1}.is-motion .works-intro h2{font-size:12vw}.is-motion .works-intro>p{font-size:16px;margin-top:20px}.is-motion .works-intro .works-intro-note{font-size:12px;margin-top:12px}.is-motion .works-deck{position:absolute;top:160px;bottom:92px;left:var(--gutter);right:var(--gutter);margin:0;perspective:1600px}.is-motion .work{position:absolute;inset:0;display:flex;flex-direction:column;margin:0;background:#080808;will-change:transform,opacity}.is-motion .work:not(:first-child){visibility:hidden}.is-motion .work-image{flex:1;min-height:0;aspect-ratio:auto}.is-motion .work-image img{object-fit:cover}.is-motion .work-caption{flex-shrink:0;padding-top:14px;margin-top:15px;min-height:140px}.is-motion .wk-open{font-size:24px;padding:8px 0}.is-motion .work-number{font-size:105px}.is-motion .work-caption p{font-size:13px;max-width:720px}.is-motion .wk-meta{font-size:10px;margin-top:6px}.is-motion .works-progress{display:block;position:absolute;right:var(--gutter);bottom:62px;width:130px;height:2px;background:#555}.is-motion .works-progress i{display:block;height:100%;background:var(--ink);transform-origin:left}.is-motion .contact{height:249.5svh}.is-motion .contact-stage{padding:0 var(--gutter);justify-content:flex-start}.is-motion .contact-content{position:absolute;left:var(--gutter);right:var(--gutter);top:23%}.is-motion .contact-pre{font-size:16px}.is-motion .contact h2{font-size:18.5vw;white-space:nowrap}.is-motion .cta{margin-top:30px;padding:16px 24px;font-size:15px}.is-motion .site-foot{position:absolute;bottom:76px;left:var(--gutter);right:var(--gutter);margin:0}.is-motion .contact-period{transform-origin:50% 60%}
/* Native dialogs retain keyboard focus, Escape and their own scrolling. */
dialog{color:var(--ink);background:#111;border:1px solid #555;padding:0;width:min(1000px,92vw);max-height:88svh;overscroll-behavior:contain}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.wkm-x{position:sticky;float:right;top:12px;right:12px;margin:12px;z-index:3;width:46px;height:46px;border:1px solid #888;background:#080808;color:var(--ink);font:28px var(--en)}.wkm-shot{width:100%;max-height:50svh;object-fit:contain;background:#000}.wkm-txt,.cfm-in{padding:30px clamp(22px,5vw,70px) 45px}.wkm-txt h2,.cfm h2{font-size:30px;line-height:1.5;margin:15px 0}.wkm-lead,.wkm-body,.cfm-lead{font-size:15px;line-height:1.9}.wkm-body p{margin-top:20px}.wkm-meta{font:12px var(--mono);color:var(--muted);margin-top:30px}.cfm{max-width:700px}.cfm-lead{color:#bbb}.cform{margin-top:26px}.f-row{margin-top:20px}.f-row label{display:block;font-size:14px;margin-bottom:8px}.f-row input,.f-row textarea{width:100%;color:var(--ink);border:1px solid #666;background:#090909;border-radius:0;padding:13px;font-size:16px}.f-row textarea{resize:vertical;min-height:120px}.f-send{background:var(--ink);color:#050505;padding:16px 30px;border:0;margin-top:22px;min-width:160px}.f-send:disabled{opacity:.45;cursor:wait}.f-msg{font-size:14px;line-height:1.8;margin-top:18px}.f-msg.ng{color:#f9c6be}.cfm-alt{font-size:12px;line-height:1.9;margin-top:25px;color:#aaa}.cfm-alt a{text-decoration:underline}.cform.sent .f-row,.cform.sent .f-send{display:none}
@media(min-width:1500px){.is-motion .service-panels{top:230px;bottom:110px}.is-motion .service-copy li{font-size:16px}.is-motion .service-copy ul{margin:24px 0}.is-motion .service-promise{font-size:18px}.is-motion .service-copy h3{font-size:54px}.is-motion .works-deck{top:175px}.is-motion .work-caption p{font-size:15px}}
@media(max-width:1000px){.hero-services{gap:12px;font-size:11px}.approach-copy{font-size:14px}.approach-copy br{display:none}.approach-copy .strong{font-size:18px}.company-layout{gap:5vw}.company dl{grid-template-columns:65px 1fr;gap:20px 15px}.faq{gap:5vw}.qa{gap:12px}.is-motion .service-copy h3{font-size:30px}.is-motion .service-copy li{font-size:12px}.is-motion .service-giant{font-size:23vw}}
@media(max-width:760px){:root{--gutter:22px;--header:70px}.site-header .brand{width:92px}.site-header nav a:not(:last-child){display:none}.site-header nav a:last-child{font-size:11px}.site-header nav span{font-size:17px}.hero-stage{min-height:700px}.hero-kicker{top:103px;font-size:10px}.hero-kicker span{font-size:9px;max-width:145px;text-align:right}.hero-words{top:23%;left:18px;right:18px}.hero-word{font-size:36vw;letter-spacing:-.07em}.word-forward{font-size:26vw}.hero-captions{top:49%;font-size:15px;left:24px;right:20px}.hero-bottom{bottom:105px;display:block;padding-top:17px}.hero-services{display:flex;flex-wrap:wrap;font-size:11px;gap:9px 19px;max-width:310px}.scroll-cue{margin-top:24px;font-size:10px;justify-content:space-between}.hero-chapters{bottom:235px;left:24px;right:auto;gap:18px;font-size:9px}.sun-scene canvas{background-image:url(frames/blacksun-sm/0001.webp)}.sun-iris{width:72vw;height:72vw;top:41%}.sun-shade{background:linear-gradient(#0006,transparent 45%,#000b 80%,#000e)}.section-label{top:96px;font-size:10px}.section-label>span:last-child{font-size:9px;max-width:150px;text-align:right}.approach-stage{padding:170px 22px 100px}.phrase-top{font-size:7vw;gap:.1em}.unite{font-size:24vw}.approach-orbit{width:110vw;height:35%}.approach-story{grid-template-columns:1fr;gap:27px;margin-top:65px}.approach-en{font-size:18vw}.approach-en br{display:none}.approach-en span{margin-left:.2em}.approach-copy{font-size:14px;line-height:1.9}.approach-copy p+p{margin-top:15px}.approach-copy .strong{font-size:17px}.service-stage{padding:155px 22px 80px}.service-heading{font-size:18vw}.service-index{gap:10px;justify-content:space-between}.service-index a{font-size:9px}.service-index a span{padding-right:4px}.service-panel{grid-template-columns:1fr;margin-bottom:35px}.service-visual{height:280px}.service-giant{font-size:160px}.service-copy{padding:25px}.service-copy h3{font-size:32px}.service-copy ul{margin:20px 0}.service-copy li{font-size:14px}.service-note{font-size:11px}.works-stage{padding:155px 22px 100px}.works-intro h2{font-size:24vw}.works-intro>p{font-size:16px}.works-intro .works-intro-note{font-size:13px}.works-deck{margin-top:55px}.work-caption{align-items:flex-start;gap:10px;padding-top:20px}.work-number{font-size:50px;order:-1;display:none}.wk-open{font-size:21px;gap:15px}.work-caption p{font-size:13px}.work-image{aspect-ratio:1.3}.company{padding:160px 22px 80px}.company-layout{grid-template-columns:1fr;gap:55px}.company-mark img{width:250px}.company-mark .eyebrow{font-size:10px;margin-top:20px}.company dl{font-size:13px;grid-template-columns:65px 1fr;gap:20px 14px}.company dt{font-size:11px}.faq{display:block;padding:50px 22px 80px}.faq-heading{position:static;margin-bottom:45px}.faq-heading h2{font-size:20vw}.faq-heading .eyebrow{font-size:10px}.qa{padding:25px 0;grid-template-columns:23px 1fr;gap:12px}.qa h3{font-size:16px}.qa p{font-size:13px;line-height:1.95}.qa-number{font-size:10px}.contact-stage{min-height:800px;padding:130px 22px 70px;justify-content:flex-start}.contact-pre{font-size:15px}.contact h2{font-size:27vw}.contact h2>span{display:block}.contact-us{margin-left:25vw}.cta{width:100%;margin-top:35px;padding:18px 22px;font-size:15px}.site-foot{font-size:11px;gap:20px;margin-top:50px}.site-foot p{font-size:10px}.journey{left:22px;bottom:27px;width:calc(100% - 165px);gap:12px}.journey-current{font-size:9px;width:84px}.journey-end{display:none}.motion-toggle{right:20px;bottom:14px;font-size:10px;padding:9px 11px}.is-motion .hero{height:438svh}.is-motion .approach{height:321svh}.is-motion .approach-phrase{top:34%}.is-motion .approach-story{top:23%;gap:25px}.is-motion .approach-copy{font-size:13px;line-height:1.9}.is-motion .approach-copy .strong{font-size:16px}.is-motion .approach-orbit{top:28%;height:40%}.is-motion .approach-exit{font-size:10px;bottom:12%;gap:20px}.is-motion .service{height:659svh}.is-motion .service-index{top:133px;padding-bottom:10px;gap:6px}.is-motion .service-index a{font-size:9px}.is-motion .service-index a span{display:none}.is-motion .service-heading{top:28%;font-size:19vw}.is-motion .service-panels{top:186px;bottom:110px;left:22px;right:22px}.is-motion .service-panel{grid-template-columns:1fr;grid-template-rows:30% 70%;margin:0}.is-motion .service-visual{height:auto}.is-motion .service-giant{font-size:115px;left:12px}.is-motion .service-visual>img{object-position:50% 40%}.is-motion .service-copy{padding:15px 20px;justify-content:center}.is-motion .service-copy h3{font-size:25px;line-height:1.2;margin-top:8px}.is-motion .service-copy h3 br{display:none}.is-motion .service-copy .eyebrow{font-size:9px}.is-motion .service-promise{font-size:12px;margin-top:10px}.is-motion .service-copy ul{margin:12px 0 8px}.is-motion .service-copy li{font-size:12px;padding:3px 0;line-height:1.55}.is-motion .service-price>span{font-size:24px}.is-motion .service-price small{font-size:10px}.is-motion .service-note{font-size:10px;bottom:64px;line-height:1.65}.is-motion .service-diagram{opacity:.4}.is-motion .works{height:607svh}.is-motion .works-intro{top:24%}.is-motion .works-intro h2{font-size:25vw}.is-motion .works-intro>p{font-size:14px;margin-top:22px}.is-motion .works-intro .works-intro-note{font-size:11px}.is-motion .works-deck{top:150px;bottom:110px}.is-motion .work-caption{min-height:190px;margin-top:15px;padding-top:15px}.is-motion .wk-no{font-size:9px}.is-motion .wk-open{font-size:20px;gap:10px;line-height:1.4}.is-motion .wk-open span{font-size:23px}.is-motion .work-caption p{font-size:12px;line-height:1.85}.is-motion .wk-meta{font-size:9px;margin-top:8px}.is-motion .work-number{display:none}.is-motion .work-image img{object-fit:cover}.is-motion .works-progress{bottom:74px;width:95px}.is-motion .contact{height:236.5svh}.is-motion .contact-content{top:23%}.is-motion .contact-pre{font-size:14px;margin-bottom:25px}.is-motion .contact h2{font-size:27vw;line-height:.85;white-space:normal}.is-motion .contact h2>span{display:block}.is-motion .contact-us{margin-left:27vw}.is-motion .cta{padding:15px 22px;margin-top:30px;font-size:14px}.is-motion .site-foot{bottom:78px;padding-top:18px}.is-motion .site-foot p{font-size:9px}.is-motion .site-foot a{font-size:10px}#petals{background-image:url(frames/petals-sm/0150.webp)}.wkm-txt h2,.cfm h2{font-size:24px}.wkm-txt,.cfm-in{padding:25px}.cfm-lead,.wkm-lead,.wkm-body{font-size:14px}}
@media(max-height:720px) and (min-width:761px){.section-label{top:85px}.is-motion .service-index{top:116px}.is-motion .service-panels{top:170px;bottom:90px}.is-motion .service-copy{padding:20px 28px}.is-motion .service-copy h3{font-size:30px;margin-top:8px}.is-motion .service-copy ul{margin:12px 0}.is-motion .service-copy li{font-size:12px;padding:2px 0}.is-motion .service-promise{font-size:13px}.is-motion .service-price>span{font-size:24px}.is-motion .service-note{bottom:56px;font-size:11px}.is-motion .approach-story{top:27%}.is-motion .approach-copy{font-size:13px}.is-motion .approach-copy p+p{margin-top:15px}.is-motion .approach-copy .strong{font-size:17px}.is-motion .works-deck{top:133px;bottom:83px}.is-motion .work-caption{min-height:140px}.is-motion .contact-content{top:22%}.is-motion .contact h2{font-size:16vw}.is-motion .contact-pre{font-size:14px;margin-bottom:15px}.is-motion .cta{padding:11px 24px;margin-top:20px}.is-motion .site-foot{bottom:65px;padding-top:15px}.is-motion .site-foot p{margin-top:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Readability and navigation refinements from the first in-browser pass. */
.brand img,.company-mark img{filter:invert(1)}
.hero-captions{top:66%;text-shadow:0 2px 12px #000,0 0 3px #000}
.sun-shade{background:linear-gradient(180deg,#0006 0%,transparent 42%,#0005 62%,#000c 100%)}
.work-selector{position:absolute;right:var(--gutter);top:104px;display:flex;gap:8px;z-index:10}
.work-selector a{font:12px var(--mono);display:grid;place-items:center;width:44px;height:36px;border:1px solid var(--line);background:#080808}
.work-selector a.active{color:#080808;background:var(--ink);border-color:var(--ink)}
.works .section-label>span:last-child{margin-right:165px}
html:not(.is-motion) #petals{opacity:.38}
html:not(.is-motion) #stars{opacity:.12}
@media(max-width:760px){.hero-captions{top:57%;font-size:14px}.sun-shade{background:linear-gradient(#0005,transparent 40%,#0007 58%,#000c 85%)}.work-selector{top:91px}.work-selector a{font-size:11px;width:37px;height:32px}.works .section-label>span:last-child{display:none}}
@media(max-height:720px) and (min-width:761px){.work-selector{top:80px}}
.is-motion .work-image img{object-fit:contain}
.contact h2,.contact-pre{text-shadow:0 2px 14px #0009,0 0 2px #000}
#petals{mask-image:linear-gradient(90deg,transparent 0%,#000 24%);background-image:url(frames/petals/0001.webp)}
html:not(.is-motion) #petals{transform:translateX(25%)}
@media(max-width:760px){#petals{background-image:url(frames/petals-sm/0001.webp)}}
.closing-background-sticky::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#05050566,transparent 25%,transparent 67%,#050505d9 100%)}
@media(max-width:760px) and (max-height:719px){.is-motion .service-index{top:118px}.is-motion .service-panels{top:164px;bottom:94px}.is-motion .service-panel{grid-template-rows:22% 78%}.is-motion .service-giant{font-size:80px}.is-motion .service-note{bottom:55px;font-size:9px}.is-motion .contact-content{top:19%}.is-motion .contact-pre{font-size:13px;margin-bottom:15px}.is-motion .contact h2{font-size:23vw}.is-motion .cta{margin-top:20px;padding:12px 22px}.is-motion .site-foot{bottom:67px}}
.hero-word{white-space:nowrap}
@media(max-width:760px){.word-forward{font-size:23.5vw}}
.menu-toggle{display:none}
@media(max-width:760px){.menu-toggle{display:block;margin-left:auto;margin-right:20px;background:none;border:0;font:10px var(--mono);letter-spacing:.1em;padding:15px 0;min-height:44px}.site-header.menu-open nav{position:absolute;top:70px;left:0;right:0;padding:18px 22px 28px;display:flex;flex-direction:column;align-items:stretch;gap:8px;background:#050505f5;border-bottom:1px solid var(--line);animation:menu-in .25s ease-out}.site-header.menu-open nav a,.site-header.menu-open nav a:not(:last-child){display:block;padding:13px 0;font-size:14px}.site-header.menu-open nav a:last-child{font-size:14px}.site-header.menu-open nav a::after{display:none}@keyframes menu-in{from{clip-path:inset(0 0 100%);transform:translateY(-8px)}to{clip-path:inset(0);transform:none}}}
.approach-story>*{min-width:0}
@media(max-width:760px){.approach-en{font-size:17vw}.approach-en span{display:block;margin-left:0}}
.unite{display:block;white-space:nowrap;perspective:900px}.intent{display:inline-block}
@media(max-width:760px){.unite{font-size:19vw}}

/* Three current projects, with full names kept readable on small screens. */
.work-caption>div{min-width:0}.wk-open{max-width:100%;overflow-wrap:anywhere}.work-access-note{color:#96968e;font-size:12px}.wkm-txt h2{overflow-wrap:anywhere}
@media(max-width:760px){.work-three .wk-open{font-size:clamp(16px,4.7vw,20px)}}

/* Hero reading positions: left → center → right. */
.is-motion .word-find{left:0;transform-origin:0 50%}
.is-motion .word-form{left:50%}
.is-motion .word-forward{left:auto;right:0}
.is-motion .hero-word{font-size:22vw}

/* Quiet production control; keep a comfortable hit area. */
.motion-toggle{font:9px var(--mono);letter-spacing:.08em;padding:10px 8px;min-height:40px;min-width:80px;background:transparent;border-color:transparent;color:#b4b4ab}
.motion-toggle:hover{color:var(--ink);border-color:transparent}
