:root {
  --brand: #1769e8;
  --brand-deep: #3156c8;
  --ink: #121a2a;
  --muted: #5f6b7c;
  --line: #e5eaf1;
  --surface: #f6f8fb;
}

html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { color: var(--ink); font-family: Inter, "Noto Sans SC", "PingFang SC", system-ui, sans-serif; }
a { text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #94baff; outline-offset: 3px; }
.site-header { backdrop-filter: blur(12px); }
.brand-logo { box-shadow: 0 3px 10px rgb(15 44 94 / 14%); }
.hero-gradient { background: linear-gradient(132deg, #f8fbff 0%, #edf5ff 52%, #f7f5ff 100%); }
.hero-grid { background-image: radial-gradient(rgb(37 99 235 / 9%) 1px, transparent 1px); background-size: 26px 26px; }
.hero-shadow { box-shadow: 0 28px 72px rgb(24 44 108 / 25%); }
.section-kicker { color: var(--brand); letter-spacing: .13em; }
.feature-card { border: 1px solid #edf0f5; transition: transform .2s ease, box-shadow .2s ease; }
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgb(27 42 67 / 9%); }
.icon-tile { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 1.1rem; }
.format-chip { border: 1px solid var(--line); box-shadow: 0 3px 10px rgb(26 42 68 / 4%); }
.step-number { background: linear-gradient(145deg, #2479ef, #6556d9); box-shadow: 0 8px 20px rgb(43 91 199 / 20%); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; color: var(--brand); font-size: 1.35rem; font-weight: 500; }
.faq-item[open] summary::after { content: "−"; }
.is-unconfigured { cursor: pointer; }
.legal-prose h2 { color: var(--ink); font-size: 1.15rem; font-weight: 700; margin: 2rem 0 .75rem; }
.legal-prose p, .legal-prose li { color: var(--muted); line-height: 1.8; }
.legal-prose ul { list-style: disc; margin: .75rem 0 1rem 1.35rem; }
.mobile-nav[hidden] { display: none; }

@media (max-width: 767px) {
  html { scroll-padding-top: 4.5rem; }
  .mobile-nav { box-shadow: 0 18px 28px rgb(26 42 68 / 10%); }
  .hero-grid { background-size: 20px 20px; }
}

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

.hero-language-illustration {
  display: block;
  width: min(100%, 27rem);
  max-height: 46rem;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 32px rgb(21 46 93 / 16%));
}
.hero-language-illustration[hidden] { display: none; }
@media (max-width: 767px) {
  .hero-language-illustration { width: min(78vw, 22rem); max-height: none; }
}
