:root {
  color-scheme: light;
  --bg: #fff;
  --surface: rgba(255, 255, 255, .96);
  --surface2: rgba(255, 255, 255, .9);
  --surface3: #f1f4f8;
  --ink: #17253b;
  --ink2: #344660;
  --muted: #53647a;
  --green: #245fce;
  --green-dark: #1d4fae;
  --mint: #f1f4f8;
  --mint2: #e9eef4;
  --section: #f2f4f7;
  --line: #8793a3;
  --white: #fff;
  --gold: #845300;
  --shadow: 0 22px 60px rgba(41, 73, 126, .12);
  --glass-border: #d5dce6;
  --glass-input: rgba(255, 255, 255, .96);
  --disabled-bg: #e8ecf2;
  --disabled-text: #53647a;
  --step-bg: #e8eef8;
  --step-ink: #1d4fae;
  --payment-bg: #f1f4f8;
  --payment-border: #c5cfdd;
  --payment-icon-bg: #e7f6ed;
  --payment-icon-ink: #17653b;
  --phone-cta-bg: #245fc2;
  --phone-cta-ink: #fff;
  --coming-bg: #fff6df;
  --coming-ink: #745214;
  --safety-bg: #fff6df;
  --safety-border: #d6b66c;
  --safety-title: #684600;
  --safety-ink: #634f2f;
  --summary-line: #8793a3;
  --summary-muted: #53647a;
  --status-bg: #e7f6ed;
  --status-ink: #17653b;
  --status-error-bg: #fdebed;
  --status-error-ink: #8d303c;
  --warning-bg: #fff6df;
  --warning-ink: #745214;
  --sidebar: #1b3454;
  --brand-image-filter: brightness(.4);
  background: var(--bg);
  color: var(--ink);
  transition: background-color .35s ease, color .35s ease;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0c1322;
  --surface: rgba(27, 39, 61, .72);
  --surface2: rgba(34, 48, 73, .72);
  --surface3: rgba(43, 59, 86, .74);
  --ink: #edf3ff;
  --ink2: #c8d5e9;
  --muted: #aab7cc;
  --green: #83aaff;
  --green-dark: #6c96f0;
  --mint: rgba(43, 63, 96, .62);
  --mint2: rgba(34, 52, 82, .6);
  --line: #64748b;
  --white: #17243b;
  --gold: #ffe0a0;
  --shadow: 0 28px 72px rgba(0, 0, 0, .35), 0 3px 14px rgba(0, 0, 0, .2);
  --glass-border: rgba(190, 211, 255, .2);
  --glass-input: rgba(12, 21, 37, .62);
  --disabled-bg: #202d43;
  --disabled-text: #aab7cc;
  --step-bg: #17382e;
  --step-ink: #83aaff;
  --payment-bg: #14251f;
  --payment-border: #29473a;
  --payment-icon-bg: #1a4334;
  --payment-icon-ink: #83aaff;
  --phone-cta-bg: #83aaff;
  --phone-cta-ink: #0c1322;
  --coming-bg: #352c1c;
  --coming-ink: #ffe0a0;
  --safety-bg: #292317;
  --safety-border: #4a3b24;
  --safety-title: #f3d49b;
  --safety-ink: #c6ad80;
  --summary-line: #2a3e3c;
  --summary-muted: #a2b5b0;
  --status-bg: rgba(31, 91, 62, .5);
  --status-ink: #a9f0c3;
  --status-error-bg: rgba(103, 42, 54, .45);
  --status-error-ink: #ffc1c9;
  --warning-bg: rgba(103, 76, 27, .43);
  --warning-ink: #ffe0a0;
  --sidebar: #141f34;
  --section: #131d30;
  --brand-image-filter: none;
}

* { scrollbar-color: rgba(127, 156, 204, .45) transparent; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(ellipse at 12% 0%, rgba(103, 156, 255, .18), transparent 34rem),
    radial-gradient(ellipse at 94% 55%, rgba(113, 193, 255, .11), transparent 34rem),
    var(--bg);
  transition: background-color .35s ease, color .35s ease;
}

