:root{--navy:#383e4a;--blue:#8ab4e0;--blue-deep:#5f93cf;--ink-2:#5c6270;--ink-3:#8a90a0;--line:rgba(56,62,74,.12);--en:"Manrope","Zen Kaku Gothic New",sans-serif;--px:clamp(20px,4.4vw,56px);--py:clamp(64px,9.4vw,120px);--pb:clamp(72px,11vw,140px)}*{box-sizing:border-box}body{margin:0;background:#fff;font-family:Zen Kaku Gothic New,sans-serif;color:var(--navy);-webkit-font-smoothing:antialiased}a{color:var(--navy);text-decoration:none}a:hover{color:var(--blue-deep)}@keyframes drift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}@keyframes drift2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-50px,25px) scale(.94)}}@keyframes spinZ{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}[data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{transition:none;opacity:1;transform:none}}.site{width:100%;background:#fff;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;background-position:calc(50% - 600px) 0;overflow:hidden}.site-inner{max-width:1280px;margin:0 auto}.section{position:relative;z-index:1;padding:var(--py) var(--px) var(--pb)}.eyebrow{display:flex;justify-content:space-between;align-items:baseline;font:500 11px var(--en);letter-spacing:.24em;color:var(--ink-3)}.display{margin-top:clamp(40px,6vw,80px);font:500 clamp(52px,12.5vw,160px)/.95 var(--en);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(56,62,74,.3)}.display strong,.display.filled{color:var(--navy);-webkit-text-stroke:0;font-weight:800}.dot{color:var(--blue)}.label{font:500 11px var(--en);letter-spacing:.2em;color:var(--ink-3)}.morph{position:fixed;left:60vw;top:22vh;width:clamp(260px,40vw,520px);height:auto;z-index:2;mix-blend-mode:multiply;pointer-events:none;overflow:visible;will-change:transform}.hero{position:relative;z-index:1;min-height:760px;display:flex;flex-direction:column;overflow:hidden}.sphere{position:absolute;right:clamp(16px,9.4vw,120px);top:clamp(100px,11vw,140px);width:clamp(220px,34vw,440px);aspect-ratio:1;transition-delay:.5s}.sphere-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,#8ab4e080,#8ab4e000 70%);filter:blur(40px);animation:drift1 14s ease-in-out infinite}.sphere-dots{position:absolute;top:9.1%;right:9.1%;bottom:9.1%;left:9.1%;border-radius:50%;overflow:hidden;-webkit-mask-image:radial-gradient(circle at 40% 35%,#000 40%,rgba(0,0,0,.15) 100%);mask-image:radial-gradient(circle at 40% 35%,#000 40%,#00000026)}.sphere-dots:before{content:"";position:absolute;top:-100px;right:-100px;bottom:-100px;left:-100px;background-image:radial-gradient(var(--navy) 1.6px,transparent 1.6px);background-size:14px 14px;animation:spinZ 60s linear infinite}.sphere-shine{position:absolute;top:9.1%;right:9.1%;bottom:9.1%;left:9.1%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffffe6,#fff0 55%)}.sphere-orbit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px dashed rgba(138,180,224,.8);animation:spinZ 40s linear infinite reverse}.sphere-sat{position:absolute;left:calc(50% - 8px);top:-8px;width:16px;height:16px;border-radius:50%;background:var(--blue)}.nav{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:clamp(18px,2.2vw,28px) var(--px);border-bottom:1px solid var(--line)}.nav img{height:40px}.nav-links{display:flex;gap:2px;font:500 11px var(--en);letter-spacing:.2em}.nav-links a{padding:10px 18px}.nav-links a.cta{background:var(--navy);color:#fff}.hero-body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(40px,6vw,80px);padding:clamp(40px,4.5vw,56px) var(--px) clamp(32px,4.4vw,56px)}.hero-title{font-size:clamp(64px,15.6vw,200px);line-height:.9;letter-spacing:-.05em;font-family:var(--en)}.hero-title .outline{font-weight:500;color:transparent;-webkit-text-stroke:1px rgba(56,62,74,.35);transition-delay:.15s}.hero-title .solid{font-weight:800;color:var(--navy);transition-delay:.3s}.hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 64px}.hero-copy{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;transition-delay:.55s}.hero-copy h1{margin:0;font-size:clamp(24px,2.5vw,32px);font-weight:500;line-height:1.5;letter-spacing:.02em}.hero-copy p{margin:0 0 6px;max-width:400px;font-size:13px;line-height:2;color:var(--ink-2)}.hero-grid{display:grid;grid-template-columns:repeat(2,140px);gap:1px;background:var(--line);border:1px solid var(--line);transition-delay:.7s}.hero-grid div{background:#fff;padding:16px;font:500 10px var(--en);letter-spacing:.16em;color:var(--ink-2);line-height:1.8}.hero-grid span{color:var(--navy);font-weight:700}.vision-lead{margin-top:clamp(40px,5.6vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(28px,6vw,80px)}.vision-lead h2{margin:0;font-size:clamp(24px,2.8vw,36px);font-weight:500;line-height:1.6;letter-spacing:.01em;text-wrap:pretty;transition-delay:.15s}.vision-lead p{margin:0;font-size:14px;line-height:2.3;color:var(--ink-2);transition-delay:.3s}.values{margin-top:clamp(56px,7.5vw,96px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);transition-delay:.15s}.value{background:#fff;padding:40px 32px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.value h3{margin:0;font-size:22px;font-weight:500;line-height:1.5}.value p{margin:14px 0 0;font-size:13px;line-height:1.9;color:var(--ink-2)}.value.mission{background:var(--navy);color:#fff}.value.mission .label{color:var(--blue)}.value.mission p{color:#ffffffb3}.service-glow{position:absolute;right:clamp(-400px,-20vw,-120px);top:-120px;width:min(800px,80vw);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#8ab4e066,#8ab4e000 65%);filter:blur(50px)}.service>*:not(.service-glow){position:relative}.service-lead{margin:40px 0 0;font-size:16px;line-height:2;color:var(--ink-2);transition-delay:.2s}.services{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);transition-delay:.2s}.card{background:#ffffffeb;padding:clamp(28px,2.6vw,36px) clamp(22px,2.2vw,28px);min-height:360px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;transition:background .4s,color .4s}.card.tint{background:#dbe8f7e6}.card:hover{background:var(--navy);color:#fff}.card-head{display:flex;justify-content:space-between;align-items:flex-start}.card-num{font:800 clamp(44px,3.8vw,52px)/1 var(--en);letter-spacing:-.04em;color:inherit;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px currentColor;opacity:.6}.card-tag{font:500 12px var(--en);letter-spacing:.2em;opacity:.6}.card h3{margin:0;font-size:clamp(19px,1.6vw,22px);font-weight:500;line-height:1.5}.card p{margin:18px 0 0;font-size:13px;line-height:2;opacity:.75}.works{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,56px) clamp(24px,3vw,40px)}.work{display:flex;flex-direction:column;gap:20px}.work-shot{position:relative;aspect-ratio:16/10;background:#eef2f8;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;font:500 11px var(--en);letter-spacing:.2em;color:var(--ink-3)}.work-shot img{width:100%;height:100%;object-fit:cover;display:block}.work-meta{display:flex;flex-direction:column;gap:10px}.work-cat{font:500 11px var(--en);letter-spacing:.2em;color:var(--blue-deep)}.work h3{margin:0;font-size:18px;font-weight:500;line-height:1.5}.work p{margin:0;font-size:13px;line-height:1.9;color:var(--ink-2)}.company-grid{margin-top:clamp(40px,6vw,80px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(40px,6vw,80px);align-items:start}.company-name{font:500 clamp(72px,12.5vw,160px)/.95 var(--en);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(56,62,74,.3);transition-delay:.1s}.company-name strong{display:block;margin-top:24px;color:var(--navy);-webkit-text-stroke:0;font-weight:800;font-size:clamp(32px,3.75vw,48px);letter-spacing:-.02em}.company-table{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);transition-delay:.25s}.company-table>*{padding:22px 0;font-size:15px;line-height:1.9}.company-table dt{font:500 11px var(--en);letter-spacing:.2em;color:var(--ink-3);line-height:1.9}.company-table dd{margin:0}.contact{position:relative;z-index:1;width:100%;background:var(--navy);color:#fff;padding:var(--py) var(--px);overflow:hidden}.contact-glow{position:absolute;right:-100px;top:-200px;width:700px;height:700px;background:radial-gradient(circle,#8ab4e080,#8ab4e000 65%);filter:blur(40px);animation:drift2 16s ease-in-out infinite}.contact-inner{max-width:1168px;margin:0 auto;position:relative}.contact .eyebrow{color:#ffffff80}.contact .display{-webkit-text-stroke:1px rgba(255,255,255,.4)}.contact .display strong{color:#fff}.contact-bottom{margin-top:clamp(40px,5.6vw,72px);display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:32px 40px;transition-delay:.25s}.contact-bottom p{margin:0;max-width:440px;font-size:14px;line-height:2.1;color:#ffffffb3}.contact-btn{flex:none;display:inline-flex;align-items:center;gap:24px;padding:22px 36px;background:#fff;color:var(--navy);font:500 16px var(--en);letter-spacing:.04em;transition:background .3s}.contact-btn:hover{background:var(--blue);color:var(--navy)}.footer{position:relative;z-index:1;width:100%;padding:36px var(--px);background:#fff}.footer-inner{max-width:1168px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.footer img{height:32px}.footer small{font:500 11px var(--en);letter-spacing:.2em;color:var(--ink-3)}@media (max-width:1100px){.services,.works{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.services,.works{grid-template-columns:1fr}.card{min-height:0;gap:24px}}@media (max-width:1024px){.sphere.is-in{opacity:.55}.hero-grid{display:none}}@media (max-width:720px){.nav-links a:not(.cta){display:none}.sphere.is-in{opacity:.3;top:110px}.hero{min-height:0}.hero-bottom,.contact-bottom{flex-direction:column;align-items:flex-start}.contact-btn{width:100%;justify-content:space-between}}
