@charset "UTF-8";
:root{
  --ink:#19282b;--muted:#667674;--paper:#f2f6f0;--paper-2:#e8f0eb;--line:rgba(25,40,43,.15);
  --green:#9bcf9a;--lime:#dff081;--mint:#8bd8c1;--blue:#769fbd;--deep:#142735;--cream:#fff8df;
  --pad:clamp(22px,5vw,78px);--max:1500px;--radius:clamp(20px,2.2vw,34px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Avenir Next","Hiragino Kaku Gothic ProN","Yu Gothic",Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}
::selection{background:var(--lime);color:var(--ink)}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:999px;background:var(--ink);color:white;transition:top .2s}.skip-link:focus{top:16px}
.site-shell{width:min(100%,var(--max));margin:auto;position:relative;background:var(--paper);overflow:hidden;box-shadow:0 0 80px rgba(20,44,42,.06)}
.site-header{height:88px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}
.site-header.is-scrolled{position:fixed;max-width:var(--max);margin:auto;background:rgba(242,246,240,.82);backdrop-filter:blur(18px);border-color:var(--line)}
.wordmark{display:inline-flex;align-items:center;gap:11px;font-size:15px;font-weight:750;letter-spacing:-.02em;width:max-content}
.mark-dot{width:15px;height:15px;display:inline-block;border-radius:50% 50% 45% 55%;background:var(--ink);position:relative;box-shadow:7px -5px 0 -3px var(--mint)}
.nav{display:flex;gap:36px;font-size:13px;letter-spacing:.08em}.nav a{position:relative;padding:10px 0}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--ink);transition:right .25s}.nav a:hover::after,.nav a:focus-visible::after{right:0}
.tiny-status{justify-self:end;font-size:11px;letter-spacing:.08em;color:var(--muted);display:flex;align-items:center;gap:8px}.tiny-status i{width:6px;height:6px;border-radius:50%;background:#63ae78;box-shadow:0 0 0 4px rgba(99,174,120,.13)}
.hero{min-height:min(900px,100svh);padding:150px var(--pad) 78px;display:grid;grid-template-columns:minmax(380px,.84fr) minmax(420px,1.16fr);align-items:center;gap:clamp(30px,5vw,84px);position:relative;isolation:isolate;background:radial-gradient(circle at 85% 12%,rgba(223,240,129,.35),transparent 28%),linear-gradient(140deg,#f7f8ef 0%,#edf4ef 55%,#e4eeeb 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:linear-gradient(rgba(25,40,43,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(25,40,43,.04) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,transparent,black 30%,black)}
.eyebrow,.section-index{font-size:10px;letter-spacing:.18em;font-weight:720;color:var(--muted);margin:0;text-transform:uppercase}.eyebrow{display:flex;justify-content:space-between;max-width:440px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(54px,6.4vw,98px);font-weight:500;letter-spacing:-.07em;line-height:.98;margin:36px 0 30px}.hero h1 em{font-style:normal;position:relative;z-index:0}.hero h1 em::after{content:"";position:absolute;left:-2%;right:-8%;height:.31em;bottom:.06em;background:var(--lime);border-radius:100%;transform:rotate(-2deg);z-index:-1;opacity:.8}
.hero-lead{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(15px,1.2vw,18px);line-height:2;color:#526260;letter-spacing:.04em}
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:48px}.primary-button{height:55px;padding:0 24px 0 27px;background:var(--ink);color:white;border-radius:999px;display:inline-flex;align-items:center;gap:34px;font-size:13px;transition:transform .25s,box-shadow .25s}.primary-button span{font-size:18px}.primary-button:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(25,40,43,.18)}.hero-actions p{font-size:10px;line-height:1.7;letter-spacing:.08em;color:var(--muted)}
.hero-visual{height:min(650px,68vw);max-height:650px;min-height:460px;position:relative;perspective:1000px}.sun-disc{position:absolute;width:clamp(320px,34vw,530px);aspect-ratio:1;border-radius:50%;top:45%;left:49%;transform:translate(-50%,-50%);background:radial-gradient(circle at 38% 32%,#fffbdc,#d8edcb 52%,#b8dcd0);box-shadow:0 30px 90px rgba(88,140,122,.15)}
.orbit{position:absolute;border:1px solid rgba(25,40,43,.22);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-18deg)}.orbit::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--ink);right:12%;top:11%}.orbit-a{width:92%;height:52%}.orbit-b{width:68%;height:84%;transform:translate(-50%,-50%) rotate(34deg)}
.mini-card{position:absolute;width:clamp(260px,29vw,450px);padding:10px;background:rgba(255,255,255,.84);border:1px solid rgba(25,40,43,.13);border-radius:18px;box-shadow:0 28px 60px rgba(27,53,48,.16);backdrop-filter:blur(8px);transition:transform .2s ease-out}.mini-card img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:11px;filter:saturate(.83)}.mini-card span{display:block;font-family:"Yu Mincho",Georgia,serif;padding:12px 5px 4px;font-size:11px;letter-spacing:.12em}.mini-green{left:2%;top:12%;transform:rotate(-5deg)}.mini-blue{right:0;bottom:9%;width:clamp(230px,25vw,390px);transform:rotate(5deg)}
.axis-label{position:absolute;font-size:9px;letter-spacing:.16em;color:var(--muted)}.axis-label.x{bottom:8%;left:8%}.axis-label.y{right:4%;top:9%;writing-mode:vertical-rl}.hero-seal{position:absolute;right:12%;top:2%;width:88px;height:88px;border-radius:50%;background:var(--lime);display:grid;place-content:center;text-align:center;transform:rotate(8deg);box-shadow:0 10px 30px rgba(135,164,73,.2)}.hero-seal b{font-family:Georgia,serif;font-size:29px;line-height:1}.hero-seal span{font-size:7px;line-height:1.3;letter-spacing:.11em;text-transform:uppercase}
.intro-strip{min-height:74px;padding:18px var(--pad);background:var(--ink);color:#e7efe9;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden}.intro-strip>p{font-family:Georgia,serif;font-size:11px;letter-spacing:.18em;white-space:nowrap}.ticker{display:flex;align-items:center;gap:24px;font-size:9px;letter-spacing:.18em;color:#adbdba;white-space:nowrap}.ticker i{width:4px;height:4px;border-radius:50%;background:var(--lime)}
.works-section{padding:clamp(90px,11vw,165px) var(--pad);background:#f7f8f2}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-heading h2,.philosophy h2,.tech-section h2,.about h2{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-weight:500;letter-spacing:-.045em}.section-heading h2{font-size:clamp(40px,5vw,72px);margin:16px 0 0}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.8;letter-spacing:.05em}
.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(70px,9vw,140px) clamp(24px,4vw,60px)}
@media(min-width:981px){.works-grid{max-width:1120px;margin-inline:auto}.project-media{border-radius:clamp(18px,1.6vw,26px)}}.project-card{display:block}.project-card--offset{transform:translateY(90px)}.project-media{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:#dfe8e3;box-shadow:0 18px 50px rgba(26,52,45,.09)}.project-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,20,24,.26),transparent 38%);opacity:.65;transition:opacity .35s}.project-media img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .5s}.project-card:hover .project-media img{transform:scale(1.035);filter:saturate(1.08)}.project-card:hover .project-media::after{opacity:1}.project-number{position:absolute;z-index:2;left:22px;top:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(247,248,242,.86);backdrop-filter:blur(10px);font:700 10px/1 system-ui;color:var(--ink)}.project-enter{position:absolute;z-index:2;right:17px;bottom:17px;display:flex;align-items:center;gap:14px;padding:8px 9px 8px 17px;border-radius:999px;background:rgba(247,248,242,.9);backdrop-filter:blur(10px);font-size:11px;transform:translateY(7px);opacity:0;transition:.3s}.project-enter b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:14px}.project-card:hover .project-enter,.project-card:focus-visible .project-enter{transform:none;opacity:1}.project-meta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);gap:25px;padding:26px 4px 0}.project-meta p{margin:0}.project-meta>div>p{font-size:9px;letter-spacing:.16em;color:var(--muted)}.project-meta h3{font-family:"Yu Mincho",Georgia,serif;font-size:clamp(20px,2vw,29px);font-weight:500;margin:9px 0 0;letter-spacing:-.025em}.project-desc{font-size:11px;line-height:1.85;color:var(--muted);padding-top:2px}.project-card--green .project-media{background:#dcebd4}.project-card--blue .project-media,.project-card--night .project-media{background:#122a3b}.project-card--earth .project-media{background:#d2c8a2}
.philosophy{padding:clamp(110px,14vw,210px) var(--pad) clamp(90px,12vw,170px);background:linear-gradient(150deg,#dfece3,#edf3e8);position:relative;overflow:hidden}.philosophy::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-130px;top:-140px;border:1px solid rgba(25,40,43,.12);box-shadow:0 0 0 48px rgba(255,255,255,.15),0 0 0 96px rgba(255,255,255,.09)}.philosophy-copy{position:relative;z-index:1}.philosophy h2{font-size:clamp(38px,5.3vw,75px);line-height:1.23;margin:23px 0 90px;max-width:980px}.philosophy h2 em{font-style:normal;color:#568877}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(25,40,43,.13);border-top:1px solid rgba(25,40,43,.13);border-bottom:1px solid rgba(25,40,43,.13)}.note{padding:42px clamp(20px,3vw,43px);background:#e8f0e8;min-height:260px}.note span{font:italic 24px Georgia,serif;color:#7ca98f}.note h3{font:500 21px "Yu Mincho",Georgia,serif;margin:42px 0 18px}.note p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}
.tech-section{min-height:720px;padding:clamp(90px,12vw,170px) var(--pad);background:var(--deep);color:#eef3e9;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center;overflow:hidden}.tech-section .section-index{color:#8aa19f}.tech-orb{aspect-ratio:1;max-width:520px;width:90%;margin:auto;border-radius:50%;position:relative;border:1px solid rgba(204,241,209,.24);background:radial-gradient(circle at 42% 36%,rgba(223,240,129,.25),rgba(73,134,128,.13) 38%,transparent 66%)}.tech-orb::before,.tech-orb::after{content:"";position:absolute;border:1px solid rgba(174,216,204,.2);border-radius:50%}.tech-orb::before{inset:15%;transform:rotateX(67deg)}.tech-orb::after{inset:3% 26%;transform:rotate(27deg)}.tech-orb span,.tech-orb i,.tech-orb b{position:absolute;border-radius:50%}.tech-orb span{width:14px;height:14px;background:var(--lime);top:18%;left:31%;box-shadow:0 0 26px var(--lime)}.tech-orb i{width:8px;height:8px;background:var(--mint);bottom:22%;right:18%;box-shadow:0 0 20px var(--mint)}.tech-orb b{width:42%;height:42%;inset:29%;background:radial-gradient(circle at 35% 30%,#cbf0be,#568d84);box-shadow:inset -20px -20px 45px rgba(15,41,44,.35),0 20px 80px rgba(114,205,177,.18)}.tech-section h2{font-size:clamp(38px,4vw,62px);line-height:1.15;margin:20px 0 28px}.tech-content>p:not(.section-index){font-size:13px;line-height:1.95;color:#aebfbb;max-width:540px}.tech-list{list-style:none;padding:0;margin:48px 0 0;border-top:1px solid rgba(230,241,234,.16)}.tech-list li{display:grid;grid-template-columns:52px 1fr;padding:16px 0;border-bottom:1px solid rgba(230,241,234,.16);font-size:12px;letter-spacing:.08em}.tech-list span{font:italic 12px Georgia,serif;color:var(--lime)}
.about{padding:clamp(90px,12vw,170px) var(--pad);display:grid;grid-template-columns:.7fr 1.4fr .8fr;gap:clamp(30px,6vw,90px);background:#fffdf4;align-items:start}.about h2{font-size:clamp(40px,5vw,72px);margin:0 0 24px}.about-main>p{font-family:"Yu Mincho",Georgia,serif;font-size:clamp(17px,1.7vw,24px);line-height:1.8;color:#4d5f5c;max-width:650px}.controls-guide>p{font-size:9px;letter-spacing:.18em;color:var(--muted);margin:5px 0 22px}.controls-guide dl{margin:0;border-top:1px solid var(--line)}.controls-guide dl div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.controls-guide dt{font-weight:700}.controls-guide dd{margin:0;color:var(--muted)}
.footer{min-height:140px;padding:32px var(--pad);background:#e7eee8;display:grid;grid-template-columns:minmax(190px,.7fr) minmax(460px,1.8fr) auto;gap:34px;align-items:center;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em;color:var(--muted)}.footer .wordmark{color:var(--ink);font-size:14px;letter-spacing:-.02em}.footer-brand{display:flex;align-items:center;gap:25px}.footer-brand p{margin:0;white-space:nowrap}.footer-legal{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 11px;line-height:1.7}.footer-legal a{position:relative;transition:color .2s}.footer-legal a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .25s}.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--ink)}.footer-legal a:hover::after,.footer-legal a:focus-visible::after{right:0}.footer-separator{color:rgba(25,40,43,.28)}.back-top{color:var(--ink);padding:10px 0;white-space:nowrap}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
:focus-visible{outline:2px solid #3c8a72;outline-offset:5px;border-radius:4px}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.nav{display:none}.tiny-status{grid-column:2}.hero{grid-template-columns:1fr;min-height:auto;padding-top:140px}.hero-copy{max-width:700px}.hero-visual{height:570px;min-height:0}.mini-green{left:8%}.mini-blue{right:8%}.works-grid{gap:90px 24px}.project-card--offset{transform:translateY(55px)}.project-meta{grid-template-columns:1fr}.philosophy-grid{grid-template-columns:1fr}.note{min-height:0}.tech-section{grid-template-columns:.8fr 1.2fr}.about{grid-template-columns:1fr 1.4fr}.about-label{grid-column:1/-1}.controls-guide{grid-column:2}.footer{grid-template-columns:1fr auto}.footer-legal{grid-column:1/-1;justify-content:flex-start}.back-top{grid-column:2;grid-row:1;justify-self:end}}
@media(max-width:700px){:root{--pad:20px}.site-header{height:72px}.tiny-status{font-size:0}.tiny-status i{width:7px;height:7px}.hero{padding-top:112px;padding-bottom:50px}.eyebrow span:last-child{display:none}.hero h1{font-size:clamp(52px,16vw,76px);margin-top:26px}.hero-lead br{display:none}.hero-actions{align-items:flex-start;margin-top:34px}.hero-visual{height:430px;margin-top:20px}.sun-disc{width:330px}.mini-card{width:260px}.mini-green{left:-2%;top:13%}.mini-blue{right:-4%;bottom:4%;width:220px}.hero-seal{width:72px;height:72px;right:3%}.intro-strip{min-height:58px}.intro-strip>p{display:none}.ticker{gap:15px;font-size:8px;animation:ticker 16s linear infinite}.works-section{padding-top:82px}.section-heading{align-items:start;margin-bottom:44px}.section-heading>p{display:none}.works-grid{grid-template-columns:1fr;gap:66px}.project-card--offset{transform:none}.project-enter{opacity:1;transform:none}.project-meta{padding-top:18px}.project-desc{font-size:12px}.philosophy h2{margin-bottom:55px}.tech-section{grid-template-columns:1fr;padding-top:80px}.tech-orb{width:76%;order:2}.tech-content{order:1}.about{grid-template-columns:1fr}.about-label,.controls-guide{grid-column:auto}.footer{grid-template-columns:1fr;gap:20px;padding-top:42px;padding-bottom:42px}.footer-brand{display:block}.footer-brand p{margin:12px 0 0;white-space:normal}.footer-legal{grid-column:1;grid-row:auto;display:grid;justify-items:start;gap:7px}.footer-separator{display:none}.footer .back-top{grid-column:1;grid-row:auto;justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* ── Cinematic motion system ───────────────────────────────────────────── */
body.is-loading{overflow:hidden}
.intro-loader{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;justify-items:center;background:#eef4ee;color:var(--ink);transition:opacity .7s ease .15s,visibility .7s ease .15s;overflow:hidden}
.intro-loader__wash{position:absolute;width:56vmax;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#dff081 0,#b9dfce 43%,rgba(238,244,238,0) 70%);filter:blur(12px);opacity:.58;transform:scale(.18);transition:transform 1.25s cubic-bezier(.2,.8,.2,1),opacity 1s}
.intro-loader__mark{position:relative;display:flex;align-items:center;gap:12px;font-size:16px;letter-spacing:-.02em;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .65s cubic-bezier(.2,.8,.2,1)}
.intro-loader__line{position:relative;width:min(220px,55vw);height:1px;margin-top:24px;background:rgba(25,40,43,.14);overflow:hidden}.intro-loader__line i{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.65,0,.2,1)}
.intro-loader>p{font-size:7px;letter-spacing:.25em;margin:13px 0 0;color:var(--muted);opacity:0;transition:opacity .5s .2s}
body.intro-ready .intro-loader__wash{transform:scale(1)}body.intro-ready .intro-loader__mark{opacity:1;transform:none}body.intro-ready .intro-loader__line i{transform:scaleX(1)}body.intro-ready .intro-loader>p{opacity:1}
body.intro-complete{overflow:auto}body.intro-complete .intro-loader{opacity:0;visibility:hidden;pointer-events:none}body.intro-complete .intro-loader__wash{transform:scale(1.4);opacity:0}
.page-transition{--transition-color:#dff081;--tx:50%;--ty:50%;position:fixed;inset:0;z-index:1100;display:grid;place-items:center;pointer-events:none;visibility:hidden;clip-path:circle(0 at var(--tx) var(--ty));background:var(--transition-color);transition:clip-path .72s cubic-bezier(.72,0,.18,1),visibility 0s .72s;color:#f8fbf6}
.page-transition::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--tx) var(--ty),rgba(255,255,255,.28),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(5,24,30,.3));mix-blend-mode:soft-light}.page-transition__orb{position:absolute;width:120px;height:120px;border:1px solid currentColor;border-radius:50%;opacity:.35;transform:scale(.5);transition:transform .6s .12s,opacity .4s}.scene-progress{position:relative;z-index:2;width:min(360px,72vw);opacity:0;transform:translateY(18px);transition:opacity .38s .22s,transform .48s .22s}.scene-progress>p{margin:0 0 18px;font:600 14px/1.4 "Yu Mincho",Georgia,serif;letter-spacing:.12em}.scene-progress__track{height:2px;background:rgba(255,255,255,.24);overflow:hidden}.scene-progress__track i{display:block;width:100%;height:100%;background:#fff;box-shadow:0 0 14px rgba(255,255,255,.65);transform:scaleX(0);transform-origin:left;transition:transform .18s ease-out}.scene-progress__meta{display:flex;justify-content:space-between;margin-top:10px;font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.78)}.scene-progress__meta b{font-size:10px;color:#fff;font-variant-numeric:tabular-nums}.page-transition.is-error .scene-progress__track i{background:#ffd7b0}.page-transition.is-error .scene-progress>p{color:#fff1df}
body.is-transitioning .page-transition{visibility:visible;clip-path:circle(150vmax at var(--tx) var(--ty));transition:clip-path .72s cubic-bezier(.72,0,.18,1),visibility 0s}body.is-transitioning .page-transition__orb{transform:scale(2.1);opacity:0}body.is-transitioning .scene-progress{opacity:1;transform:none}
/* opening choreography */
.hero-title .title-line{display:block;overflow:hidden;padding:.06em .06em .08em;margin:-.06em}.hero-title .title-line>span{display:block}
body:not(.intro-complete) .site-header{opacity:0;transform:translateY(-16px)}body:not(.intro-complete) .hero .eyebrow,body:not(.intro-complete) .hero-lead,body:not(.intro-complete) .hero-actions{opacity:0;transform:translateY(22px)}body:not(.intro-complete) .hero-title .title-line>span{transform:translateY(115%) rotate(2deg)}body:not(.intro-complete) .hero-visual{opacity:0;transform:scale(.88) translateY(36px)}body:not(.intro-complete) .hero-seal{opacity:0;transform:rotate(-18deg) scale(.45)}
body.intro-complete .site-header{transition:opacity .65s .05s,transform .65s .05s,background .3s,border-color .3s,backdrop-filter .3s}body.intro-complete .hero .eyebrow{transition:opacity .55s .08s,transform .65s .08s}body.intro-complete .hero-title .title-line:nth-child(1)>span{transition:transform .9s .16s cubic-bezier(.16,1,.3,1)}body.intro-complete .hero-title .title-line:nth-child(2)>span{transition:transform .95s .28s cubic-bezier(.16,1,.3,1)}body.intro-complete .hero-lead{transition:opacity .65s .48s,transform .75s .48s}body.intro-complete .hero-actions{transition:opacity .65s .6s,transform .75s .6s}body.intro-complete .hero-visual{transition:opacity 1s .22s,transform 1.2s .22s cubic-bezier(.16,1,.3,1)}body.intro-complete .hero-seal{transition:opacity .7s .75s,transform 1s .75s cubic-bezier(.16,1,.3,1)}body.intro-complete .site-header,body.intro-complete .hero .eyebrow,body.intro-complete .hero-lead,body.intro-complete .hero-actions,body.intro-complete .hero-visual{opacity:1;transform:none}body.intro-complete .hero-title .title-line>span{transform:none}body.intro-complete .hero-seal{opacity:1;transform:rotate(8deg) scale(1)}
/* scroll-linked movement */
.hero{--hero-p:0}.hero-copy{translate:0 calc(var(--hero-p) * -105px);opacity:calc(1 - var(--hero-p) * 1.12);filter:blur(calc(var(--hero-p) * 3px));will-change:translate,opacity}.hero-visual{translate:0 calc(var(--hero-p) * 38px);scale:calc(1 - var(--hero-p) * .035);will-change:translate,scale}.sun-disc{scale:calc(1 + var(--hero-p) * .16)}.orbit-a{rotate:calc(var(--hero-p) * 22deg)}.orbit-b{rotate:calc(var(--hero-p) * -28deg)}
.motion-ready .reveal{opacity:0;transform:translateY(58px) scale(.975);filter:blur(7px);transition:opacity .82s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.16,1,.3,1),filter .75s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none;filter:blur(0)}.motion-ready .reveal.is-exiting{opacity:.2;transform:translateY(-34px) scale(.985);filter:blur(3px)}
.project-card{--card-p:.5;transition-delay:calc(var(--stagger,0) * 90ms)}.project-card:nth-child(2){--stagger:1}.project-card:nth-child(3){--stagger:0}.project-card:nth-child(4){--stagger:1}.project-media{clip-path:inset(0 0 100% 0 round var(--radius));transition:clip-path 1.05s cubic-bezier(.16,1,.3,1),box-shadow .5s;transform:perspective(1000px) rotateX(calc((var(--card-p) - .5) * -2deg))}.project-card.is-visible .project-media{clip-path:inset(0 0 0 0 round var(--radius))}.project-media::before{content:"";position:absolute;inset:0;z-index:4;background:#dcebd4;transform:scaleY(1);transform-origin:top;transition:transform 1s .12s cubic-bezier(.7,0,.2,1);pointer-events:none}.project-card--blue .project-media::before,.project-card--night .project-media::before{background:#1b3b52}.project-card--earth .project-media::before{background:#b8bd91}.project-card.is-visible .project-media::before{transform:scaleY(0);transform-origin:bottom}.project-card .project-media img{scale:1.08;translate:0 calc((var(--card-p) - .5) * -34px);transition:scale 1.1s cubic-bezier(.16,1,.3,1),filter .5s}.project-card.is-visible .project-media img{scale:1.02}.project-card:hover .project-media img{transform:none;scale:1.055}.project-meta>*{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .75s cubic-bezier(.16,1,.3,1)}.project-card.is-visible .project-meta>*{opacity:1;transform:none}.project-card.is-visible .project-meta>*:nth-child(1){transition-delay:.22s}.project-card.is-visible .project-meta>*:nth-child(2){transition-delay:.32s}
.philosophy{--scene-p:.5}.philosophy::after{transform:translate3d(calc((var(--scene-p) - .5) * 100px),calc((var(--scene-p) - .5) * -60px),0) rotate(calc(var(--scene-p) * 20deg))}.note{opacity:0;transform:translateY(55px);transition:opacity .75s,transform .9s cubic-bezier(.16,1,.3,1)}.philosophy.is-active .note{opacity:1;transform:none}.philosophy.is-active .note:nth-child(2){transition-delay:.12s}.philosophy.is-active .note:nth-child(3){transition-delay:.24s}
/* long sticky technology scene */
.tech-section{--tech-p:0;--tech-in:0;display:block;min-height:190vh;padding:0;background:var(--deep);color:#eef3e9;position:relative}.tech-sticky{position:sticky;top:0;min-height:100svh;padding:clamp(90px,12vw,170px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center;overflow:hidden}.tech-sticky::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at calc(28% + var(--tech-p) * 18%) 52%,rgba(111,208,178,.15),transparent 27%);pointer-events:none}.tech-orb{transform:translate3d(calc((.5 - var(--tech-p)) * 40px),0,0) scale(calc(.7 + var(--tech-in) * .3)) rotate(calc(var(--tech-p) * 54deg));opacity:calc(.35 + var(--tech-in) * .65);will-change:transform,opacity}.tech-orb::before{transform:rotateX(67deg) rotateZ(calc(var(--tech-p) * 140deg))}.tech-orb::after{transform:rotate(calc(27deg - var(--tech-p) * 90deg))}.tech-orb b{scale:calc(.72 + var(--tech-in) * .28);box-shadow:inset -20px -20px 45px rgba(15,41,44,.35),0 20px calc(50px + var(--tech-in) * 80px) rgba(114,205,177,.3)}.motion-ready .tech-content.reveal{transform:translateY(calc((.46 - var(--tech-p)) * 68px));opacity:calc(.25 + var(--tech-in) * .75);filter:none!important}.tech-list li{opacity:.22;transform:translateX(24px);transition:opacity .4s,transform .55s cubic-bezier(.16,1,.3,1),color .4s}.tech-list li.is-active{opacity:1;transform:none;color:#f5f8ef}
.about{--scene-p:.5}.about-main{translate:0 calc((.5 - var(--scene-p)) * 36px)}.controls-guide dl div{opacity:0;transform:translateX(24px);transition:opacity .55s,transform .65s cubic-bezier(.16,1,.3,1)}.about.is-active .controls-guide dl div{opacity:1;transform:none}.about.is-active .controls-guide dl div:nth-child(2){transition-delay:.1s}.about.is-active .controls-guide dl div:nth-child(3){transition-delay:.2s}.footer{transform-origin:bottom;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .7s}.footer:not(.is-active){transform:translateY(28px);opacity:.55}
@media(max-width:980px){.tech-section{min-height:165vh}.tech-sticky{grid-template-columns:.8fr 1.2fr}.footer-brand{display:block}.footer-brand p{margin:10px 0 0}}
@media(max-width:700px){.intro-loader__wash{width:90vmax}.hero-copy{filter:none;translate:0 calc(var(--hero-p) * -45px)}.hero-visual{scale:calc(1 - var(--hero-p) * .02)}.motion-ready .reveal{transform:translateY(34px);filter:none}.motion-ready .reveal.is-exiting{opacity:.45;transform:translateY(-16px);filter:none}.project-media{transform:none}.project-card .project-media img{translate:0 calc((var(--card-p) - .5) * -18px)}.tech-section{min-height:auto}.tech-sticky{position:relative;min-height:auto;display:grid;grid-template-columns:1fr;padding:80px var(--pad)}.tech-sticky::before{background:radial-gradient(circle at 50% 70%,rgba(111,208,178,.16),transparent 35%)}.tech-orb{transform:none;opacity:1}.motion-ready .tech-content.reveal{transform:none;opacity:1}.tech-list li{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body.is-loading{overflow:auto}.intro-loader,.page-transition{display:none!important}body:not(.intro-complete) .site-header,body:not(.intro-complete) .hero .eyebrow,body:not(.intro-complete) .hero-lead,body:not(.intro-complete) .hero-actions,body:not(.intro-complete) .hero-visual,body:not(.intro-complete) .hero-seal{opacity:1;transform:none}.hero-title .title-line>span{transform:none!important}.hero-copy,.hero-visual,.sun-disc,.orbit,.project-media,.project-media img,.tech-orb,.tech-content,.about-main{translate:none!important;scale:1!important;rotate:0deg!important;transform:none!important;filter:none!important}.motion-ready .reveal,.note,.project-meta>*,.tech-list li,.controls-guide dl div,.footer{opacity:1!important;transform:none!important;filter:none!important}.project-media{clip-path:none}.project-media::before{display:none}}
@keyframes ticker{to{transform:translateX(-28%)}}
