/* Pagrindas: Apple produkto puslapio tipografija ir tinklelis (išmatuota apple.com/airpods-pro, 1440 ir 390 px). */
:root {
  --text: #1d1d1f;
  --gray: #6e6e73;
  --gray-2: #86868b;
  --line: #d2d2d7;
  --bg: #ffffff;
  --bg-alt: #f5f5f7;
  --bg-index: #fafafc;
  --fill: #e8e8ed;
  --blue: #0071e3;
  --link: #0066cc;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gutter: max(22px, 6.25vw);
  --content: 1260px;
  --nav-h: 52px;
  --ease: cubic-bezier(0.28, 0.11, 0.32, 1);
  --spring: cubic-bezier(0.34, 1.36, 0.64, 1);
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--font); font-size: 17px; line-height: 1.47059; font-weight: 400; letter-spacing: -0.022em;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-synthesis: none;
  overflow-x: clip;
}
img, video { display: block; max-width: 100%; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
button { font: inherit; color: inherit; letter-spacing: inherit; }
h1, h2, h3, h4, p, figure, blockquote, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 6px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.wrap { width: min(var(--content), 100% - 2 * var(--gutter)); margin-inline: auto; }
.section { padding-block: 160px; }
.bg-alt { background: var(--bg-alt); }
.bg-black { background: #000; color: #f5f5f7; }

/* ---------- tipografija ---------- */
.t-marquee { font-size: 64px; line-height: 1.0625; font-weight: 600; letter-spacing: -0.009em; }
.t-marquee-eyebrow { font-size: 28px; line-height: 1.14286; font-weight: 600; letter-spacing: 0.007em; }
.t-super { font-size: 96px; line-height: 1.04167; font-weight: 600; letter-spacing: -0.015em; }
.t-eyebrow { font-size: 28px; line-height: 1.14286; font-weight: 600; letter-spacing: 0.007em; }
.t-section { font-size: 56px; line-height: 1.07143; font-weight: 600; letter-spacing: -0.005em; }
.t-intro { font-size: 24px; line-height: 1.33341; font-weight: 600; letter-spacing: 0.009em; color: var(--gray); }
.t-intro strong, .t-intro b { color: var(--text); font-weight: 600; }
.t-caption-lg { font-size: 28px; line-height: 1.14286; font-weight: 600; letter-spacing: 0.007em; }
.t-card-head { font-size: 28px; line-height: 1.14286; font-weight: 600; letter-spacing: 0.007em; }
.t-callout { font-size: 21px; line-height: 1.19048; font-weight: 600; letter-spacing: 0.011em; }
.t-body { font-size: 17px; line-height: 1.47059; letter-spacing: -0.022em; }
.t-body-strong { font-size: 17px; line-height: 1.23536; font-weight: 600; letter-spacing: -0.022em; }
.t-tile { font-size: 17px; line-height: 1.47059; font-weight: 600; letter-spacing: -0.022em; color: var(--gray); }
.t-tile strong { color: var(--text); }
.t-small { font-size: 12px; line-height: 1.33337; letter-spacing: -0.01em; }
.t-stat { font-size: 80px; line-height: 1; font-weight: 600; letter-spacing: -0.015em; }
.t-stat-cap { font-size: 19px; line-height: 1.21053; font-weight: 600; letter-spacing: 0.012em; color: var(--gray); }
.center { text-align: center; }

/* ---------- mygtukai ir nuorodos ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-width: 28px; padding: 8px 15px; border-radius: 980px; border: 0; cursor: pointer;
  background: var(--blue); color: #fff; font-size: 17px; line-height: 1.17648; letter-spacing: -0.022em; font-weight: 400;
  transition: background-color 0.2s var(--ease), transform 0.2s var(--ease);
}
.btn:hover { background: #0077ed; text-decoration: none; }
.btn:active { transform: scale(0.97); }
.btn-lg { padding: 12px 22px; font-size: 17px; }
.btn-ghost { background: transparent; color: var(--link); box-shadow: inset 0 0 0 1px var(--link); }
.btn-ghost:hover { background: var(--link); color: #fff; }
.link-more { font-size: 17px; letter-spacing: -0.022em; color: var(--link); white-space: nowrap; }
.link-more::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 5px; border: solid currentColor; border-width: 1.5px 1.5px 0 0; transform: translateY(-1px) rotate(45deg); }
.price-pill {
  display: inline-flex; align-items: center; gap: 18px; padding: 9px 9px 9px 24px; border-radius: 980px;
  background: rgba(232, 232, 237, 0.72); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
}
.price-pill .price { font-size: 17px; font-weight: 600; letter-spacing: -0.022em; }

/* ---------- vietinė navigacija (Apple local nav) ---------- */
.ln { position: sticky; top: 0; z-index: 50; height: var(--nav-h); }
.ln::before {
  content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.16); transition: background-color 0.3s var(--ease);
}
.ln-inner { position: relative; height: 100%; display: flex; align-items: center; width: min(980px, 100% - 2 * max(22px, 3vw)); margin-inline: auto; }
.ln-title { font-size: 21px; line-height: 1.14286; font-weight: 600; letter-spacing: 0.011em; color: var(--text); white-space: nowrap; margin-right: auto; }
.ln-title:hover { text-decoration: none; }
.ln-menu { display: flex; align-items: center; gap: 24px; }
.ln-menu a { font-size: 12px; line-height: 22px; letter-spacing: -0.01em; color: var(--text); opacity: 0.88; position: relative; }
.ln-menu a:hover { color: var(--link); text-decoration: none; opacity: 1; }
.ln-menu a[aria-current="true"] { opacity: 1; }
.ln-menu a[aria-current="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -15px; height: 1px; background: var(--text); }
.ln-cta { margin-left: 24px; padding: 4px 11px; font-size: 12px; line-height: 1.33337; letter-spacing: -0.01em; }
.ln-toggle { display: none; width: 32px; height: 32px; margin-left: 12px; border: 0; background: none; cursor: pointer; border-radius: 8px; }
.ln-toggle svg { width: 13px; height: 13px; margin: auto; display: block; transition: transform 0.4s var(--ease); }
.ln.open .ln-toggle svg { transform: rotate(180deg); }

/* ---------- atsiradimas ---------- */
.rv { opacity: 0; transform: translateY(40px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); }
.rv.in { opacity: 1; transform: none; }
.rv-d1 { transition-delay: 0.08s; } .rv-d2 { transition-delay: 0.16s; } .rv-d3 { transition-delay: 0.24s; }

/* ---------- ekranų pločiai: Apple lūžiai 1068 / 734 ---------- */
@media (max-width: 1068px) {
  .t-marquee { font-size: 48px; line-height: 1.08349; letter-spacing: -0.003em; }
  .t-super { font-size: 80px; line-height: 1.05; letter-spacing: -0.015em; }
  .t-section { font-size: 40px; line-height: 1.1; letter-spacing: 0; }
  .t-intro { font-size: 21px; line-height: 1.381; letter-spacing: 0.011em; }
  .t-stat { font-size: 64px; }
  .section { padding-block: 120px; }
}
@media (max-width: 734px) {
  body { font-size: 17px; }
  .wrap { width: calc(100% - 48px); }
  .section { padding-block: 80px; }
  .t-marquee { font-size: 32px; line-height: 1.125; letter-spacing: 0.004em; }
  .t-marquee-eyebrow { font-size: 21px; line-height: 1.19; letter-spacing: 0.011em; }
  .t-super { font-size: 48px; line-height: 1.08349; letter-spacing: -0.003em; }
  .t-eyebrow { font-size: 21px; line-height: 1.19048; letter-spacing: 0.011em; }
  .t-section { font-size: 28px; line-height: 1.14286; letter-spacing: 0.007em; }
  .t-intro { font-size: 19px; line-height: 1.42; letter-spacing: 0.012em; }
  .t-caption-lg { font-size: 17px; line-height: 1.23536; letter-spacing: -0.022em; }
  .t-card-head { font-size: 24px; line-height: 1.16667; letter-spacing: 0.009em; }
  .t-callout { font-size: 17px; line-height: 1.23536; letter-spacing: -0.022em; }
  .t-tile { font-size: 14px; line-height: 1.42859; letter-spacing: -0.016em; }
  .t-stat { font-size: 48px; letter-spacing: -0.003em; }
  .t-stat-cap { font-size: 14px; line-height: 1.42859; letter-spacing: -0.016em; }
  .ln-inner { width: calc(100% - 32px); }
  .ln-title { font-size: 19px; }
  .ln-toggle { display: block; }
  .ln-menu { position: absolute; top: var(--nav-h); left: -16px; right: -16px; flex-direction: column; align-items: stretch; gap: 0; padding: 4px 32px 20px;
    background: rgba(255, 255, 255, 0.96); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.16); visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity 0.3s var(--ease), transform 0.3s var(--ease), visibility 0s 0.3s; }
  .ln.open .ln-menu { visibility: visible; opacity: 1; transform: none; transition: opacity 0.3s var(--ease), transform 0.3s var(--ease); }
  .ln-menu a { font-size: 17px; line-height: 44px; border-bottom: 1px solid rgba(0, 0, 0, 0.08); }
  .ln-menu a[aria-current="true"]::after { display: none; }
  .ln-cta { order: 3; margin-left: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}
