:root { --font-geist-sans:Arial,Helvetica,sans-serif; --font-geist-mono:"Courier New",monospace; --ink:#02040a; --panel:#080d18; --line:rgba(255,255,255,.11); --muted:#8f9caf; --blue:#1276ff; --cyan:#20d9ff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#f7f9fc; font-family:var(--font-geist-sans),Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.site-shell { position:relative; min-height:100svh; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 65% 55%,rgba(7,42,105,.22),transparent 38%),linear-gradient(145deg,#02040a 35%,#050a14 100%); }
.grid-layer { position:absolute; inset:0; z-index:-3; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,transparent,black 25%,black 80%,transparent); }
.ambient { position:absolute; z-index:-2; border-radius:999px; filter:blur(80px); opacity:.35; animation:drift 12s ease-in-out infinite alternate; }
.ambient-one { width:420px; height:420px; background:#0a5cff; right:8%; top:20%; }
.ambient-two { width:260px; height:260px; background:#18d6ff; right:36%; bottom:-12%; animation-delay:-5s; }
.nav-wrap { position:fixed; z-index:50; top:18px; left:50%; transform:translateX(-50%); width:min(1180px,calc(100% - 36px)); height:70px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 12px 0 18px; background:rgba(5,9,16,.68); border:1px solid var(--line); border-radius:18px; backdrop-filter:blur(20px); box-shadow:0 18px 60px rgba(0,0,0,.28); }
.brand img { display:block; width:98px; height:52px; object-fit:contain; object-position:left center; }
.nav-wrap nav { display:flex; gap:32px; color:#aab4c4; font-size:13px; }
.nav-wrap nav a { transition:color .25s ease; }
.nav-wrap nav a:hover { color:white; }
.nav-cta,.primary-btn { justify-self:end; display:inline-flex; align-items:center; gap:12px; border-radius:12px; background:white; color:#05070c; font-size:13px; font-weight:650; padding:14px 18px; transition:transform .25s ease,box-shadow .25s ease; }
.nav-cta:hover,.primary-btn:hover { transform:translateY(-2px); box-shadow:0 14px 38px rgba(48,141,255,.22); }
.hero { position:relative; width:min(1240px,calc(100% - 40px)); min-height:100svh; margin:0 auto; padding:150px 0 84px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:40px; }
.hero-copy { position:relative; z-index:4; }
.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:28px; color:#a5b0c1; font:500 11px/1 var(--font-geist-mono); letter-spacing:.17em; text-transform:uppercase; }
.eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 20px var(--cyan); animation:pulse 2s ease-out infinite; }
.hero h1 { margin:0; font-size:clamp(58px,6.4vw,102px); line-height:.91; letter-spacing:-.075em; font-weight:650; }
.hero h1 span {
  display:inline-block;
  color:#8fc9ff;
  -webkit-text-stroke:0;
  background:linear-gradient(90deg,#dcebff 0%,#70b8ff 48%,#22d9ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  padding-right:.035em;
}
.hero-copy>p { width:min(520px,100%); margin:30px 0 0; color:#9aa7b9; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:38px; }
.primary-btn { justify-self:auto; padding:17px 21px; background:linear-gradient(120deg,#fff,#cfe8ff); }
.text-link { display:inline-flex; gap:10px; align-items:center; color:#c4cbd6; font-size:13px; }
.hero-visual { position:relative; height:min(620px,66vh); min-height:480px; display:grid; place-items:center; perspective:1200px; }
.hero-mark { position:relative; z-index:3; width:88%; animation:hover 5s ease-in-out infinite; filter:drop-shadow(0 34px 55px rgba(0,93,255,.24)); }
.hero-mark img { width:100%; height:auto; }
.orbit { position:absolute; border:1px solid rgba(50,149,255,.22); border-radius:50%; transform:rotateX(66deg) rotateZ(-20deg); }
.orbit::before { content:''; position:absolute; width:9px; height:9px; border-radius:50%; top:50%; left:-4px; background:var(--cyan); box-shadow:0 0 22px var(--cyan); }
.orbit-a { width:90%; height:64%; animation:spin 14s linear infinite; }
.orbit-b { width:66%; height:46%; animation:spin 10s linear infinite reverse; }
.signal-card { position:absolute; z-index:5; padding:14px 16px; border:1px solid var(--line); background:rgba(9,15,27,.62); backdrop-filter:blur(16px); border-radius:14px; box-shadow:0 16px 50px rgba(0,0,0,.28); animation:hover 4s ease-in-out infinite reverse; }
.signal-card small { display:block; color:#8390a5; font-size:10px; margin-bottom:6px; }
.signal-card strong { display:block; font-size:13px; font-weight:560; }
.signal-top { right:2%; top:22%; display:flex; align-items:center; gap:10px; }
.signal-bottom { left:6%; bottom:18%; animation-delay:-1.5s; }
.signal-dot { width:8px; height:8px; border-radius:50%; background:#34e6b0; box-shadow:0 0 12px #34e6b0; }
.hero-foot { position:absolute; left:0; right:0; bottom:28px; display:flex; align-items:center; justify-content:center; gap:20px; color:#617087; font:500 10px/1 var(--font-geist-mono); letter-spacing:.18em; text-transform:uppercase; }
.hero-foot i { width:3px; height:3px; border-radius:50%; background:#2479e9; }
@keyframes drift { to { transform:translate3d(-70px,45px,0) scale(1.12); } }
@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(32,217,255,.6); } 80%,100% { box-shadow:0 0 0 12px rgba(32,217,255,0); } }
@keyframes hover { 50% { transform:translateY(-14px) rotateX(1deg); } }
@keyframes spin { to { transform:rotateX(66deg) rotateZ(340deg); } }
@media (max-width:820px) {
  .nav-wrap { top:10px; width:calc(100% - 20px); height:62px; grid-template-columns:1fr auto; }
  .brand img { width:84px; height:44px; }
  .nav-wrap nav { display:none; }
  .nav-cta { padding:12px 15px; }
  .hero { width:min(100% - 28px,640px); min-height:auto; padding:118px 0 70px; grid-template-columns:1fr; gap:10px; }
  .hero-copy { text-align:center; }
  .eyebrow { justify-content:center; margin-bottom:20px; }
  .hero h1 { font-size:clamp(49px,15vw,76px); }
  .hero-copy>p { margin:24px auto 0; font-size:15px; }
  .hero-actions { justify-content:center; flex-wrap:wrap; gap:20px; margin-top:30px; }
  .hero-visual { height:390px; min-height:390px; }
  .hero-mark { width:min(90%,480px); }
  .signal-top { right:1%; top:18%; }
  .signal-bottom { left:0; bottom:15%; }
  .hero-foot { position:relative; bottom:auto; margin-top:20px; flex-wrap:wrap; gap:12px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; } }

/* Full experience */
.scroll-progress { position:fixed; z-index:100; top:0; left:0; width:var(--scroll,0%); height:2px; background:linear-gradient(90deg,var(--blue),var(--cyan)); box-shadow:0 0 18px var(--cyan); }
.cursor-glow { position:fixed; z-index:0; left:var(--mx,-500px); top:var(--my,-500px); width:440px; height:440px; border-radius:50%; transform:translate(-50%,-50%); pointer-events:none; background:radial-gradient(circle,rgba(26,125,255,.11),transparent 68%); mix-blend-mode:screen; }
.menu-button,.mobile-menu { display:none; }
.section { position:relative; z-index:2; width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:150px 0; }
.section-heading { display:grid; grid-template-columns:1.15fr .55fr; align-items:end; gap:80px; margin-bottom:64px; }
.section-index { display:block; margin-bottom:22px; color:#5e718d; font:500 10px/1 var(--font-geist-mono); letter-spacing:.2em; }
.section h2,.process-copy h2,.contact-copy h2 { margin:0; font-size:clamp(45px,5.2vw,78px); line-height:.98; letter-spacing:-.065em; font-weight:570; }
.section h2 em,.process-copy h2 em,.contact-copy h2 em,.impact-section em { color:#6faeff; font-style:normal; }
.section-heading>p { margin:0 0 4px; color:#8794a8; font-size:14px; line-height:1.75; }
.reveal { opacity:0; transform:translateY(34px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

.marquee { position:relative; z-index:3; overflow:hidden; border-block:1px solid rgba(255,255,255,.08); background:#050912; transform:none; }
.marquee-track { display:flex; width:max-content; animation:marquee 25s linear infinite; }
.marquee-set { display:flex; align-items:center; gap:32px; padding:20px 16px; color:#61718b; font:500 13px/1 var(--font-geist-mono); letter-spacing:.18em; }
.marquee-set b { color:#f2f6fc; font-weight:550; }
.marquee-set i { width:7px; height:7px; border-radius:50%; background:#147dff; box-shadow:0 0 15px #147dff; }
@keyframes marquee { to { transform:translateX(-50%); } }

.services-section::before { content:''; position:absolute; width:500px; height:500px; left:-30%; top:20%; background:#073f9b; filter:blur(170px); opacity:.18; pointer-events:none; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; perspective:1200px; }
.service-card { --rx:0deg; --ry:0deg; position:relative; min-height:390px; padding:28px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:linear-gradient(145deg,rgba(14,23,40,.88),rgba(5,9,16,.9)); transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .18s ease,border-color .3s ease,box-shadow .3s ease; }
.service-card:hover { border-color:rgba(72,157,255,.4); box-shadow:0 36px 100px rgba(0,70,180,.14); }
.card-shine { position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s; background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),rgba(58,154,255,.18),transparent 34%); }
.service-card:hover .card-shine { opacity:1; }
.service-number { color:#52637d; font:500 10px/1 var(--font-geist-mono); }
.service-icon { position:absolute; right:28px; top:28px; width:58px; height:58px; border:1px solid rgba(255,255,255,.11); border-radius:18px; display:grid; place-items:center; background:rgba(255,255,255,.025); }
.service-icon span:first-child { width:24px; height:1px; background:linear-gradient(90deg,#1a7cff,#27d7ff); transform:rotate(-35deg); }
.service-icon span:last-child { position:absolute; width:9px; height:9px; border-top:1px solid #33dfff; border-right:1px solid #33dfff; transform:translate(7px,-7px); }
.service-card h3 { margin:100px 0 17px; font-size:29px; letter-spacing:-.045em; font-weight:550; }
.service-card p { width:min(430px,90%); margin:0; color:#8b98aa; line-height:1.7; font-size:14px; }
.tag-list { position:absolute; left:28px; bottom:27px; display:flex; flex-wrap:wrap; gap:7px; }
.tag-list span { padding:8px 10px; border:1px solid rgba(255,255,255,.09); border-radius:999px; color:#8190a6; font:500 9px/1 var(--font-geist-mono); }
.card-arrow { position:absolute; right:29px; bottom:28px; color:#48a4ff; font-size:22px; transition:transform .3s; }
.service-card:hover .card-arrow { transform:translate(4px,-4px); }

.work-section { width:min(1280px,calc(100% - 40px)); }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.project-card { --rx:0deg; --ry:0deg; position:relative; min-height:540px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:26px; background:#080d17; transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .2s ease,border-color .3s; }
.project-card:hover { border-color:rgba(255,255,255,.24); }
.project-wide { grid-column:1/-1; min-height:610px; }
.project-no { position:absolute; z-index:5; top:24px; left:25px; color:rgba(255,255,255,.44); font:500 10px/1 var(--font-geist-mono); }
.project-art { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; }
.project-art::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.7),transparent 48%); }
.art-ring { position:absolute; width:52%; aspect-ratio:1; border:1px solid rgba(255,255,255,.22); border-radius:50%; animation:project-spin 18s linear infinite; }
.art-ring::before,.art-ring::after { content:''; position:absolute; inset:14%; border:1px solid rgba(255,255,255,.14); border-radius:42% 58% 61% 39%; }
.art-ring::after { inset:30%; border-radius:50%; }
.art-glass { position:absolute; width:26%; aspect-ratio:.75; border:1px solid rgba(255,255,255,.28); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.015)); backdrop-filter:blur(12px); transform:rotate(12deg); box-shadow:0 50px 90px rgba(0,0,0,.38); }
.project-art strong { position:relative; z-index:2; font-size:clamp(120px,18vw,260px); line-height:1; letter-spacing:-.12em; color:rgba(255,255,255,.08); font-weight:650; }
.case-nova .project-art { background:radial-gradient(circle at 60% 42%,#157fff,transparent 30%),linear-gradient(135deg,#06101f,#0a2e68 60%,#06101b); }
.case-pulse .project-art { background:radial-gradient(circle at 40% 38%,#26e1ff,transparent 27%),linear-gradient(145deg,#021a24,#063c46 55%,#071116); }
.case-mono .project-art { background:radial-gradient(circle at 65% 35%,#8b73ff,transparent 28%),linear-gradient(145deg,#140d25,#271050 54%,#090812); }
.project-meta { position:absolute; z-index:5; left:27px; right:27px; bottom:25px; display:flex; align-items:flex-end; justify-content:space-between; }
.project-meta small { color:rgba(255,255,255,.56); font:500 9px/1 var(--font-geist-mono); letter-spacing:.18em; }
.project-meta h3 { margin:7px 0 0; font-size:36px; letter-spacing:-.06em; }
.project-meta p { margin:4px 0 0; color:rgba(255,255,255,.62); font-size:12px; }
.project-meta>span { font-size:11px; padding:11px 13px; border:1px solid rgba(255,255,255,.2); border-radius:999px; backdrop-filter:blur(8px); }
@keyframes project-spin { to { transform:rotate(360deg); } }

.process-section { position:relative; z-index:2; width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:170px 0; display:grid; grid-template-columns:.9fr 1fr; gap:110px; align-items:center; }
.process-section::before { content:''; position:absolute; inset:5% -30%; z-index:-1; background:radial-gradient(circle at 30%,rgba(17,100,255,.16),transparent 31%); }
.process-visual { position:sticky; top:170px; height:560px; display:grid; place-items:center; }
.core-sphere { width:250px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 32% 25%,#67ddff,#0e70fa 30%,#09235d 67%,#02050b); box-shadow:inset -38px -40px 80px rgba(0,0,0,.55),0 0 100px rgba(19,111,255,.27); animation:sphere-float 5s ease-in-out infinite; }
.core-sphere::after { content:''; position:absolute; width:250px; aspect-ratio:1; border-radius:50%; background:linear-gradient(105deg,transparent 45%,rgba(255,255,255,.22) 50%,transparent 56%); animation:sheen 4s ease-in-out infinite; }
.core-sphere span { font-size:70px; font-weight:700; letter-spacing:-.09em; color:rgba(255,255,255,.9); }
.sphere-ring { position:absolute; width:390px; height:150px; border:1px solid rgba(67,151,255,.3); border-radius:50%; transform:rotate(-20deg); animation:ring-orbit 12s linear infinite; }
.sphere-ring::after { content:''; position:absolute; width:8px; height:8px; top:50%; left:-4px; border-radius:50%; background:#2ce3ff; box-shadow:0 0 18px #2ce3ff; }
.ring-two { width:310px; height:90px; transform:rotate(30deg); animation-direction:reverse; animation-duration:9s; }
.coordinate { position:absolute; bottom:42px; left:20px; color:#4c5d75; font:500 9px/1.7 var(--font-geist-mono); letter-spacing:.12em; }
.process-copy h2 { margin-bottom:58px; }
.process-step { display:grid; grid-template-columns:45px 1fr; gap:20px; padding:24px 0; border-top:1px solid rgba(255,255,255,.1); }
.process-step:last-child { border-bottom:1px solid rgba(255,255,255,.1); }
.process-step>span { color:#3d8ff7; font:500 10px/1.7 var(--font-geist-mono); }
.process-step h3 { margin:0 0 8px; font-size:21px; font-weight:520; }
.process-step p { margin:0; max-width:470px; color:#7d8a9d; font-size:13px; line-height:1.65; }
@keyframes sphere-float { 50% { transform:translateY(-18px) rotate(4deg); } }
@keyframes sheen { 0%,30% { transform:translateX(-80px); opacity:0; } 55% { opacity:1; } 80%,100% { transform:translateX(90px); opacity:0; } }
@keyframes ring-orbit { to { transform:rotate(340deg); } }

.impact-section { position:relative; z-index:2; width:min(1180px,calc(100% - 40px)); margin:20px auto 160px; padding:70px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:30px; background:radial-gradient(circle at 80% 20%,rgba(15,112,255,.35),transparent 34%),linear-gradient(125deg,#081224,#05080e); }
.impact-section::after { content:'↑'; position:absolute; right:6%; top:-38%; color:rgba(42,133,255,.1); font-size:420px; font-weight:600; }
.impact-section>p { position:relative; z-index:2; margin:0; font-size:clamp(37px,5vw,68px); line-height:1; letter-spacing:-.06em; font-weight:550; }
.impact-stats { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:60px; }
.impact-stats div { padding-top:20px; border-top:1px solid rgba(255,255,255,.16); }
.impact-stats strong { display:block; font-size:32px; font-weight:520; }
.impact-stats span { color:#718197; font-size:11px; }

.contact-section { position:relative; z-index:2; width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:100px 0 150px; display:grid; grid-template-columns:1fr .82fr; gap:100px; align-items:start; }
.contact-copy { position:sticky; top:145px; }
.contact-copy>p { max-width:510px; margin:30px 0; color:#8997aa; font-size:15px; line-height:1.75; }
.availability { display:inline-flex; align-items:center; gap:10px; padding:10px 13px; border:1px solid rgba(255,255,255,.1); border-radius:999px; color:#8895a7; font-size:10px; }
.availability span { width:7px; height:7px; border-radius:50%; background:#42dfa4; box-shadow:0 0 13px #42dfa4; }
.contact-form { padding:30px; border:1px solid rgba(255,255,255,.11); border-radius:24px; background:rgba(10,16,27,.72); backdrop-filter:blur(18px); }
.contact-form label { display:block; margin-bottom:22px; color:#7d8b9e; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { display:block; width:100%; margin-top:10px; border:0; border-bottom:1px solid rgba(255,255,255,.13); border-radius:0; outline:0; background:transparent; color:white; padding:8px 0 13px; font:400 14px var(--font-geist-sans); resize:vertical; transition:border-color .25s; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#298fff; }
.contact-form option { background:#0a101b; }
.submit-btn { width:100%; border:0; border-radius:13px; padding:17px; color:#02101c; background:linear-gradient(110deg,#fff,#bde9ff); font:650 13px var(--font-geist-sans); cursor:pointer; transition:transform .25s,box-shadow .25s; }
.submit-btn:hover { transform:translateY(-2px); box-shadow:0 18px 45px rgba(31,137,255,.22); }
.form-note { margin:15px 0 0; color:#76d8b4; font-size:11px; line-height:1.55; }

footer { position:relative; z-index:2; width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:48px 0 28px; border-top:1px solid rgba(255,255,255,.1); display:grid; grid-template-columns:1fr 1fr; align-items:end; }
.footer-brand img { width:130px; height:auto; }
.footer-brand p { margin:4px 0 0; color:#617088; font-size:11px; }
.footer-links { display:flex; justify-content:flex-end; gap:24px; color:#8996a7; font-size:11px; }
.footer-links a:hover { color:white; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; margin-top:44px; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); color:#46546a; font:500 9px/1 var(--font-geist-mono); letter-spacing:.1em; text-transform:uppercase; }

@media (max-width:900px) {
  .cursor-glow { display:none; }
  .section { padding:100px 0; }
  .section-heading { grid-template-columns:1fr; gap:25px; margin-bottom:42px; }
  .section-heading>p { max-width:520px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:350px; }
  .project-grid { grid-template-columns:1fr; }
  .project-wide { grid-column:auto; }
  .project-card,.project-wide { min-height:490px; }
  .process-section { grid-template-columns:1fr; gap:50px; padding:110px 0; }
  .process-visual { position:relative; top:auto; height:430px; order:2; }
  .contact-section { grid-template-columns:1fr; gap:50px; padding:80px 0 110px; }
  .contact-copy { position:relative; top:auto; }
}

@media (max-width:620px) {
  .desktop-cta { display:none; }
  .menu-button { display:flex; justify-self:end; width:44px; height:44px; padding:0; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.04); flex-direction:column; align-items:center; justify-content:center; gap:6px; }
  .menu-button span { width:18px; height:1px; background:white; transition:transform .25s; }
  .mobile-menu { position:absolute; display:flex; top:68px; left:0; right:0; padding:14px; flex-direction:column; gap:4px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(5,9,16,.95); backdrop-filter:blur(20px); opacity:0; pointer-events:none; transform:translateY(-8px); transition:.25s; }
  .mobile-menu.open { opacity:1; pointer-events:auto; transform:translateY(0); }
  .mobile-menu a { padding:13px; border-radius:10px; color:#adb8c8; font-size:13px; }
  .mobile-menu a:hover { background:rgba(255,255,255,.05); color:white; }
  .section,.work-section,.process-section,.impact-section,.contact-section,footer { width:calc(100% - 28px); }
  .section h2,.process-copy h2,.contact-copy h2 { font-size:42px; }
  .marquee-set { gap:20px; padding:17px 10px; font-size:11px; }
  .service-card { padding:22px; min-height:380px; }
  .service-card h3 { margin-top:95px; font-size:25px; }
  .tag-list { left:22px; right:22px; bottom:22px; }
  .project-card,.project-wide { min-height:440px; }
  .project-art strong { font-size:150px; }
  .project-meta { left:20px; right:20px; bottom:20px; }
  .project-meta>span { display:none; }
  .process-section { padding-top:100px; }
  .process-visual { height:350px; }
  .core-sphere,.core-sphere::after { width:180px; }
  .core-sphere span { font-size:50px; }
  .sphere-ring { width:300px; height:110px; }
  .ring-two { width:230px; height:70px; }
  .impact-section { margin-bottom:80px; padding:38px 24px; }
  .impact-stats { grid-template-columns:1fr; margin-top:45px; }
  .contact-form { padding:22px; }
  footer { grid-template-columns:1fr; gap:30px; }
  .footer-links { justify-content:flex-start; flex-wrap:wrap; gap:17px; }
  .footer-bottom { flex-direction:column; gap:12px; }
}

@media (hover:none) { .service-card,.project-card { transform:none!important; } }

/* MOSHI MATCHA project page */
.case-moshi .project-art { background:#d9e2bd; }
.case-moshi .project-cover-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.015); transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s; }
.case-moshi .project-cover-wash { position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,31,12,.03) 25%,rgba(13,22,8,.76) 100%); }
.case-moshi:hover .project-cover-image { transform:scale(1.045); filter:saturate(1.06); }

.moshi-page { background:#11180c; color:#f8f5e8; }
.moshi-shell { background:radial-gradient(circle at 76% 18%,rgba(167,183,122,.19),transparent 34%),radial-gradient(circle at 12% 55%,rgba(110,127,75,.13),transparent 30%),linear-gradient(145deg,#10170b,#172110 52%,#0c1208); }
.moshi-shell .scroll-progress { background:linear-gradient(90deg,#c8d5b0,#f3e9d6,#a7b77a); box-shadow:0 0 18px rgba(200,213,176,.65); }
.moshi-shell .cursor-glow { background:radial-gradient(circle,rgba(174,198,125,.12),transparent 68%); }
.moshi-nav { background:rgba(15,23,11,.72); border-color:rgba(237,241,215,.14); }
.moshi-growup-brand img { filter:grayscale(1) brightness(0) invert(1); }
.moshi-nav nav { color:#c7cfb3; }
.moshi-nav-cta { background:#f3e9d6; color:#263019; }

.moshi-hero { position:relative; width:min(1280px,calc(100% - 40px)); min-height:100svh; margin:0 auto; padding:145px 0 54px; display:grid; grid-template-columns:.78fr 1.22fr; gap:42px; align-items:center; }
.moshi-hero-copy { position:relative; z-index:3; padding-left:28px; }
.moshi-kicker,.moshi-heading>span,.moshi-space-copy>span,.moshi-closing>span { display:block; color:#aebc8b; font:500 10px/1 var(--font-geist-mono); letter-spacing:.19em; text-transform:uppercase; }
.moshi-hero h1 { margin:21px 0 0; font-size:clamp(70px,8.4vw,142px); line-height:.78; letter-spacing:-.08em; font-weight:690; }
.moshi-hero h1 em { color:#c9d6aa; font-style:normal; font-weight:430; }
.moshi-hero-copy>p { max-width:520px; margin:31px 0 0; color:#bdc6a9; font-size:16px; line-height:1.75; }
.moshi-hero-actions,.moshi-closing-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:34px; }
.moshi-primary { display:inline-flex; align-items:center; gap:13px; padding:16px 20px; border-radius:12px; background:#f3e9d6; color:#263019; font-size:13px; font-weight:700; transition:transform .25s,box-shadow .25s; }
.moshi-primary:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(167,183,122,.18); }
.moshi-back { color:#c0c9aa; font-size:12px; }
.moshi-hero-art { position:relative; min-height:620px; overflow:hidden; border:1px solid rgba(243,233,214,.16); border-radius:30px; background:#d7e0be; box-shadow:0 40px 100px rgba(0,0,0,.28); }
.moshi-hero-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.moshi-hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(17,24,12,.22)); pointer-events:none; }
.moshi-stamp { position:absolute; z-index:2; right:28px; bottom:24px; padding:12px 14px; border:1px solid rgba(52,66,33,.22); border-radius:999px; color:#33401f; background:rgba(250,247,240,.62); backdrop-filter:blur(13px); font:600 9px/1.45 var(--font-geist-mono); letter-spacing:.12em; text-align:right; }
.moshi-project-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px; }
.moshi-project-facts div { padding:17px 0 0; border-top:1px solid rgba(243,233,214,.14); }
.moshi-project-facts small { display:block; color:#788665; font:500 8px/1 var(--font-geist-mono); letter-spacing:.16em; }
.moshi-project-facts strong { display:block; margin-top:8px; color:#dfe5cc; font-size:13px; font-weight:540; }

.moshi-section { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:145px 0; }
.moshi-intro { display:grid; grid-template-columns:1.25fr .75fr; gap:90px; align-items:end; }
.moshi-heading h2,.moshi-space-copy h2,.moshi-closing h2 { margin:22px 0 0; font-size:clamp(48px,6vw,86px); line-height:.94; letter-spacing:-.065em; font-weight:580; }
.moshi-heading h2 em,.moshi-space-copy h2 em,.moshi-closing h2 em { color:#b4c58d; font-style:normal; }
.moshi-lead { margin:0 0 5px; color:#aab59a; font-size:15px; line-height:1.8; }

.moshi-visual-grid { width:min(1280px,calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.moshi-visual-card { position:relative; margin:0; overflow:hidden; min-height:760px; border:1px solid rgba(243,233,214,.12); border-radius:28px; background:#12190d; }
.moshi-visual-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.moshi-visual-card:hover img { transform:scale(1.025); }
.moshi-visual-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(8,13,6,.78)); }
.moshi-visual-card figcaption { position:absolute; z-index:2; left:26px; bottom:24px; }
.moshi-visual-card figcaption span { display:block; color:#c3cbae; font:500 9px/1 var(--font-geist-mono); letter-spacing:.16em; }
.moshi-visual-card figcaption strong { display:block; margin-top:8px; font-size:16px; font-weight:540; }

.moshi-color-section { padding-bottom:125px; }
.moshi-colors { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; margin-top:58px; }
.moshi-colors div { min-width:0; }
.moshi-colors div>span { display:block; height:190px; border-radius:22px; border:1px solid rgba(255,255,255,.14); background:var(--swatch); box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); }
.moshi-colors strong,.moshi-colors small { display:block; }
.moshi-colors strong { margin-top:13px; color:#e8ecd8; font-size:12px; font-weight:600; }
.moshi-colors small { margin-top:5px; color:#7e8a69; font:500 9px/1 var(--font-geist-mono); }

.moshi-space-section { width:min(1280px,calc(100% - 40px)); margin:0 auto; padding:55px 0 145px; }
.moshi-space-copy { width:min(760px,100%); margin:0 auto 54px; text-align:center; }
.moshi-space-copy p { width:min(650px,100%); margin:25px auto 0; color:#a9b398; font-size:14px; line-height:1.8; }
.moshi-plan { margin:0; overflow:hidden; border:1px solid rgba(243,233,214,.13); border-radius:30px; background:#f3e9d6; box-shadow:0 30px 90px rgba(0,0,0,.25); }
.moshi-plan img { display:block; width:100%; height:auto; }

.moshi-closing { width:min(1180px,calc(100% - 40px)); margin:0 auto 125px; padding:85px 70px; overflow:hidden; border:1px solid rgba(243,233,214,.14); border-radius:30px; background:radial-gradient(circle at 78% 22%,rgba(167,183,122,.3),transparent 33%),linear-gradient(130deg,#18220f,#0e140a); }
.moshi-footer { border-top-color:rgba(243,233,214,.12); }
.moshi-footer .footer-brand p,.moshi-footer .footer-links { color:#8e9a7d; }

@media (max-width:900px) {
  .moshi-hero { min-height:auto; grid-template-columns:1fr; padding-top:120px; }
  .moshi-hero-copy { padding:20px 4px 0; }
  .moshi-hero-art { min-height:620px; }
  .moshi-project-facts { grid-template-columns:1fr 1fr; }
  .moshi-intro { grid-template-columns:1fr; gap:28px; }
  .moshi-visual-card { min-height:620px; }
  .moshi-colors { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:620px) {
  .moshi-nav .moshi-growup-brand img { width:84px; }
  .moshi-hero,.moshi-section,.moshi-visual-grid,.moshi-space-section,.moshi-closing { width:calc(100% - 28px); }
  .moshi-hero h1 { font-size:clamp(62px,19vw,94px); }
  .moshi-hero-art { min-height:480px; border-radius:22px; }
  .moshi-project-facts { grid-template-columns:1fr 1fr; }
  .moshi-visual-grid { grid-template-columns:1fr; }
  .moshi-visual-card { min-height:580px; border-radius:22px; }
  .moshi-colors { grid-template-columns:1fr 1fr; }
  .moshi-colors div>span { height:145px; }
  .moshi-plan,.moshi-closing { border-radius:22px; }
  .moshi-closing { padding:55px 25px; }
}

/* MOSHI V3 — premium case study enhancements */
.moshi-page::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.moshi-rail{position:fixed;z-index:20;right:14px;top:50%;display:flex;align-items:center;gap:10px;transform:translateY(-50%) rotate(90deg);transform-origin:center;color:#748163;font:600 8px/1 var(--font-geist-mono);letter-spacing:.16em;white-space:nowrap;pointer-events:none}.moshi-rail i{display:block;width:45px;height:1px;background:#748163}
.moshi-hero{overflow:visible}.moshi-hero-copy::before{content:"";position:absolute;left:-12px;top:-26px;width:54px;height:54px;border:1px solid rgba(201,214,170,.2);border-radius:50%}.moshi-hero-copy::after{content:"";position:absolute;left:3px;top:-11px;width:24px;height:24px;border-radius:50%;background:#c9d6aa;filter:blur(12px);opacity:.2}
.moshi-hero-art{isolation:isolate}.moshi-hero-art img{transform:scale(1.03);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.moshi-hero-art:hover img{transform:scale(1.065)}
.moshi-hero-orbit{position:absolute;z-index:3;right:24px;top:24px;width:118px;height:118px;border:1px solid rgba(51,64,31,.25);border-radius:50%;display:grid;place-items:center;color:#33401f;background:rgba(250,247,240,.45);backdrop-filter:blur(10px);font:700 8px/1.4 var(--font-geist-mono);letter-spacing:.16em;text-align:center;padding:22px;animation:moshiFloat 5s ease-in-out infinite}.moshi-art-index{position:absolute;z-index:3;left:24px;bottom:17px;color:rgba(255,255,255,.7);font:500 54px/.9 var(--font-geist-mono);letter-spacing:-.08em}.moshi-stamp{bottom:28px;right:28px}
@keyframes moshiFloat{50%{transform:translateY(-8px) rotate(3deg)}}
.moshi-marquee{position:relative;z-index:3;overflow:hidden;margin:18px 0 25px;border-block:1px solid rgba(243,233,214,.1);background:#c9d6aa;color:#263019;transform:none}.moshi-marquee-track{display:flex;align-items:center;width:max-content;gap:24px;padding:16px 12px;animation:moshiMarquee 28s linear infinite;font:700 10px/1 var(--font-geist-mono);letter-spacing:.18em}.moshi-marquee-track i{font-style:normal;font-size:10px}.moshi-marquee-track span{white-space:nowrap}@keyframes moshiMarquee{to{transform:translateX(-50%)}}
.moshi-brand-system{width:min(1280px,calc(100% - 40px));margin:0 auto 18px;display:grid;grid-template-columns:1.12fr .88fr;gap:18px}.moshi-brand-panel,.moshi-type-panel{min-height:610px;border:1px solid rgba(243,233,214,.13);border-radius:30px;overflow:hidden}.moshi-brand-panel{display:grid;grid-template-columns:.72fr 1.28fr;background:#f3e9d6;color:#263019}.moshi-brand-copy{padding:42px 34px;display:flex;flex-direction:column}.moshi-brand-copy>span,.moshi-type-top span{font:700 9px/1 var(--font-geist-mono);letter-spacing:.18em}.moshi-brand-copy h3{margin:auto 0 24px;font-size:clamp(46px,4.9vw,72px);line-height:.86;letter-spacing:-.07em}.moshi-brand-copy h3 em{font-style:normal;color:#71804c;font-weight:500}.moshi-brand-copy p{margin:0;color:#697052;font-size:13px;line-height:1.75}.moshi-logo-stage{position:relative;overflow:hidden;background:#a7b77a}.moshi-logo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.32);filter:saturate(.95)}.moshi-logo-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(30,40,18,.28))}.moshi-logo-label{position:absolute;z-index:2;left:24px;bottom:22px;color:white}.moshi-logo-label b{display:block;font-size:18px;letter-spacing:-.04em}.moshi-logo-label small{display:block;margin-top:5px;font:600 8px/1 var(--font-geist-mono);letter-spacing:.14em}
.moshi-type-panel{padding:34px;display:flex;flex-direction:column;background:linear-gradient(145deg,#6e7f4b,#94a66b 52%,#c8d5b0);color:#f7f2df}.moshi-type-top,.moshi-type-footer{display:flex;justify-content:space-between;gap:20px;align-items:center}.moshi-type-top small,.moshi-type-footer{font:600 8px/1.3 var(--font-geist-mono);letter-spacing:.14em}.moshi-type-display{margin:auto 0;font-size:clamp(74px,8vw,132px);line-height:.7;letter-spacing:-.095em;font-weight:690}.moshi-type-display em{font-style:normal;font-weight:350;color:#263019}.moshi-type-footer{border-top:1px solid rgba(247,242,223,.32);padding-top:16px}
.moshi-visual-grid{margin-top:18px}.moshi-visual-card{min-height:820px}.moshi-card-number{position:absolute;z-index:4;right:22px;top:20px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(10,14,8,.14);backdrop-filter:blur(8px);font:600 9px/1 var(--font-geist-mono)}.moshi-visual-card .moshi-parallax-image{height:108%;top:-4%;will-change:transform}.moshi-visual-card:hover .moshi-parallax-image{transform:scale(1.035)}
.moshi-statement{position:relative;width:min(1180px,calc(100% - 40px));margin:145px auto;padding:70px 0;border-block:1px solid rgba(243,233,214,.15);text-align:center}.moshi-statement>span{color:#7f8d69;font:600 9px/1 var(--font-geist-mono);letter-spacing:.2em}.moshi-statement p{margin:27px auto 0;font-size:clamp(48px,6vw,88px);line-height:.96;letter-spacing:-.065em;font-weight:570}.moshi-statement p em{font-style:normal;color:#b9c995;font-weight:420}.moshi-statement-dot{position:absolute;right:5%;top:18%;width:10px;height:10px;border-radius:50%;background:#c9d6aa;box-shadow:0 0 35px #c9d6aa}
.moshi-colors div>span{position:relative;overflow:hidden;transition:transform .35s ease,border-radius .35s ease}.moshi-colors div>span::after{content:"";position:absolute;inset:auto 14px 14px auto;width:22px;height:22px;border-radius:50%;border:1px solid rgba(20,25,15,.22)}.moshi-colors div:hover>span{transform:translateY(-8px);border-radius:32px}
.moshi-plan{position:relative}.moshi-plan-tag{position:absolute;z-index:2;left:22px;top:22px;padding:11px 13px;border-radius:999px;background:rgba(255,255,255,.72);color:#313b23;backdrop-filter:blur(12px);font:700 8px/1 var(--font-geist-mono);letter-spacing:.13em}
.moshi-closing{position:relative}.moshi-closing::after{content:"MOSHI";position:absolute;right:-18px;bottom:-42px;color:rgba(201,214,170,.05);font-size:180px;font-weight:750;letter-spacing:-.1em;pointer-events:none}.moshi-closing>*{position:relative;z-index:2}
@media(max-width:1050px){.moshi-brand-system{grid-template-columns:1fr}.moshi-brand-panel,.moshi-type-panel{min-height:560px}.moshi-brand-panel{grid-template-columns:.82fr 1.18fr}.moshi-rail{display:none}}
@media(max-width:620px){.moshi-marquee{margin-top:8px}.moshi-brand-system{width:calc(100% - 28px)}.moshi-brand-panel{grid-template-columns:1fr;min-height:760px}.moshi-brand-copy{min-height:330px}.moshi-logo-stage{min-height:430px}.moshi-type-panel{min-height:520px;padding:24px}.moshi-type-display{font-size:72px}.moshi-statement{margin:95px auto;padding:50px 0}.moshi-statement p{font-size:45px}.moshi-visual-card{min-height:650px}.moshi-hero-orbit{width:92px;height:92px;right:14px;top:14px;font-size:6px;padding:15px}.moshi-art-index{font-size:40px}.moshi-closing::after{font-size:110px}}


/* MOSHI — social links */
.moshi-social{width:min(1180px,calc(100% - 40px));margin:0 auto 120px;padding-top:28px;border-top:1px solid rgba(243,233,214,.14)}
.moshi-social-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:30px;align-items:start;padding:45px 0 58px}.moshi-social-head>span{color:#7f8d69;font:600 9px/1 var(--font-geist-mono);letter-spacing:.19em}.moshi-social-head h2{margin:0;font-size:clamp(52px,6.3vw,92px);line-height:.88;letter-spacing:-.07em;font-weight:590}.moshi-social-head h2 em{font-style:normal;color:#b9c995;font-weight:430}
.moshi-social-links{border-top:1px solid rgba(243,233,214,.14)}.moshi-social-links a{display:grid;grid-template-columns:60px 1fr 1fr 42px;gap:20px;align-items:center;padding:26px 4px;border-bottom:1px solid rgba(243,233,214,.14);color:#e8ecd8;text-decoration:none;transition:padding .3s ease,background .3s ease}.moshi-social-links a:hover{padding-left:18px;padding-right:18px;background:rgba(201,214,170,.055)}.moshi-social-links span,.moshi-social-links small{color:#748163;font:600 8px/1.2 var(--font-geist-mono);letter-spacing:.14em}.moshi-social-links strong{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.045em;font-weight:560}.moshi-social-links b{justify-self:end;width:36px;height:36px;border:1px solid rgba(201,214,170,.25);border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:400;transition:transform .3s ease,background .3s ease}.moshi-social-links a:hover b{transform:rotate(45deg);background:#c9d6aa;color:#263019}
@media(max-width:620px){.moshi-social{width:calc(100% - 28px);margin-bottom:85px}.moshi-social-head{grid-template-columns:1fr;gap:20px;padding:38px 0}.moshi-social-links a{grid-template-columns:35px 1fr 36px;gap:12px;padding:22px 2px}.moshi-social-links small{display:none}.moshi-social-links strong{font-size:24px}}

/* MOSHI MATCHA — compact premium portfolio card */
.case-moshi { background:#26351d; }
.case-moshi .moshi-art {
  background:
    radial-gradient(circle at 50% 38%, rgba(205,219,176,.38), transparent 28%),
    radial-gradient(circle at 18% 18%, rgba(167,183,122,.24), transparent 24%),
    linear-gradient(145deg,#6e7f4b 0%,#4f6338 42%,#26351d 100%);
}
.case-moshi .moshi-art::before {
  content:""; position:absolute; inset:0; opacity:.28;
  background-image:radial-gradient(rgba(250,247,240,.42) .7px,transparent .7px);
  background-size:7px 7px; mix-blend-mode:soft-light;
}
.case-moshi .moshi-art::after {
  background:linear-gradient(to top,rgba(18,27,14,.88) 0%,rgba(18,27,14,.18) 38%,transparent 62%);
}
.moshi-logo-stage {
  position:absolute; z-index:3; left:50%; top:43%; transform:translate(-50%,-50%);
  width:min(62%,390px); padding:34px 38px; display:grid; place-items:center;
  border:1px solid rgba(250,247,240,.24); border-radius:30px;
  background:linear-gradient(145deg,rgba(250,247,240,.14),rgba(250,247,240,.045));
  box-shadow:0 28px 70px rgba(17,28,12,.28),inset 0 1px rgba(255,255,255,.18);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .4s,background .4s;
}
.moshi-logo-stage img { display:block; width:100%; height:auto; filter:invert(1) sepia(.08) saturate(.45) brightness(1.12); opacity:.96; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.moshi-glow { position:absolute; z-index:1; left:50%; top:40%; width:52%; aspect-ratio:1.5; transform:translate(-50%,-50%); border-radius:50%; background:rgba(205,219,176,.22); filter:blur(55px); animation:moshi-breathe 5s ease-in-out infinite; }
.moshi-orbit { position:absolute; z-index:2; left:50%; top:42%; width:58%; aspect-ratio:1; border:1px solid rgba(243,233,214,.13); border-radius:50%; transform:translate(-50%,-50%); }
.orbit-a { animation:moshi-orbit 18s linear infinite; }
.orbit-b { width:43%; border-style:dashed; opacity:.7; animation:moshi-orbit-rev 14s linear infinite; }
.moshi-leaf { position:absolute; z-index:3; color:rgba(243,233,214,.62); font-size:20px; font-weight:300; }
.leaf-a { top:18%; right:15%; animation:moshi-float 4s ease-in-out infinite; }
.leaf-b { top:29%; left:13%; font-size:27px; transform:rotate(-22deg); animation:moshi-float 5s ease-in-out infinite reverse; }
.case-moshi:hover .moshi-logo-stage { transform:translate(-50%,-52%) scale(1.035); border-color:rgba(250,247,240,.42); background:linear-gradient(145deg,rgba(250,247,240,.19),rgba(250,247,240,.06)); }
.case-moshi:hover .moshi-logo-stage img { transform:scale(1.025); }
.case-moshi .project-meta>span { background:rgba(43,59,31,.42); }
@keyframes moshi-breathe { 50% { opacity:.55; transform:translate(-50%,-50%) scale(1.12); } }
@keyframes moshi-orbit { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes moshi-orbit-rev { to { transform:translate(-50%,-50%) rotate(-360deg); } }
@keyframes moshi-float { 50% { transform:translateY(-9px) rotate(8deg); opacity:1; } }
@media (max-width:620px){ .moshi-logo-stage{width:68%;padding:26px 28px;border-radius:24px}.moshi-orbit{width:70%}.orbit-b{width:52%} }
@media (prefers-reduced-motion:reduce){ .moshi-glow,.moshi-orbit,.moshi-leaf{animation:none!important} }

/* V8 FIX — keep MOSHI home-card logo fully visible; isolate from case-study logo styles */
.case-moshi .moshi-logo-stage {
  overflow: visible;
}
.case-moshi .moshi-logo-stage img {
  position: static;
  inset: auto;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  transform-origin: center;
}
.case-moshi:hover .moshi-logo-stage img {
  transform: scale(1.025);
}

/* V14 — ticker containers perfectly horizontal */
.marquee,
.moshi-marquee {
  transform: none !important;
  rotate: 0deg !important;
  skew: 0deg !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.marquee-track,
.moshi-marquee-track {
  rotate: 0deg !important;
  skew: 0deg !important;
}


/* =========================================================
   V16 — HOME MOTION & INTERACTION LAYER
   Keeps MOSHI case-study styles untouched.
   ========================================================= */
.home-page { scroll-behavior:smooth; }
.home-page::before {
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 82%);
}
.home-page .site-shell::before {
  content:""; position:fixed; inset:-25%; z-index:-1; pointer-events:none;
  background:radial-gradient(circle at 22% 12%,rgba(28,108,255,.08),transparent 25%),radial-gradient(circle at 80% 34%,rgba(0,218,255,.05),transparent 22%);
  animation:ambientDrift 18s ease-in-out infinite alternate;
}
@keyframes ambientDrift { to { transform:translate3d(2.5%,-1.5%,0) scale(1.04); } }

.home-page .nav-wrap { transition:height .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,top .35s ease; }
.home-page .nav-wrap.is-scrolled { top:10px; height:62px; background:rgba(4,8,15,.88); border-color:rgba(101,164,255,.18); box-shadow:0 18px 70px rgba(0,0,0,.42),0 0 0 1px rgba(31,135,255,.03) inset; }
.home-page .nav-wrap nav a { position:relative; }
.home-page .nav-wrap nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:1px; background:linear-gradient(90deg,#65a4ff,#28d9ff); transition:right .3s ease; }
.home-page .nav-wrap nav a.active { color:#fff; }
.home-page .nav-wrap nav a.active::after,.home-page .nav-wrap nav a:hover::after { right:0; }

.home-page .hero-copy { will-change:transform; transform:translate3d(calc(var(--hero-x,0) * -8px),calc(var(--hero-y,0) * -6px),0); transition:transform .16s linear; }
.home-page .hero-visual { will-change:transform; transform:translate3d(calc(var(--hero-x,0) * 12px),calc(var(--hero-y,0) * 10px),0); transition:transform .16s linear; }
.home-page .hero-mark { animation:hover 5s ease-in-out infinite; transform-style:preserve-3d; }
.home-page .orbit-a { transform:rotate(calc(var(--hero-x,0) * 4deg)) translateZ(-10px); }
.home-page .orbit-b { transform:rotate(calc(var(--hero-y,0) * -4deg)) translateZ(-18px); }
.home-page .signal-top { margin-left:calc(var(--hero-x,0) * 12px); margin-top:calc(var(--hero-y,0) * -8px); }
.home-page .signal-bottom { margin-left:calc(var(--hero-x,0) * -10px); margin-top:calc(var(--hero-y,0) * 8px); }

.home-page .section-heading h2,.home-page .process-copy h2,.home-page .contact-copy h2 { text-wrap:balance; }
.home-page .section-heading em,.home-page .process-copy em,.home-page .contact-copy em { position:relative; }
.home-page .section-heading em::after,.home-page .process-copy em::after,.home-page .contact-copy em::after {
  content:""; position:absolute; left:0; bottom:-5px; width:0; height:2px; background:linear-gradient(90deg,#4c9cff,#29dcff); box-shadow:0 0 18px rgba(41,220,255,.28); transition:width .85s cubic-bezier(.2,.7,.2,1) .2s;
}
.home-page .reveal.is-visible em::after,.home-page .section-heading.is-visible em::after { width:100%; }

.home-page .service-card,.home-page .project-card { isolation:isolate; }
.home-page .service-card::after,.home-page .project-card::after {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.06) 42%,transparent 58%);
  transform:translateX(-55%); transition:opacity .35s ease,transform .65s cubic-bezier(.2,.7,.2,1);
}
.home-page .service-card:hover::after,.home-page .project-card:hover::after { opacity:1; transform:translateX(55%); }
.home-page .project-card { transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s; }
.home-page .project-card:hover { box-shadow:0 35px 100px rgba(0,0,0,.38),0 0 0 1px rgba(86,157,255,.07) inset; }
.home-page .project-meta h3 { transition:letter-spacing .35s ease,color .35s ease; }
.home-page .project-card:hover .project-meta h3 { letter-spacing:-.02em; color:#fff; }

.home-page .process-step { position:relative; transition:padding-left .38s ease,background .38s ease,border-color .38s ease; }
.home-page .process-step::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(#54a4ff,#28dbff); transform:scaleY(0); transform-origin:center; transition:transform .35s ease; }
.home-page .process-step.is-active { padding-left:14px; background:linear-gradient(90deg,rgba(44,133,255,.07),transparent 62%); border-color:rgba(83,159,255,.25); }
.home-page .process-step.is-active::before { transform:scaleY(1); }
.home-page .process-step.is-active h3 { color:#fff; }
.home-page .process-step.is-active>span { color:#6cc9ff; text-shadow:0 0 16px rgba(63,166,255,.55); }
.home-page .core-sphere { transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s; }
.home-page .process-visual.has-active .core-sphere { transform:scale(1.035); box-shadow:0 0 90px rgba(27,134,255,.2); }

.home-page .impact-stats strong { font-variant-numeric:tabular-nums; transition:text-shadow .35s,transform .35s; }
.home-page .impact-stats div:hover strong { transform:translateY(-4px); text-shadow:0 0 28px rgba(71,159,255,.42); }
.home-page .impact-stats div:last-child strong { animation:infinityPulse 2.8s ease-in-out infinite; }
@keyframes infinityPulse { 50% { opacity:.65; filter:drop-shadow(0 0 14px rgba(58,164,255,.5)); } }

.home-page .home-social-link { position:relative; overflow:hidden; }
.home-page .home-social-link::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(80,151,255,.08),transparent 55%); transform:translateX(-105%); transition:transform .45s ease; }
.home-page .home-social-link:hover::before { transform:translateX(0); }
.home-page .home-social-link>* { position:relative; z-index:1; }

.premium-cursor { position:fixed; z-index:9998; width:34px; height:34px; left:0; top:0; border:1px solid rgba(128,186,255,.65); border-radius:50%; pointer-events:none; opacity:0; transform:translate3d(-50%,-50%,0); transition:width .22s,height .22s,border-color .22s,background .22s,opacity .25s; mix-blend-mode:screen; }
.premium-cursor span { position:absolute; width:4px; height:4px; border-radius:50%; background:#69b5ff; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 12px #49a5ff; }
.premium-cursor.is-visible { opacity:1; }
.premium-cursor.is-hover { width:54px; height:54px; background:rgba(70,154,255,.07); border-color:rgba(84,178,255,.9); }

.home-page .magnetic { will-change:transform; transition:transform .18s ease,box-shadow .25s,background .25s,color .25s; }

.page-transition { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; pointer-events:none; background:#050912; transform:translateY(101%); transition:transform .6s cubic-bezier(.76,0,.24,1); }
.page-transition.is-active { transform:translateY(0); }
.page-transition-mark { color:#fff; font:700 clamp(25px,4vw,58px)/1 var(--font-geist); letter-spacing:-.06em; opacity:.9; transform:translateY(20px); transition:transform .45s ease .12s,opacity .45s ease .12s; }
.page-transition.is-active .page-transition-mark { transform:translateY(0); opacity:1; }

@media (pointer:coarse),(max-width:900px){
  .premium-cursor{display:none!important}.home-page .hero-copy,.home-page .hero-visual{transform:none!important}.home-page .magnetic{transform:none!important}
}
@media (prefers-reduced-motion:reduce){
  .home-page .site-shell::before,.home-page .impact-stats div:last-child strong{animation:none!important}.premium-cursor{display:none!important}.page-transition{transition:none!important}
}

/* V17 — clean hero highlighted word rendering */
.home-page .hero h1 span{
  letter-spacing:-.055em;
  overflow:visible;
  text-rendering:geometricPrecision;
  font-kerning:normal;
}

/* V18 — OWB Packers project card */
.project-owb{position:relative;overflow:hidden}
.project-owb .project-link{display:block;height:100%;color:inherit;text-decoration:none}
.project-owb .owb-visual{position:absolute;inset:0;background:
 radial-gradient(circle at 28% 25%,rgba(214,174,89,.18),transparent 33%),
 linear-gradient(145deg,#101719 0%,#16211f 55%,#0a0f10 100%);overflow:hidden}
.owb-grid{position:absolute;inset:0;background-image:
 linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
 background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.owb-cow-mark{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:46%;color:#d9c18b;filter:drop-shadow(0 20px 38px rgba(0,0,0,.45));opacity:.94;transition:.5s ease}
.owb-cow-mark svg{width:100%;height:auto}
.owb-dashboard-lines{position:absolute;right:8%;top:15%;height:90px;width:180px;display:flex;align-items:flex-end;gap:8px;opacity:.45}
.owb-dashboard-lines span{width:12px;height:var(--h);border-radius:9px 9px 2px 2px;background:linear-gradient(to top,#826d3d,#e7d09d);animation:owbBar 2.8s ease-in-out infinite alternate;animation-delay:calc(var(--h) * -0.01s)}
.owb-live-dot{position:absolute;left:7%;top:8%;font:600 9px/1 monospace;letter-spacing:.15em;color:#cdb67f}
.owb-live-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d7c28d;margin-right:7px;box-shadow:0 0 14px #d7c28d;animation:pulseDot 1.4s infinite}
.project-owb:hover .owb-cow-mark{transform:translate(-50%,-53%) scale(1.04)}
@keyframes owbBar{from{filter:brightness(.85)}to{filter:brightness(1.35);transform:translateY(-5px)}}
@keyframes pulseDot{50%{opacity:.35;box-shadow:0 0 4px #d7c28d}}

/* V18.2 OWB homepage card */
.case-owb{background:linear-gradient(145deg,#17211f,#0b1112)!important}
.owb-art{background:radial-gradient(circle at 50% 42%,rgba(216,191,131,.2),transparent 31%),linear-gradient(145deg,#17231f,#091012)!important}
.owb-art .art-ring{border-color:rgba(216,191,131,.22)!important}
.owb-art .art-glass{background:linear-gradient(145deg,rgba(216,191,131,.12),rgba(255,255,255,.02))!important;border-color:rgba(216,191,131,.22)!important}
.owb-cow-mark{position:absolute;z-index:3;width:42%;left:50%;top:43%;transform:translate(-50%,-50%);color:#d8bf83;filter:drop-shadow(0 20px 35px rgba(0,0,0,.45))}
.owb-cow-mark svg{width:100%;display:block}
.owb-mini-bars{position:absolute;z-index:2;right:9%;top:12%;width:25%;height:25%;display:flex;gap:6px;align-items:flex-end;opacity:.55}
.owb-mini-bars i{flex:1;background:#d8bf83;border-radius:5px 5px 1px 1px;animation:owbMini 1.8s ease-in-out infinite alternate}
.owb-mini-bars i:nth-child(1){height:32%}.owb-mini-bars i:nth-child(2){height:58%;animation-delay:.2s}.owb-mini-bars i:nth-child(3){height:45%;animation-delay:.4s}.owb-mini-bars i:nth-child(4){height:82%;animation-delay:.6s}.owb-mini-bars i:nth-child(5){height:67%;animation-delay:.8s}.owb-mini-bars i:nth-child(6){height:94%;animation-delay:1s}
@keyframes owbMini{to{filter:brightness(1.45);transform:translateY(-4px)}}

.case-owb .owb-cow-mark{width:48%;top:43%;color:#d8bf83}.case-owb .owb-cow-mark svg{overflow:visible;filter:drop-shadow(0 18px 34px rgba(0,0,0,.45))}.case-owb:hover .owb-cow-mark{transform:translate(-50%,-52%) scale(1.045)}

/* V21 — OWB cow-head icon */
.case-owb .owb-cow-mark{
  width:34%!important;
  max-width:190px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  padding:20px;
  border:1px solid rgba(216,191,131,.20);
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,191,131,.11),rgba(8,13,13,.18) 62%,transparent 63%);
  box-shadow:0 18px 55px rgba(0,0,0,.28), inset 0 0 40px rgba(216,191,131,.035);
}
.case-owb .owb-cow-mark:before,
.case-owb .owb-cow-mark:after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(216,191,131,.12);
  pointer-events:none;
}
.case-owb .owb-cow-mark:before{inset:-18px}
.case-owb .owb-cow-mark:after{inset:-42px;opacity:.6}
.case-owb .owb-cow-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:sepia(1) saturate(.7) hue-rotate(355deg) brightness(1.35);
  opacity:.96;
  transition:transform .45s ease;
}
.case-owb:hover .owb-cow-mark img{transform:scale(1.045)}
