:root {
  --navy:#061b36; --navy-2:#0a2747; --paper:#fbfaf6; --cream:#f3eee4;
  --ink:#091c33; --muted:#657286; --accent:#58d6d0; --accent-rgb:88,214,208;
  --line:rgba(6,27,54,.15); --white-line:rgba(255,255,255,.18);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --max:1240px; --pad:clamp(22px,4vw,64px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
body.studio { --accent:#d8a13f; --accent-rgb:216,161,63; }
body.pay { --accent:#d84a91; --accent-rgb:216,74,145; }
a { color:inherit; }
img { display:block; max-width:100%; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.shell { width:min(calc(100% - (var(--pad) * 2)),var(--max)); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; left:18px; top:14px; padding:11px 15px; color:white; background:var(--navy); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.eyebrow { margin:0 0 18px; color:var(--accent); font-size:10px; font-weight:900; letter-spacing:.19em; text-transform:uppercase; }
.section-title { max-width:860px; margin:0; font:400 clamp(48px,6vw,86px)/.96 var(--serif); letter-spacing:-.05em; }

/* Shared header */
.site-header {
  position:absolute; z-index:50; inset:0 0 auto; height:84px; color:white;
  background:var(--navy); border-bottom:1px solid rgba(255,255,255,.16);
}
.header-inner { height:100%; display:flex; align-items:center; gap:24px; }
.brand { width:168px; flex:0 0 auto; }
.brand img { width:100%; filter:brightness(0) invert(1); }
.primary-nav { margin-left:auto; }
.primary-nav ul { display:flex; align-items:center; gap:26px; margin:0; padding:0; list-style:none; }
.primary-nav a { position:relative; padding:10px 0; color:rgba(255,255,255,.8); font-size:11px; font-weight:750; text-decoration:none; }
.primary-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--accent); transition:right .25s ease; }
.primary-nav a:hover { color:white; }
.primary-nav a:hover::after { right:0; }
.header-actions { display:flex; align-items:center; gap:9px; margin-left:4px; padding-left:20px; border-left:1px solid rgba(255,255,255,.22); }
.signin { padding:10px 3px; color:rgba(255,255,255,.8); font-size:10px; font-weight:850; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.business-login,.create-account { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 15px; border-radius:2px; font-size:9px; font-weight:850; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; transition:.22s ease; }
.business-login { color:white; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.34); }
.business-login:hover { border-color:var(--accent); background:rgba(var(--accent-rgb),.12); }
.create-account { color:var(--navy); background:white; border:1px solid white; }
.create-account:hover { color:white; background:transparent; }
.menu-button { display:none; min-width:58px; height:42px; padding:0 12px; color:white; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.3); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.mobile-access { display:none; }

/* Hero */
.product-hero {
  position:relative; min-height:100svh; overflow:hidden; color:white; isolation:isolate;
  background:
    radial-gradient(circle at 78% 30%,rgba(var(--accent-rgb),.22),transparent 33%),
    linear-gradient(125deg,#04152a,#07223f 65%,#0b3151);
}
.product-hero::before {
  content:""; position:absolute; inset:0; z-index:-1; opacity:.3;
  background-image:radial-gradient(circle,rgba(var(--accent-rgb),.76) 1px,transparent 1.2px);
  background-size:34px 34px; mask-image:linear-gradient(90deg,transparent,black 45%);
}
.orbit { position:absolute; right:-8vw; top:-15vw; width:min(66vw,930px); aspect-ratio:1; border:1px solid rgba(var(--accent-rgb),.2); border-radius:50%; box-shadow:0 0 0 95px rgba(var(--accent-rgb),.018),0 0 0 190px rgba(var(--accent-rgb),.012); }
.hero-inner { min-height:100svh; display:grid; grid-template-columns:1.12fr .68fr; align-items:center; gap:90px; padding-block:150px 80px; }
.status { display:inline-flex; align-items:center; gap:12px; min-height:42px; padding:0 19px; color:var(--accent); border:1px solid rgba(var(--accent-rgb),.35); border-radius:999px; font-size:8px; font-weight:900; letter-spacing:.19em; text-transform:uppercase; }
.status::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 15px currentColor; animation:pulse 1.8s ease-out infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.5),0 0 14px currentColor} 70%{box-shadow:0 0 0 15px transparent,0 0 22px currentColor} 100%{box-shadow:0 0 0 22px transparent,0 0 14px currentColor} }
.product-title { max-width:930px; margin:32px 0 25px; font:400 clamp(70px,9vw,128px)/.88 var(--serif); letter-spacing:-.065em; }
.product-line { margin:0 0 30px; color:var(--accent); font-size:10px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.hero-copy { max-width:690px; margin:0 0 36px; color:rgba(255,255,255,.68); font:400 clamp(19px,2vw,27px)/1.5 var(--serif); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 25px; border:1px solid transparent; font-size:9px; font-weight:900; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; transition:.22s ease; }
.button:hover { transform:translateY(-3px); }
.button.primary { color:var(--navy); background:var(--accent); border-color:var(--accent); }
.button.primary:hover { background:white; border-color:white; }
.button.secondary { color:white; border-color:rgba(255,255,255,.36); }
.button.secondary:hover { color:var(--navy); background:white; border-color:white; }
.product-symbol { position:relative; display:grid; place-items:center; min-height:480px; }
.symbol-core { position:relative; z-index:2; width:150px; height:150px; display:grid; place-items:center; color:var(--accent); border:1px solid rgba(var(--accent-rgb),.45); border-radius:50%; font:400 48px/1 var(--serif); box-shadow:0 0 60px rgba(var(--accent-rgb),.18); }
.product-symbol::before,.product-symbol::after { content:""; position:absolute; width:330px; aspect-ratio:1; border:1px solid rgba(var(--accent-rgb),.25); border-radius:50%; animation:signal 4s ease-out infinite; }
.product-symbol::after { animation-delay:2s; }
@keyframes signal { 0%{transform:scale(.45);opacity:.8} 80%,100%{transform:scale(1.35);opacity:0} }

/* Stingray Sky: Conduct the Swarm */
body.drone .site-header { background:rgba(4,20,39,.88); backdrop-filter:blur(18px); }
body.drone .product-hero {
  min-height:max(780px,100svh);
  background:
    radial-gradient(ellipse at 78% 91%,rgba(74,216,219,.18),transparent 26%),
    radial-gradient(circle at 72% 28%,rgba(28,102,136,.18),transparent 35%),
    linear-gradient(180deg,#031326 0%,#041a31 58%,#06223c 100%);
}
body.drone .product-hero::before {
  opacity:.2;
  background-image:radial-gradient(circle,rgba(105,224,222,.64) .8px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,transparent 8%,black 48%);
}
body.drone .orbit { display:none; }
body.drone .hero-inner {
  position:relative;
  z-index:3;
  grid-template-columns:.74fr 1.26fr;
  gap:38px;
  pointer-events:none;
}
body.drone .hero-inner > div:first-child { pointer-events:auto; }
body.drone .product-title {
  max-width:670px;
  font-size:clamp(70px,7.25vw,112px);
  line-height:.88;
}
body.drone .hero-copy {
  max-width:610px;
  font-family:var(--sans);
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.62;
}
.drone-visual-spacer { min-height:560px; }
.drone-swarm-stage {
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  touch-action:pan-y;
}
.drone-swarm-stage::after {
  content:"";
  position:absolute;
  left:42%;
  right:-4%;
  bottom:5.5%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(89,216,211,.36) 35%,rgba(167,247,244,.82) 68%,transparent);
  box-shadow:0 -4px 24px rgba(70,215,211,.25),0 9px 38px rgba(29,154,165,.18);
  opacity:.7;
}
.drone-swarm-canvas { position:absolute; inset:0; width:100%; height:100%; }
.drone-interaction-hint {
  position:absolute;
  right:var(--pad);
  top:calc(100svh - 54px);
  padding:10px 14px;
  color:rgba(195,243,241,.64);
  border:1px solid rgba(101,224,220,.2);
  border-radius:999px;
  background:rgba(4,24,45,.38);
  backdrop-filter:blur(10px);
  font-size:10px;
  font-weight:750;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:opacity .45s ease,transform .45s ease;
}
.drone-swarm-stage.has-interacted .drone-interaction-hint { opacity:0; transform:translateY(5px); }

/* Creative Studio: Living Campaign Wall */
body.studio {
  --accent:#f2ad00;
  --accent-rgb:242,173,0;
  background:#fff9e8;
}
body.studio .site-header {
  color:var(--navy);
  background:rgba(255,249,228,.94);
  border-bottom:1px solid rgba(6,27,54,.16);
  backdrop-filter:blur(18px);
}
body.studio .brand img { filter:none; }
body.studio .primary-nav a { color:rgba(6,27,54,.76); font-size:12px; }
body.studio .primary-nav a::after { background:#05aaa6; }
body.studio .signin { color:rgba(6,27,54,.76); font-size:11px; }
body.studio .primary-nav a:hover { color:var(--navy); }
body.studio .header-actions { border-left-color:rgba(6,27,54,.2); }
body.studio .business-login {
  color:var(--navy);
  background:rgba(255,255,255,.44);
  border-color:rgba(6,27,54,.3);
}
body.studio .business-login:hover { color:var(--navy); background:#ffd75d; border-color:var(--navy); }
body.studio .create-account { color:white; background:var(--navy); border-color:var(--navy); }
body.studio .create-account:hover { color:var(--navy); background:#ffd75d; }
body.studio .menu-button { color:var(--navy); background:rgba(255,255,255,.45); border-color:rgba(6,27,54,.3); }

.studio-hero {
  min-height:max(760px,100svh);
  overflow:hidden;
  color:var(--navy);
  background:#fff9e8;
}
.studio-hero::before,.studio-hero .orbit { display:none; }
.studio-hero-grid {
  min-height:max(760px,100svh);
  display:grid;
  grid-template-columns:minmax(460px,43%) 1fr;
  padding-top:84px;
}
.studio-copy-panel {
  position:relative;
  z-index:2;
  min-width:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.48),transparent 26%),
    linear-gradient(145deg,#ffd329 0%,#f9b900 46%,#f2a700 100%);
  border-right:1px solid rgba(6,27,54,.2);
  isolation:isolate;
}
.studio-copy-panel::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.24;
  background-image:radial-gradient(circle,rgba(6,27,54,.56) .75px,transparent 1px);
  background-size:30px 30px;
  mask-image:linear-gradient(135deg,transparent,black 24%,black 76%,transparent);
}
.studio-liquid-canvas {
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  pointer-events:none;
}
.studio-copy {
  position:relative;
  z-index:2;
  min-height:calc(max(760px,100svh) - 84px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:70px clamp(36px,5vw,92px);
}
body.studio .status {
  color:var(--navy);
  background:rgba(255,249,228,.18);
  border-color:rgba(6,27,54,.38);
}
body.studio .status::before { color:#04a8a5; background:#04a8a5; }
body.studio .product-title {
  max-width:630px;
  margin-block:28px 20px;
  color:var(--navy);
  font-size:clamp(76px,7.25vw,116px);
  line-height:.83;
}
body.studio .product-line {
  position:relative;
  margin-bottom:22px;
  padding-top:18px;
  color:var(--navy);
  font-size:12px;
}
body.studio .product-line::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:46px;
  height:3px;
  background:#04a8a5;
}
body.studio .hero-copy {
  max-width:560px;
  margin-bottom:30px;
  color:rgba(6,27,54,.78);
  font-family:var(--serif);
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.48;
}
body.studio .button.primary {
  color:white;
  background:var(--navy);
  border-color:var(--navy);
}
body.studio .button.primary:hover { color:var(--navy); background:white; border-color:white; }
body.studio .button.secondary { color:var(--navy); border-color:rgba(6,27,54,.52); }
body.studio .button.secondary:hover { color:white; background:var(--navy); border-color:var(--navy); }
body.studio .button { min-height:58px; font-size:11px; }
body.studio .signup button { font-size:11px; }
.studio-interaction-hint {
  position:absolute;
  left:clamp(36px,5vw,92px);
  bottom:28px;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(6,27,54,.52);
  font-size:9px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:opacity .35s ease;
}
.studio-interaction-hint::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#04a8a5;
  box-shadow:0 0 0 5px rgba(4,168,165,.12);
}
.studio-copy-panel.has-interacted .studio-interaction-hint { opacity:0; }

.studio-campaign-wall {
  position:relative;
  min-width:0;
  overflow:hidden;
  background:
    linear-gradient(rgba(6,27,54,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(6,27,54,.035) 1px,transparent 1px),
    #fff9e8;
  background-size:54px 54px;
}
.studio-campaign-wall::before {
  content:"S";
  position:absolute;
  left:-2%;
  top:-13%;
  color:rgba(242,173,0,.12);
  font:400 min(61vw,880px)/1 var(--serif);
  letter-spacing:-.1em;
}
.campaign-tile {
  --tilt:0deg;
  --card-delay:0s;
  position:absolute;
  z-index:2;
  overflow:hidden;
  padding:20px;
  color:var(--navy);
  background:#fffdf5;
  border:1px solid rgba(6,27,54,.2);
  border-radius:12px;
  box-shadow:0 18px 34px rgba(34,37,35,.12);
  transform:rotate(var(--tilt)) translateY(0);
  transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease;
  animation:studio-card-signal 8s var(--card-delay) ease-in-out infinite;
}
.campaign-tile:hover {
  z-index:8;
  box-shadow:0 26px 52px rgba(34,37,35,.2);
  transform:rotate(0) translateY(-8px) scale(1.018);
}
.campaign-kind {
  display:inline-flex;
  padding:6px 9px;
  border:1px solid rgba(6,27,54,.2);
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.campaign-tile strong { display:block; font-family:var(--serif); font-weight:400; letter-spacing:-.04em; }
.campaign-tile small {
  display:block;
  color:rgba(6,27,54,.62);
  font-size:8px;
  font-weight:750;
  letter-spacing:.07em;
  line-height:1.5;
  text-transform:uppercase;
}
.tile-ready {
  position:absolute;
  right:12px;
  top:12px;
  width:22px;
  height:22px;
  overflow:hidden;
  color:transparent;
  background:#05aaa6;
  border-radius:50%;
  opacity:0;
  transform:scale(.6);
  animation:studio-ready 8s var(--card-delay) ease infinite;
}
.tile-ready::before {
  content:"";
  position:absolute;
  left:7px;
  top:5px;
  width:6px;
  height:9px;
  border-right:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(42deg);
}
.campaign-poster {
  --tilt:-1.2deg;
  --card-delay:.1s;
  left:5%;
  top:5%;
  width:27%;
  height:43%;
  padding:23px;
  color:#fff8e3;
  background:linear-gradient(165deg,#f6b60b 0 48%,#102a46 49% 100%);
  border-color:#05aaa6;
}
.campaign-poster::after {
  content:"";
  position:absolute;
  left:-12%;
  right:-12%;
  bottom:12%;
  height:28%;
  opacity:.45;
  background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 10px,rgba(255,211,41,.6) 11px 12px);
  transform:rotate(-5deg);
}
.campaign-poster .campaign-kind { border-color:rgba(255,255,255,.48); }
.campaign-poster strong { position:relative; z-index:2; margin-top:18px; font:800 clamp(27px,2.5vw,45px)/.82 var(--sans); letter-spacing:-.06em; text-transform:uppercase; }
.campaign-poster small { position:absolute; left:23px; bottom:22px; z-index:2; color:rgba(255,255,255,.72); }
.poster-sun { position:absolute; right:12%; top:32%; width:76px; aspect-ratio:1; border-radius:50%; background:#ffd329; box-shadow:0 0 45px rgba(255,211,41,.45); }

.campaign-social {
  --tilt:.8deg;
  --card-delay:1.1s;
  left:36%;
  top:4%;
  width:29%;
  height:35%;
  text-align:center;
}
.social-mark {
  width:70px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  margin:14px auto 10px;
  border:1px solid rgba(6,27,54,.4);
  border-radius:50%;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.social-mark i { position:absolute; width:28px; height:28px; border:1px solid #f2ad00; border-radius:50%; }
.campaign-social strong { font:800 clamp(17px,1.45vw,26px)/.98 var(--sans); letter-spacing:-.04em; text-transform:uppercase; }
.campaign-social small { margin-top:10px; }

.campaign-radio {
  --tilt:-.7deg;
  --card-delay:2.1s;
  right:3%;
  top:6%;
  width:28%;
  height:34%;
}
.radio-preview { display:flex; align-items:center; gap:10px; margin:23px 0 17px; }
.radio-play { width:31px; height:31px; display:grid; place-items:center; flex:0 0 auto; color:white; background:var(--navy); border-radius:50%; font-size:9px; }
.radio-wave { height:42px; display:flex; align-items:center; gap:3px; flex:1; }
.radio-wave i { width:3px; height:var(--h,50%); background:#f2ad00; animation:studio-radio-wave .9s ease-in-out infinite alternate; }
.radio-wave i:nth-child(2n) { --h:84%; animation-delay:-.3s; }
.radio-wave i:nth-child(3n) { --h:35%; animation-delay:-.6s; }
.radio-wave i:nth-child(5n) { --h:100%; animation-delay:-.15s; }
.campaign-radio p { margin:0; font-size:11px; line-height:1.45; }
.campaign-radio small { position:absolute; right:20px; bottom:17px; }

.campaign-story {
  --tilt:.8deg;
  --card-delay:3.1s;
  left:2%;
  bottom:3%;
  width:23%;
  height:39%;
}
.campaign-story strong { margin:13px 0 9px; font-size:clamp(29px,2.7vw,48px); line-height:.86; }
.story-scene {
  position:relative;
  height:39%;
  overflow:hidden;
  margin-bottom:10px;
  background:linear-gradient(#75d8dc 0 45%,#fff4c5 46% 58%,#19a0aa 59%);
}
.story-scene::before {
  content:"";
  position:absolute;
  right:14%;
  top:15%;
  width:34px;
  aspect-ratio:1;
  border-radius:50%;
  background:#ffd329;
}
.story-scene i {
  position:absolute;
  left:-5%;
  right:-5%;
  bottom:-20%;
  height:52%;
  border-radius:50%;
  background:#f2ad00;
  transform:rotate(-7deg);
}

.campaign-display {
  --tilt:-.5deg;
  --card-delay:4.1s;
  left:28%;
  bottom:3%;
  width:34%;
  height:40%;
  padding:16px;
  background:#e8f1ee;
  border-color:#05aaa6;
}
.display-frame {
  position:relative;
  height:78%;
  overflow:hidden;
  padding:22px;
  color:var(--navy);
  background:#f8bd08;
  border:8px solid #102a46;
  box-shadow:0 12px 0 #c0ccc9;
}
.display-frame span { position:relative; z-index:2; font:900 clamp(25px,2.6vw,48px)/.83 var(--sans); letter-spacing:-.07em; text-transform:uppercase; }
.display-frame i {
  position:absolute;
  right:-8%;
  bottom:-34%;
  width:63%;
  aspect-ratio:1;
  border:2px solid rgba(6,27,54,.28);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(6,27,54,.06),0 0 0 42px rgba(6,27,54,.04);
}
.campaign-display small { margin-top:13px; }

.campaign-banner {
  --tilt:.7deg;
  --card-delay:5.1s;
  right:3%;
  bottom:5%;
  width:25%;
  height:37%;
}
.campaign-banner strong { margin-top:22px; font-size:clamp(32px,3vw,54px); line-height:.84; }
.campaign-banner small { position:absolute; left:20px; bottom:20px; max-width:130px; }
.banner-rings {
  position:absolute;
  right:-28%;
  bottom:-20%;
  width:75%;
  aspect-ratio:1;
  border:8px solid #f2ad00;
  border-radius:50%;
  box-shadow:0 0 0 9px #fffdf5,0 0 0 17px #f2ad00,0 0 0 26px #fffdf5,0 0 0 34px #f2ad00;
}

.studio-ai-ribbon {
  position:absolute;
  left:19%;
  top:43%;
  z-index:10;
  width:66%;
  min-height:62px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:8px 12px 8px 9px;
  color:var(--navy);
  background:rgba(255,253,245,.94);
  border:2px solid #05aaa6;
  border-radius:999px;
  box-shadow:0 18px 38px rgba(6,27,54,.18);
  backdrop-filter:blur(12px);
}
.studio-ai-ribbon::before {
  content:"";
  position:absolute;
  left:-30%;
  right:-34%;
  top:50%;
  z-index:-1;
  border-top:2px dashed rgba(5,170,166,.65);
}
.ai-spark {
  width:44px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:white;
  background:#05aaa6;
  border-radius:50%;
  box-shadow:0 0 0 6px rgba(5,170,166,.1);
  font-size:18px;
  animation:studio-ai-pulse 2.4s ease-in-out infinite;
}
.studio-ai-ribbon strong { flex:1; font:400 clamp(16px,1.55vw,25px)/1 var(--serif); }
.ai-state {
  padding:10px 13px;
  color:white;
  background:#05aaa6;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
  white-space:nowrap;
}
.studio-add-asset {
  position:absolute;
  right:1.2%;
  bottom:4%;
  z-index:4;
  width:17%;
  height:22%;
  display:none;
  place-items:center;
  color:#05aaa6;
  border:2px dashed rgba(5,170,166,.5);
  border-radius:12px;
}
.studio-add-asset span { font-size:30px; }
.studio-add-asset small { font-size:9px; font-weight:800; }
@keyframes studio-card-signal {
  0%,9%,100% { border-color:rgba(6,27,54,.2); box-shadow:0 18px 34px rgba(34,37,35,.12); }
  14%,25% { border-color:#05aaa6; box-shadow:0 18px 40px rgba(5,170,166,.22); }
  32% { border-color:rgba(6,27,54,.2); }
}
@keyframes studio-ready {
  0%,11%,31%,100% { opacity:0; transform:scale(.6); }
  16%,26% { opacity:1; transform:scale(1); }
}
@keyframes studio-radio-wave {
  from { transform:scaleY(.45); }
  to { transform:scaleY(1); }
}
@keyframes studio-ai-pulse {
  0%,100% { transform:scale(.93); box-shadow:0 0 0 5px rgba(5,170,166,.08); }
  50% { transform:scale(1.04); box-shadow:0 0 0 12px rgba(5,170,166,.02),0 0 24px rgba(5,170,166,.28); }
}

/* Stingray Pay: The Cayman Current */
body.pay {
  --accent:#f06aae;
  --accent-rgb:240,106,174;
}
body.pay .site-header { background:#0c1a35; }
body.pay .product-hero {
  background:
    radial-gradient(circle at 76% 28%,rgba(240,106,174,.15),transparent 34%),
    radial-gradient(circle at 91% 68%,rgba(109,86,181,.14),transparent 29%),
    linear-gradient(122deg,#04162d 0%,#071d39 52%,#17152e 100%);
}
body.pay .product-hero::before {
  opacity:.22;
  background-image:radial-gradient(circle,rgba(240,106,174,.62) 1px,transparent 1.2px);
  mask-image:linear-gradient(90deg,transparent 4%,black 42%);
}
body.pay .orbit { display:none; }
body.pay .hero-inner { grid-template-columns:.78fr 1.22fr; gap:45px; }
body.pay .product-title { max-width:650px; font-size:clamp(66px,7vw,108px); line-height:.93; }
body.pay .hero-copy { max-width:610px; font-family:var(--sans); font-size:clamp(17px,1.45vw,21px); line-height:1.62; }

.pay-current {
  position:relative;
  min-width:0;
  min-height:620px;
  isolation:isolate;
  filter:drop-shadow(0 28px 70px rgba(3,13,33,.2));
}
.pay-current::before {
  content:"";
  position:absolute;
  inset:8% 3% 6%;
  z-index:-1;
  opacity:.28;
  background:
    linear-gradient(rgba(126,131,200,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(126,131,200,.08) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:radial-gradient(ellipse at center,black,transparent 72%);
}
.pay-current-canvas { position:absolute; inset:0; width:100%; height:100%; }
.pay-current-node {
  position:absolute;
  display:grid;
  justify-items:center;
  gap:13px;
  width:150px;
  color:rgba(255,255,255,.52);
  text-align:center;
  transform:translate(-50%,-50%);
  transition:color .28s ease,filter .28s ease;
}
.pay-current-node::before,.pay-current-node::after {
  content:"";
  position:absolute;
  left:50%;
  top:39px;
  width:78px;
  aspect-ratio:1;
  border:1px solid rgba(240,106,174,.18);
  border-radius:50%;
  opacity:0;
  transform:translate(-50%,-50%) scale(.72);
}
.pay-current-node strong {
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.pay-node-mark {
  position:relative;
  z-index:2;
  width:78px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.72);
  background:rgba(7,25,52,.78);
  border:1px solid rgba(240,106,174,.42);
  border-radius:50%;
  box-shadow:inset 0 0 24px rgba(240,106,174,.04);
  font-size:15px;
  font-weight:750;
  letter-spacing:.04em;
  transition:.28s ease;
}
.pay-current-node.is-active { color:#f06aae; filter:drop-shadow(0 0 15px rgba(240,106,174,.34)); }
.pay-current-node.is-active .pay-node-mark {
  color:white;
  background:rgba(57,25,69,.92);
  border-color:#f06aae;
  box-shadow:0 0 0 7px rgba(240,106,174,.08),0 0 35px rgba(240,106,174,.42),inset 0 0 22px rgba(240,106,174,.18);
  transform:scale(1.06);
}
.pay-current-node.is-active::before { animation:pay-node-ring 1.45s ease-out; }
.pay-current-node.is-active::after { animation:pay-node-ring 1.45s .18s ease-out; }
.pay-node-id { left:16%; top:19%; }
.pay-node-service { left:39%; top:42%; }
.pay-node-business { left:62%; top:66%; }
.pay-node-connected { left:88%; top:61%; }
.pay-node-connected .pay-node-mark { width:88px; font-size:28px; }
.pay-node-connected::before,.pay-node-connected::after { top:44px; width:88px; }
@keyframes pay-node-ring {
  0% { opacity:.72; transform:translate(-50%,-50%) scale(.72); }
  100% { opacity:0; transform:translate(-50%,-50%) scale(1.72); }
}

/* Information */
.intro { padding:118px 0; background:var(--cream); }
.intro-grid { display:grid; grid-template-columns:1fr .72fr; align-items:end; gap:90px; }
.intro-copy { margin:0; color:var(--muted); font-size:14px; line-height:1.78; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.feature { min-height:330px; display:flex; flex-direction:column; padding:29px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.35); }
.feature .num { color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.16em; }
.feature h3 { margin:auto 0 14px; font:400 30px/1.05 var(--serif); }
.feature p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }

/* Stingray Sky: animated product diagrams */
body.drone .feature {
  position:relative;
  min-height:465px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 34%,rgba(88,214,208,.07),transparent 34%),
    rgba(255,255,255,.38);
}
body.drone .feature .num { color:#117a78; font-size:11px; }
body.drone .feature h3 { margin:27px 0 14px; }
body.drone .feature p { font-size:14px; line-height:1.6; }
body.drone .feature-visual {
  height:185px;
  margin-top:24px;
  color:#117a78;
}

.drone-visual-sky { isolation:isolate; }
.sky-flight-path {
  position:absolute;
  left:7%;
  right:7%;
  bottom:18px;
  height:58px;
  border-top:1px solid rgba(17,122,120,.17);
  border-radius:50%;
  transform:rotate(-3deg);
}
.sky-flight-path::before {
  content:"";
  position:absolute;
  left:5%;
  right:16%;
  top:-8px;
  height:38px;
  border-top:1px dashed rgba(17,122,120,.15);
  border-radius:50%;
}
.drone-card-swarm {
  position:absolute;
  left:50%;
  top:48%;
  width:1px;
  height:1px;
}
.drone-card-swarm i {
  position:absolute;
  left:-3px;
  top:-3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#22a8a4;
  box-shadow:0 0 0 3px rgba(88,214,208,.08),0 0 13px rgba(17,122,120,.48);
  opacity:0;
  animation:drone-card-assemble 5.4s var(--d) cubic-bezier(.2,.75,.25,1) infinite;
}
.sky-caption,.street-caption {
  position:absolute;
  right:3px;
  bottom:2px;
  color:#527b7d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sky-caption {
  opacity:0;
  animation:drone-card-caption 5.4s .72s ease infinite;
}
@keyframes drone-card-assemble {
  0%,9% { opacity:0; transform:translate(0,76px) scale(.3); }
  16% { opacity:1; }
  42%,78% { opacity:1; transform:translate(var(--x),var(--y)) scale(1); }
  88%,100% { opacity:0; transform:translate(var(--x),calc(var(--y) - 7px)) scale(.7); }
}
@keyframes drone-card-caption {
  0%,35%,88%,100% { opacity:0; transform:translateY(4px); }
  45%,80% { opacity:1; transform:none; }
}

.drone-visual-newsstand {
  display:grid;
  place-items:center;
}
.mini-newsstand {
  position:relative;
  z-index:2;
  width:164px;
  height:148px;
  margin-top:-8px;
  background:#092642;
  border:1px solid rgba(6,27,54,.72);
  box-shadow:0 18px 34px rgba(6,27,54,.14);
}
.newsstand-canopy {
  position:absolute;
  left:-12px;
  right:-12px;
  top:-9px;
  height:15px;
  background:#061b36;
  border-radius:2px 2px 0 0;
  box-shadow:0 5px 13px rgba(6,27,54,.18);
}
.newsstand-canopy::after {
  content:"STINGRAY";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#8be2de;
  font-size:7px;
  font-weight:900;
  letter-spacing:.2em;
}
.newsstand-screen {
  position:absolute;
  left:14px;
  top:20px;
  width:47px;
  height:78px;
  overflow:hidden;
  background:linear-gradient(155deg,#167d86,#0e3d5b);
  border:1px solid rgba(137,228,224,.4);
  box-shadow:inset 0 0 18px rgba(88,214,208,.15),0 0 20px rgba(88,214,208,.08);
}
.newsstand-screen::before {
  content:"LIVE";
  position:absolute;
  left:9px;
  top:10px;
  color:#b9f5f1;
  font-size:7px;
  font-weight:900;
  letter-spacing:.15em;
}
.newsstand-screen i {
  position:absolute;
  left:-70%;
  top:-20%;
  width:46%;
  height:140%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(16deg);
  animation:newsstand-screen-scan 3.8s ease-in-out infinite;
}
.newsstand-shelf {
  position:absolute;
  left:73px;
  right:13px;
  top:21px;
  bottom:20px;
  display:flex;
  align-items:flex-end;
  gap:7px;
  padding:10px 8px;
  border:1px solid rgba(167,230,228,.2);
  background:
    linear-gradient(rgba(167,230,228,.15) 1px,transparent 1px);
  background-size:100% 33%;
}
.newsstand-shelf i {
  width:24%;
  height:62%;
  background:linear-gradient(155deg,#fbfaf6 0 74%,#58d6d0 75%);
  box-shadow:0 4px 10px rgba(0,0,0,.15);
  transform-origin:center bottom;
  animation:newsstand-paper 4.2s ease-in-out infinite;
}
.newsstand-shelf i:nth-child(2) { height:77%; animation-delay:.22s; }
.newsstand-shelf i:nth-child(3) { height:68%; animation-delay:.44s; }
.newsstand-base {
  position:absolute;
  left:14px;
  right:14px;
  bottom:8px;
  height:5px;
  background:#58d6d0;
  opacity:.5;
}
.newsstand-signal {
  position:absolute;
  left:50%;
  top:50%;
  z-index:1;
  width:92px;
  aspect-ratio:1;
  border:1px solid rgba(17,122,120,.2);
  border-radius:50%;
  transform:translate(-50%,-50%);
  animation:newsstand-signal 3.2s ease-out infinite;
}
.newsstand-signal::before,.newsstand-signal::after {
  content:"";
  position:absolute;
  inset:-25px;
  border:1px solid rgba(17,122,120,.12);
  border-radius:50%;
}
.newsstand-signal::after { inset:-50px; }
.newsstand-signal i {
  position:absolute;
  right:-4px;
  top:43%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#58d6d0;
  box-shadow:0 0 16px rgba(17,122,120,.85);
}
@keyframes newsstand-screen-scan {
  0%,16% { left:-70%; opacity:0; }
  24% { opacity:1; }
  64%,100% { left:130%; opacity:0; }
}
@keyframes newsstand-paper {
  0%,100% { transform:translateY(0); }
  48% { transform:translateY(-5px); }
}
@keyframes newsstand-signal {
  0%,100% { opacity:.35; transform:translate(-50%,-50%) scale(.88); }
  50% { opacity:1; transform:translate(-50%,-50%) scale(1.06); }
}

.drone-visual-network { isolation:isolate; }
.network-core {
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:76px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  color:white;
  background:#082b47;
  border:1px solid rgba(88,214,208,.85);
  border-radius:50%;
  box-shadow:0 0 0 8px rgba(88,214,208,.08),0 0 32px rgba(17,122,120,.25);
  font:400 15px/1 var(--serif);
  transform:translate(-50%,-50%);
  animation:network-core-breathe 3.8s ease-in-out infinite;
}
.network-node {
  position:absolute;
  z-index:2;
  min-width:65px;
  padding:9px 11px;
  color:#164c5b;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(17,122,120,.18);
  border-radius:999px;
  box-shadow:0 8px 18px rgba(6,27,54,.07);
  font-size:9px;
  font-weight:850;
  letter-spacing:.05em;
  text-align:center;
  animation:network-node-signal 4.4s var(--delay) ease-in-out infinite;
}
.network-sky { left:2%; top:8%; }
.network-tcj { right:2%; top:8%; }
.network-radio { left:4%; bottom:7%; }
.network-digital { right:0; bottom:7%; }
.network-link {
  position:absolute;
  left:50%;
  top:50%;
  z-index:1;
  width:126px;
  height:1px;
  overflow:visible;
  background:linear-gradient(90deg,rgba(17,122,120,.48),rgba(17,122,120,.06));
  transform-origin:left center;
  animation:network-link-signal 4.4s var(--delay) ease-in-out infinite;
}
.network-link::after {
  content:"";
  position:absolute;
  right:-2px;
  top:-2px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#58d6d0;
  box-shadow:0 0 13px rgba(17,122,120,.8);
}
.network-link-sky { transform:rotate(215deg); }
.network-link-tcj { transform:rotate(-35deg); }
.network-link-radio { transform:rotate(145deg); }
.network-link-digital { transform:rotate(35deg); }
@keyframes network-core-breathe {
  0%,100% { box-shadow:0 0 0 6px rgba(88,214,208,.06),0 0 24px rgba(17,122,120,.18); }
  50% { box-shadow:0 0 0 13px rgba(88,214,208,.02),0 0 40px rgba(17,122,120,.32); }
}
@keyframes network-node-signal {
  0%,12%,100% { color:#164c5b; border-color:rgba(17,122,120,.18); transform:translateY(0); }
  22%,38% { color:#061b36; border-color:#58d6d0; transform:translateY(-3px); box-shadow:0 10px 24px rgba(17,122,120,.14); }
  48% { transform:translateY(0); }
}
@keyframes network-link-signal {
  0%,12%,100% { opacity:.18; }
  22%,38% { opacity:1; }
  50% { opacity:.3; }
}

/* Stingray Pay: product diagrams */
body.pay .feature {
  position:relative;
  min-height:430px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 36%,rgba(240,106,174,.055),transparent 34%),
    rgba(255,255,255,.35);
}
body.pay .feature .num { color:#c12c79; font-size:11px; }
body.pay .feature h3 { margin:25px 0 14px; }
body.pay .feature p { font-size:14px; line-height:1.6; }
.feature-visual {
  position:relative;
  height:160px;
  margin-top:25px;
  color:#c12c79;
}
.pay-mini-node {
  position:absolute;
  top:50%;
  z-index:2;
  width:54px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(193,44,121,.32);
  border-radius:50%;
  box-shadow:0 10px 24px rgba(6,27,54,.08);
  font-size:12px;
  font-weight:850;
  transform:translateY(-50%);
}
.moment-start { left:9%; }
.moment-end { right:9%; color:white; background:#c12c79; }
.pay-moment-line {
  position:absolute;
  left:calc(9% + 54px);
  right:calc(9% + 54px);
  top:50%;
  height:1px;
  overflow:visible;
  background:rgba(6,27,54,.13);
}
.pay-moment-line::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-6px;
  height:13px;
  background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(193,44,121,.13) 13px 14px);
}
.pay-moment-line i {
  position:absolute;
  left:0;
  top:-4px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#f06aae;
  box-shadow:0 0 0 6px rgba(240,106,174,.1),0 0 18px rgba(240,106,174,.65);
  animation:pay-card-travel 3.6s cubic-bezier(.5,0,.25,1) infinite;
}
.pay-visual-moment small {
  position:absolute;
  right:8%;
  bottom:16px;
  color:#8b476c;
  font-size:10px;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:0;
  animation:pay-ready 3.6s ease infinite;
}
@keyframes pay-card-travel {
  0%,12% { left:0; opacity:0; }
  18% { opacity:1; }
  76%,100% { left:calc(100% - 9px); opacity:1; }
}
@keyframes pay-ready {
  0%,68% { opacity:0; transform:translateY(4px); }
  78%,94% { opacity:1; transform:none; }
  100% { opacity:0; }
}

.pay-visual-relationship { min-height:160px; }
.relation-core {
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:68px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  color:white;
  background:#183e6b;
  border:5px solid rgba(255,255,255,.86);
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(24,62,107,.2),0 18px 30px rgba(6,27,54,.15);
  font-size:13px;
  font-weight:850;
  transform:translate(-50%,-50%);
}
.relation-core::after {
  content:"";
  position:absolute;
  inset:-14px;
  border:1px solid rgba(193,44,121,.2);
  border-radius:50%;
  animation:relation-breathe 2.8s ease-in-out infinite;
}
.relation-satellite {
  position:absolute;
  z-index:2;
  min-width:66px;
  padding:8px 10px;
  color:#183e6b;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(24,62,107,.14);
  border-radius:999px;
  box-shadow:0 8px 20px rgba(6,27,54,.07);
  font-size:9px;
  font-weight:750;
  text-align:center;
}
.relation-service { left:4%; top:10%; }
.relation-business { right:2%; top:24%; }
.relation-support { left:12%; bottom:7%; }
.relation-line {
  position:absolute;
  left:50%;
  top:50%;
  z-index:1;
  height:1px;
  background:linear-gradient(90deg,rgba(193,44,121,.55),rgba(24,62,107,.12));
  transform-origin:left center;
}
.relation-line::after {
  content:"";
  position:absolute;
  right:-2px;
  top:-2px;
  width:5px;
  height:5px;
  background:#f06aae;
  border-radius:50%;
  box-shadow:0 0 12px #f06aae;
}
.relation-line-a { width:142px; transform:rotate(212deg); }
.relation-line-b { width:128px; transform:rotate(-22deg); }
.relation-line-c { width:128px; transform:rotate(142deg); }
@keyframes relation-breathe {
  0%,100% { opacity:.35; transform:scale(.9); }
  50% { opacity:1; transform:scale(1.12); }
}

.pay-visual-benefits { perspective:700px; }
.benefit-card {
  position:absolute;
  left:50%;
  width:190px;
  height:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 17px;
  color:#183e6b;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(24,62,107,.14);
  border-radius:10px;
  box-shadow:0 14px 26px rgba(6,27,54,.09);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  transform:translateX(-50%);
}
.benefit-card i {
  width:9px;
  height:9px;
  background:#f06aae;
  border-radius:50%;
  box-shadow:0 0 12px rgba(240,106,174,.65);
}
.benefit-offer { top:2px; margin-left:-28px; animation:benefit-float 5s ease-in-out infinite; }
.benefit-reward { top:51px; margin-left:6px; animation:benefit-float 5s .45s ease-in-out infinite; }
.benefit-value { top:100px; margin-left:39px; animation:benefit-float 5s .9s ease-in-out infinite; }
.benefit-current {
  position:absolute;
  left:22%;
  top:25px;
  width:58%;
  height:94px;
  border-right:1px solid rgba(193,44,121,.25);
  border-bottom:1px solid rgba(193,44,121,.25);
  border-radius:0 0 38px 0;
}
@keyframes benefit-float {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50% { transform:translateX(-50%) translateY(-6px); }
}

.vision { display:grid; grid-template-columns:1.1fr .9fr; min-height:610px; color:white; background:var(--navy); }
.vision-main { display:flex; flex-direction:column; justify-content:center; padding:90px max(var(--pad),calc((100vw - var(--max))/2)); background:radial-gradient(circle at 18% 22%,rgba(var(--accent-rgb),.15),transparent 30%); }
.vision-main h2 { max-width:760px; margin:0; font:400 clamp(52px,7vw,94px)/.94 var(--serif); letter-spacing:-.055em; }
.vision-main p { max-width:630px; margin:28px 0 0; color:rgba(255,255,255,.62); font-size:14px; line-height:1.78; }
.vision-notes { display:grid; grid-template-columns:1fr 1fr; background:#09213e; }
.vision-notes div { display:flex; flex-direction:column; justify-content:flex-end; min-height:260px; padding:30px; border-left:1px solid var(--white-line); border-bottom:1px solid var(--white-line); }
.vision-notes span { color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.vision-notes h3 { margin:35px 0 0; font:400 27px/1.07 var(--serif); }

/* Signup */
.updates { position:relative; overflow:hidden; padding:118px 0; background:var(--paper); }
.updates::before { content:""; position:absolute; right:-120px; top:-180px; width:500px; height:500px; border:1px solid rgba(var(--accent-rgb),.22); border-radius:50%; box-shadow:0 0 0 55px rgba(var(--accent-rgb),.025); }
.updates-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:90px; }
.updates-copy p:not(.eyebrow) { max-width:500px; color:var(--muted); font-size:14px; line-height:1.75; }
.signup { padding:34px; background:white; border:1px solid var(--line); box-shadow:0 24px 55px rgba(6,27,54,.09); }
.signup h3 { margin:0 0 8px; font:400 31px/1.1 var(--serif); }
.signup > p { margin:0 0 25px; color:var(--muted); font-size:11px; line-height:1.6; }
.signup-row { display:flex; min-height:58px; }
.signup input { min-width:0; flex:1; padding:0 17px; color:var(--ink); background:var(--paper); border:1px solid rgba(6,27,54,.23); border-right:0; }
.signup input:focus { outline:0; border-color:var(--navy); box-shadow:inset 0 0 0 1px var(--navy); }
.signup button { padding:0 24px; color:var(--navy); background:var(--accent); border:1px solid var(--accent); cursor:pointer; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.signup button:hover { color:white; background:var(--navy); border-color:var(--navy); }
.consent { display:flex; align-items:flex-start; gap:9px; margin-top:15px; color:var(--muted); font-size:9px; line-height:1.55; }
.consent input { flex:0 0 auto; margin-top:2px; }
.form-status { min-height:19px; margin:12px 0 0!important; color:#08766a!important; font-size:11px!important; }

.next-products { padding:75px 0; color:white; background:#09213e; }
.next-grid { display:grid; grid-template-columns:auto 1fr 1fr; align-items:stretch; border-top:1px solid var(--white-line); border-left:1px solid var(--white-line); }
.next-label { display:flex; align-items:center; padding:25px; border-right:1px solid var(--white-line); border-bottom:1px solid var(--white-line); color:var(--accent); font-size:9px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.next-grid a { min-height:140px; display:flex; flex-direction:column; justify-content:flex-end; padding:25px; border-right:1px solid var(--white-line); border-bottom:1px solid var(--white-line); color:white; text-decoration:none; transition:background .22s ease; }
.next-grid a:hover { background:rgba(var(--accent-rgb),.1); }
.next-grid small { color:rgba(255,255,255,.48); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.next-grid strong { margin-top:35px; font:400 27px/1 var(--serif); }

footer { padding:30px var(--pad); color:rgba(255,255,255,.4); background:#041427; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }

@media(max-width:1040px) {
  .primary-nav ul { gap:16px; }
  .primary-nav a { font-size:10px; }
  .create-account { display:none; }
  .hero-inner { gap:45px; }
  body.drone .hero-inner { grid-template-columns:.86fr 1.14fr; gap:10px; }
  body.drone .product-title { font-size:clamp(64px,8vw,92px); }
  body.pay .hero-inner { grid-template-columns:.9fr 1.1fr; gap:18px; }
  .pay-current { min-height:540px; }
  .pay-current-node { width:125px; }
  .studio-hero-grid { grid-template-columns:minmax(390px,44%) 1fr; }
  .studio-copy { padding-inline:40px; }
  body.studio .product-title { font-size:clamp(70px,8.5vw,92px); }
  .campaign-tile { padding:14px; }
  .campaign-poster { padding:17px; }
  .campaign-poster small { left:17px; }
  .campaign-radio p { font-size:9px; }
}
@media(max-width:780px) {
  .site-header { position:fixed; height:72px; }
  .brand { width:145px; }
  .menu-button { display:block; margin-left:auto; }
  .header-actions { margin-left:auto; padding-left:0; border-left:0; }
  .header-actions a { display:none; }
  .primary-nav { position:absolute; top:72px; left:0; right:0; display:none; height:calc(100dvh - 72px); margin:0; padding:28px var(--pad); background:#041427; overflow-y:auto; }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:block; }
  .primary-nav li { border-bottom:1px solid var(--white-line); }
  .primary-nav a { display:block; padding:18px 0; color:white; font-size:15px; }
  .primary-nav .mobile-access { display:block; }
  .primary-nav .mobile-access a { margin-top:14px; padding:15px; text-align:center; border:1px solid rgba(255,255,255,.35); }
  .primary-nav .mobile-access.primary a { color:var(--navy); background:white; border-color:white; }
  body.studio .primary-nav { background:#fff7dc; }
  body.studio .primary-nav li { border-bottom-color:rgba(6,27,54,.14); }
  body.studio .primary-nav a { color:var(--navy); }
  body.studio .primary-nav .mobile-access a { border-color:rgba(6,27,54,.3); }
  body.studio .primary-nav .mobile-access.primary a { color:white; background:var(--navy); border-color:var(--navy); }
  .hero-inner,.intro-grid,.updates-grid { grid-template-columns:1fr; }
  .product-hero,.hero-inner { min-height:850px; }
  .hero-inner { align-content:center; gap:20px; padding-top:125px; }
  .product-symbol { display:none; }
  body.drone .hero-inner {
    grid-template-columns:1fr;
    align-content:start;
    min-height:1020px;
    padding-top:126px;
  }
  body.drone .product-hero { min-height:1020px; }
  body.drone .product-title { max-width:630px; }
  body.drone .hero-copy { max-width:590px; font-size:17px; }
  .drone-visual-spacer { min-height:450px; }
  .drone-swarm-stage::after { left:2%; right:2%; bottom:3.5%; }
  .drone-interaction-hint { display:none; }
  body.pay .hero-inner { grid-template-columns:1fr; align-content:start; padding-top:128px; }
  body.pay .product-hero,body.pay .hero-inner { min-height:auto; }
  body.pay .hero-copy { font-size:17px; }
  .pay-current { min-height:520px; margin-top:12px; }
  .pay-node-id { left:17%; top:17%; }
  .pay-node-service { left:39%; top:40%; }
  .pay-node-business { left:62%; top:64%; }
  .pay-node-connected { left:86%; top:59%; }
  .feature-grid { grid-template-columns:1fr; }
  .feature { min-height:240px; }
  body.drone .feature { min-height:450px; }
  body.pay .feature { min-height:410px; }
  .feature-visual { width:min(100%,390px); margin-inline:auto; }
  .studio-hero,.studio-hero-grid { min-height:auto; }
  .studio-hero-grid { grid-template-columns:1fr; padding-top:72px; }
  .studio-copy-panel { min-height:720px; border-right:0; border-bottom:1px solid rgba(6,27,54,.2); }
  .studio-copy { min-height:720px; padding:80px var(--pad); }
  body.studio .product-title { font-size:clamp(74px,15vw,104px); }
  body.studio .hero-copy { max-width:610px; font-size:19px; }
  .studio-interaction-hint { display:none; }
  .studio-campaign-wall { min-height:850px; }
  .campaign-poster { left:4%; top:5%; width:36%; height:41%; }
  .campaign-social { left:43%; top:4%; width:34%; height:31%; }
  .campaign-radio { right:3%; top:37%; width:38%; height:29%; }
  .campaign-story { left:3%; bottom:4%; width:31%; height:39%; }
  .campaign-display { left:36%; bottom:3%; width:38%; height:35%; }
  .campaign-banner { right:3%; bottom:4%; width:22%; height:28%; }
  .studio-ai-ribbon { left:16%; top:44%; width:72%; }
  .studio-ai-ribbon strong { font-size:17px; }
  .ai-state { display:none; }
  .vision { grid-template-columns:1fr; }
  .vision-main { padding:85px var(--pad); }
  .vision-notes { min-height:430px; }
  .next-grid { grid-template-columns:1fr 1fr; }
  .next-label { grid-column:1/-1; }
}
@media(max-width:520px) {
  :root { --pad:20px; }
  .product-title { font-size:clamp(58px,17vw,78px); }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .button { width:100%; }
  body.pay .product-title { font-size:clamp(54px,16vw,72px); }
  body.drone .hero-inner { min-height:980px; }
  body.drone .product-hero { min-height:980px; }
  body.drone .product-title { font-size:clamp(54px,15vw,72px); line-height:.93; }
  body.drone .product-line { margin-bottom:22px; }
  body.drone .hero-copy { font-size:16px; line-height:1.55; }
  .drone-visual-spacer { min-height:390px; }
  .pay-current { min-height:630px; }
  .pay-current::before { inset:4% 12%; background-size:58px 58px; }
  .pay-current-node { width:132px; }
  .pay-node-id { left:34%; top:13%; }
  .pay-node-service { left:66%; top:37%; }
  .pay-node-business { left:35%; top:63%; }
  .pay-node-connected { left:68%; top:86%; }
  .studio-copy-panel,.studio-copy { min-height:690px; }
  .studio-copy { padding-top:66px; padding-bottom:70px; }
  body.studio .product-title { font-size:clamp(64px,19vw,86px); }
  body.studio .product-line { font-size:10px; }
  body.studio .hero-copy { font-size:17px; }
  .studio-campaign-wall { min-height:1020px; }
  .campaign-poster { left:4%; top:3%; width:54%; height:31%; }
  .campaign-social { left:51%; top:28%; width:45%; height:25%; }
  .campaign-radio { left:4%; right:auto; top:36%; width:43%; height:25%; }
  .campaign-story { left:4%; bottom:5%; width:42%; height:29%; }
  .campaign-display { left:38%; bottom:22%; width:58%; height:25%; }
  .campaign-banner { right:4%; bottom:3%; width:46%; height:18%; }
  .campaign-poster strong { font-size:29px; }
  .campaign-social strong { font-size:16px; }
  .campaign-radio p { font-size:9px; }
  .campaign-story strong { font-size:31px; }
  .campaign-banner strong { font-size:28px; }
  .studio-ai-ribbon { left:7%; top:31%; width:86%; min-height:54px; }
  .studio-ai-ribbon::before { left:-12%; right:-12%; }
  .studio-ai-ribbon strong { font-size:15px; }
  .ai-spark { width:38px; }
  .intro,.updates { padding-block:85px; }
  .vision-notes,.next-grid { grid-template-columns:1fr; }
  .signup { padding:25px 19px; }
  .signup-row { display:grid; }
  .signup input { min-height:56px; border-right:1px solid rgba(6,27,54,.23); }
  .signup button { min-height:54px; margin-top:9px; }
  .footer-inner { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .pay-current-node { filter:none; }
}
