:root {
  --cream: #fff8ef;
  --paper: #fffdf8;
  --ink: #1e2340;
  --ink-soft: #50536a;
  --purple: #6f5ce7;
  --purple-deep: #5847cb;
  --coral: #ff7f66;
  --sun: #ffc955;
  --mint: #a9e8ca;
  --sky: #bfe5ff;
  --lavender: #d8d0ff;
  --line: rgba(30, 35, 64, .12);
  --shadow: 0 30px 80px rgba(62, 52, 113, .14);
  --display: "Fraunces", Georgia, serif;
  --sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--sun); color: var(--ink); }

.page-noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: .035; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section-pad { padding: 120px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 90;
  padding: 18px 0;
  transition: .3s ease;
}
.site-header.scrolled { padding: 10px 0; }
.nav-shell {
  width: min(1180px, calc(100% - 48px)); margin: 0 auto;
  min-height: 68px; padding: 10px 12px 10px 18px;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255, 253, 248, .82); border: 1px solid rgba(255,255,255,.72);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-radius: 22px; box-shadow: 0 12px 36px rgba(55, 45, 90, .07);
}
.brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; font-size: 24px; letter-spacing: -.7px; }
.brand-mark { width: 38px; height: 38px; color: var(--purple); }
.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav > a:not(.nav-cta) { font-size: 14px; font-weight: 600; color: #383b52; position: relative; }
.main-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: -5px; width: 0; height: 2px; border-radius: 2px; background: var(--purple); transition: width .25s ease; }
.main-nav > a:not(.nav-cta):hover::after { width: 100%; }
.nav-cta { display: inline-flex; gap: 8px; align-items: center; background: var(--ink); color: white; font-weight: 600; font-size: 14px; padding: 13px 18px; border-radius: 14px; transition: transform .2s ease, background .2s ease; }
.nav-cta:hover { transform: translateY(-2px); background: var(--purple); }
.menu-toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; border-radius: 12px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; }
.menu-toggle span:not(.sr-only) { width: 22px; height: 2px; background: var(--ink); transition: .25s; }

