@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --ink:#102420;--cream:#f6f0e8;--paper:#fffaf2;--mint:#bfe5ce;--green:#0f9d73;
  --orange:#f5a313;--pink:#ef6e7a;--navy:#0b2a36;--line:#c8c3b8;--muted:#6f726c;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,sans-serif;overflow-x:hidden}
.grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%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='.55'/%3E%3C/svg%3E")}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px 4vw;background:rgba(246,240,232,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,36,32,.12)}
.logo{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;font:600 12px "IBM Plex Mono"}
.logo-copy{display:flex;flex-direction:column;line-height:1}.logo-copy strong{font-size:14px}.logo-copy small{font:500 9px "IBM Plex Mono";letter-spacing:.2em;margin-top:4px}
.desktop-nav{display:flex;gap:26px}.desktop-nav a,.mobile-nav a{color:var(--ink);text-decoration:none;font-size:14px}
.menu-toggle{display:none;border:1px solid var(--ink);background:transparent;border-radius:999px;padding:8px 13px}.mobile-nav{display:none}
.eyebrow{font:600 11px "IBM Plex Mono";letter-spacing:.14em;text-transform:uppercase}.light{color:#d5ece3}
.hero{min-height:90vh;display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;padding:6vw 5vw}
.hero h1,.studio-intro h2,.product-title h2,.work-head h2,.contact-left h2,.policy-content h1{font-family:"Archivo Black",sans-serif;letter-spacing:-.055em;line-height:.92;margin:.16em 0}
.hero h1{font-size:clamp(60px,8vw,118px)}.hero h1 em{font-style:normal;color:var(--green)}
.hero-copy>p{max-width:700px;font-size:21px;color:var(--muted)}.hero-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.cta{padding:14px 18px;border-radius:999px;text-decoration:none;font-weight:700}.primary{background:var(--ink);color:white}.ghost{border:1px solid var(--ink);color:var(--ink)}
.hero-board{position:relative;min-height:600px;background:var(--navy);border-radius:28px;overflow:hidden;display:grid;place-items:center;box-shadow:0 30px 80px rgba(11,42,54,.18)}
.poster{width:min(72%,430px);aspect-ratio:.83;background:#efe7d8;border:10px solid #e3ddcf;box-shadow:14px 14px 0 #0f201e;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-3deg);animation:posterFloat 5s ease-in-out infinite}
.poster img{width:45%;border-radius:30px}.poster span{margin-top:22px;font:400 clamp(32px,4vw,62px) "Archivo Black";color:var(--ink)}.poster small{font:500 10px "IBM Plex Mono";letter-spacing:.14em;text-transform:uppercase}
.tape{position:absolute;z-index:3;background:#d8ef80;padding:8px 12px;font:600 10px "IBM Plex Mono";transform:rotate(-4deg)}.tape-a{left:7%;top:9%}.tape-b{right:3%;bottom:13%;background:#ffaf8c;transform:rotate(4deg)}
.dot-grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
@keyframes posterFloat{50%{transform:translateY(-12px) rotate(-1deg)}}
.studio-block{background:var(--ink);color:white;padding:8vw 5vw;display:grid;grid-template-columns:90px 1.1fr .9fr;gap:40px}.section-index{font:600 12px "IBM Plex Mono";color:#8de1c1}
.studio-intro h2{font-size:clamp(45px,6vw,84px)}.studio-copy{font-size:20px;color:#c7d4cf}.studio-copy p{margin-top:0}
.product{padding:8vw 5vw}.product-title{max-width:980px}.product-title h2{font-size:clamp(60px,8vw,108px)}.product-lead{font-size:24px;max-width:780px;color:var(--muted)}.store-link{display:inline-block;margin-top:12px;color:var(--green);text-decoration:none;font-weight:700}
.product-stage{margin-top:55px;min-height:760px;background:#dbe9d9;border-radius:30px;position:relative;overflow:hidden;display:grid;place-items:center}.product-stage:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:#f7be93;right:-100px;top:-120px;animation:blob 7s ease-in-out infinite}.product-stage:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:#c6b7ef;left:-110px;bottom:-100px;animation:blob 8s ease-in-out infinite reverse}
.product-stage img{max-height:720px;max-width:80%;position:relative;z-index:2;border-radius:26px;box-shadow:0 28px 65px rgba(16,36,32,.16)}
.stage-note{position:absolute;z-index:3;padding:10px 13px;background:var(--paper);border:1px solid var(--line);font:600 10px "IBM Plex Mono";box-shadow:8px 8px 0 rgba(16,36,32,.14)}.note-one{left:4%;top:15%}.note-two{right:4%;top:26%}.note-three{right:9%;bottom:10%}
@keyframes blob{50%{transform:scale(1.08) translate(20px,-10px)}}
.feature-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:20px}.feature-rail article{background:var(--cream);padding:28px}.feature-rail span{font:600 10px "IBM Plex Mono";color:var(--green)}.feature-rail h3{font-size:28px;margin:9px 0}.feature-rail p{color:var(--muted)}
.visual-wall{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:14px;margin-top:18px}.visual-wall figure{margin:0;background:#fff;padding:10px;border:1px solid var(--line)}.visual-wall img{width:100%;display:block}.visual-wall figcaption{padding:10px 2px 2px;font:500 10px "IBM Plex Mono";color:var(--muted)}
.work{padding:8vw 5vw;background:#102420;color:#fff}.work-head h2{font-size:clamp(48px,6vw,86px);max-width:950px}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}.work-card{background:#18342f;min-height:270px;border-radius:22px;padding:25px;display:grid;grid-template-rows:auto auto 1fr}.work-card b{font-size:25px}.work-card span{font:600 10px "IBM Plex Mono";color:#8de1c1;margin:12px 0}.work-card p{color:#c8d4d0;align-self:end}
.process{padding:7vw 5vw;background:#f3c7b3}.process-label{font:600 10px "IBM Plex Mono";letter-spacing:.15em}.process-track{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#b99688;margin-top:25px}.step{background:#f3c7b3;padding:25px}.step span{display:block;font:600 10px "IBM Plex Mono"}.step strong{display:block;font-size:28px;margin:8px 0}.step small{color:#745f56}
.contact{padding:8vw 5vw;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-left h2{font-size:clamp(48px,6vw,84px)}.contact-left p{font-size:20px;color:var(--muted)}.contact-card{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:var(--paper)}.contact-card>div{display:grid;gap:6px;padding:24px 26px;border-bottom:1px solid var(--line)}.contact-card>div:last-child{border-bottom:0}.contact-card small{font:600 10px "IBM Plex Mono";text-transform:uppercase;color:var(--muted)}.contact-card strong,.contact-card a{font-size:18px;color:var(--ink);text-decoration:none}
.site-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 5vw;border-top:1px solid var(--line)}.footer-brand{display:flex;flex-direction:column}.footer-brand span{color:var(--muted);font-size:13px}.footer-meta{display:flex;gap:18px;align-items:center}.footer-meta a{color:var(--green);text-decoration:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

/* Privacy */
.policy-page{background:#f7f1e8}.policy-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;padding:20px 4vw;background:rgba(247,241,232,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.policy-header a{color:var(--ink);text-decoration:none}
.policy-layout{display:grid;grid-template-columns:260px minmax(0,920px);gap:8vw;padding:7vw 6vw}.policy-aside{position:sticky;top:100px;align-self:start}.policy-aside img{width:110px;border-radius:30px}.policy-aside p{color:var(--muted)}.effective{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:5px}.effective small{font:600 10px "IBM Plex Mono";text-transform:uppercase}
.policy-content h1{font-size:clamp(56px,8vw,108px)}.policy-intro{font-size:24px;color:var(--muted)}.policy-content section{padding:26px 0;border-top:1px solid var(--line)}.policy-content h2{font-size:28px;margin:0 0 10px}.policy-content p{font-size:18px;color:#5f645f}.policy-content a{color:var(--green)}

@media(max-width:920px){
  .desktop-nav{display:none}.menu-toggle{display:block}.mobile-nav{position:absolute;right:4vw;top:66px;display:none;flex-direction:column;gap:14px;background:var(--paper);padding:16px;border:1px solid var(--line);border-radius:16px}.mobile-nav.open{display:flex}
  .hero,.contact,.policy-layout{grid-template-columns:1fr}.studio-block{grid-template-columns:1fr}.section-index{display:none}.feature-rail,.work-grid,.visual-wall,.process-track{grid-template-columns:1fr 1fr}.policy-aside{position:static}.hero-board{min-height:520px}
}
@media(max-width:620px){
  .hero,.studio-block,.product,.work,.process,.contact{padding-inline:20px}.feature-rail,.work-grid,.visual-wall,.process-track{grid-template-columns:1fr}.hero-board{min-height:430px}.poster{width:78%}.site-footer{flex-direction:column}.footer-meta{justify-content:space-between}.product-stage{min-height:auto;padding:30px 10px}.product-stage img{max-height:640px;max-width:92%}.stage-note{display:none}.policy-layout{padding-inline:20px}
}