body::before {
  z-index: 0;
  opacity: .45;
  background-image: radial-gradient(rgba(100, 131, 184, .15) .65px, transparent .65px);
  background-size: 7px 7px;
  mask-image: linear-gradient(to bottom, black, transparent 72%);
}

body > * { position: relative; z-index: 1; }

.site-glass, .glass-control {
  border: 1px solid var(--glass-border);
  background:
    radial-gradient(250px circle at var(--pointer-x, 50%) var(--pointer-y, 0%), rgba(255,255,255,.24), transparent 75%),
    linear-gradient(145deg, rgba(255,255,255,.16), transparent 42%),
    var(--surface);
  backdrop-filter: blur(26px) saturate(160%);
  -webkit-backdrop-filter: blur(26px) saturate(160%);
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.5);
}

.header {
  height: auto;
  padding: 12px 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.nav-row {
  position: relative;
  min-height: 68px;
  height: auto;
  padding: 8px 15px 8px 17px;
  border: 1px solid var(--glass-border);
  border-radius: 21px;
  background:
    radial-gradient(320px circle at var(--pointer-x, 50%) var(--pointer-y, 0%), rgba(255,255,255,.24), transparent 75%),
    linear-gradient(145deg, rgba(255,255,255,.18), transparent 48%),
    var(--surface);
  box-shadow: 0 14px 38px rgba(34, 67, 122, .1), inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter: blur(28px) saturate(165%);
  -webkit-backdrop-filter: blur(28px) saturate(165%);
  transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}

.brand-image { filter: var(--brand-image-filter, none); transition: transform .25s ease, filter .25s ease; }
.brand:hover .brand-image { transform: translateY(-1px); filter: var(--brand-image-filter, none) drop-shadow(0 5px 9px rgba(55, 110, 225, .16)); }
.nav { gap: clamp(11px, 1.5vw, 21px); color: var(--muted); }
.nav > a:not(.nav-button) { color: var(--muted); transition: color .2s ease, transform .2s ease; }
.nav > a:not(.nav-button):hover { color: var(--green); transform: translateY(-1px); }
.nav > a.is-active { color: var(--green); }

.nav-button {
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 13px;
  background: linear-gradient(110deg, #245fc2, #2f69c9 62%, #3b72cc);
  box-shadow: 0 8px 19px rgba(49,104,211,.22), inset 0 1px 1px rgba(255,255,255,.45);
  color: #fff;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.nav-button:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(49,104,211,.28), inset 0 1px 1px rgba(255,255,255,.5); filter: saturate(1.08); }
.nav-button span { margin-left: 8px; }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 82px;
  min-height: 39px;
  padding: 0 11px;
  border-color: var(--line);
  border-radius: 13px;
  color: var(--ink);
  cursor: pointer;
  font: 700 .73rem/1 'DM Sans', sans-serif;
  transition: transform .2s ease, color .25s ease, background-color .3s ease;
}

.theme-toggle:hover { transform: translateY(-1px); }
.theme-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.theme-icon-moon { display: none; fill: currentColor; stroke: none; }
[data-theme="dark"] .theme-icon-sun { display: none; }
[data-theme="dark"] .theme-icon-moon { display: block; }

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface2);
  color: var(--ink);
  cursor: pointer;
  transition: transform .2s ease, background-color .25s ease;
}

.nav-toggle:hover { transform: translateY(-1px); }

.hero, .page-hero {
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(ellipse at 78% 25%, rgba(72, 133, 240, .15), transparent 38%),
    radial-gradient(ellipse at 15% 100%, rgba(100, 209, 220, .08), transparent 37%),
    linear-gradient(145deg, rgba(255,255,255,.16), transparent 60%),
    var(--bg);
}

