:root {
  --radius: 28px;
  --glass: rgba(12, 31, 48, .62);
  --glass-strong: rgba(13, 38, 59, .82);
  --hairline: rgba(176, 218, 242, .14);
}

body {
  overflow-x: clip;
  background:
    radial-gradient(ellipse 75% 42% at 75% -4%, rgba(40, 166, 238, .2), transparent 68%),
    radial-gradient(ellipse 55% 34% at 3% 36%, rgba(38, 119, 208, .09), transparent 72%),
    linear-gradient(180deg, #050d16 0%, #030a12 68%, #050d16 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body:before {
  opacity: .38;
  background-size: 96px 96px;
  mask-image: linear-gradient(to bottom, #000, transparent 58%);
}

.topbar {
  background: rgba(4, 13, 22, .67);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .035);
  backdrop-filter: blur(30px) saturate(165%);
  -webkit-backdrop-filter: blur(30px) saturate(165%);
}

.topbar:after {
  background: linear-gradient(90deg, transparent 5%, rgba(125, 211, 255, .2) 50%, transparent 95%);
}

.nav { height: 72px; }
.logo img { width: 198px; }
.links { gap: 4px; }
.links a {
  padding: 9px 14px;
  border-radius: 999px;
  color: rgba(220, 233, 242, .68);
  font-size: 13px;
  font-weight: 590;
  letter-spacing: -.005em;
  text-transform: none;
}
.links a:hover, .links a.active {
  color: #fff;
  background: rgba(255, 255, 255, .07) !important;
}
.links a:after { display: none; }
.links a[href*="printful"] { color: var(--sky); }

.button, .links .button {
  min-height: 48px;
  padding-inline: 23px;
  border: 1px solid rgba(133, 222, 255, .42);
  border-radius: 999px;
  clip-path: none;
  background: linear-gradient(180deg, #22aef0 0%, #087dcf 100%);
  box-shadow: 0 12px 32px rgba(5, 119, 203, .28), inset 0 1px rgba(255, 255, 255, .28);
  font-weight: 720;
  letter-spacing: -.005em;
  text-transform: none;
}
.button:hover {
  border-color: rgba(178, 235, 255, .72);
  background: linear-gradient(180deg, #43c5fb 0%, #138ee2 100%);
  box-shadow: 0 17px 40px rgba(5, 132, 221, .36), inset 0 1px rgba(255, 255, 255, .34);
  transform: translateY(-2px);
}
.button.secondary {
  border-color: var(--hairline);
  background: rgba(255, 255, 255, .045);
  box-shadow: inset 0 1px rgba(255, 255, 255, .06);
  backdrop-filter: blur(16px);
}

.hero {
  min-height: 760px;
  padding: 96px 0 108px;
  grid-template-columns: 1.12fr .88fr;
  gap: clamp(64px, 8vw, 112px);
}
.hero > div:first-child { grid-column: auto; grid-row: auto; }
.hero > .device { grid-column: auto; grid-row: auto; }
.hero h1, .page-hero h1 {
  letter-spacing: -.075em;
  text-shadow: 0 10px 55px rgba(87, 201, 255, .08);
}
.hero h1 { max-width: 760px; }
.kicker {
  font-family: inherit;
  font-weight: 760;
  letter-spacing: .16em;
}
.lede { color: rgba(208, 223, 233, .76); }

.trust span {
  border-color: rgba(171, 218, 243, .12);
  background: rgba(255, 255, 255, .028);
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
}

.device {
  border: 1px solid rgba(217, 239, 250, .42);
  background: linear-gradient(145deg, #d4e5ee 0%, #547186 18%, #0b1720 58%, #9cb9c9 100%);
  box-shadow: 0 65px 150px rgba(0, 0, 0, .62), 0 0 110px rgba(45, 176, 242, .16), inset 0 0 0 1px rgba(255, 255, 255, .28);
  transform: rotate(1.2deg);
}
.radar-device { transform: rotate(-1.5deg); }
.screen { border-color: rgba(215, 239, 252, .25); }

.signal-grid {
  border: 1px solid var(--hairline);
  border-radius: 24px;
  background: rgba(9, 28, 44, .64);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .055);
  backdrop-filter: blur(28px) saturate(135%);
}
.signal-item { border-color: var(--hairline); }
.signal-item small { font-family: inherit; }

.section.alt {
  border-color: rgba(169, 215, 241, .11);
  background: linear-gradient(180deg, rgba(12, 31, 48, .55), rgba(5, 17, 28, .4));
}
.section h2 { letter-spacing: -.052em; }

.card, .shot, .cta, .request-panel, .request-card, .empty, .loading {
  border-radius: var(--radius);
}
.card {
  border-color: var(--hairline);
  background: linear-gradient(145deg, rgba(20, 48, 70, .73), rgba(8, 23, 37, .66));
  box-shadow: 0 24px 70px rgba(0, 0, 0, .18), inset 0 1px rgba(255, 255, 255, .045);
  backdrop-filter: blur(18px);
}
.card:hover {
  border-color: rgba(105, 207, 251, .34);
  box-shadow: 0 32px 85px rgba(0, 0, 0, .27), 0 0 55px rgba(48, 177, 236, .06);
}
.icon { border-radius: 14px; }

.shot {
  border-color: rgba(176, 218, 242, .18);
  border-radius: 40px;
  box-shadow: 0 42px 110px rgba(0, 0, 0, .48), inset 0 1px rgba(255, 255, 255, .08);
}
.product-pair img, .hero-product img, .detail-shot img {
  border-color: rgba(176, 218, 242, .18);
  box-shadow: 0 42px 110px rgba(0, 0, 0, .46);
}

.cta {
  border: 1px solid rgba(111, 210, 255, .22);
  border-radius: 36px;
  background: radial-gradient(circle at 50% 120%, rgba(66, 201, 255, .32), transparent 58%), linear-gradient(145deg, rgba(17, 54, 81, .9), rgba(6, 22, 36, .92));
  box-shadow: 0 35px 100px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .06);
}
.page-hero:after { border-radius: 50%; transform: none; }
.notice { border-radius: 0 18px 18px 0; }
.comparison { border-radius: 24px; }
.feature-row:hover { border-left: 0; }

@media (max-width: 900px) {
  .links { top: 72px; }
  .links a { padding: 13px 15px; }
  .hero, .split { grid-template-columns: 1fr; }
  .hero > div:first-child, .hero > .device { grid-column: 1; grid-row: auto; }
  .hero > div:first-child { grid-row: 1; }
  .hero > .device { grid-row: 2; }
}

@media (max-width: 600px) {
  .hero { padding-top: 72px; }
  .hero h1, .page-hero h1 { letter-spacing: -.065em; }
  .button { width: 100%; }
  .actions { display: grid; grid-template-columns: 1fr; }
  .trust { gap: 8px; }
  .trust span { padding: 6px 9px; }
  .device, .radar-device { transform: none; }
  .signal-grid { border-radius: 20px; }
  .cta { border-radius: 28px; }
}

@media (prefers-reduced-motion: no-preference) {
  .card, .shot, .button, .device { transition-duration: .35s; }
}

/* Atmospheric motion and interaction polish */
.hero { position: relative; isolation: isolate; }
.hero:before,
.hero:after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(12px);
}
.hero:before {
  width: min(720px, 58vw);
  aspect-ratio: 1;
  top: -32%;
  right: -18%;
  background: radial-gradient(circle, rgba(55, 185, 247, .19), rgba(33, 109, 208, .07) 43%, transparent 70%);
  animation: atmosphere-drift 13s ease-in-out infinite alternate;
}
.hero:after {
  width: min(480px, 44vw);
  aspect-ratio: 1;
  left: 22%;
  bottom: -34%;
  background: radial-gradient(circle, rgba(82, 237, 197, .08), transparent 68%);
  animation: atmosphere-drift 17s ease-in-out -5s infinite alternate-reverse;
}
.hero-copy, .hero > div:first-child { position: relative; z-index: 2; }
.hero h1 span {
  background-size: 180% 100%;
  animation: title-shift 8s ease-in-out infinite alternate;
}
.hero .device {
  animation: device-float 7s ease-in-out infinite;
  will-change: transform;
}
.hero .device:before { display: none; }
.signal-bar { z-index: 3; }
.signal-grid { transform: translateZ(0); }
.topbar, .nav, .logo img { transition: height .3s ease, background .3s ease, width .3s ease, box-shadow .3s ease; }
.topbar.is-compact {
  background: rgba(3, 11, 19, .84);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}
.topbar.is-compact .nav { height: 62px; }
.topbar.is-compact .logo img { width: 178px; }

.card { --spot-x: 50%; --spot-y: 0%; }
.card:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(320px circle at var(--spot-x) var(--spot-y), rgba(91, 207, 255, .13), transparent 62%);
  transition: opacity .35s ease;
}
.card:hover:before { opacity: 1; }
.card > * { position: relative; z-index: 1; }

