/* ── Reset + base ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "BPG Excelsior", "Noto Sans Georgian", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.55;
    color: #1a1a1a;
    background: #fff;
}
img { max-width: 100%; height: auto; display: block; }
a { color: #B4263A; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }

h1, h2, h3 {
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.15;
    margin: 0 0 0.6em;
}
h1 { font-size: 2.6rem; }
h2 { font-size: 1.8rem; margin-top: 0; }
h3 { font-size: 1.15rem; }

@media (min-width: 720px) {
    h1 { font-size: 3.4rem; }
    h2 { font-size: 2.1rem; }
}

p { margin: 0 0 1em; }

/* ── Layout containers ───────────────────────────────────────── */
main > section,
.site-header,
.site-footer {
    max-width: 1080px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem;
}
main > section { padding-block: 3rem; }

@media (min-width: 720px) {
    main > section { padding-block: 4.5rem; }
}

/* ── Header ──────────────────────────────────────────────────── */
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 700;
    font-size: 1.2rem;
    color: #1a1a1a;
    text-decoration: none;
}
.brand-mark {
    display: inline-block;
    width: 22px; height: 22px;
    background: #EF3340;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px #EF3340;
}
.site-header nav { display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
.site-header nav a {
    color: #555;
    text-decoration: none;
    font-size: 0.95rem;
}
.site-header nav a:hover { color: #1a1a1a; }
.lang-toggle {
    border: 1px solid #ddd;
    border-radius: 14px;
    padding: 0.18rem 0.7rem;
    font-size: 0.85rem !important;
}
.lang-toggle:hover { border-color: #999; }

/* ── Hero ────────────────────────────────────────────────────── */
.hero {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}
@media (min-width: 880px) {
    .hero { grid-template-columns: 1.05fr 0.95fr; gap: 3.5rem; }
}
.hero-text .lead {
    font-size: 1.15rem;
    color: #444;
    max-width: 38ch;
}
.cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 2rem 0 1rem;
}
.note {
    color: #777;
    font-size: 0.92rem;
}

/* ── Store badges (placeholder, disabled until launch) ───────── */
.store-badge {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.55rem 1.1rem;
    border-radius: 10px;
    background: #1a1a1a;
    color: #fff;
    text-decoration: none;
    line-height: 1.1;
    min-width: 170px;
}
.store-badge__small {
    font-size: 0.7rem;
    opacity: 0.75;
}
.store-badge__big {
    font-size: 1.15rem;
    font-weight: 600;
    margin-top: 2px;
}
.store-badge.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

/* ── Hero phone placeholder ──────────────────────────────────── */
.hero-image { display: flex; justify-content: center; }
.phone-placeholder {
    width: 240px;
    height: 480px;
    border-radius: 36px;
    background: #1a1a1a;
    padding: 10px;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
    position: relative;
}
.phone-screen {
    width: 100%; height: 100%;
    border-radius: 28px;
    background:
        linear-gradient(180deg, #f4f6f8 0%, #e6ebee 100%);
    position: relative;
    overflow: hidden;
}
.phone-pin {
    position: absolute;
    width: 14px; height: 14px;
    background: #EF3340;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(239, 51, 64, 0.18);
}
.phone-pin--1 { top: 18%; left: 28%; }
.phone-pin--2 { top: 33%; left: 55%; }
.phone-pin--3 { top: 49%; left: 38%; background: #2EB67D; box-shadow: 0 0 0 3px rgba(46, 182, 125, 0.18); }
.phone-pin--4 { top: 64%; left: 62%; }
.phone-pin--5 { top: 78%; left: 32%; background: #C9A227; box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.22); }

/* ── Features ────────────────────────────────────────────────── */
.features { background: #FAFAF7; border-radius: 16px; }
.features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 640px) {
    .features-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (min-width: 960px) {
    .features-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.feature p { margin: 0; color: #444; }

/* ── Meta (data sources + contact) ───────────────────────────── */
/* Smaller, quieter — sits below the hero/features, footnote-like. */
.meta {
    padding-block: 2rem 2.5rem !important;
    font-size: 0.92rem;
    color: #555;
    border-top: 1px solid #eee;
    display: grid;
    gap: 2rem;
}
@media (min-width: 760px) {
    .meta { grid-template-columns: 2fr 1fr; gap: 3rem; }
}
.meta h3 {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888;
    font-weight: 600;
    margin-bottom: 0.85rem;
}
.meta p { margin: 0 0 0.6em; max-width: 60ch; }
.meta a { color: #555; }
.meta a:hover { color: #B4263A; }
.meta-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: grid;
    gap: 0.35rem;
}
.meta-list strong { color: #2a2a2a; font-weight: 600; }
.meta-thanks {
    margin-top: 1rem;
    color: #777;
    font-style: italic;
}

/* ── Footer ──────────────────────────────────────────────────── */
.site-footer {
    border-top: 1px solid #eee;
    color: #666;
    font-size: 0.92rem;
}
.site-footer a { color: #666; }

/* ── AI translation notice (top of KA legal pages only) ──────── */
.ai-translation-notice {
    background: #FFF7E6;
    border-left: 4px solid #E0A82E;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 2.5rem;
    color: #4a3c1e;
    font-size: 0.95rem;
    line-height: 1.5;
}
.ai-translation-notice strong { color: #2a2208; }

/* ── Legal pages ─────────────────────────────────────────────── */
.legal {
    max-width: 720px;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 4rem;
}
.legal h1 { font-size: 2rem; margin-bottom: 0.25em; }
.legal .updated {
    color: #888;
    margin-bottom: 2rem;
    font-size: 0.95rem;
}
.legal h2 {
    font-size: 1.3rem;
    margin-top: 2rem;
    margin-bottom: 0.5em;
}
.legal h3 { font-size: 1.05rem; margin-top: 1.5rem; }
.legal p, .legal li { color: #2a2a2a; }
.legal ul { padding-left: 1.4em; }
.legal li { margin-bottom: 0.4em; }
.legal hr { border: none; border-top: 1px solid #eee; margin: 2rem 0; }

/* ── Name origin (dictionary block) ──────────────────────────── */
/* Sits between the feature grid and the meta block. Styled as a
   proper dictionary entry: bold headword + IPA/POS meta on one line,
   italic definition body underneath, brand-red left rule. The italic
   body keeps it visually distinct from prose elsewhere on the page. */
.naming {
    max-width: 720px;
    margin: 2.5rem auto 1.5rem;
    padding: 0 1.25rem;
    border-left: 2px solid #EF3340;
}
.naming-head {
    margin: 0 0 0.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.55rem;
}
.naming-word {
    font-size: 1.45rem;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.01em;
}
.naming-meta {
    font-size: 0.85rem;
    font-style: italic;
    color: #888;
}
.naming-body {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444;
    font-style: italic;
    margin: 0;
    max-width: 60ch;
}
