:root {
  --blue: #0f56a8;
  --blue-deep: #083c82;
  --yellow: #ffd21f;
  --white: #ffffff;
  --text: #0d2344;
  --muted: #758194;
  --line: rgba(13, 35, 68, 0.13);
  --shadow: 0 26px 80px rgba(3, 22, 49, 0.24);
  --flag-bg: linear-gradient(135deg, #012169, #c8102e 58%, #ffffff 58% 64%, #012169 64%);
  --mini-flag-bg: var(--flag-bg);
  --mobile-flag-bg: var(--flag-bg);
  --flag-glow-a: rgba(255,255,255,.20);
  --flag-glow-b: rgba(0,0,0,.12);
  --accent-icon: #ffd21f;
}

* { box-sizing: border-box; }
html { min-height: 100%; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--text);
  background: var(--flag-bg);
  background-attachment: fixed;
  background-size: 100% 100%;
  overflow-x: hidden;
  position: relative;
  isolation: isolate;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body::before {
  background-image:
    radial-gradient(circle at 50% 13%, rgba(255,255,255,.26), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.12), transparent 18%, transparent 82%, rgba(0,0,0,.12)),
    linear-gradient(180deg, rgba(6, 22, 52, .08), rgba(6, 22, 52, .20)),
    var(--flag-bg);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  background-position: center;
  filter: saturate(1.18) contrast(1.08);
  z-index: 0;
}

body::after {
  background:
    radial-gradient(circle at 50% 13%, rgba(255,255,255,.30), rgba(255,255,255,.08) 20%, transparent 46%),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.15), transparent 30%),
    radial-gradient(circle at 82% 70%, rgba(255,255,255,.15), transparent 30%),
    linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .12));
  backdrop-filter: blur(7px) saturate(114%);
  z-index: 0;
}

.page-shell {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 48px) 16px;
}

.age-card {
  width: min(100%, 465px);
  min-height: min(820px, calc(100svh - 28px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3.8vh, 34px);
}

.topline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  font-weight: 850;
  font-size: clamp(22px, 5.4vw, 34px);
  line-height: 1.08;
  text-shadow: 0 5px 24px rgba(0, 0, 0, 0.30);
  letter-spacing: -0.035em;
  padding: 10px 16px;
  border-radius: 22px;
  background: rgba(7, 20, 44, 0.24);
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow: 0 16px 38px rgba(0,0,0,.16);
  backdrop-filter: blur(14px) saturate(130%);
}

.mini-flag {
  width: clamp(42px, 10vw, 58px);
  height: clamp(42px, 10vw, 58px);
  border-radius: 16px;
  display: inline-block;
  background: var(--mini-flag-bg);
  background-size: 100% 100%;
  background-position: center;
  box-shadow:
    inset 0 0 0 1.5px rgba(255,255,255,.72),
    inset 0 0 0 999px rgba(255,255,255,.01),
    0 12px 30px rgba(0,0,0,.23);
  flex: 0 0 auto;
  overflow: hidden;
}

.panel {
  width: 100%;
  border-radius: clamp(30px, 7vw, 44px);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow);
  padding: clamp(36px, 8vw, 52px) clamp(24px, 6vw, 34px) clamp(28px, 6vw, 38px);
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.74);
}