.reveal-ready .reveal-target {
  opacity: 0;
  transform: translateY(28px) scale(.992);
  transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal-ready .reveal-target.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.reveal-ready .grid-3 .reveal-target:nth-child(2),
.reveal-ready .screenshots .reveal-target:nth-child(2) { transition-delay: .09s; }
.reveal-ready .grid-3 .reveal-target:nth-child(3),
.reveal-ready .screenshots .reveal-target:nth-child(3) { transition-delay: .18s; }
.reveal-ready .grid-3 .reveal-target:nth-child(4) { transition-delay: .27s; }

@keyframes atmosphere-drift {
  from { transform: translate3d(-2%, -2%, 0) scale(.96); opacity: .72; }
  to { transform: translate3d(6%, 5%, 0) scale(1.08); opacity: 1; }
}
@keyframes title-shift { to { background-position: 100% 0; } }
@keyframes device-float {
  0%, 100% { transform: translateY(0) rotate(1.2deg); }
  50% { transform: translateY(-12px) rotate(.3deg); }
}
@keyframes orbit-breathe {
  0%, 100% { transform: scale(.94); opacity: .5; }
  50% { transform: scale(1.04); opacity: 1; }
}

@media (max-width: 900px) {
  .hero:before { width: 780px; top: 18%; right: -480px; }
  .hero:after { display: none; }
  .topbar.is-compact .links { top: 62px; }
}
@media (max-width: 600px) {
  .hero .device { animation-name: device-float-mobile; }
  .hero .device:before { display: none; }
}
@keyframes device-float-mobile {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero:before, .hero:after, .hero h1 span, .hero .device, .hero .device:before { animation: none !important; }
  .reveal-ready .reveal-target { opacity: 1; transform: none; transition: none; }
}

/* New product-led homepage */
.home-page { --home-max: 1280px; }
.home-page .wrap { width: min(var(--home-max), calc(100% - 64px)); }
.home-main { overflow: hidden; }
.launch-hero {
  position: relative;
  min-height: 1180px;
  padding-top: 110px;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse 62% 50% at 50% 54%, rgba(27, 139, 211, .17), transparent 72%);
}
.launch-glow {
  position: absolute;
  z-index: -1;
  width: 1000px;
  height: 1000px;
  left: 50%;
  top: 230px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(57, 193, 250, .17), rgba(31, 105, 188, .07) 38%, transparent 69%);
  filter: blur(18px);
  animation: launch-breathe 10s ease-in-out infinite alternate;
}
.launch-copy { position: relative; z-index: 4; text-align: center; }
.launch-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 38px;
  padding: 7px 13px 7px 7px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(222,236,246,.75);
  text-decoration: none;
  font-size: 12px;
  backdrop-filter: blur(18px);
  transition: border-color .25s, background .25s, transform .25s;
}
.launch-pill:hover { transform: translateY(-2px); border-color: rgba(89,205,255,.4); background: rgba(81,190,240,.08); }
.launch-pill span { padding: 3px 8px; border-radius: 999px; background: linear-gradient(180deg,#38c5fb,#1187dd); color: #fff; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.launch-pill b { color: var(--electric); font-size: 18px; line-height: 0; }
.launch-eyebrow { margin: 0 0 20px; color: var(--mint); font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.launch-copy h1 { max-width: 1050px; margin: 0 auto; color: #fff; font-size: clamp(74px, 9.2vw, 142px); font-weight: 730; line-height: .87; letter-spacing: -.08em; }
.launch-copy h1 em { background: linear-gradient(100deg,#40c7ff 5%,#92e8ff 48%,#66edc5 95%); background-size: 180% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal; animation: title-shift 8s ease-in-out infinite alternate; }
.launch-lede { max-width: 720px; margin: 34px auto 0; color: rgba(206,222,233,.72); font-size: clamp(18px,1.7vw,23px); line-height: 1.55; }
.launch-actions { justify-content: center; margin-top: 34px; }
.launch-stage { position: relative; height: 590px; margin-top: 70px; perspective: 1500px; }
.launch-phone { position: absolute; bottom: -100px; margin: 0; padding: 8px; overflow: hidden; border: 1px solid rgba(221,241,252,.32); border-radius: 52px; background: linear-gradient(145deg,#abc3d2,#243b4c 28%,#07121a 72%,#7699ae); box-shadow: 0 65px 140px rgba(0,0,0,.62),0 0 80px rgba(44,179,240,.1); transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .5s; }
.launch-phone img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 43px; }
.launch-phone-main { z-index: 3; left: 50%; width: 330px; height: 716px; transform: translateX(-50%) translateZ(110px); animation: launch-phone-float 7s ease-in-out infinite; }
.launch-phone-left,.launch-phone-right { z-index: 1; width: 284px; height: 617px; opacity: .76; filter: saturate(.8) brightness(.72); }
.launch-phone-left { left: calc(50% - 470px); transform: rotateY(15deg) rotateZ(-5deg) translateY(55px); }
.launch-phone-right { right: calc(50% - 470px); transform: rotateY(-15deg) rotateZ(5deg) translateY(55px); }
.launch-stage:hover .launch-phone-left { transform: rotateY(10deg) rotateZ(-3deg) translate(-10px,35px); filter: saturate(.95) brightness(.88); }
.launch-stage:hover .launch-phone-right { transform: rotateY(-10deg) rotateZ(3deg) translate(10px,35px); filter: saturate(.95) brightness(.88); }
.launch-fade { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; height: 260px; pointer-events: none; background: linear-gradient(transparent,#030a12 78%); }
.signal-ribbon { position: relative; z-index: 7; border-block: 1px solid var(--hairline); background: rgba(6,20,32,.72); backdrop-filter: blur(24px); }
.signal-ribbon-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.signal-ribbon-grid>div { padding: 24px 28px; border-right: 1px solid var(--hairline); }
.signal-ribbon-grid>div:last-child { border: 0; }
.signal-ribbon span,.signal-ribbon strong { display: block; }
.signal-ribbon span { color: var(--slate); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.signal-ribbon strong { margin-top: 5px; font-size: 14px; }
.signal-ribbon strong:before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 12px var(--mint); }
.home-intro { padding: 165px 0 95px; text-align: center; }
.home-intro-inner { max-width: 940px; }
.home-intro h2,.focus-copy h2,.pro-head h2,.closing-card h2 { margin: 0; color:#fff; font-size: clamp(54px,7.2vw,96px); font-weight:700; line-height:.94; letter-spacing:-.065em; }
.home-intro h2 span { color: rgba(232,242,248,.36); }
.home-intro-inner>p:last-child { max-width: 660px; margin: 30px auto 0; color: #9dafbc; font-size: 18px; }
.home-bento { display:grid; grid-template-columns:1.18fr .82fr; grid-template-rows:repeat(2,480px) 530px; gap:22px; padding-bottom:150px; }
.bento-card { position:relative; overflow:hidden; min-width:0; border:1px solid var(--hairline); border-radius:36px; background:linear-gradient(145deg,rgba(17,46,69,.88),rgba(6,20,33,.86)); box-shadow:0 28px 80px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.055); }
.bento-card:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 30%); }
.bento-copy { position:relative; z-index:3; padding:48px; }
.bento-label { display:block; margin-bottom:14px; color:var(--mint); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.bento-copy h3 { margin:0; max-width:560px; font-size:clamp(34px,4vw,59px); line-height:.98; letter-spacing:-.05em; }
.bento-copy p { max-width:470px; color:#9dafbc; }
.bento-copy a { color:var(--sky); text-decoration:none; font-size:14px; font-weight:750; }
.bento-copy a b { font-size:20px; }
.bento-card figure { margin:0; }
.bento-card figure img { display:block; width:100%; height:auto; }
.bento-radar { grid-row:span 2; }
.bento-radar figure { position:absolute; width:330px; right:50px; bottom:-250px; padding:7px; border:1px solid rgba(209,235,249,.22); border-radius:49px; background:#0b1c29; box-shadow:0 42px 100px #0009; transform:rotate(3deg); transition:transform .55s ease; }
.bento-radar:hover figure { transform:translateY(-18px) rotate(1deg); }
.bento-satellite,.bento-outlook { min-height:0; }
.bento-satellite .bento-copy,.bento-outlook .bento-copy { padding:38px 40px; }
.bento-satellite .bento-copy h3,.bento-outlook .bento-copy h3 { font-size:34px; }
.bento-satellite figure,.bento-outlook figure { position:absolute; width:210px; right:28px; bottom:-310px; opacity:.78; transform:rotate(5deg); }
.bento-outlook figure { transform:rotate(-5deg); }
.bento-tropics { grid-column:1/-1; display:grid; grid-template-columns:.8fr 1.2fr; background:radial-gradient(circle at 80% 50%,rgba(24,131,200,.2),transparent 45%),linear-gradient(145deg,rgba(14,44,67,.92),rgba(5,18,30,.92)); }
.bento-tropics .bento-copy { align-self:center; padding:64px; }
.bento-tropics figure { position:absolute; right:8%; bottom:-430px; width:350px; padding:7px; border-radius:50px; background:#071722; box-shadow:0 40px 100px #0009; transform:rotate(4deg); }
.focus-story { padding:170px 0; border-block:1px solid var(--hairline); background:linear-gradient(180deg,rgba(9,29,45,.66),rgba(4,15,25,.8)); }
.focus-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:center; }
.focus-copy h2 { font-size:clamp(52px,6vw,82px); }
.focus-copy>p:not(.launch-eyebrow) { margin:28px 0; color:#9dafbc; font-size:18px; }
.focus-copy ul { list-style:none; margin:32px 0 0; padding:0; }
.focus-copy li { padding:14px 0; border-bottom:1px solid var(--hairline); color:#c1d1dc; }
.focus-copy li:before { content:"✓"; margin-right:13px; color:var(--mint); }
.focus-device { position:relative; min-height:780px; display:grid; place-items:center; }
.focus-device figure { position:relative; z-index:2; width:350px; margin:0; padding:8px; border:1px solid rgba(220,240,251,.3); border-radius:54px; background:linear-gradient(145deg,#bdd2de,#263c4c 30%,#07121a 72%,#7593a5); box-shadow:0 65px 130px #000a; transform:rotate(2deg); }
.focus-device img { display:block; width:100%; border-radius:45px; }
.focus-halo { position:absolute; width:650px; height:650px; border:1px solid rgba(74,196,249,.12); border-radius:50%; box-shadow:0 0 0 80px rgba(73,186,239,.025),0 0 0 160px rgba(73,186,239,.012); background:radial-gradient(circle,rgba(46,174,235,.14),transparent 62%); animation:orbit-breathe 7s ease-in-out infinite; }
.focus-chip { position:absolute; z-index:4; min-width:185px; padding:15px 18px; border:1px solid rgba(177,220,243,.2); border-radius:18px; background:rgba(11,31,47,.82); box-shadow:0 20px 50px #0007; backdrop-filter:blur(20px); }
.focus-chip i { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 10px var(--mint); }
.focus-chip span { color:#91a7b6; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.focus-chip strong { display:block; margin-top:5px; font-size:17px; }
.focus-chip-top { top:22%; right:1%; }
.focus-chip-bottom { bottom:21%; left:1%; }
.pro-showcase { position:relative; padding:170px 0 145px; overflow:hidden; text-align:center; background:radial-gradient(ellipse 65% 45% at 50% 60%,rgba(24,139,212,.18),transparent 72%); }
.pro-head { max-width:900px; }
.pro-head>p:not(.launch-eyebrow) { max-width:680px; margin:26px auto; color:#9dafbc; font-size:18px; }
.pro-head .button { margin-top:10px; }
.pro-devices { display:flex; justify-content:center; align-items:flex-end; gap:clamp(20px,4vw,60px); margin-top:100px; }
.pro-device { width:min(270px,25vw); margin:0; transition:transform .5s ease; }
.pro-device:nth-child(1) { transform:translateY(60px) rotate(-5deg); }
.pro-device:nth-child(3) { transform:translateY(60px) rotate(5deg); }
.pro-device-featured { width:min(320px,29vw); z-index:2; }
.pro-device:hover { transform:translateY(-12px) rotate(0); }
.pro-device img { display:block; width:100%; padding:7px; border:1px solid rgba(214,239,251,.24); border-radius:48px; background:#081722; box-shadow:0 45px 100px #0009; }
.pro-device figcaption { margin-top:22px; }
.pro-device figcaption span { display:block; color:var(--mint); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.pro-device figcaption strong { display:block; margin-top:5px; font-size:18px; }
.pro-pills { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:110px; }
.pro-pills span { padding:9px 14px; border:1px solid var(--hairline); border-radius:999px; background:rgba(255,255,255,.03); color:#9fb2bf; font-size:12px; }
.closing-section { padding:70px 0 150px; }
.closing-card { padding:100px 35px; border:1px solid rgba(103,211,255,.22); border-radius:42px; text-align:center; background:radial-gradient(circle at 50% 115%,rgba(53,196,252,.31),transparent 55%),linear-gradient(145deg,#0d2f49,#061724); box-shadow:0 40px 110px #0006; }
.closing-icon { width:92px; height:92px; margin:0 auto 28px; overflow:hidden; border-radius:23px; box-shadow:0 22px 50px #0007; }
.closing-icon img { width:100%; height:100%; object-fit:cover; }
.closing-card h2 { font-size:clamp(48px,6vw,76px); }
.closing-card>p:not(.launch-eyebrow) { margin:20px auto 28px; color:#a9bbc7; font-size:18px; }

@keyframes launch-breathe { to { transform:translateX(-50%) scale(1.1); opacity:.75; } }
@keyframes launch-phone-float { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-14px)} }

@media(max-width:900px){
  .home-page .wrap{width:min(100% - 38px,var(--home-max))}
  .launch-hero{min-height:1060px;padding-top:90px}.launch-copy h1{font-size:clamp(66px,14vw,104px)}.launch-stage{height:510px}.launch-phone-main{width:290px;height:630px}.launch-phone-left,.launch-phone-right{width:240px;height:522px}.launch-phone-left{left:calc(50% - 340px)}.launch-phone-right{right:calc(50% - 340px)}
  .signal-ribbon-grid{grid-template-columns:1fr 1fr}.signal-ribbon-grid>div:nth-child(2){border-right:0}.signal-ribbon-grid>div:nth-child(-n+2){border-bottom:1px solid var(--hairline)}
  .home-bento{grid-template-columns:1fr;grid-template-rows:760px 430px 430px 620px}.bento-radar{grid-row:auto}.bento-tropics{grid-column:auto}.focus-grid{grid-template-columns:1fr;gap:60px}.focus-copy{text-align:center}.focus-copy>p:not(.launch-eyebrow){margin-inline:auto;max-width:650px}.focus-device{min-height:700px}
}
@media(max-width:600px){
  .home-page .wrap{width:100%;padding-inline:max(18px,env(safe-area-inset-left))}.launch-hero{min-height:940px;padding-top:70px}.launch-pill{margin-bottom:30px}.launch-copy h1{font-size:clamp(58px,18vw,78px)}.launch-lede{font-size:17px}.launch-stage{height:420px;margin-top:50px}.launch-phone-main{width:245px;height:532px;border-radius:42px}.launch-phone-main img{border-radius:34px}.launch-phone-left,.launch-phone-right{display:none}.launch-glow{top:360px;width:640px;height:640px}.launch-fade{height:190px}
  .signal-ribbon-grid>div{padding:18px 16px}.signal-ribbon strong{font-size:12px}.home-intro{padding:105px 0 65px}.home-intro h2,.focus-copy h2,.pro-head h2,.closing-card h2{font-size:clamp(44px,13vw,61px)}
  .home-bento{display:block;padding-bottom:90px}.bento-card{height:620px;margin-bottom:16px;border-radius:28px}.bento-copy,.bento-tropics .bento-copy{padding:30px 26px}.bento-copy h3,.bento-satellite .bento-copy h3,.bento-outlook .bento-copy h3{font-size:36px}.bento-radar figure{width:255px;right:50%;bottom:-245px;transform:translateX(50%) rotate(2deg)}.bento-radar:hover figure{transform:translateX(50%) translateY(-8px)}.bento-satellite,.bento-outlook{height:470px}.bento-satellite figure,.bento-outlook figure{right:50%;bottom:-310px;transform:translateX(50%) rotate(3deg)}.bento-tropics{display:block;height:600px}.bento-tropics figure{width:250px;right:50%;bottom:-360px;transform:translateX(50%) rotate(3deg)}
  .focus-story{padding:105px 0}.focus-copy{text-align:left}.focus-device{min-height:620px}.focus-device figure{width:270px;border-radius:44px}.focus-device img{border-radius:36px}.focus-halo{width:440px;height:440px}.focus-chip{min-width:150px;padding:12px}.focus-chip-top{right:-4%;top:20%}.focus-chip-bottom{left:-4%;bottom:20%}
  .pro-showcase{padding:110px 0 90px}.pro-devices{gap:10px;margin-top:70px;align-items:center}.pro-device{width:31vw}.pro-device-featured{width:38vw}.pro-device:nth-child(1),.pro-device:nth-child(3){transform:translateY(35px)}.pro-device img{padding:4px;border-radius:28px}.pro-device figcaption strong{font-size:12px}.pro-pills{margin-top:80px}.closing-section{padding:40px 0 100px}.closing-card{padding:70px 20px;border-radius:30px}
}

/* Preserve native app-capture proportions inside device frames. */
.real-device {
  width: min(342px, 72vw);
  padding: 7px;
  border: 1px solid rgba(224, 242, 252, .38);
  border-radius: 54px;
  background: linear-gradient(145deg, #d8e6ed 0%, #7893a3 8%, #233845 22%, #071119 67%, #8ca7b6 94%);
  box-shadow: 0 60px 130px rgba(0,0,0,.58), 0 0 95px rgba(24,156,230,.13), inset 0 1px 1px rgba(255,255,255,.55);
}
.real-device .screen {
  position: relative;
  height: auto;
  aspect-ratio: auto;
  overflow: hidden;
  border: 1px solid rgba(1, 8, 13, .9);
  border-radius: 46px;
  background: #07131d;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.real-device .screen img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center top;
  border-radius: 44px;
}
.real-device .screen:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px rgba(255,255,255,.15), inset 0 0 18px rgba(3,12,19,.08);
}
.radar-device { width: min(350px, 72vw); }
@media(max-width:600px){
  .real-device,.radar-device{width:min(82vw,342px)}
}

/* Three-column Free/Pro entitlement matrix. */
.entitlement-table { min-width: 820px; }
.entitlement-table th:first-child { width: 58%; }
.entitlement-table th:nth-child(2),
.entitlement-table th:nth-child(3) { width: 21%; }
.entitlement-table tbody th {
  padding: 17px 20px;
  border-bottom: 1px solid var(--border);
  color: var(--silver);
  font-size: 14px;
  font-weight: 600;
}
.entitlement-table td { color: var(--ice); font-size: 14px; }
.entitlement-table .included { color: var(--mint); font-size: 18px; font-weight: 900; }
.entitlement-table .not-included { color: var(--slate); }
@media(max-width:600px){
  .entitlement-table { display: table; min-width: 700px; }
  .entitlement-table thead { position: static; width: auto; overflow: visible; clip: auto; }
  .entitlement-table tbody,.entitlement-table tr,.entitlement-table td,.entitlement-table th { display: table-cell; width: auto; }
  .entitlement-table tr { display: table-row; }
  .entitlement-table tbody { display: table-row-group; }
  .entitlement-table thead { display: table-header-group; }
  .entitlement-table td:before { display: none !important; }
  .entitlement-table th:first-child { width: 58%; }
}
