@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --ink: #070a19;
  --panel: rgba(17, 20, 49, .66);
  --panel-strong: rgba(18, 21, 52, .9);
  --line: rgba(151, 130, 255, .34);
  --text: #f6f5ff;
  --muted: #b8bbd4;
  --blue: #4ab8ff;
  --violet: #9e73ff;
  --aqua: #5ae3dc;
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--text); background: var(--ink); font-family: Manrope, Arial, sans-serif; line-height: 1.65; }
body::before { content: ''; position: fixed; z-index: -2; inset: 0; background: radial-gradient(circle at 14% 12%, rgba(66, 119, 255, .19), transparent 28rem), radial-gradient(circle at 85% 31%, rgba(164, 81, 255, .17), transparent 30rem), linear-gradient(135deg, #080c1e 0%, #090a1e 48%, #130b26 100%); }
body::after { content: ''; position: fixed; z-index: -1; inset: 0; opacity: .25; pointer-events: none; background-image: linear-gradient(rgba(140, 169, 255, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 169, 255, .1) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent 70%); }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(159, 143, 255, .2); background: rgba(5, 8, 25, .72); backdrop-filter: blur(18px); }
.nav-wrap { width: min(1180px, calc(100% - 40px)); min-height: 78px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; }
.brand-logo { display: block; width: 145px; height: auto; max-height: 40px; object-fit: contain; object-position: left center; }
.nav-links { display: flex; align-items: center; gap: 8px; }
.nav-links a { display: grid; place-items: center; min-width: 76px; height: 42px; padding: 0 15px; border: 1px solid var(--line); border-radius: 11px; color: #e6e7ff; background: rgba(30, 32, 73, .45); font-size: 13px; font-weight: 700; transition: .2s ease; }
.nav-links a:hover, .nav-links a[aria-current='page'] { transform: translateY(-1px); border-color: rgba(119, 188, 255, .9); background: linear-gradient(120deg, rgba(59, 158, 255, .45), rgba(139, 86, 247, .5)); box-shadow: 0 0 19px rgba(105, 141, 255, .3); }
.menu-button { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; color: white; background: rgba(30, 32, 73, .55); cursor: pointer; }
.menu-button span { display: block; width: 18px; height: 2px; margin: 4px auto; background: currentColor; transition: .2s ease; }

main { width: min(1180px, calc(100% - 40px)); margin: auto; }
.hero { min-height: clamp(570px, 79vh, 790px); display: grid; place-items: center; text-align: center; }
.hero-inner { max-width: 850px; padding: 72px 0; }
.eyebrow { margin: 0 0 13px; color: var(--aqua); font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: 'Space Grotesk', sans-serif; line-height: 1.08; letter-spacing: -.045em; }
h1 { font-size: clamp(47px, 7vw, 83px); }
h2 { font-size: clamp(32px, 4vw, 48px); }
h3 { font-size: 20px; }
.gradient-text { display: block; margin: 18px 0 23px; color: #a485ff; font-size: clamp(26px, 3.4vw, 40px); letter-spacing: -.04em; background: linear-gradient(90deg, var(--blue), #a98bff, var(--aqua)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lede { max-width: 620px; margin: auto; color: var(--muted); font-size: clamp(16px, 1.65vw, 19px); }

.showcase { padding: 45px 0 108px; text-align: center; }
.section-copy { max-width: 600px; margin: 15px auto 42px; color: var(--muted); }
.screen-carousel { position: relative; width: min(100%, 1120px); margin: 0 auto; outline: none; }
.screen-carousel:focus-visible { border-radius: 24px; box-shadow: 0 0 0 3px rgba(90, 227, 220, .5); }
.screen-track { position: relative; height: clamp(455px, 59vw, 700px); overflow: hidden; }
.screen-card { position: absolute; top: 50%; left: 50%; width: clamp(240px, 32vw, 380px); overflow: hidden; aspect-ratio: 9 / 16; border: 1px solid transparent; border-radius: var(--radius); background: var(--panel); background-image: linear-gradient(var(--panel), var(--panel)), linear-gradient(145deg, rgba(85, 204, 255, .85), rgba(173, 97, 255, .75)); background-origin: border-box; background-clip: padding-box, border-box; box-shadow: 0 18px 47px rgba(0, 0, 0, .38), 0 0 26px rgba(134, 94, 255, .13); cursor: pointer; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(.62); transition: transform .48s cubic-bezier(.22, .8, .25, 1), opacity .38s ease, filter .38s ease, box-shadow .38s ease; }
.screen-card img { width: 100%; height: 100%; display: block; object-fit: cover; }
.screen-card[data-position='center'] { z-index: 3; opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); box-shadow: 0 30px 65px rgba(0, 0, 0, .53), 0 0 38px rgba(91, 159, 255, .28); }
.screen-card[data-position='left'], .screen-card[data-position='right'] { z-index: 2; opacity: .62; pointer-events: auto; filter: saturate(.75) brightness(.72); }
.screen-card[data-position='left'] { transform: translate(calc(-50% - clamp(185px, 28vw, 335px)), -50%) scale(.73); }
.screen-card[data-position='right'] { transform: translate(calc(-50% + clamp(185px, 28vw, 335px)), -50%) scale(.73); }
.screen-card[data-position='far-left'], .screen-card[data-position='far-right'] { z-index: 1; opacity: .28; pointer-events: auto; filter: saturate(.55) brightness(.55); }
.screen-card[data-position='far-left'] { transform: translate(calc(-50% - clamp(285px, 46vw, 560px)), -50%) scale(.53); }
.screen-card[data-position='far-right'] { transform: translate(calc(-50% + clamp(285px, 46vw, 560px)), -50%) scale(.53); }
.carousel-control { position: absolute; z-index: 5; top: 50%; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(151, 130, 255, .58); border-radius: 50%; color: #fff; background: rgba(8, 10, 31, .76); box-shadow: 0 8px 22px rgba(0, 0, 0, .3); cursor: pointer; transform: translateY(-50%); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.carousel-control:hover, .carousel-control:focus-visible { border-color: var(--aqua); background: rgba(41, 60, 111, .92); transform: translateY(-50%) scale(1.08); }
.carousel-control span { margin-top: -4px; font: 400 35px/1 Arial, sans-serif; }
.carousel-control-prev { left: 12px; }
.carousel-control-next { right: 12px; }
.carousel-dots { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 4px; }
.carousel-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(206, 211, 255, .42); cursor: pointer; transition: width .25s ease, background .25s ease; }
.carousel-dots button[aria-selected='true'] { width: 25px; background: linear-gradient(90deg, var(--blue), var(--aqua)); }
.carousel-dots button:focus-visible { outline: 2px solid var(--aqua); outline-offset: 4px; }
.carousel-status { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.page-hero { padding: clamp(78px, 12vw, 140px) 0 48px; text-align: center; }
.page-hero p { max-width: 625px; margin: 19px auto 0; color: var(--muted); }
.legal { max-width: 900px; margin: 0 auto 110px; padding: clamp(26px, 5vw, 56px); border: 1px solid rgba(153, 145, 255, .25); border-radius: var(--radius); background: var(--panel); box-shadow: 0 24px 60px rgba(0, 0, 0, .22); }
.updated { margin: 0 0 38px; color: var(--aqua); font-size: 14px; font-weight: 700; }
.legal section + section { margin-top: 31px; }
.legal h2 { font-size: 24px; letter-spacing: -.03em; }
.legal p, .legal li { color: #c7c9de; font-size: 15px; }
.legal ul { padding-left: 23px; }
.legal a, .contact-email { color: #8ed8ff; text-decoration: underline; text-underline-offset: 3px; }

.contact-page { max-width: 760px; margin: 0 auto 110px; }
.contact-email { display: block; width: fit-content; margin: 0 auto 36px; font: 700 clamp(21px, 4vw, 28px)/1.4 'Space Grotesk', sans-serif; }
.contact-form { padding: clamp(24px, 5vw, 45px); border: 1px solid rgba(153, 145, 255, .28); border-radius: var(--radius); background: var(--panel); box-shadow: 0 24px 60px rgba(0, 0, 0, .24); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { color: #efeff9; font-size: 14px; font-weight: 700; }
input, textarea { width: 100%; border: 1px solid rgba(168, 168, 220, .28); border-radius: 10px; outline: none; padding: 12px 14px; color: white; background: rgba(5, 8, 28, .58); transition: border .2s ease, box-shadow .2s ease; }
textarea { min-height: 145px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #868ba9; }
input:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(74, 184, 255, .15), 0 0 18px rgba(139, 99, 255, .16); }
.error { min-height: 18px; color: #ff9db7; font-size: 12px; }
.submit { margin-top: 26px; min-width: 130px; min-height: 45px; border: 0; border-radius: 11px; color: #fff; cursor: pointer; background: linear-gradient(105deg, #36aefa, #8f62f6); box-shadow: 0 9px 24px rgba(99, 106, 255, .31); font-weight: 800; transition: transform .2s ease, filter .2s ease; }
.submit:hover { transform: translateY(-2px); filter: brightness(1.12); }
.modal { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(2, 4, 16, .67); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.modal.open { opacity: 1; pointer-events: auto; }
.modal-card { width: min(440px, 100%); padding: 34px; border: 1px solid rgba(148, 211, 255, .45); border-radius: var(--radius); text-align: center; background: #15183d; box-shadow: 0 0 50px rgba(90, 135, 255, .27); transform: translateY(10px); transition: transform .2s ease; }
.modal.open .modal-card { transform: translateY(0); }
.modal-card p { color: var(--muted); }

.site-footer { border-top: 1px solid rgba(125, 161, 255, .28); background: rgba(4, 7, 20, .75); }
.footer-inner { width: min(1180px, calc(100% - 40px)); margin: auto; padding: 27px 0; color: #9da2bf; text-align: center; font-size: 13px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 20px; margin-bottom: 12px; }
.footer-links a:hover { color: #e7eaff; }
.footer-inner p { margin: 0; }

@media (max-width: 767px) {
  body::after { opacity: .12; background-size: 62px 62px; }
  .nav-wrap, main, .footer-inner { width: min(100% - 28px, 1180px); }
  .nav-wrap { min-height: 68px; }
  .menu-button { display: block; }
  .nav-links { position: fixed; top: 68px; right: 0; width: min(290px, 84vw); height: calc(100vh - 68px); padding: 25px 20px; flex-direction: column; align-items: stretch; background: rgba(9, 11, 31, .97); border-left: 1px solid var(--line); box-shadow: -16px 0 50px rgba(0, 0, 0, .36); transform: translateX(103%); transition: transform .25s ease; }
  .nav-links.open { transform: translateX(0); }
  .nav-links a { min-height: 48px; justify-content: start; }
  .hero { min-height: 68vh; }
  .hero-inner { padding: 65px 0; }
  .showcase { padding-bottom: 74px; }
  .screen-carousel { width: calc(100% + 28px); margin-left: -14px; }
  .screen-track { height: clamp(430px, 132vw, 530px); }
  .screen-card { width: min(70vw, 270px); }
  .screen-card[data-position='left'] { transform: translate(calc(-50% - min(45vw, 170px)), -50%) scale(.68); }
  .screen-card[data-position='right'] { transform: translate(calc(-50% + min(45vw, 170px)), -50%) scale(.68); }
  .screen-card[data-position='far-left'], .screen-card[data-position='far-right'] { opacity: 0; pointer-events: none; }
  .carousel-control { width: 38px; height: 38px; }
  .carousel-control-prev { left: 10px; }
  .carousel-control-next { right: 10px; }
  .page-hero { padding-top: 68px; }
  .legal, .contact-page { margin-bottom: 72px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