.secure-icon {
  width: clamp(90px, 22vw, 112px);
  height: clamp(90px, 22vw, 112px);
  margin: 0 auto 26px;
  display: grid;
  place-items: center;
  border-radius: 30px;
  color: var(--accent-icon, #ffd21f);
  background: linear-gradient(145deg, var(--blue), var(--blue-deep));
  box-shadow: 0 18px 34px rgba(15, 86, 168, 0.30), 0 0 0 10px rgba(15, 86, 168, 0.07);
}
.secure-icon svg { width: 58%; height: 58%; }

.eyebrow {
  margin: 0 0 18px;
  color: var(--blue-deep);
  font-size: clamp(15px, 4vw, 17px);
  font-weight: 850;
  letter-spacing: 0.32em;
  text-transform: lowercase;
}
h1 {
  margin: 0 auto 18px;
  max-width: 370px;
  font-size: clamp(30px, 7.5vw, 42px);
  line-height: 1.14;
  letter-spacing: -0.055em;
  color: #0b1f3f;
}
.subtitle {
  margin: 0 auto;
  max-width: 360px;
  color: var(--muted);
  font-size: clamp(17px, 4.3vw, 22px);
  line-height: 1.54;
  letter-spacing: -0.025em;
}
.actions { margin-top: clamp(32px, 7vw, 48px); display: grid; gap: 16px; }
.btn {
  min-height: 70px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-decoration: none;
  font-size: clamp(20px, 5vw, 25px);
  font-weight: 850;
  letter-spacing: -0.035em;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.btn:active { transform: scale(0.985); }
.btn-primary {
  color: #fff;
  background: linear-gradient(180deg, var(--blue), var(--blue-deep));
  box-shadow: 0 14px 28px rgba(15, 86, 168, 0.24);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 18px 35px rgba(15, 86, 168, 0.30); }
.btn-secondary { color: #0b1f3f; background: #fff; border: 2px solid rgba(13, 35, 68, 0.11); box-shadow: 0 8px 22px rgba(8, 35, 76, 0.06); }
.btn-secondary:hover { border-color: rgba(13, 35, 68, 0.20); }
.arrow { font-size: 1.15em; line-height: 1; margin-top: -1px; }
.safe-line {
  margin-top: clamp(26px, 6vw, 36px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #8a93a2;
  font-size: clamp(16px, 4vw, 20px);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.safe-line svg { width: 24px; height: 24px; flex: 0 0 auto; }

.footer-links {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 6px 8px 0;
  text-align: center;
}
.footer-links a {
  color: #fff;
  text-decoration: none;
  font-weight: 850;
  font-size: clamp(14px, 3.5vw, 18px);
  letter-spacing: -0.02em;
  text-shadow: 0 3px 14px rgba(0,0,0,.34);
  background: rgba(7, 20, 44, 0.25);
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  backdrop-filter: blur(10px) saturate(130%);
}
.footer-links a:hover { background: rgba(7, 20, 44, 0.34); }

/* Legal pages */
.legal-shell { align-items: start; padding-top: clamp(24px, 6vw, 54px); }
.legal-card { width: min(100%, 760px); display: grid; gap: 18px; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.home-link {
  color: #fff;
  font-weight: 850;
  text-decoration: none;
  font-size: 18px;
  text-shadow: 0 4px 18px rgba(0,0,0,.28);
  background: rgba(7, 20, 44, 0.24);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 10px 14px;
  backdrop-filter: blur(10px);
}
.legal-panel {
  width: 100%;
  border-radius: clamp(26px, 6vw, 42px);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow);
  padding: clamp(28px, 6vw, 50px);
  border: 1px solid rgba(255, 255, 255, 0.72);
}
.legal-panel h1 { max-width: none; text-align: left; margin-bottom: 24px; }
.legal-copy { color: #435064; font-size: 17px; line-height: 1.7; }
.legal-copy p { margin: 0 0 16px; }
.legal-copy h2 { margin: 26px 0 10px; color: #0b1f3f; font-size: 22px; letter-spacing: -0.03em; }
.contact-placeholder { width: min(100%, 320px); margin-top: 14px; }
.legal-footer { margin-bottom: 12px; }

/* Country flag backgrounds — flag and language are separate. No external CDN is used. */
html[data-country="GB"] {
  --flag-bg: linear-gradient(35deg, transparent 0 44%, #fff 44% 48%, #c8102e 48% 52%, #fff 52% 56%, transparent 56%), linear-gradient(145deg, transparent 0 44%, #fff 44% 48%, #c8102e 48% 52%, #fff 52% 56%, transparent 56%), linear-gradient(90deg, transparent 0 42%, #fff 42% 58%, transparent 58%), linear-gradient(180deg, transparent 0 39%, #fff 39% 61%, transparent 61%), linear-gradient(90deg, transparent 0 46%, #c8102e 46% 54%, transparent 54%), linear-gradient(180deg, transparent 0 44%, #c8102e 44% 56%, transparent 56%), #012169;
  --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #012169; --blue-deep: #00113a;
}
html[data-country="IE"] { --flag-bg: linear-gradient(90deg, #169b62 0 33.33%, #ffffff 33.33% 66.66%, #ff883e 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(90deg, #169b62 0 30%, rgba(22,155,98,.95) 30% 39%, #fff 39% 61%, rgba(255,136,62,.95) 61% 70%, #ff883e 70%); --blue: #169b62; --blue-deep: #0c623d; }
html[data-country="AU"] { --flag-bg: radial-gradient(circle at 80% 28%, #fff 0 2.4%, transparent 2.7%), radial-gradient(circle at 70% 54%, #fff 0 3%, transparent 3.4%), radial-gradient(circle at 84% 72%, #fff 0 2.2%, transparent 2.5%), linear-gradient(35deg, transparent 0 18%, #fff 18% 20%, #c8102e 20% 22%, #fff 22% 24%, transparent 24%), linear-gradient(145deg, transparent 0 18%, #fff 18% 20%, #c8102e 20% 22%, #fff 22% 24%, transparent 24%), linear-gradient(90deg, transparent 0 17%, #fff 17% 25%, transparent 25%), linear-gradient(180deg, transparent 0 16%, #fff 16% 26%, transparent 26%), linear-gradient(90deg, transparent 0 20%, #c8102e 20% 23%, transparent 23%), linear-gradient(180deg, transparent 0 19%, #c8102e 19% 23%, transparent 23%), #012169; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(135deg, #012169 0 55%, rgba(1,33,105,.95) 55% 76%, #c8102e 76%); --blue: #012169; --blue-deep: #00113a; }
html[data-country="NZ"] { --flag-bg: radial-gradient(circle at 76% 34%, #cc142b 0 3%, #fff 3.2% 3.8%, transparent 4.1%), radial-gradient(circle at 84% 58%, #cc142b 0 2.6%, #fff 2.8% 3.3%, transparent 3.7%), radial-gradient(circle at 70% 72%, #cc142b 0 2.4%, #fff 2.6% 3.1%, transparent 3.5%), linear-gradient(35deg, transparent 0 18%, #fff 18% 20%, #c8102e 20% 22%, #fff 22% 24%, transparent 24%), linear-gradient(145deg, transparent 0 18%, #fff 18% 20%, #c8102e 20% 22%, #fff 22% 24%, transparent 24%), linear-gradient(90deg, transparent 0 17%, #fff 17% 25%, transparent 25%), linear-gradient(180deg, transparent 0 16%, #fff 16% 26%, transparent 26%), #012169; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(135deg, #012169 0 55%, rgba(1,33,105,.95) 55% 76%, #cc142b 76%); --blue: #012169; --blue-deep: #00113a; }

html[data-country="DE"] { --flag-bg: linear-gradient(180deg, #000000 0 33.33%, #dd0000 33.33% 66.66%, #ffce00 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #050505 0 31%, #dd0000 31% 68%, #ffce00 68%); --blue: #dd0000; --blue-deep: #8d0000; }
html[data-country="AT"] { --flag-bg: linear-gradient(180deg, #ed2939 0 33.33%, #ffffff 33.33% 66.66%, #ed2939 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #ed2939 0 32%, #fff 32% 68%, #ed2939 68%); --blue: #ed2939; --blue-deep: #a81421; }
html[data-country="CH"] { --flag-bg: linear-gradient(90deg, transparent 0 41%, #ffffff 41% 59%, transparent 59%), linear-gradient(180deg, transparent 0 36%, #ffffff 36% 64%, transparent 64%), #d52b1e; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #d52b1e; --blue-deep: #941b13; }
html[data-country="BE"] { --flag-bg: linear-gradient(90deg, #000000 0 33.33%, #fae042 33.33% 66.66%, #ed2939 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(90deg, #000 0 30%, #fae042 30% 68%, #ed2939 68%); --blue: #ed2939; --blue-deep: #961722; }
html[data-country="NL"] { --flag-bg: linear-gradient(180deg, #ae1c28 0 33.33%, #ffffff 33.33% 66.66%, #21468b 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #ae1c28 0 32%, #fff 32% 68%, #21468b 68%); --blue: #21468b; --blue-deep: #132a55; }
html[data-country="FR"] { --flag-bg: linear-gradient(90deg, #0055a4 0 33.33%, #ffffff 33.33% 66.66%, #ef4135 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(90deg, #0055a4 0 30%, #fff 30% 68%, #ef4135 68%); --blue: #0055a4; --blue-deep: #003d74; }
html[data-country="IT"] { --flag-bg: linear-gradient(90deg, #009246 0 33.33%, #ffffff 33.33% 66.66%, #ce2b37 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(90deg, #009246 0 30%, #fff 30% 68%, #ce2b37 68%); --blue: #009246; --blue-deep: #006b34; }
html[data-country="ES"] { --flag-bg: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #aa151b; --blue-deep: #780f13; }
html[data-country="PT"] { --flag-bg: linear-gradient(90deg, #006600 0 40%, #ff0000 40% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #006600; --blue-deep: #004900; }
html[data-country="GR"] { --flag-bg: linear-gradient(90deg, transparent 0 22%, #fff 22% 33%, transparent 33%), linear-gradient(180deg, transparent 0 18%, #fff 18% 30%, transparent 30%), repeating-linear-gradient(180deg, #0d5eaf 0 11.11%, #ffffff 11.11% 22.22%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: repeating-linear-gradient(180deg, #0d5eaf 0 11.11%, #ffffff 11.11% 22.22%); --blue: #0d5eaf; --blue-deep: #073c72; }

html[data-country="PL"] { --flag-bg: linear-gradient(180deg, #ffffff 0 50%, #dc143c 50% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #fff 0 44%, #dc143c 44%); --blue: #c41230; --blue-deep: #8d0e24; }
html[data-country="CZ"] { --flag-bg: linear-gradient(35deg, #11457e 0 37%, transparent 37%), linear-gradient(180deg, #ffffff 0 50%, #d7141a 50% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(35deg, #11457e 0 42%, transparent 42%), linear-gradient(180deg, #fff 0 50%, #d7141a 50%); --blue: #11457e; --blue-deep: #092a4d; }
html[data-country="SK"] { --flag-bg: linear-gradient(35deg, rgba(11,78,162,.95) 0 30%, transparent 30%), linear-gradient(180deg, #ffffff 0 33.33%, #0b4ea2 33.33% 66.66%, #ee1c25 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #fff 0 32%, #0b4ea2 32% 68%, #ee1c25 68%); --blue: #0b4ea2; --blue-deep: #06325f; }
html[data-country="SI"] { --flag-bg: linear-gradient(35deg, rgba(0,93,164,.92) 0 27%, transparent 27%), linear-gradient(180deg, #ffffff 0 33.33%, #005da4 33.33% 66.66%, #ed1c24 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #fff 0 32%, #005da4 32% 68%, #ed1c24 68%); --blue: #005da4; --blue-deep: #003c6a; }
html[data-country="HU"] { --flag-bg: linear-gradient(180deg, #ce2939 0 33.33%, #ffffff 33.33% 66.66%, #477050 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #ce2939 0 32%, #fff 32% 68%, #477050 68%); --blue: #477050; --blue-deep: #2f4c36; }
html[data-country="RO"] { --flag-bg: linear-gradient(90deg, #002b7f 0 33.33%, #fcd116 33.33% 66.66%, #ce1126 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(90deg, #002b7f 0 30%, #fcd116 30% 68%, #ce1126 68%); --blue: #002b7f; --blue-deep: #001b4f; }
html[data-country="BG"] { --flag-bg: linear-gradient(180deg, #ffffff 0 33.33%, #00966e 33.33% 66.66%, #d62612 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #fff 0 32%, #00966e 32% 68%, #d62612 68%); --blue: #00966e; --blue-deep: #00694d; }
html[data-country="HR"] { --flag-bg: linear-gradient(180deg, #ff0000 0 33.33%, #ffffff 33.33% 66.66%, #171796 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #ff0000 0 32%, #fff 32% 68%, #171796 68%); --blue: #171796; --blue-deep: #0d0d58; }
html[data-country="RS"] { --flag-bg: linear-gradient(180deg, #c6363c 0 33.33%, #0c4076 33.33% 66.66%, #ffffff 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #c6363c 0 32%, #0c4076 32% 68%, #fff 68%); --blue: #0c4076; --blue-deep: #062747; }
html[data-country="BA"] { --flag-bg: radial-gradient(circle at 65% 18%, #fff 0 1.4%, transparent 1.8%), radial-gradient(circle at 58% 28%, #fff 0 1.4%, transparent 1.8%), radial-gradient(circle at 51% 38%, #fff 0 1.4%, transparent 1.8%), radial-gradient(circle at 44% 48%, #fff 0 1.4%, transparent 1.8%), radial-gradient(circle at 37% 58%, #fff 0 1.4%, transparent 1.8%), linear-gradient(135deg, #002395 0 70%, #fecb00 70%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(135deg, #002395 0 60%, #fecb00 60%); --blue: #002395; --blue-deep: #00175f; }
html[data-country="ME"] { --flag-bg: linear-gradient(90deg, #d4af37 0 8%, transparent 8% 92%, #d4af37 92% 100%), linear-gradient(180deg, #d4af37 0 8%, transparent 8% 92%, #d4af37 92% 100%), radial-gradient(circle at 50% 50%, rgba(212,175,55,.85) 0 10%, transparent 10.5%), #c40308; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(90deg, #d4af37 0 8%, #c40308 8% 92%, #d4af37 92%); --blue: #c40308; --blue-deep: #7c0205; }

html[data-country="SE"] { --flag-bg: linear-gradient(90deg, transparent 0 30%, #fecc00 30% 42%, transparent 42%), linear-gradient(180deg, transparent 0 42%, #fecc00 42% 56%, transparent 56%), #006aa7; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #006aa7; --blue-deep: #003e61; }
html[data-country="NO"] { --flag-bg: linear-gradient(90deg, transparent 0 28%, #fff 28% 42%, transparent 42%), linear-gradient(180deg, transparent 0 38%, #fff 38% 58%, transparent 58%), linear-gradient(90deg, transparent 0 32%, #00205b 32% 38%, transparent 38%), linear-gradient(180deg, transparent 0 44%, #00205b 44% 52%, transparent 52%), #ba0c2f; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #00205b; --blue-deep: #00143a; }
html[data-country="FI"] { --flag-bg: linear-gradient(90deg, transparent 0 30%, #002f6c 30% 43%, transparent 43%), linear-gradient(180deg, transparent 0 42%, #002f6c 42% 56%, transparent 56%), #ffffff; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #002f6c; --blue-deep: #001c40; }
html[data-country="DK"] { --flag-bg: linear-gradient(90deg, transparent 0 28%, #ffffff 28% 38%, transparent 38%), linear-gradient(180deg, transparent 0 42%, #ffffff 42% 56%, transparent 56%), #c60c30; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #c60c30; --blue-deep: #850820; }
html[data-country="IS"] { --flag-bg: linear-gradient(90deg, transparent 0 28%, #ffffff 28% 42%, transparent 42%), linear-gradient(180deg, transparent 0 38%, #ffffff 38% 58%, transparent 58%), linear-gradient(90deg, transparent 0 32%, #dc1e35 32% 38%, transparent 38%), linear-gradient(180deg, transparent 0 44%, #dc1e35 44% 52%, transparent 52%), #02529c; --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #02529c; --blue-deep: #013461; }

html[data-country="EE"] { --flag-bg: linear-gradient(180deg, #0072ce 0 33.33%, #000000 33.33% 66.66%, #ffffff 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #0072ce 0 32%, #000 32% 68%, #fff 68%); --blue: #0072ce; --blue-deep: #004780; }
html[data-country="LT"] { --flag-bg: linear-gradient(180deg, #fdb913 0 33.33%, #006a44 33.33% 66.66%, #c1272d 66.66% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: var(--flag-bg); --blue: #006a44; --blue-deep: #00442b; }
html[data-country="LV"] { --flag-bg: linear-gradient(180deg, #9e3039 0 40%, #ffffff 40% 60%, #9e3039 60% 100%); --mini-flag-bg: var(--flag-bg); --mobile-flag-bg: linear-gradient(180deg, #9e3039 0 38%, #fff 38% 62%, #9e3039 62%); --blue: #9e3039; --blue-deep: #672027; }

@media (min-width: 720px) {
  .age-card { width: min(100%, 530px); }
  .panel { padding-left: 44px; padding-right: 44px; }
}

@media (max-width: 520px) {
  body {
    background: var(--mobile-flag-bg);
    background-attachment: fixed;
    background-size: 100% 100%;
  }
  body::before {
    background-image:
      radial-gradient(circle at 50% 18%, rgba(255,255,255,.18), transparent 36%),
      linear-gradient(90deg, rgba(0,0,0,.10), transparent 19%, transparent 81%, rgba(0,0,0,.10)),
      linear-gradient(180deg, rgba(5, 18, 45, .04), rgba(5, 18, 45, .18)),
      var(--mobile-flag-bg);
    background-size: 100% 100%;
    background-position: center;
    filter: saturate(1.28) contrast(1.10);
  }
  body::after {
    background:
      radial-gradient(circle at 50% 18%, rgba(255,255,255,.20), transparent 36%),
      linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.12));
    backdrop-filter: blur(3px) saturate(118%);
  }
  .page-shell { padding: 18px 22px; }
  .age-card { width: min(100%, 392px); gap: 18px; min-height: calc(100svh - 36px); }
  .topline {
    max-width: 100%;
    font-size: clamp(20px, 5.8vw, 27px);
    padding: 9px 14px;
    background: rgba(7, 20, 44, 0.28);
    box-shadow: 0 14px 34px rgba(0,0,0,.14);
  }
  .mini-flag { border-radius: 14px; }
  .panel {
    background: rgba(255,255,255,.985);
    box-shadow: 0 24px 70px rgba(3, 22, 49, .24);
  }
  .footer-links { gap: 7px 10px; padding: 8px 4px 0; }
  .footer-links a { line-height: 1.25; padding: 7px 9px; }
  .legal-panel h1 { font-size: 34px; }
}

@media (max-width: 380px) {
  .page-shell { padding: 12px 14px; }
  .age-card { gap: 14px; }
  .panel { border-radius: 28px; padding: 30px 18px 24px; }
  .btn { min-height: 62px; border-radius: 16px; }
  .footer-links a { font-size: 13px; }
}

@media (max-height: 760px) {
  .page-shell { place-items: start center; padding-top: 16px; padding-bottom: 16px; }
  .age-card { min-height: auto; gap: 14px; }
  .panel { padding-top: 28px; }
  .secure-icon { margin-bottom: 16px; }
  .actions { margin-top: 24px; }
  .safe-line { margin-top: 22px; }
}

[hidden] { display: none !important; }

.restricted-panel {
  animation: restrictedPop .28s ease both;
}

.restricted-icon {
  width: clamp(90px, 22vw, 112px);
  height: clamp(90px, 22vw, 112px);
  margin: 0 auto 26px;
  display: grid;
  place-items: center;
  border-radius: 30px;
  color: #ffffff;
  background: linear-gradient(145deg, #c1121f, #7a0b13);
  box-shadow: 0 18px 34px rgba(122, 11, 19, 0.30), 0 0 0 10px rgba(193, 18, 31, 0.07);
}

.restricted-icon svg { width: 58%; height: 58%; }
.restricted-actions { margin-top: 30px; }
.arrow-left { margin-right: 8px; margin-left: 0; }

body.restricted-mode .topline {
  background: rgba(7, 20, 44, 0.34);
}

@keyframes restrictedPop {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.yes-form {
  width: 100%;
  display: block;
  margin: 0;
}

.yes-form .btn {
  width: 100%;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}


/* Keitaro offer macro fix: keep primary and secondary actions exactly the same width */
.actions {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
}
.actions > .yes-form,
.actions > .btn,
.actions > .yes-form > .btn {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.actions > .yes-form {
  display: block;
  margin: 0;
}
.actions > .yes-form > .btn {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  outline: 0;
  cursor: pointer;
  font-family: inherit;
}
.actions > .btn-secondary {
  display: flex;
}
