:root { color-scheme: dark; --bg: #070914; --panel: #0d1020; --ink: #f3f5ff; --muted: #a0a6bd; --line: rgba(200, 212, 255, .13); --cyan: #31d9e7; --blue: #6287ff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Manrope, Inter, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.topbar { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; max-width: 1320px; margin: auto; padding: 26px clamp(22px, 6vw, 88px); }
.wordmark { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 auto; }
.wordmark img { display: block; width: 100%; height: 100%; object-fit: contain; }
nav, .top-actions { display: flex; align-items: center; gap: clamp(18px, 3vw, 40px); }
nav a, .contact-link, .language-toggle { color: #c2c7d9; font-size: 12px; font-weight: 600; }
nav a:hover, .contact-link:hover { color: var(--cyan); }
.language-toggle { border: 1px solid var(--line); border-radius: 99px; padding: 8px 12px; background: transparent; cursor: pointer; }
.contact-link { color: var(--ink); }
.hero { position: relative; display: flex; min-height: min(760px, calc(100vh - 82px)); flex-direction: column; justify-content: center; overflow: hidden; max-width: 1320px; margin: auto; padding: 90px clamp(22px, 10vw, 150px) 80px; }
.hero-glow { position: absolute; z-index: -1; top: 3%; right: -14%; width: min(700px, 75vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(37, 92, 170, .28), rgba(11, 27, 68, .15) 42%, transparent 70%); filter: blur(18px); }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; color: #8992b0; font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px rgba(49, 217, 231, .8); }
h1 { max-width: 850px; margin: 0; font-size: clamp(48px, 8.5vw, 106px); line-height: .99; letter-spacing: -.075em; font-weight: 600; }
.hero-copy { max-width: 550px; margin: 28px 0 0; color: var(--muted); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.8; }
.primary-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; width: fit-content; margin-top: 34px; padding: 14px 18px; border: 1px solid rgba(102, 187, 255, .35); border-radius: 6px; background: linear-gradient(110deg, rgba(49, 217, 231, .12), rgba(98, 135, 255, .18)); font-size: 12px; font-weight: 700; transition: transform .2s, border-color .2s; }
.primary-button:hover { transform: translateY(-2px); border-color: var(--cyan); }
.primary-button span:last-child { color: var(--cyan); font-size: 16px; }
.hero-foot { display: flex; justify-content: space-between; max-width: 780px; margin-top: auto; padding-top: 72px; color: #747b96; font-size: 10px; letter-spacing: .04em; }
.section-shell { max-width: 1140px; margin: auto; padding: 110px clamp(22px, 7vw, 90px); }
.services { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 110px); border-top: 1px solid var(--line); }
.section-intro h2, .approach h2 { margin: 0; font-size: clamp(34px, 5vw, 58px); line-height: 1.06; letter-spacing: -.06em; font-weight: 600; }
.section-intro .eyebrow { margin-bottom: 24px; }
.service-list { border-top: 1px solid var(--line); }
.service-card { display: grid; grid-template-columns: 42px 1fr 20px; gap: 18px; align-items: start; padding: 27px 0; border-bottom: 1px solid var(--line); }
.service-index { padding-top: 4px; color: var(--cyan); font-size: 10px; }
.service-card h3 { margin: 0 0 8px; font-size: 17px; font-weight: 600; letter-spacing: -.025em; }
.service-card p { max-width: 490px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.card-arrow { color: #727b9b; transition: color .2s, transform .2s; }
.service-card:hover .card-arrow { color: var(--cyan); transform: translate(2px, -2px); }
.pricing { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 110px); border-top: 1px solid var(--line); }
.price-list { border-top: 1px solid var(--line); }
.price-list article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); color: #c2c7d9; font-size: 13px; }
.price-list article.recommended { flex-wrap: wrap; margin: 6px -14px; padding: 14px; border: 1px solid rgba(49, 217, 231, .34); border-radius: 8px; background: linear-gradient(105deg, rgba(49, 217, 231, .09), rgba(98, 135, 255, .07)); color: var(--ink); }
.price-list strong { color: var(--ink); font-size: 23px; font-weight: 600; letter-spacing: -.05em; }
.recommend-badge { display: inline-flex; align-items: center; border: 1px solid rgba(49, 217, 231, .28); border-radius: 99px; padding: 5px 9px; color: var(--cyan); font-size: 9px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.price-list > p { margin: 18px 0 0; color: #747b96; font-size: 11px; line-height: 1.7; }
.all-plans-link, .back-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; color: var(--cyan); font-size: 12px; font-weight: 700; }
.all-plans-link span:last-child { transition: transform .2s; }
.all-plans-link:hover span:last-child { transform: translate(2px, -2px); }
.plans-page { max-width: 1140px; min-height: calc(100vh - 155px); margin: auto; padding: 90px clamp(22px, 7vw, 90px) 120px; }
.plans-heading { max-width: 680px; margin-bottom: 54px; }
.plans-heading h1 { font-size: clamp(46px, 7vw, 82px); }
.plans-heading > p:last-child { max-width: 540px; margin: 24px 0 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.plan-card { position: relative; display: block; width: 100%; min-height: 225px; padding: 27px; border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,.008)); color: var(--ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
.plan-card.recommended-plan { border-color: rgba(49, 217, 231, .42); background: linear-gradient(135deg, rgba(49, 217, 231, .1), rgba(98, 135, 255, .08)); }
.plan-card:not([aria-pressed="true"]):hover, .plan-card:not([aria-pressed="true"]):focus-visible { border-color: var(--blue); background: linear-gradient(135deg, rgba(98, 135, 255, .16), rgba(49, 217, 231, .08)); transform: translateY(-2px); }
.plan-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.plan-card[aria-pressed="true"] { border-color: #43dc89; background: linear-gradient(135deg, rgba(67, 220, 137, .15), rgba(67, 220, 137, .06)); box-shadow: 0 0 24px rgba(67, 220, 137, .08); }
.plan-kicker { display: block; margin: 0 0 20px; color: #8992b0; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.plan-title { display: block; margin: 0; font-size: clamp(22px, 3vw, 30px); font-weight: 600; letter-spacing: -.05em; }
.plan-description { display: block; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.plan-price { display: flex; align-items: baseline; gap: 8px; margin: 22px 0 0; color: #8188a2; font-size: 11px; }
.plan-price strong { color: var(--ink); font-size: 31px; font-weight: 600; letter-spacing: -.06em; }
.recommended-plan .recommend-badge { position: absolute; top: 22px; right: 22px; }
.priority-note { display: inline-block; margin-top: 12px; color: var(--cyan); font-size: 10px; font-weight: 700; }
.selection-state { position: absolute; right: 24px; bottom: 35px; display: none; color: #43dc89; font-size: 10px; font-weight: 800; }
.plan-card[aria-pressed="true"] .selection-state { display: inline-block; }
.plan-card[aria-pressed="true"] .plan-kicker { color: #8be6b1; }
.plans-note { margin: 24px 0 0; color: #747b96; font-size: 11px; line-height: 1.7; }
.back-link { margin-top: 34px; color: #c2c7d9; }
.back-link:hover { color: var(--cyan); }
.approach { display: flex; align-items: end; justify-content: space-between; gap: 48px; padding-top: 90px; padding-bottom: 140px; }
.approach h2 em { color: var(--cyan); font-style: normal; }
.approach-copy { max-width: 390px; margin: 0 0 7px; color: var(--muted); font-size: 14px; line-height: 1.9; }
footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; max-width: 1320px; margin: auto; padding: 28px clamp(22px, 6vw, 88px); border-top: 1px solid var(--line); color: #747b96; font-size: 10px; }
footer .wordmark { color: var(--ink); }
footer p { margin: 0; }
@media (max-width: 720px) { .topbar { padding-top: 20px; padding-bottom: 20px; } nav { gap: 14px; } nav a { font-size: 10px; } .top-actions { gap: 14px; } .hero { min-height: 690px; padding-top: 84px; padding-bottom: 36px; } .hero-foot { gap: 24px; } .services, .pricing { grid-template-columns: 1fr; gap: 40px; } .section-shell { padding-top: 82px; padding-bottom: 82px; } .approach { display: block; } .approach-copy { margin-top: 28px; } .plans-page { padding-top: 70px; padding-bottom: 90px; } .plans-heading { margin-bottom: 38px; } .plan-grid { grid-template-columns: 1fr; } .plan-card { min-height: 205px; } footer { flex-wrap: wrap; } footer p { order: 3; width: 100%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } }
