:root {
  color-scheme: dark;
  --bg: #100d14;
  --panel: #19141e;
  --panel-raised: #211927;
  --border: #302735;
  --text: #f8f3f9;
  --muted: #aca0b0;
  --accent: #edb1f5;
  --accent-ink: #26152c;
  --focus: #f3bafa;
  --radius: 16px;
  --font: Geist, Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
h1, h2, h3, p, figure { margin: 0; }
.container { width: min(100% - 88px, 1240px); margin-inline: auto; }
.visually-hidden, .skip-link:not(:focus) {
  position: absolute;
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}
.skip-link:focus {
  position: fixed;
  z-index: 10;
  top: 12px;
  left: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--accent);
  color: var(--accent-ink);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 5;
  border-bottom: 1px solid #2a222e;
  background: #100d14f4;
  backdrop-filter: blur(18px);
}
.header-inner {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}
.wordmark {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 24px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: -.055em;
  white-space: nowrap;
}
.brand-dot { color: var(--accent); }
.brand-mark {
  display: grid;
  grid-template-columns: repeat(2, 7px);
  grid-template-rows: repeat(2, 7px);
  gap: 2px;
  rotate: -9deg;
  transform: translateY(1px);
}
.brand-mark i { border-radius: 2px; background: var(--accent); }
.brand-mark i:nth-child(2) { opacity: .54; }
.brand-mark i:nth-child(3) { opacity: .78; }
.site-nav { display: flex; align-items: center; gap: 34px; font-size: 14px; }
.site-nav a, .site-footer nav a { color: var(--muted); transition: color .15s ease; }
.site-nav a:hover, .site-footer nav a:hover, .site-nav a[aria-current="page"] { color: var(--text); }
.mobile-support { display: none; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 670;
  font-size: 14px;
  line-height: 1.25;
  text-align: center;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.button-primary { background: var(--accent); color: var(--accent-ink); }
.button-primary:hover { background: #f7cafb; }
.button-secondary { border-color: #413546; background: #1b1521; color: var(--text); }
.button-secondary:hover { border-color: #866792; background: #291e30; }
.button[aria-disabled="true"], .button:disabled { cursor: default; opacity: .56; }
.header-account { justify-self: end; min-height: 38px; padding-inline: 13px; font-size: 13px; white-space: nowrap; }
.profile-icon { position: relative; display: inline-block; width: 14px; height: 16px; color: var(--accent); }
.profile-icon::before, .profile-icon::after { content: ""; position: absolute; border: 1.3px solid currentColor; }
.profile-icon::before { top: 1px; left: 4px; width: 6px; height: 6px; border-radius: 50%; }
.profile-icon::after { bottom: 1px; left: 1px; width: 12px; height: 6px; border-radius: 8px 8px 3px 3px; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(26px, 4.5vw, 73px);
  padding-top: 48px;
  padding-bottom: 32px;
}
.hero-copy { padding-block: 10px; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 660;
  letter-spacing: .075em;
}
.signal { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px #edb1f577; }
.hero h1 {
  margin-top: 19px;
  font-size: clamp(45px, 4.85vw, 76px);
  line-height: 1.135;
  font-weight: 780;
  letter-spacing: -.077em;
}
.hero h1 span { color: var(--accent); background: linear-gradient(105deg, #f3baf6, #a89af5); background-clip: text; -webkit-text-fill-color: transparent; }
.hero-description { margin-top: 24px; color: #b8adbf; font-size: clamp(14px, 1.35vw, 17px); line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 27px; }
.hero-actions .button { min-height: 48px; }
.hero-actions .button span, .plan-action span, .team-banner .button span { font-size: 17px; }
.hero-figure {
  min-width: 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 17px;
  border: 1px solid #382b40;
  background: radial-gradient(ellipse at 72% 59%, #412644, #1a1323 56%, #100d15 94%);
  aspect-ratio: 1.49;
}
.hero-figure::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 50% 0 0;
  background: linear-gradient(0deg, #130d18ec 0%, transparent 78%);
}
.hero-image { position: absolute; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-corners { position: absolute; inset: 15px; pointer-events: none; }
.hero-corners i { position: absolute; display: block; width: 13px; height: 13px; border: 0 solid #d6adde69; }
.hero-corners i:nth-child(1) { top: 0; left: 0; border-width: 1px 0 0 1px; }
.hero-corners i:nth-child(2) { top: 0; right: 0; border-width: 1px 1px 0 0; }
.hero-corners i:nth-child(3) { bottom: 0; left: 0; border-width: 0 0 1px 1px; }
.hero-corners i:nth-child(4) { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
.figure-caption { position: absolute; left: 29px; right: 29px; bottom: 25px; display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.figure-caption strong { font-size: clamp(14px, 1.5vw, 20px); font-weight: 660; letter-spacing: -.03em; }
.figure-caption span { display: flex; align-items: center; gap: 8px; font: 11px/1.5 var(--mono); color: #d4c0da; white-space: nowrap; }
.figure-caption i { width: 3px; height: 3px; border-radius: 50%; background: var(--accent); }

.feature-strip {
  list-style: none;
  margin: 0;
  padding: 0 0 0 2px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--border);
}
.feature-strip li { display: flex; align-items: center; gap: 15px; min-height: 83px; padding: 12px 22px; }
.feature-strip li + li { border-left: 1px solid var(--border); }
.feature-strip strong, .feature-strip li div > span { display: block; }
.feature-strip strong { font-size: 14px; }
.feature-strip li div > span { margin-top: 2px; color: var(--muted); font-size: 12px; }
.feature-icon { position: relative; display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; color: var(--accent); }
.device-icon { position: relative; display: grid; place-items: center; }
.device-icon::before { content: ""; width: 23px; height: 14px; border: 1.5px solid currentColor; border-radius: 4px; }
.device-icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: currentColor; transform: translate(5px, 1px); }
.network-icon::before, .network-icon::after { content: ""; position: absolute; border: 1.5px solid currentColor; border-color: currentColor transparent transparent; border-radius: 50%; }
.network-icon::before { width: 29px; height: 22px; top: 8px; }
.network-icon::after { width: 17px; height: 14px; top: 13px; }
.network-icon { background: radial-gradient(circle at 50% 67%, currentColor 1.6px, transparent 2px); }
.spark-icon { font-size: 27px; }

.section { padding-top: 82px; }
.section-heading { margin-bottom: 25px; }
.section h2 { font-size: clamp(29px, 3.25vw, 44px); letter-spacing: -.055em; font-weight: 740; line-height: 1.25; }
.section-heading p, .device-copy > p:not(.eyebrow) { margin-top: 9px; color: var(--muted); }
.plan-heading { display: flex; gap: 20px; justify-content: space-between; align-items: end; flex-wrap: wrap; }
.plan-config { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; min-width: 0; }
.catalog-country { display: grid; min-width: 110px; max-width: 180px; gap: 7px; }
.catalog-country > span, .speed-field legend { color: #e6dce9; font-size: 12px; font-weight: 650; }
.catalog-country select { min-width: 0; min-height: 41px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #18131e; font-size: 13px; }
.catalog-country select:disabled { color: var(--muted); }
.speed-field { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.speed-field legend { padding: 0; margin-bottom: 7px; }
.speed-control { min-height: 41px; display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 9px; padding: 4px; gap: 2px; background: #18131e; }
.speed-control > span { padding: 2px 12px; color: var(--muted); font-size: 12px; }
.speed-option { position: relative; cursor: pointer; }
.speed-option input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: inherit; }
.speed-option span { display: block; min-width: 65px; text-align: center; border-radius: 5px; padding: 4px 9px; color: var(--muted); font: 13px/1.75 var(--mono); font-weight: 550; }
.term-option span { min-width: 49px; font-family: var(--font); }
.speed-option input:hover + span { color: var(--text); }
.speed-option input:checked + span { color: #fae8ff; background: #4a3455; }
.speed-option input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: -2px; }
.plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.plan-card {
  display: flex;
  flex-direction: column;
  align-items: start;
  padding: clamp(19px, 2.25vw, 28px);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.plan-featured { border-color: #8a6195; background: linear-gradient(155deg, #2a1e33, #1b1522 58%); }
.plan-icon {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid #543e5d;
  background: #34243d;
  color: var(--accent);
  font-size: 25px;
  line-height: 1;
}
.plan-icon .device-icon { width: 100%; height: 100%; }
.plan-icon .ultra-icon { font-size: 31px; }
.plan-card h3 { margin-top: 15px; font-size: clamp(19px, 2.2vw, 26px); font-weight: 725; letter-spacing: -.045em; }
.plan-card > p { margin-top: 3px; color: var(--muted); font-size: 13px; }
.plan-card .plan-policy { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #ffccad; font-size: 12px; font-weight: 650; }
.plan-policy::before { content: ""; flex: 0 0 7px; height: 7px; border-radius: 50%; background: #ff646f; }
.price { padding-top: 20px; line-height: 1.15; }
.price strong { font-size: clamp(30px, 3.55vw, 47px); font-weight: 735; font-variant-numeric: tabular-nums; letter-spacing: -.065em; white-space: nowrap; }
.price span { display: inline-block; margin-left: 4px; color: var(--muted); font-size: 13px; white-space: nowrap; }
.plan-card .plan-discount { margin-top: 8px; color: var(--accent); font-size: 12px; }
.plan-action { justify-content: space-between; width: 100%; margin-top: 21px; }
.plan-sold-out { justify-content: center; border-color: var(--border); background: var(--bg); color: #e7c7b7; }
.plan-features { display: grid; width: 100%; gap: 8px; margin: 20px 0 0; padding: 17px 0 0; border-top: 1px solid var(--border); list-style: none; color: #ddd2e1; font-size: 13px; }
.plan-features li { position: relative; padding-left: 19px; }
.plan-features li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); }

.catalog-error { margin: 0 0 10px; color: #ffb3c4; }
#retry-catalog { margin-bottom: 13px; }
.team-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-top: 16px;
  padding: 18px clamp(20px, 3.2vw, 34px);
  border: 1px solid #503951;
  border-radius: var(--radius);
  background: linear-gradient(100deg, #251b2c, var(--panel) 70%);
}
.team-banner h3 { font-size: clamp(17px, 2vw, 21px); line-height: 1.35; }
.team-banner p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.team-banner .button { flex-shrink: 0; }

.device-panel {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 40px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: clamp(26px, 4.5vw, 58px);
  background: radial-gradient(ellipse at 4% 20%, #281d30, transparent 60%), var(--panel);
}
.device-copy .eyebrow { margin-bottom: 10px; }
.device-copy p { max-width: 32em; }
.network-panel { margin-top: 16px; }
.network-panel .device-copy strong { color: var(--text); font-size: 17px; }
.network-options {
  min-width: 0;
  padding: 14px clamp(10px, 1.8vw, 17px);
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #15101991;
}
.network-options h3 { color: var(--muted); font-size: 12px; font-weight: 600; }
.network-options ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.network-options li { padding: 6px 2px; text-align: center; border-radius: 6px; background: var(--panel-raised); font-size: clamp(14px, 2vw, 21px); font-weight: 650; }
.network-options li span { display: block; color: var(--muted); font-size: 11px; font-weight: 500; }
.text-link { color: var(--accent); display: inline-block; margin-top: 15px; font-weight: 650; }
.text-link:hover { text-decoration: underline; }
.specs { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid var(--border); border-radius: 11px; background: #15101991; }
.specs div { padding: 14px 17px; }
.specs div:nth-child(even) { border-left: 1px solid var(--border); }
.specs div:nth-child(n+3) { border-top: 1px solid var(--border); }
.specs dt { font-size: 12px; color: var(--muted); }
.specs dd { margin: 4px 0 0; font-size: clamp(13px, 1.5vw, 19px); font-weight: 650; }
.rental-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: rental-step;
}
.rental-steps li {
  counter-increment: rental-step;
  padding: clamp(15px, 2.3vw, 24px);
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
}
.rental-steps li::before {
  content: counter(rental-step, decimal-leading-zero);
  display: block;
  margin-bottom: 10px;
  color: var(--accent);
  font: 600 12px/1.4 var(--mono);
  letter-spacing: .04em;
}
.rental-steps h3 { font-size: clamp(15px, 1.9vw, 19px); line-height: 1.35; }
.rental-steps p { margin-top: 6px; color: var(--muted); font-size: 13px; }
.delivery-note {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 13px;
  margin-top: 14px;
  padding: 12px 16px;
  border-left: 2px solid #9b6ba6;
  border-radius: 0 8px 8px 0;
  background: #1e1724;
  color: #ded1e1;
  font-size: 13px;
}
.delivery-note > strong { color: var(--text); }
.inline-link { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.inline-link:hover { color: #f7d1fa; }
.wechat-id { color: #a9e9bd; font-family: var(--mono); white-space: nowrap; }
.hero-support { display: inline-flex; align-items: baseline; gap: 8px; margin-top: 14px; color: var(--muted); font-size: 13px; }
.hero-support:hover { text-decoration: underline; text-underline-offset: .2em; }
.hero-support .wechat-id { font-size: 16px; }
.delivery-wechat { white-space: nowrap; }
.faq { display: grid; grid-template-columns: 1fr 1.8fr; gap: 34px; }
.questions { border-top: 1px solid var(--border); }
.questions details { border-bottom: 1px solid var(--border); }
.questions summary { min-height: 61px; display: flex; justify-content: space-between; align-items: center; gap: 15px; list-style: none; cursor: pointer; font-weight: 640; }
.questions summary::-webkit-details-marker { display: none; }
.questions summary span { flex: 0 0 15px; width: 15px; height: 15px; position: relative; color: var(--accent); }
.questions summary span::before, .questions summary span::after { content: ""; position: absolute; width: 11px; height: 1px; left: 2px; top: 7px; background: currentColor; }
.questions summary span::after { rotate: 90deg; }
.questions details[open] summary span::after { display: none; }
.questions p { margin: -3px 30px 16px 0; color: var(--muted); font-size: 14px; }
.support-section { margin-bottom: 65px; }
.support-panel {
  display: grid;
  grid-template-columns: minmax(290px, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: clamp(22px, 5vw, 68px);
  padding: clamp(24px, 4.5vw, 54px);
  border: 1px solid #503951;
  border-radius: var(--radius);
  background: radial-gradient(ellipse at 3% 0%, #302039, transparent 62%), var(--panel);
}
.support-heading { margin-bottom: 0; }
.support-wechat {
  display: grid;
  grid-template-columns: minmax(100px, 45%) minmax(0, 1fr);
  align-items: center;
  gap: clamp(10px, 2vw, 20px);
  width: min(100%, 365px);
  margin-top: 18px;
  padding: clamp(12px, 2vw, 18px);
  border: 1px solid #3c604c;
  border-radius: 11px;
  background: #17251e;
}
.support-wechat:has(.support-wechat-qr[hidden]) { grid-template-columns: minmax(0, 1fr); }
.support-wechat-info { display: grid; justify-items: start; gap: 4px; }
.support-wechat-label { color: #d1e8d8; font-size: 13px; font-weight: 650; }
.support-wechat-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 16px; }
.support-wechat .wechat-id { font-size: clamp(22px, 3vw, 29px); line-height: 1.2; }
.support-wechat-info .support-wechat-scan { margin: 0; color: #c0d6c7; font-size: 12px; }
.support-copy { min-height: 36px; padding: 5px 10px; font-size: 12px; }
.support-wechat .support-copy { margin-top: 4px; }
.support-wechat-qr { width: min(100%, 218px); margin-top: 14px; }
.support-wechat .support-wechat-qr { width: 100%; margin: 0; }
.support-wechat-qr a { display: block; border-radius: 8px; }
.support-wechat-qr img { width: 100%; height: auto; border-radius: inherit; }
.support-wechat-qr figcaption { margin-top: 6px; color: #c0d6c7; font-size: 13px; text-align: center; }
.support-wechat .support-feedback:empty { display: none; }
.support-form h3 { font-size: clamp(18px, 2.2vw, 22px); }
.support-form-intro { margin: 4px 0 14px; color: var(--muted); font-size: 13px; }
.support-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px 15px;
  min-inline-size: 0;
  margin: 0 0 17px;
  padding: 0;
  border: 0;
}
.support-fields label { display: grid; gap: 6px; color: #eee4f1; font-size: 13px; font-weight: 620; }
.support-fields :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #49384e;
  border-radius: 8px;
  background: #141019;
  color: var(--text);
  font-size: 14px;
  font-weight: 400;
}
.support-fields :is(input, textarea)::placeholder { color: var(--muted); }
.support-fields textarea { resize: vertical; }
.support-wide { grid-column: 1 / -1; }
.support-attachment {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #1c1522;
  font-size: 13px;
}
.support-attachment :is(strong, span, small) { display: block; }
.support-attachment span { overflow-wrap: anywhere; }
.support-attachment small { color: var(--muted); }
.support-remove { padding: 3px 0; border: 0; background: none; white-space: nowrap; }
.support-feedback { color: #cde7c0; font-size: 13px; overflow-wrap: anywhere; }
.support-feedback:not(:empty) { margin-top: 11px; }
.support-error { color: #ffb3c4; }
.site-footer { border-top: 1px solid var(--border); }
.footer-inner { min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.footer-inner .wordmark { font-size: 21px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 10px 23px; font-size: 13px; }
.floating-support-footer { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
.floating-support {
  --support-edge: clamp(12px, 3vw, 28px);
  --support-bottom: calc(var(--support-edge) + env(safe-area-inset-bottom, 0px));
  --support-right: calc(var(--support-edge) + env(safe-area-inset-right, 0px));
  --support-panel-bottom: calc(var(--support-bottom) + 60px);
  position: fixed;
  z-index: 6;
  right: var(--support-right);
  bottom: var(--support-bottom);
}
.floating-support-trigger { min-height: 50px; border-radius: 999px; box-shadow: 0 6px 24px #0008; }
.floating-support-panel {
  position: fixed;
  inset: auto var(--support-right) var(--support-panel-bottom) auto;
  width: min(310px, calc(100% - var(--support-right) - var(--support-edge) - env(safe-area-inset-left, 0px)));
  max-height: calc(100vh - var(--support-panel-bottom) - var(--support-edge));
  max-height: calc(100dvh - var(--support-panel-bottom) - var(--support-edge) - env(safe-area-inset-top, 0px));
  margin: 0;
  padding: 14px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #503951;
  border-radius: var(--radius);
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 12px 42px #0009;
}
.floating-support-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.floating-support-heading h2 { font-size: 19px; }
.floating-support-close { width: 44px; min-height: 44px; padding: 0; font-size: 23px; }
.floating-support-panel .wechat-id { font-size: 24px; user-select: all; }
.support-wechat .wechat-id, .floating-support-panel .wechat-id { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.floating-support-panel .support-copy { min-height: 44px; }
.floating-support-panel .support-wechat-qr { margin-inline: auto; }
.floating-support-consult { display: flex; margin-top: 12px; }

@media (max-width: 850px) {
  .support-panel { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1020px) {
  .container { width: calc(100% - 56px); }
  .hero { gap: 28px; }
  .hero h1 { font-size: clamp(39px, 5.1vw, 58px); }
  .desktop-break { display: none; }
  .section { padding-top: 66px; }
}

@media (max-width: 750px) {
  html { scroll-padding-top: 79px; }
  .container { width: calc(100% - 40px); }
  .header-inner { min-height: 62px; gap: 12px; }
  .site-nav { gap: 17px; font-size: 12px; }
  .hero { grid-template-columns: 1fr; gap: 27px; padding-top: 39px; padding-bottom: 22px; }
  .hero-copy { padding: 0; }
  .hero h1 { font-size: clamp(43px, 8.1vw, 63px); }
  .hero-description { margin-top: 16px; }
  .hero-actions { margin-top: 19px; }
  .hero-figure { aspect-ratio: 1.58; }
  .feature-strip li { gap: 7px; padding-inline: 8px; min-height: 73px; }
  .feature-strip li div > span { font-size: 11px; }
  .feature-icon { width: 27px; flex-basis: 27px; }
  .plan-heading { align-items: start; flex-direction: column; gap: 14px; }
  .plan-grid { gap: 10px; }
  .plan-card { padding: 15px; }
  .plan-card > p, .plan-features { font-size: 12px; }
  .device-panel { gap: 25px; }
  .faq { grid-template-columns: 1fr; gap: 0; }
  .faq .section-heading { margin-bottom: 15px; }
  .rental-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 545px) {
  .container { width: calc(100% - 32px); }
  .site-nav { display: none; }
  .header-inner { grid-template-columns: 1fr auto; }
  .store-header .header-inner { grid-template-columns: 1fr auto auto; }
  .store-header .mobile-support { display: grid; align-items: center; min-height: 38px; color: var(--muted); font-size: 13px; }
  .hero { padding-top: 31px; }
  .hero h1 { margin-top: 13px; }
  .hero-figure { aspect-ratio: 1.37; }
  .figure-caption { left: 22px; right: 22px; bottom: 19px; }
  .figure-caption span { font-size: 9px; gap: 5px; }
  .feature-strip { padding: 0; }
  .feature-strip li { flex-direction: column; align-items: flex-start; justify-content: start; gap: 2px; padding: 8px; }
  .feature-strip strong { font-size: 12px; }
  .feature-strip li div > span { line-height: 1.35; }
  .section { padding-top: 53px; }
  .plan-grid, .device-panel { grid-template-columns: 1fr; gap: 12px; }
  .plan-card { padding: 20px; }
  .price { padding-top: 15px; }
  .price strong { font-size: 42px; }
  .device-panel { padding: 20px; gap: 21px; }
  .team-banner { flex-direction: column; align-items: start; }
  .support-section { margin-bottom: 42px; }
  .support-panel { padding: 20px; }
  .support-fields { grid-template-columns: 1fr; }
  .support-fields :is(input, select, textarea) { font-size: 16px; }
  .footer-inner { flex-wrap: wrap; padding-block: 19px; }
}

@media (min-width: 546px) and (max-width: 650px) {
  .plan-grid { grid-template-columns: 1fr; }
  .plan-card { padding: 20px; }
}

@media (min-width: 651px) {
  @supports (grid-template-rows: subgrid) {
    .plan-grid { row-gap: 0; }
    .plan-card {
      display: grid;
      grid-row: span 7;
      grid-template-rows: subgrid;
    }
    .plan-icon { grid-row: 1; }
    .plan-card h3 { grid-row: 2; }
    .plan-card .price { grid-row: 3; }
    .plan-discount { grid-row: 4; }
    .plan-action { grid-row: 5; }
    .plan-features { grid-row: 6; }
    .plan-policy { grid-row: 7; }
  }
}

.price strong.price-long { font-size: clamp(22px, 2.9vw, 39px); }

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