.hero-layout { animation: site-rise .75s cubic-bezier(.2,.75,.25,1) both; }
.hero:after { opacity: .08; background-image: linear-gradient(rgba(110,159,190,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(110,159,190,.2) 1px,transparent 1px); }
.eyebrow, .link-arrow { color: var(--green-dark); }
.hero h1 span, .page-hero h1 span { background-image: linear-gradient(100deg, var(--green-dark), var(--green) 64%); }
.hero-lede, .page-hero p { color: var(--muted); }
.hero-proof strong { color: var(--ink); }
.hero-proof small, .network-choice small { color: var(--muted); }
.proof-icons span { border-color: var(--bg); }
.live-dot { box-shadow: 0 0 0 4px var(--accent-soft, rgba(57,120,237,.13)); }

.hero-visual { animation: site-rise .8s .08s cubic-bezier(.2,.75,.25,1) both; }
.visual-blob { border-color: rgba(95,145,230,.22); background: radial-gradient(circle at 38% 28%,rgba(84,160,255,.22),rgba(55,112,194,.11) 55%,rgba(10,22,24,.02) 73%); box-shadow: inset 0 0 80px rgba(70,140,230,.07); }
.visual-ring { border-color: rgba(91,143,227,.22); }
.phone-title, .phone-data-ring b { color: #edf3ff; }
.phone-data-ring b span { color: #b8d1ff; }
.phone-cta { background: var(--phone-cta-bg); color: var(--phone-cta-ink); }
.decor { color: var(--green); }
.phone-frame { box-shadow: 0 35px 85px rgba(0,0,0,.38),0 0 55px rgba(45,130,220,.12); }
.floating-card, .network-card {
  border: 1px solid var(--glass-border);
  background: var(--surface);
  box-shadow: 0 18px 42px rgba(31,61,112,.16), inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  animation: site-float 6s ease-in-out infinite;
}
.network-card { animation-delay: -2.8s; }
.data-card b { color: var(--ink); }
.data-card small { color: var(--muted); }

.btn {
  border-radius: 13px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, filter .2s ease;
}
.btn:active, .nav-button:active { transform: translateY(0) scale(.985); }
.btn-primary {
  border: 1px solid rgba(255,255,255,.35);
  background: linear-gradient(110deg, #245fc2, #2f69c9 62%, #3b72cc);
  box-shadow: 0 10px 24px rgba(49,104,211,.24), inset 0 1px 1px rgba(255,255,255,.45);
  color: #fff;
}
.btn-primary:hover { background: linear-gradient(110deg, #2866d2, #306bc9 62%, #3b72cc); box-shadow: 0 13px 28px rgba(49,104,211,.29), inset 0 1px 1px rgba(255,255,255,.5); }
.btn-dark { border-color: var(--glass-border); background: var(--surface3); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.42); }
.btn-white { border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.9); color: #24436e; box-shadow: 0 8px 20px rgba(21,51,99,.14); }
.btn:focus-visible, .nav-button:focus-visible, .theme-toggle:focus-visible, .nav-toggle:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }

.network-band { border-color: var(--line); background: var(--section); }
.network-choice {
  border-color: var(--glass-border);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(41,73,126,.07), inset 0 1px 0 rgba(255,255,255,.48);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .3s ease;
}
.network-choice:hover { transform: translateY(-3px); border-color: rgba(95,145,230,.45); box-shadow: 0 14px 28px rgba(41,73,126,.13), inset 0 1px 0 rgba(255,255,255,.55); }
.network-choice b, .network-choice .choice-arrow { color: var(--ink); }
.section-tint { background: linear-gradient(180deg, var(--section), var(--bg)); }
.section-heading p, .catalogue-head p { color: var(--muted); }

.product-card, .benefit-card, .filter-card, .form-card, .summary-card, .empty-results {
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  background:
    radial-gradient(280px circle at var(--pointer-x, 50%) var(--pointer-y, 0%), rgba(255,255,255,.18), transparent 75%),
    linear-gradient(145deg, rgba(255,255,255,.2), transparent 46%),
    var(--surface);
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.48);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
}

.product-card { transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease, background-color .3s ease; }
.product-card:before { background: radial-gradient(circle at 85% 0%, rgba(93,150,242,.14), transparent 40%); }
.product-card:hover { transform: translateY(-4px); border-color: rgba(95,145,230,.48); box-shadow: 0 22px 50px rgba(41,73,126,.18), inset 0 1px 0 rgba(255,255,255,.52); }
.popular-tag { border: 1px solid var(--line); border-radius: 18px; background: var(--surface3); color: var(--muted); }
.product-size, .product-price { color: var(--ink); }
.product-sub, .product-price small, .disclaimer { color: var(--muted); }
.product-rule { background: var(--line); }
.select-button, .reset-btn {
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 11px;
  background: linear-gradient(110deg, #245fc2, #2f69c9 62%, #3b72cc);
  box-shadow: 0 7px 16px rgba(49,104,211,.18), inset 0 1px 1px rgba(255,255,255,.4);
  color: #fff;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;
}
.select-button:hover:not(:disabled), .reset-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(49,104,211,.24), inset 0 1px 1px rgba(255,255,255,.48); }
.select-button:disabled { border-color: var(--line); background: var(--disabled-bg); box-shadow: none; color: var(--disabled-text); opacity: 1; cursor: not-allowed; }
.benefit-card { transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.benefit-card:hover { transform: translateY(-3px); border-color: rgba(95,145,230,.37); box-shadow: 0 17px 35px rgba(41,73,126,.12), inset 0 1px 0 rgba(255,255,255,.52); }
.benefit-card h3, .benefit-symbol { color: var(--ink); }
.benefit-card p { color: var(--muted); }

.cta-strip {
  border-color: rgba(91,137,210,.2);
  background:
    radial-gradient(ellipse at 75% 0%, rgba(112,164,255,.2), transparent 48%),
    linear-gradient(110deg, #294b7b, #274467 60%, #254653);
}
.cta-content h2, .cta-content p { color: #f4f7ff; }
.eyebrow-light { color: #c7dcff; }
.footer { border-color: var(--line); background: rgba(255,255,255,.2); }
.footer-main>p, .footer-bottom, .footer-bottom span:last-child { color: var(--muted); }
.footer-nav a { color: var(--muted); transition: color .2s ease; }
.footer-nav a:hover { color: var(--green-dark); }

.page-hero { padding: 57px 0 44px; }
.page-hero .eyebrow { color: var(--green-dark); }
.breadcrumbs { color: var(--muted); }
.breadcrumbs a { color: var(--green-dark); }
.catalogue-head .eyebrow { color: var(--green-dark); }
.search-field {
  border-color: var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 8px 22px rgba(41,73,126,.07), inset 0 1px 0 rgba(255,255,255,.48);
  color: var(--green-dark);
}
.search-field input { color: var(--ink); }
.search-field input::placeholder, input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.filter-card { position: sticky; top: 108px; }
.filter-title h3, .input-label { color: var(--ink); }
.reset-btn { padding: 8px 12px; cursor: pointer; font-weight: 700; }
.control {
  border-color: var(--line);
  border-radius: 12px;
  background: var(--glass-input);
  color: var(--ink);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .3s ease;
}
.control:focus, .search-field:focus-within { border-color: var(--green); box-shadow: 0 0 0 3px var(--green); }
.control:disabled { border-color: var(--line); background: var(--disabled-bg); color: var(--disabled-text); opacity: 1; cursor: not-allowed; }
.control option { background: var(--bg); color: var(--ink); }
.filter-note, .info-banner {
  border: 1px solid var(--glass-border);
  border-radius: 15px;
  background: var(--mint);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.filter-note b, .info-banner b { color: var(--ink); }
.filter-note p, .info-banner p { color: var(--muted); }
.network-legend { color: var(--muted); }
.empty-results { padding: 30px; }
.empty-results h3 { color: var(--ink); }
.empty-results p { color: var(--muted); }

.steps-large article {
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  margin: 10px 0;
  padding: 23px 25px;
  background: var(--surface);
  box-shadow: 0 12px 32px rgba(41,73,126,.08), inset 0 1px 0 rgba(255,255,255,.48);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.steps-large article:hover { transform: translateY(-2px); border-color: rgba(95,145,230,.4); box-shadow: 0 17px 38px rgba(41,73,126,.12), inset 0 1px 0 rgba(255,255,255,.5); }
.steps-large article:last-child { border-bottom: 1px solid var(--glass-border); }
.large-step { color: var(--green-dark); }
.step-illustration { color: var(--green-dark); }
.steps-large h2 { color: var(--ink); }
.steps-large p { color: var(--muted); }
.info-banner { margin-top: 28px; padding: 23px; }

.about-layout h2, .about-layout h3 { color: var(--ink); }
.check-list li { color: var(--muted); }
.warning-box {
  border: 1px solid rgba(220,169,73,.3);
  border-radius: 15px;
  background: var(--warning-bg);
  color: var(--warning-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
}
.warning-box b, .warning-box p { color: var(--warning-ink); }
.step-pill { background: var(--step-bg); color: var(--step-ink); }
.payment-preview { border-color: var(--payment-border); background: var(--payment-bg); }
.payment-preview b { color: var(--ink); }
.payment-preview p { color: var(--muted); }
.payment-preview-icon { background: var(--payment-icon-bg); color: var(--payment-icon-ink); }
.coming-soon { background: var(--coming-bg); color: var(--coming-ink); }
.safety-note { border-color: var(--safety-border); background: var(--safety-bg); }
.safety-note b { color: var(--safety-title); }
.safety-note p { color: var(--safety-ink); }
.summary-line, .summary-total { border-top-color: var(--summary-line); }
.summary-line { color: var(--summary-muted); }
.summary-line b { color: var(--ink); }
.contact-detail {
  padding: 14px;
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(41,73,126,.06), inset 0 1px 0 rgba(255,255,255,.48);
  transition: transform .2s ease, border-color .2s ease;
}
.contact-detail:hover { transform: translateY(-2px); border-color: rgba(95,145,230,.4); }
.contact-detail>span { background: var(--mint); color: var(--green-dark); }
.mint-icon { background: var(--payment-icon-bg); color: var(--payment-icon-ink); }
.contact-detail b { color: var(--ink); }
.contact-detail p { color: var(--muted); }
.form-card h2 { color: var(--ink); }
.form-card .muted, .muted { color: var(--muted); }
input.control, textarea.control, select.control { color: var(--ink); }
input.control:focus, textarea.control:focus, select.control:focus { border-color: var(--green); box-shadow: 0 0 0 3px var(--green); }
.status-message { border: 1px solid rgba(43,140,82,.2); background: var(--status-bg); color: var(--status-ink); animation: site-status-in .32s ease both; }
.status-message[data-state="error"] { border-color: rgba(190,77,91,.32); background: var(--status-error-bg); color: var(--status-error-ink); }
.status-message[data-state="warning"] { border-color: var(--safety-border); background: var(--warning-bg); color: var(--warning-ink); }

.glass-select { position: relative; width: 100%; min-width: 0; }
.glass-select-native {
  display: none !important;
}

.glass-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 46px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.2), transparent 58%),
    var(--glass-input, var(--surface2));
  box-shadow: inset 0 1px 2px rgba(20,39,73,.04);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: .84rem;
  text-align: left;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .3s ease;
}

.glass-select-trigger:hover:not(:disabled) {
  transform: none;
  border-color: rgba(95,145,230,.42);
  box-shadow: 0 5px 14px rgba(41,73,126,.09), inset 0 1px 0 rgba(255,255,255,.45);
  filter: none;
}

.glass-select-trigger:focus-visible,
.glass-select.is-open .glass-select-trigger {
  border-color: var(--green);
  outline: none;
  box-shadow: 0 0 0 3px var(--green), inset 0 1px 0 rgba(255,255,255,.4);
}

.glass-select-trigger:disabled { border-color: var(--line); background: var(--disabled-bg); color: var(--disabled-text); cursor: not-allowed; opacity: 1; }
.glass-select-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.glass-select-chevron { width: 8px; height: 8px; flex: 0 0 8px; border-right: 1.7px solid currentColor; border-bottom: 1.7px solid currentColor; opacity: .75; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.glass-select.is-open .glass-select-chevron { transform: translateY(2px) rotate(225deg); }

.glass-select-menu {
  position: fixed;
  z-index: 10000;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--glass-border, rgba(190,211,255,.25));
  border-radius: 16px;
  background:
    radial-gradient(260px circle at var(--pointer-x, 50%) var(--pointer-y, 0%), rgba(255,255,255,.2), transparent 75%),
    linear-gradient(145deg, rgba(255,255,255,.22), transparent 52%),
    var(--surface, rgba(27,39,61,.9));
  box-shadow: 0 22px 55px rgba(25,48,88,.24), inset 0 1px 0 rgba(255,255,255,.55);
  color: var(--ink, #edf3ff);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overscroll-behavior: contain;
  animation: glass-select-in .18s cubic-bezier(.2,.75,.25,1) both;
}

.glass-select-menu[hidden] { display: none !important; }
.glass-select-menu.opens-above { transform-origin: bottom center; }
.glass-select-option { position: relative; min-height: 42px; padding: 10px 37px 10px 12px; border: 1px solid transparent; border-radius: 10px; color: var(--ink, #edf3ff); cursor: pointer; font-size: .86rem; line-height: 1.35; transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
.glass-select-option:hover, .glass-select-option.is-active { border-color: rgba(113,157,228,.16); background: var(--surface3, rgba(113,157,228,.18)); }
.glass-select-option[aria-selected="true"] { color: var(--green-dark, var(--accent, #6c96f0)); font-weight: 750; }
.glass-select-option[aria-selected="true"]::after { position: absolute; top: 50%; right: 13px; content: "✓"; font-size: .85rem; transform: translateY(-50%); }
.glass-select-option.is-disabled { background: var(--disabled-bg); color: var(--disabled-text); cursor: not-allowed; opacity: 1; }
.glass-select-error { display: none; margin: 6px 2px 0; color: #a12e40; font-size: .75rem; line-height: 1.4; }
:root[data-theme="dark"] .glass-select-error { color: #ffc1c9; }
.glass-select.has-error .glass-select-trigger { border-color: #c44b5d; box-shadow: 0 0 0 3px rgba(196,75,93,.14); }
.glass-select.has-error .glass-select-error { display: block; }

:root[data-theme="dark"] .glass-select-menu { background-color: rgba(27,39,61,.92); }

@supports not ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))) {
  .glass-select-menu { background: #fff; }
  :root[data-theme="dark"] .glass-select-menu { background: #1b273d; }
}

@keyframes glass-select-in { from { opacity: 0; transform: translateY(-4px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }

:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }

@keyframes site-rise { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@keyframes site-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes site-status-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1000px) {
  .nav { gap: 13px; }
  .theme-toggle { min-width: 40px; padding: 0 9px; }
  .nav-row { padding-right: 12px; padding-left: 13px; }
}

@media (max-width: 700px) {
  .header { height: auto; padding: 10px 0; }
  .nav-row { min-height: 62px; padding: 7px 10px 7px 13px; border-radius: 18px; }
  .nav-toggle { display: grid; margin-left: auto; }
  .nav {
    display: none;
    position: absolute;
    z-index: 60;
    top: calc(100% + 9px);
    right: 0;
    left: 0;
    align-items: stretch;
    gap: 3px;
    padding: 12px;
    border: 1px solid var(--glass-border);
    border-radius: 19px;
    background:
      radial-gradient(250px circle at var(--pointer-x, 50%) var(--pointer-y, 0%), rgba(255,255,255,.2), transparent 75%),
      linear-gradient(145deg, rgba(255,255,255,.18), transparent 48%),
      var(--surface);
    box-shadow: 0 20px 48px rgba(28,55,100,.2), inset 0 1px 0 rgba(255,255,255,.55);
    backdrop-filter: blur(28px) saturate(165%);
    -webkit-backdrop-filter: blur(28px) saturate(165%);
  }
  .nav.open { display: flex; }
  .nav > a:not(.nav-button) { padding: 11px 12px; border-radius: 11px; color: var(--ink2); }
  .nav > a:not(.nav-button):hover, .nav > a.is-active { background: var(--surface3); color: var(--green-dark); }
  .nav .nav-button { margin-top: 5px; padding: 12px; text-align: center; }
  .nav > .theme-toggle { align-self: flex-start; margin: 5px 0; }
}

@media (max-width: 520px) {
  .container { width: min(100% - 28px, 540px); }
  .page-hero { padding: 39px 0 31px; }
  .page-hero h1 { font-size: clamp(2.2rem, 11vw, 2.65rem); }
  .steps-large article { padding: 19px 15px; }
  .contact-detail { padding: 12px; }
  .form-card { border-radius: 18px; }
}

@media (hover: none) {
  .floating-card, .network-card { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