.hero { position: relative; padding-top: 178px; padding-bottom: 42px; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.hero-copy { padding-bottom: 20px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid var(--line); background: rgba(255,255,255,.48); border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(255,127,102,.13); }
.hero h1, .section-head h2, .manifesto h2, .services h2, .about h2, .contact h2 { font-family: var(--display); font-weight: 700; letter-spacing: -.045em; line-height: .98; margin: 26px 0 24px; }
.hero h1 { font-size: clamp(64px, 7.4vw, 108px); }
.hero h1 em { color: var(--purple); font-style: normal; }
.hero-lead { max-width: 620px; font-size: clamp(18px, 1.8vw, 22px); color: var(--ink-soft); line-height: 1.55; margin: 0; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 34px 0 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 22px; border-radius: 15px; border: 1px solid transparent; font-weight: 700; font-size: 14px; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--purple); box-shadow: 0 12px 28px rgba(111,92,231,.23); }
.button-primary:hover { background: var(--purple-deep); box-shadow: 0 16px 32px rgba(111,92,231,.28); }
.button-secondary { background: rgba(255,255,255,.56); border-color: var(--line); }
.button-secondary:hover { background: white; }
.button-dark { background: var(--ink); color: white; margin-top: 18px; }
.hero-note { display: flex; align-items: center; gap: 14px; color: #6b6d7e; font-size: 13px; }
.hero-note p { margin: 0; }
.avatar-stack { display: flex; padding-left: 8px; }
.avatar-stack span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; margin-left: -8px; border: 3px solid var(--cream); font-size: 12px; color: var(--ink); }
.avatar-stack span:nth-child(1) { background: var(--sun); }
.avatar-stack span:nth-child(2) { background: var(--mint); }
.avatar-stack span:nth-child(3) { background: var(--lavender); }
.hero-art { position: relative; min-height: 590px; display: grid; place-items: center; }
.game-card { position: relative; z-index: 3; width: min(430px, 82%); padding: 16px; border-radius: 38px; background: #fbf6ff; box-shadow: var(--shadow); border: 1px solid rgba(255,255,255,.9); transform: rotate(2deg); }
.game-card-top, .game-card-bottom { display: flex; align-items: center; justify-content: space-between; }
.game-card-top { padding: 4px 3px 14px; }
.mini-brand { font-weight: 800; font-size: 13px; letter-spacing: -.2px; }
.tiny-pill { padding: 6px 9px; border-radius: 999px; background: white; border: 1px solid var(--line); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.game-stage { position: relative; aspect-ratio: 1 / 1.02; border-radius: 27px; overflow: hidden; background: linear-gradient(180deg, #bfe4ff 0%, #dff0ff 46%, #fef2bf 46%, #f8d783 100%); }
.sun { position: absolute; width: 78px; height: 78px; border-radius: 50%; background: #ffda66; top: 42px; right: 38px; box-shadow: 0 0 0 14px rgba(255,218,102,.2); }
.cloud { position: absolute; width: 90px; height: 28px; border-radius: 40px; background: rgba(255,255,255,.8); }
.cloud::before, .cloud::after { content: ""; position: absolute; bottom: 0; border-radius: 50%; background: inherit; }
.cloud::before { width: 38px; height: 38px; left: 14px; }.cloud::after { width: 48px; height: 48px; right: 12px; }
.cloud-a { top: 90px; left: 16px; transform: scale(.8); }.cloud-b { top: 152px; right: -16px; transform: scale(.64); }
.hill { position: absolute; border-radius: 50% 50% 0 0; }
.hill-back { width: 340px; height: 150px; bottom: 63px; left: -55px; background: #90cfa3; transform: rotate(4deg); }
.hill-front { width: 420px; height: 168px; bottom: -58px; left: 42px; background: #5fb886; transform: rotate(-7deg); }
.character { position: absolute; left: 50%; bottom: 45px; transform: translateX(-50%); width: 150px; height: 190px; z-index: 5; }
.character-body { position: absolute; width: 112px; height: 104px; left: 19px; bottom: 0; border-radius: 50% 50% 38% 38%; background: #7459db; box-shadow: inset -13px -8px 0 rgba(62,50,140,.1); }
.character-face { position: absolute; width: 125px; height: 118px; border-radius: 48% 52% 46% 48%; background: #ffaf7d; top: 13px; left: 12px; z-index: 3; box-shadow: inset -9px -8px 0 rgba(217,104,70,.08); }
.character-ear { position: absolute; width: 64px; height: 74px; border-radius: 60% 60% 40% 40%; background: #6b55cd; z-index: 2; top: 0; }
.character-ear-left { left: 2px; transform: rotate(-28deg); }.character-ear-right { right: 2px; transform: rotate(28deg); }
.eye { position: absolute; width: 9px; height: 13px; border-radius: 50%; background: #29283f; top: 48px; }
.eye-left { left: 37px; }.eye-right { right: 37px; }
.smile { position: absolute; width: 31px; height: 15px; border-bottom: 4px solid #b95651; border-radius: 0 0 30px 30px; left: 48px; top: 70px; }
.collectible { position: absolute; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.82); color: #ffb934; font-size: 19px; z-index: 7; box-shadow: 0 10px 18px rgba(74,65,119,.12); animation: float 3.4s ease-in-out infinite; }
.collectible-one { left: 25px; top: 194px; }.collectible-two { right: 30px; top: 222px; animation-delay: .5s; }.collectible-three { left: 48px; bottom: 27px; animation-delay: .9s; }
.game-card-bottom { padding: 14px 3px 2px; }
.game-card-bottom div { display: flex; flex-direction: column; gap: 1px; }.game-card-bottom small { color: #77788a; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }.game-card-bottom strong { font-size: 14px; }
.play-chip { width: 42px; height: 42px; border-radius: 50%; border: 0; color: white; background: var(--purple); box-shadow: 0 10px 20px rgba(111,92,231,.25); }
.orbit { position: absolute; border: 1px dashed rgba(111,92,231,.24); border-radius: 50%; z-index: 0; }
.orbit-one { width: 560px; height: 560px; }.orbit-two { width: 470px; height: 470px; }
.hero-blur { position: absolute; border-radius: 50%; filter: blur(8px); opacity: .46; }
.hero-blur-one { width: 510px; height: 510px; right: -170px; top: 110px; background: radial-gradient(circle, #d8d0ff, transparent 67%); }
.hero-blur-two { width: 420px; height: 420px; left: -210px; bottom: -60px; background: radial-gradient(circle, #ffd8b5, transparent 67%); }
.spark { position: absolute; z-index: 4; color: var(--purple); font-size: 30px; animation: float 4s ease-in-out infinite; }
.spark-one { top: 58px; left: 70px; }.spark-two { right: 60px; top: 140px; color: var(--coral); animation-delay: .6s; }.spark-three { left: 40px; bottom: 105px; color: var(--sun); font-size: 22px; animation-delay: 1s; }
.float-card { position: absolute; z-index: 6; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 18px; background: rgba(255,255,255,.89); border: 1px solid rgba(255,255,255,.95); box-shadow: 0 18px 38px rgba(50,45,90,.13); backdrop-filter: blur(10px); }
.float-card-left { left: -6px; bottom: 112px; transform: rotate(-5deg); }.float-card-right { right: -2px; top: 110px; transform: rotate(5deg); }
.float-card div { display: flex; flex-direction: column; line-height: 1.2; }.float-card small { color: #858596; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }.float-card strong { font-size: 12px; }.float-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: var(--cream); }
.trust-row { margin-top: 56px; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #7a7b8a; font-size: 10px; font-weight: 800; letter-spacing: .12em; white-space: nowrap; }
.trust-row i { width: 5px; height: 5px; border-radius: 50%; background: #cbc1ad; }

.manifesto { background: var(--paper); }
.section-kicker { font-size: 11px; font-weight: 800; letter-spacing: .15em; color: var(--purple); margin-bottom: 24px; }
.section-kicker.light { color: #c5bbff; }
.manifesto-grid { display: grid; grid-template-columns: 1.08fr .72fr; gap: 90px; align-items: end; }
.manifesto h2, .section-head h2, .services h2, .about h2, .contact h2 { font-size: clamp(48px, 5.5vw, 76px); }
.manifesto h2 { margin: 0; }.manifesto h2 span, .section-head h2 span, .services h2 span, .about h2 span, .contact h2 span { color: var(--purple); }
.manifesto-copy { color: var(--ink-soft); font-size: 17px; }.manifesto-copy p { margin: 0 0 18px; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 72px; }
.principle-card { min-height: 340px; padding: 26px; border-radius: 30px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.principle-card.mint { background: var(--mint); }.principle-card.peach { background: #ffd0bb; }.principle-card.lavender { background: var(--lavender); }
.principle-number { position: absolute; left: 26px; top: 24px; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.principle-icon { position: absolute; right: 24px; top: 20px; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(30,35,64,.16); border-radius: 50%; font-size: 21px; }
.principle-card::before { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(30,35,64,.12); border-radius: 50%; right: -50px; top: 90px; box-shadow: 0 0 0 30px rgba(255,255,255,.08), 0 0 0 60px rgba(255,255,255,.05); }
.principle-card h3 { position: relative; margin: 0 0 8px; font-family: var(--display); font-size: 31px; line-height: 1.05; letter-spacing: -.03em; }
.principle-card p { position: relative; margin: 0; color: rgba(30,35,64,.72); max-width: 290px; }

.products { background: var(--cream); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 54px; }
.section-head h2 { margin: 0; }.section-head > p { max-width: 420px; margin: 0 0 8px; color: var(--ink-soft); font-size: 17px; }
.product-showcase { display: grid; grid-template-columns: 1.13fr .87fr; min-height: 600px; background: #272640; border-radius: 38px; overflow: hidden; box-shadow: 0 28px 80px rgba(38,33,76,.15); }
.product-visual { position: relative; min-height: 560px; overflow: hidden; background: linear-gradient(160deg, #5847cb 0%, #826ddf 35%, #e58c91 72%, #f5bd7f 100%); }
.product-visual::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -24%; height: 47%; background: #38365c; border-radius: 50% 50% 0 0; }
.product-moon { position: absolute; width: 185px; height: 185px; border-radius: 50%; background: #fff0c4; left: 15%; top: 15%; box-shadow: 0 0 0 23px rgba(255,240,196,.08), 0 0 60px rgba(255,241,200,.25); }
.planet { position: absolute; border-radius: 50%; }.planet-one { width: 38px; height: 38px; background: var(--mint); top: 19%; right: 16%; }.planet-two { width: 21px; height: 21px; background: #ffd56b; left: 24%; bottom: 24%; }
.rocket { position: absolute; width: 118px; height: 205px; background: #fbf4ed; border-radius: 65% 65% 38% 38%; left: 52%; top: 47%; transform: translate(-50%,-50%) rotate(14deg); z-index: 3; box-shadow: -15px 23px 40px rgba(34,29,65,.2); }
.rocket-window { position: absolute; width: 54px; height: 54px; border-radius: 50%; background: #4d4a78; border: 8px solid #cbc2ec; top: 38px; left: 32px; }
.rocket-wing { position: absolute; width: 50px; height: 78px; background: #ff7f66; bottom: 15px; z-index: -1; }.wing-left { left: -30px; border-radius: 70% 20% 25% 70%; transform: rotate(-20deg); }.wing-right { right: -30px; border-radius: 20% 70% 70% 25%; transform: rotate(20deg); }
.rocket-fire { position: absolute; left: 37px; bottom: -66px; width: 45px; height: 80px; background: linear-gradient(#ffc955, #ff7f66); clip-path: polygon(50% 100%, 0 0, 100% 0); filter: drop-shadow(0 15px 18px rgba(255,127,102,.35)); animation: flame 1.15s ease-in-out infinite; transform-origin: top center; }
.product-star { position: absolute; color: white; opacity: .86; }.star-a { right: 20%; top: 34%; font-size: 24px; }.star-b { left: 10%; top: 50%; font-size: 15px; }.star-c { right: 12%; bottom: 22%; font-size: 30px; }
.product-info { background: #272640; color: white; padding: clamp(44px, 6vw, 78px); display: flex; flex-direction: column; justify-content: center; }
.status-pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; padding: 7px 11px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.status-pill i { width: 7px; height: 7px; border-radius: 50%; background: #91efb7; box-shadow: 0 0 0 5px rgba(145,239,183,.1); }
.product-info h3 { font-family: var(--display); font-size: clamp(43px, 4.2vw, 62px); line-height: 1.02; letter-spacing: -.04em; margin: 24px 0 22px; }
.product-info > p { color: rgba(255,255,255,.67); margin: 0; font-size: 16px; }.product-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 30px; }.product-tags span { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border: 1px solid rgba(255,255,255,.16); padding: 7px 10px; border-radius: 999px; color: rgba(255,255,255,.78); }.text-link { font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }.text-link span { color: #c5bbff; }

.services { background: var(--ink); color: white; }
.services-intro { max-width: 900px; }.services h2 { margin: 0 0 26px; }.services h2 span { color: #c8c0ff; }.services-intro > p { max-width: 650px; color: rgba(255,255,255,.62); font-size: 18px; margin-bottom: 70px; }
.service-list { border-top: 1px solid rgba(255,255,255,.13); }
.service-row { display: grid; grid-template-columns: 60px 1.1fr .9fr; gap: 36px; align-items: center; padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.service-index { font-size: 11px; color: rgba(255,255,255,.38); letter-spacing: .1em; }
.service-title { display: flex; align-items: center; gap: 15px; }.service-title h3 { margin: 0; font-size: clamp(20px,2.2vw,29px); letter-spacing: -.02em; }.service-emoji { width: 45px; height: 45px; display: grid; place-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; }
.service-row p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; }

.about { background: #f7eee5; }
.about-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 105px; align-items: center; }
.about-art { min-height: 570px; position: relative; display: grid; place-items: center; }
.about-shape-main { position: relative; width: 350px; height: 410px; border-radius: 46% 54% 44% 46% / 44% 46% 54% 56%; background: var(--sun); transform: rotate(-4deg); box-shadow: 28px 28px 0 #e6d8ff; }
.about-shape-main::before { content: ""; position: absolute; width: 170px; height: 120px; border-radius: 50%; background: #ff936f; left: -60px; bottom: 36px; z-index: -1; transform: rotate(22deg); }
.friendly-face span { position: absolute; width: 13px; height: 17px; border-radius: 50%; background: var(--ink); top: 172px; }.friendly-face span:nth-child(1){left:115px}.friendly-face span:nth-child(2){right:115px}.friendly-face i { position: absolute; width: 52px; height: 26px; border-bottom: 5px solid var(--ink); border-radius: 0 0 50px 50px; left: 149px; top: 207px; }
.about-shape-small { position: absolute; right: 8%; top: 8%; width: 105px; height: 105px; display: grid; place-items: center; border-radius: 28px; background: var(--purple); color: white; font-family: var(--display); font-size: 45px; transform: rotate(12deg); box-shadow: 0 18px 34px rgba(111,92,231,.18); }
.about-doodle { position: absolute; font-size: 26px; }.doodle-one { left: 4%; top: 12%; color: var(--coral); }.doodle-two { right: 4%; bottom: 11%; color: var(--purple); font-size: 48px; }.doodle-three { left: 4%; bottom: 22%; color: var(--mint); font-size: 34px; }
.about h2 { margin: 0 0 28px; }.about-lead { font-size: 20px; color: var(--ink); }.about-copy > p:not(.about-lead) { color: var(--ink-soft); }

.contact { background: var(--paper); }
.contact-shell { display: grid; grid-template-columns: .83fr 1.17fr; gap: 80px; align-items: start; padding: 70px; border-radius: 40px; background: #fff; border: 1px solid var(--line); box-shadow: 0 24px 70px rgba(65,53,95,.08); }
.contact h2 { margin: 0 0 24px; }.contact-copy > p { color: var(--ink-soft); font-size: 17px; max-width: 430px; }
.contact-direct { margin-top: 48px; display: flex; flex-direction: column; gap: 5px; }.contact-direct small { color: #8c8c99; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; }.contact-direct a { font-weight: 700; font-size: 15px; }.contact-direct a span { color: var(--purple); }
.contact-form { display: flex; flex-direction: column; gap: 18px; padding: 8px 0; }
.form-row.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form label { display: flex; flex-direction: column; gap: 7px; }.contact-form label > span { font-size: 12px; font-weight: 700; color: #4c4d60; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; border: 1px solid #dfdce5; border-radius: 14px; background: #fbfafc; color: var(--ink); outline: none; padding: 14px 15px; transition: border .2s, box-shadow .2s, background .2s; }
.contact-form input, .contact-form select { height: 52px; }.contact-form textarea { resize: vertical; min-height: 132px; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: rgba(111,92,231,.75); box-shadow: 0 0 0 4px rgba(111,92,231,.09); background: white; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #a4a2ad; }
.select-wrap { position: relative; }.select-wrap::after { content: "⌄"; position: absolute; right: 15px; top: 50%; transform: translateY(-54%); pointer-events: none; color: #727285; }.contact-form select { appearance: none; -webkit-appearance: none; }
.form-submit { width: 100%; border: 0; margin-top: 2px; }.button-spinner { width: 17px; height: 17px; border: 2px solid rgba(255,255,255,.38); border-top-color: white; border-radius: 50%; display: none; animation: spin .7s linear infinite; }.form-submit.loading .button-arrow { display: none; }.form-submit.loading .button-spinner { display: inline-block; }.form-submit:disabled { opacity: .7; cursor: wait; transform: none; }
.form-status { min-height: 24px; margin: -4px 0 -8px; font-size: 13px; font-weight: 600; }.form-status.success { color: #24885b; }.form-status.error { color: #bd4a41; }.form-privacy { color: #9897a2; font-size: 10px; line-height: 1.45; margin: 0; }.honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

.site-footer { background: #15182c; color: white; padding: 72px 0 24px; }
.footer-top { display: flex; justify-content: space-between; gap: 80px; padding-bottom: 58px; }.brand-footer { color: white; }.brand-footer .brand-mark { color: var(--sun); }.footer-brand p { color: rgba(255,255,255,.48); margin: 14px 0 0; }.footer-links { display: flex; gap: 90px; }.footer-links > div { display: flex; min-width: 110px; flex-direction: column; gap: 11px; }.footer-links small { color: rgba(255,255,255,.32); font-size: 9px; font-weight: 800; letter-spacing: .13em; margin-bottom: 4px; }.footer-links a { font-size: 13px; color: rgba(255,255,255,.73); }.footer-links a:hover { color: white; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.09); padding-top: 22px; display: flex; justify-content: space-between; color: rgba(255,255,255,.36); font-size: 11px; }.footer-bottom p { margin: 0; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }.reveal-delay-1 { transition-delay: .1s; }.reveal-delay-2 { transition-delay: .2s; }

@keyframes float { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-9px) rotate(2deg); } }
@keyframes flame { 0%,100%{ transform: scaleY(1); } 50%{ transform: scaleY(.78); } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1060px) {
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .hero-art { min-height: 520px; }
  .float-card-left { left: 0; }.float-card-right { right: -8px; }
  .manifesto-grid { gap: 50px; }
  .contact-shell { padding: 48px; gap: 48px; }
  .about-grid { gap: 50px; }
}

@media (max-width: 860px) {
  .section-pad { padding: 90px 0; }
  .menu-toggle { display: flex; }
  .main-nav { position: fixed; left: 24px; right: 24px; top: 96px; display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 18px; border-radius: 22px; background: rgba(255,253,248,.98); box-shadow: 0 22px 60px rgba(45,38,75,.17); border: 1px solid var(--line); opacity: 0; transform: translateY(-12px); pointer-events: none; transition: .25s ease; }
  .main-nav.open { opacity: 1; transform: translateY(0); pointer-events: auto; }.main-nav > a:not(.nav-cta) { padding: 12px 10px; }.nav-cta { margin-top: 8px; justify-content: center; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(4px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
  .hero { padding-top: 145px; }.hero-grid { grid-template-columns: 1fr; }.hero-copy { text-align: center; }.hero-lead { margin-inline: auto; }.hero-actions, .hero-note { justify-content: center; }.hero-art { min-height: 560px; margin-top: 12px; }.trust-row { overflow-x: auto; justify-content: flex-start; padding-bottom: 6px; }
  .manifesto-grid, .about-grid, .contact-shell { grid-template-columns: 1fr; }.manifesto-grid { gap: 24px; }.principle-grid { grid-template-columns: 1fr; }.principle-card { min-height: 285px; }.section-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .product-showcase { grid-template-columns: 1fr; }.product-visual { min-height: 500px; }.product-info { min-height: 470px; }.service-row { grid-template-columns: 44px 1fr; }.service-row p { grid-column: 2; }.about-art { min-height: 500px; order: 2; }.about-copy { order: 1; }.contact-shell { padding: 42px; }.contact-direct { margin-top: 28px; }
}

@media (max-width: 600px) {
  .container, .nav-shell { width: min(100% - 28px, 1180px); }
  .section-pad { padding: 76px 0; }
  .nav-shell { min-height: 62px; border-radius: 18px; }.brand { font-size: 21px; }.brand-mark { width: 34px; height: 34px; }
  .hero { padding-top: 125px; padding-bottom: 24px; }.hero h1 { font-size: clamp(54px, 17vw, 76px); }.hero-lead { font-size: 17px; }.hero-actions { flex-direction: column; }.hero-actions .button { width: 100%; }.hero-note { align-items: flex-start; text-align: left; }.hero-art { min-height: 460px; }.game-card { width: 88%; border-radius: 30px; }.game-stage { border-radius: 23px; }.orbit-one { width: 430px; height: 430px; }.orbit-two { width: 360px; height: 360px; }.float-card { transform: scale(.82) rotate(-4deg); }.float-card-left { left: -22px; bottom: 54px; }.float-card-right { right: -28px; top: 80px; transform: scale(.82) rotate(4deg); }.spark-one { left: 15px; }.spark-two { right: 20px; }.trust-row { margin-top: 32px; }
  .manifesto h2, .section-head h2, .services h2, .about h2, .contact h2 { font-size: clamp(43px, 13vw, 58px); }.manifesto-copy, .section-head > p, .services-intro > p { font-size: 15px; }
  .product-showcase { border-radius: 28px; }.product-visual { min-height: 410px; }.product-moon { width: 140px; height: 140px; }.rocket { transform: translate(-50%,-50%) rotate(14deg) scale(.8); }.product-info { min-height: auto; padding: 38px 26px 42px; }.product-info h3 { font-size: 44px; }
  .service-row { gap: 16px; padding: 26px 0; }.service-title { align-items: flex-start; }.service-title h3 { font-size: 21px; }.service-emoji { width: 40px; height: 40px; flex: 0 0 40px; }
  .about-art { min-height: 410px; }.about-shape-main { width: 260px; height: 315px; }.friendly-face span { top: 134px; }.friendly-face span:nth-child(1) { left: 82px; }.friendly-face span:nth-child(2) { right: 82px; }.friendly-face i { left: 106px; top: 168px; width: 49px; }.about-shape-small { width: 82px; height: 82px; font-size: 34px; right: 3%; }
  .contact-shell { padding: 30px 22px; border-radius: 28px; gap: 34px; }.form-row.two-col { grid-template-columns: 1fr; }.contact-direct a { font-size: 13px; word-break: break-word; }
  .footer-top, .footer-bottom { flex-direction: column; }.footer-links { gap: 50px; flex-wrap: wrap; }.footer-bottom { gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
