@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#10152b;--navy2:#1a2341;--ink:#151a2c;--paper:#f2f0e9;--white:#fbfaf6;--muted:#6c7080;--line:rgba(21,26,44,.17);--orange:#f2a33a;--orange2:#e27e34;--mint:#c9dfd0;--display:"Manrope",Arial,sans-serif;--body:"DM Sans",Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:76px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--orange);color:var(--navy)}.loading{position:fixed;inset:0;z-index:100;background:var(--navy);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .5s,visibility .5s}.loading.is-done{opacity:0;visibility:hidden;pointer-events:none}.loading__mark{font:800 64px/1 var(--display);letter-spacing:-.09em}.loading__mark span,.brand__symbol span{color:var(--orange)}.loading__line{width:150px;height:2px;background:#ffffff2a;overflow:hidden}.loading__line i{display:block;width:35%;height:100%;background:var(--orange);animation:loadline 1.2s ease-in-out infinite alternate}.loading p{font:500 10px var(--body);letter-spacing:.22em;text-transform:uppercase;color:#c5c9d6}@keyframes loadline{to{transform:translateX(190%)}}.nav{height:76px;position:fixed;z-index:50;top:0;left:0;right:0;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:28px;color:#fff;transition:background .3s,color .3s,border .3s;border-bottom:1px solid transparent}.nav.is-past{background:rgba(242,240,233,.92);color:var(--ink);backdrop-filter:blur(18px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:11px;font:700 15px var(--display);letter-spacing:-.035em;white-space:nowrap}.brand__symbol{font:800 27px/1 var(--display);letter-spacing:-.1em}.brand__jp{font-weight:500;opacity:.6}.nav__links{display:flex;gap:clamp(20px,3vw,44px);font-size:12px;font-weight:600;letter-spacing:.01em}.nav__links a{opacity:.78;transition:opacity .2s}.nav__links a:hover{opacity:1}.nav__cta{border:1px solid #ffffff70;border-radius:99px;padding:10px 16px;font-size:12px;font-weight:600;transition:background .2s,color .2s,border .2s}.nav.is-past .nav__cta{border-color:var(--line)}.nav__cta:hover{background:var(--orange);color:var(--navy);border-color:var(--orange)}.nav__cta span{margin-left:10px}.nav__menu{display:none;width:40px;height:40px;border:1px solid #ffffff50;border-radius:50%;color:inherit;background:transparent}.nav__menu span{display:block;width:14px;height:1px;background:currentColor;margin:5px auto}
.hero{height:400vh;background:var(--navy);position:relative;color:var(--white)}.hero__stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 65% 42%,#31375b 0,#171e3c 38%,#10152b 78%)}#world{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-2}.hero__grain{position:absolute;inset:0;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:screen}.hero__vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,11,27,.68),transparent 80%),linear-gradient(0deg,rgba(8,11,27,.55),transparent 50%)}.hero__topline{position:absolute;top:105px;left:clamp(24px,6vw,92px);right:clamp(24px,6vw,92px);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.2em;font-weight:600;color:#d9deec9c}.hero__copy{position:absolute;left:clamp(24px,7.8vw,118px);top:47%;transform:translateY(-32%);width:min(940px,86vw);opacity:0;visibility:hidden;will-change:transform,opacity}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:700;color:var(--orange);margin:0 0 24px}.eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 18px #f2a33a}.hero h1,.hero h2{font:600 clamp(48px,6.7vw,100px)/.99 var(--display);letter-spacing:-.075em;margin:0;max-width:1000px}.hero h1 em,.hero h2 em,.display em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;color:var(--orange);font-style:italic}.hero__sub{font-size:clamp(15px,1.45vw,19px);line-height:1.65;color:#d5d8e4c9;max-width:450px;margin:28px 0 0}.hero__scroll{display:inline-flex;align-items:center;gap:20px;margin-top:56px;color:#fff9;font-size:9px;font-weight:700;letter-spacing:.18em}.hero__scroll b{font-size:17px;color:var(--orange);font-weight:400;animation:nudge 1.6s ease-in-out infinite}@keyframes nudge{50%{transform:translateY(5px)}}.hero__copy--two{top:47%;left:auto;right:clamp(24px,7.8vw,118px);width:min(850px,86vw);text-align:right;transform:translateY(-28%)}.hero__copy--two .eyebrow,.hero__copy--three .eyebrow{justify-content:flex-end}.hero__copy--two .hero__sub{margin-left:auto}.hero__copy--three{top:47%;width:min(900px,86vw);transform:translateY(-28%)}.hero__progress{position:absolute;bottom:34px;left:clamp(24px,6vw,92px);width:150px;height:1px;background:#ffffff35}.hero__progress span{display:block;width:0;height:2px;background:var(--orange);transform:translateY(-.5px)}.hero__counter{position:absolute;right:clamp(24px,6vw,92px);bottom:26px;display:flex;align-items:center;gap:12px;color:#ffffff7a;font-size:10px;letter-spacing:.12em}.hero__counter #counter{color:var(--orange);font-size:14px}.counter__rule{width:32px;height:1px;background:#ffffff42}.button{display:inline-flex;align-items:center;gap:30px;border-radius:999px;padding:15px 20px;font-size:12px;font-weight:700;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button span{font-size:17px;font-weight:400}.button--light{margin-top:30px;background:var(--white);color:var(--navy)}.button--light:hover{background:var(--orange)}
.section{padding:clamp(88px,11vw,160px) max(24px,calc((100vw - var(--max))/2))}.section__label{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:16px;margin-bottom:clamp(50px,7vw,95px);font-size:9px;font-weight:700;letter-spacing:.17em;color:#747889}.intro__grid{display:grid;grid-template-columns:1.15fr .7fr;gap:9vw;align-items:start}.display{font:600 clamp(40px,5.4vw,78px)/1.03 var(--display);letter-spacing:-.07em;margin:0}.display em{color:var(--orange2)}.intro__body{padding-top:8px;max-width:460px}.lead{font-size:20px;line-height:1.45;font-weight:600;letter-spacing:-.025em;margin:0 0 20px}.intro__body p:not(.lead),.bridge__copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9}.text-link{display:inline-flex;gap:22px;align-items:center;margin-top:28px;padding-bottom:8px;border-bottom:1px solid var(--orange2);font-size:12px;font-weight:700}.text-link span{color:var(--orange2);font-size:16px}
.capabilities{background:#e7e5dd}.capabilities__head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:60px}.capabilities__head>p{max-width:340px;color:var(--muted);font-size:14px;margin:0 0 6px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px minmax(0,1fr) 170px;gap:26px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.service__num{font-size:11px;letter-spacing:.12em;color:#8b8d95;align-self:start;padding-top:7px}.service h3{font:600 clamp(22px,2.7vw,35px)/1.2 var(--display);letter-spacing:-.055em;margin:0 0 10px}.service__main>p{max-width:590px;color:var(--muted);font-size:13px;margin:0}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.tags span{border:1px solid #c5c4bc;border-radius:99px;padding:5px 10px;font-size:9px;color:#656a75}.service__icon{height:110px;width:150px;justify-self:end;border-radius:16px;background:#d8ddd5;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.service__icon--web{background:#1a2443}.service__icon--web span{position:absolute;width:70px;height:46px;border:1px solid #f2a33a;border-radius:5px;transform:translateY(-4px)}.service__icon--web span:nth-child(2){width:48px;height:30px;transform:translate(16px,14px);border-color:#c9dfd0}.service__icon--web span:nth-child(3){width:32px;height:18px;transform:translate(-22px,25px);border-color:#ffffff60}.service__icon--web i{position:absolute;right:20px;top:16px;color:var(--orange);font-style:normal}.service__icon--app{background:#d2e2d5;color:#203f35;font:700 14px monospace;gap:10px}.service__icon--app b{font-size:43px;font-weight:400;color:#e27e34}.service__icon--app span:nth-child(2){align-self:flex-start;margin-top:22px}.service__icon--app span:nth-child(4){align-self:flex-end;margin-bottom:20px}.service__icon--ai{background:#f3d5b0}.ai-orbit{width:70px;height:70px;border:1px solid #9e562e;border-radius:50%;transform:rotate(-25deg) scaleY(.42)}.ai-core{position:absolute;color:#9e562e;font-size:42px}.ai-node{position:absolute;width:9px;height:9px;border-radius:50%;background:#e27e34;right:38px;top:24px;box-shadow:0 0 0 5px #e27e3420}.service__icon--care{background:#e1dce9;flex-direction:column;color:#3e3159}.service__icon--care span{font-size:55px;line-height:1}.service__icon--care small{font-size:8px;letter-spacing:.2em}
.manifesto{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:var(--white);min-height:620px}.manifesto__visual{position:relative;min-height:540px;overflow:hidden;background:radial-gradient(ellipse at 48% 48%,#42435f 0,#202643 40%,#11162c 76%)}.manifesto__sun{position:absolute;width:min(30vw,340px);aspect-ratio:1;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#ffd6a1,#f2a33a 45%,#d9673d 100%);box-shadow:0 0 100px #f2a33a35}.manifesto__rings{position:absolute;width:min(52vw,620px);aspect-ratio:1;border:1px solid #ffffff3b;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%) rotateX(68deg)}.manifesto__rings:before,.manifesto__rings:after{content:"";position:absolute;inset:12%;border:1px solid #ffffff24;border-radius:50%}.manifesto__rings:after{inset:28%}.manifesto__line{position:absolute;left:0;right:0;bottom:20%;height:1px;background:linear-gradient(90deg,transparent,#f2a33a,transparent);box-shadow:0 0 30px #f2a33a}.manifesto__caption{position:absolute;left:32px;bottom:28px;font-size:9px;letter-spacing:.18em;line-height:1.8;color:#ffffff94}.manifesto__copy{padding:clamp(60px,8vw,120px) clamp(32px,7vw,100px);align-self:center}.manifesto .display{font-size:clamp(40px,5vw,68px)}.manifesto .display em{color:var(--orange)}.manifesto__copy>p:not(.eyebrow){max-width:400px;color:#b6bdcf;font-size:14px;line-height:1.9;margin:28px 0 10px}.button--dark{background:#f4f1e9;color:var(--navy);margin-top:20px}.button--dark:hover{background:var(--orange)}
.approach__head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:70px}.approach__head>p{max-width:300px;color:var(--muted);font-size:14px;margin:0 0 8px}.process{border-top:1px solid var(--line)}.process__step{display:grid;grid-template-columns:90px 1fr 40px;gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.process__number{font:500 12px var(--display);color:var(--orange2);padding-top:5px}.process__step h3{font:600 clamp(22px,2.6vw,32px)/1.2 var(--display);letter-spacing:-.05em;margin:0 0 8px}.process__step p{color:var(--muted);font-size:13px;margin:0;max-width:600px}.process__arrow{justify-self:end;font-size:21px;color:var(--orange2);transition:transform .25s}.process__step:hover .process__arrow{transform:translate(4px,4px)}
.bridge{display:grid;grid-template-columns:1fr 1fr;background:#dce5dc}.bridge__visual{position:relative;min-height:620px;overflow:hidden;background:linear-gradient(135deg,#d4e3d6,#c6d7d2 55%,#e9dfca)}.bridge__grid{position:absolute;inset:-20%;opacity:.55;background-image:linear-gradient(#304e4830 1px,transparent 1px),linear-gradient(90deg,#304e4830 1px,transparent 1px);background-size:44px 44px;transform:perspective(550px) rotateX(55deg) rotateZ(-20deg) scale(1.4);transform-origin:center}.bridge__orb{position:absolute;left:50%;top:46%;width:min(32vw,340px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #3c655b;border-radius:50%;box-shadow:inset 0 0 50px #47766b24,0 0 70px #47766b12}.bridge__orb:before,.bridge__orb:after{content:"";position:absolute;inset:12%;border:1px solid #3c655b75;border-radius:50%;transform:rotateX(65deg)}.bridge__orb:after{inset:-10% 20%;transform:rotateY(65deg)}.bridge__orb span{position:absolute;width:38%;aspect-ratio:1;border-radius:50%;left:31%;top:31%;background:radial-gradient(circle at 30% 25%,#f9d89e,#e99a4c 55%,#bd643c);box-shadow:0 0 80px #e99a4c7a}.bridge__orb i{position:absolute;left:10%;top:22%;width:8px;height:8px;background:#315b4c;border-radius:50%;box-shadow:200px 60px 0 #315b4c,110px 220px 0 #315b4c,-10px 200px 0 #315b4c}.bridge__coordinates{position:absolute;top:32px;left:32px;right:32px;display:flex;justify-content:space-between;font:600 9px monospace;letter-spacing:.12em;color:#42665c}.bridge__label{position:absolute;bottom:32px;left:32px;font-size:9px;font-weight:700;letter-spacing:.18em;color:#42665c}.bridge__copy{padding:clamp(60px,8vw,120px) clamp(32px,7vw,100px);align-self:center}.bridge__copy .display{font-size:clamp(40px,5vw,70px)}.bridge__copy .display em{color:#42745a}.bridge__copy>p:not(.eyebrow){max-width:450px;margin:28px 0;color:#586c61}.bridge__points{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid #a9beb0}.bridge__points li{padding:12px 0;border-bottom:1px solid #a9beb0;font-size:12px;font-weight:600}.bridge__points span{color:#e27e34;margin-right:12px}
.contact{background:var(--navy);color:var(--white)}.contact .section__label{border-color:#ffffff2b;color:#aeb4c7}.contact__body{display:grid;grid-template-columns:1fr .6fr;gap:10vw;align-items:end}.contact .display{font-size:clamp(50px,7vw,96px)}.contact .display em{color:var(--orange)}.contact__aside{max-width:380px}.contact__aside>p:first-child{color:#b6bdcf;font-size:14px;line-height:1.9;margin:0 0 24px}.button--orange{background:var(--orange);color:var(--navy)}.button--orange:hover{background:#ffc36f}.contact__email{font-size:11px;color:#aeb4c7;margin-top:22px}.contact__email a{color:var(--white);border-bottom:1px solid #ffffff50}.contact__jp{display:flex;justify-content:space-between;gap:20px;margin-top:100px;padding-top:20px;border-top:1px solid #ffffff28;color:#aeb4c7;font-size:12px}.contact__jp span:first-child{color:var(--orange);font-size:17px}
.footer{background:#0b1022;color:#e7e9f1;padding:40px max(24px,calc((100vw - var(--max))/2)) 24px}.brand--footer{font-size:15px}.footer>p{color:#9da5ba;font-size:12px;margin:18px 0 40px}.footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding-top:16px;color:#8e96ab;font-size:10px}.footer__bottom a:hover{color:var(--orange)}
.reveal{will-change:transform,opacity}.js-fallback .reveal{opacity:1!important;visibility:visible!important;transform:none!important}
@media(max-width:900px){.nav{padding:0 24px}.nav__links{gap:18px}.nav__cta{padding:9px 12px}.hero__copy{left:7vw}.hero__copy--two{right:7vw;left:auto}.intro__grid{grid-template-columns:1fr .8fr;gap:5vw}.service{grid-template-columns:42px 1fr 120px;gap:18px}.service__icon{width:120px;height:100px}.manifesto__visual{min-height:500px}.manifesto__copy,.bridge__copy{padding:60px 40px}.bridge__visual{min-height:520px}}
@media(max-width:680px){.nav{height:66px;padding:0 18px}.brand{font-size:14px}.brand__symbol{font-size:25px}.nav__links{display:none}.nav__cta{margin-left:auto;font-size:10px;padding:9px 11px}.nav__menu{display:block;margin-left:0}.nav.menu-open .nav__links{position:absolute;top:65px;left:0;right:0;display:flex;flex-direction:column;gap:0;background:var(--paper);color:var(--ink);padding:15px 24px 24px;border-bottom:1px solid var(--line)}.nav.menu-open .nav__links a{padding:14px 0;border-bottom:1px solid var(--line)}.nav.menu-open .nav__cta{display:none}.hero{height:350vh}.hero__stage{min-height:580px}.hero__topline{top:88px;left:22px;right:22px;font-size:7px;letter-spacing:.13em}.hero__copy{left:24px;right:24px;top:45%;width:auto;transform:translateY(-20%)}.hero h1,.hero h2{font-size:clamp(42px,10.5vw,64px);line-height:1.02}.hero__sub{font-size:14px;max-width:340px;margin-top:22px}.hero__copy--two{text-align:left;top:45%;transform:translateY(-20%)}.hero__copy--three{top:45%;transform:translateY(-18%)}.hero__copy--two .eyebrow{justify-content:flex-start}.hero__copy--two .hero__sub{margin-left:0}.hero__copy--three .button{margin-top:22px}.hero__scroll{margin-top:42px}.hero__progress{left:24px;bottom:27px;width:95px}.hero__counter{right:24px;bottom:20px}.section{padding:84px 24px}.section__label{margin-bottom:48px;font-size:8px;letter-spacing:.1em}.intro__grid,.contact__body{grid-template-columns:1fr;gap:34px}.display{font-size:clamp(42px,11vw,62px)}.intro__body{padding:0}.lead{font-size:18px}.capabilities__head,.approach__head{display:block}.capabilities__head>p,.approach__head>p{margin-top:22px}.service{grid-template-columns:34px 1fr;gap:14px;padding:28px 0}.service__icon{display:none}.service h3{font-size:24px}.service__main>p{font-size:12px}.tags span{font-size:8px}.manifesto,.bridge{grid-template-columns:1fr}.manifesto__visual{min-height:370px}.manifesto__sun{width:220px}.manifesto__rings{width:350px}.manifesto__copy,.bridge__copy{padding:68px 24px 78px}.manifesto .display,.bridge__copy .display{font-size:clamp(42px,10vw,62px)}.process__step{grid-template-columns:42px 1fr 22px;gap:12px;padding:24px 0}.process__step h3{font-size:23px}.process__step p{font-size:12px}.bridge__visual{min-height:390px}.bridge__orb{width:230px}.contact .display{font-size:clamp(54px,13vw,78px)}.contact__jp{margin-top:70px;flex-direction:column;gap:7px}.footer{padding:34px 24px 22px}.footer__bottom{font-size:9px}.loading__mark{font-size:54px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero{height:100svh}.hero__stage{position:relative}.hero__copy{display:none}.hero__copy--three{display:block;opacity:1;visibility:visible}.hero__progress{display:none}.loading{display:none}}



/* v5.5: move desktop hero text a little farther down. */
@media (min-width:681px){
  .hero__stage{height:100svh;min-height:0}
  .hero__copy,.hero__copy--two,.hero__copy--three{top:clamp(210px,37vh,290px);transform:translateY(0)}
  .hero__copy{width:min(900px,88vw)}
  .hero__copy--two{width:min(820px,88vw)}
  .hero__copy--three{width:min(900px,88vw)}
  .hero h1,.hero h2{font:600 clamp(42px,4.3vw,72px)/.98 var(--display);letter-spacing:-.06em}
  .hero__copy .eyebrow{font-size:9px;margin-bottom:14px}
  .hero__sub{font-size:13px;line-height:1.5;max-width:420px;margin-top:14px}
  .hero__scroll{margin-top:24px}
  .hero__copy--three .button{margin-top:16px;padding:13px 18px}
  .hero__progress{bottom:20px}
  .hero__counter{bottom:14px}
}
@media (max-width:680px){
  .hero__copy--one{opacity:0;visibility:hidden}
}

