/* Modern, BBC-inspired light aesthetic */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --elev:#f6f7f8;
  --text:#111111;
  --muted:#6a7380;
  --brand:#bb1919; /* BBC red */
  --accent:#0071ce; /* link/CTA blue */
  --ok:#0f8f4b;
  --border:#e6e8eb;
  --shadow:0 6px 24px rgba(17,17,17,.08);
}

/* Fluid type scale */
html{font-size:clamp(15px, 1.1vw, 18px)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100%;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block;height:auto}
.container{max-width:min(1100px, 100vw - 48px);margin:0 auto;padding:0 0}

/* Top red bar (BBC-like) */
.top-bar{height:6px;background:var(--brand);}

/* Sticky header nav */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.logo{width:32px;height:32px}
.logo.small{width:22px;height:22px}
.logo-text{font-weight:800;letter-spacing:.2px}

.menu{display:flex;gap:18px;align-items:center}
.menu a{font-weight:600}
.menu .cta{padding:9px 14px;background:var(--brand);border-radius:999px;color:#fff;border:1px solid transparent}
.menu .cta:hover{text-decoration:none;opacity:.95}

/* Layout helpers */
.section{padding:clamp(40px, 6vw, 80px) 16px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:clamp(20px, 4vw, 40px) 16px 0}
.hero h1{font-size:clamp(34px, 4.2vw, 48px);line-height:1.1;margin:0 0 .4rem;font-weight:800;letter-spacing:-0.02em;}
.lead{color:var(--muted);margin:.6rem 0 1rem;max-width:68ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}


.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:600;
  font-size:1.05rem;
  cursor:pointer;
  background:#ffffff;
  color:var(--text);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, opacity .2s ease;
}
.btn-primary{
  background:var(--brand);
  border-color:var(--brand);
  color:#ffffff;
}
.btn:hover{
  transform:translateY(-2px);
  opacity:.96;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.btn-primary{
  background:var(--brand);
  border-color:var(--brand);
  color:#ffffff;
}
.btn-ghost{
  background:transparent;
  border-color:transparent;
}
.btn-outline{
  background:transparent;
  border-color:var(--border);
}
.btn:hover{
  transform:translateY(-1px);
  opacity:.96;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.btn:active{
  transform:translateY(0);
  box-shadow:none;
}
.btn:focus-visible{
  outline:2px solid rgba(0,0,0,.3);
  outline-offset:2px;
}

.trust-row{display:flex;gap:14px;color:var(--muted);font-size:.95rem;margin-top:.5rem;flex-wrap:wrap}

/* Carded hero visual */
.hero-visual .card{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--border);min-height:240px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.shadow{box-shadow:var(--shadow)}
.float-up{transform:translateY(10px);opacity:0;animation:floatUp 1s ease .2s forwards}
@keyframes floatUp{to{transform:none;opacity:1}}

/* News ticker */
.ticker{display:flex;gap:8px;flex-wrap:wrap;overflow:visible;white-space:normal;border-bottom:1px solid var(--border);padding:12px;border-radius:12px;background:#fff}
.ticker span{display:inline-block;animation:none;}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

/* Sparkline demo */
.chart-sparkline{height:110px;margin:14px 0;border-radius:8px;background:linear-gradient(180deg,#f0f2f5,transparent), repeating-linear-gradient(90deg, #eceff3 0 1px, transparent 1px 42px);position:relative;overflow:hidden}
.chart-sparkline::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,113,206,.14), transparent 35%, rgba(187,25,25,.18) 65%, transparent);mix-blend-mode:multiply;animation:shine 5s ease-in-out infinite}
@keyframes shine{0%{transform:translateX(-40%)}50%{transform:translateX(40%)}100%{transform:translateX(-40%)}}

/* Sections */
.how,.features,.topics,.news,.pricing,.subscribe,.why{padding:clamp(40px, 6vw, 80px) 16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step,.feature-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}
.step h3,.feature-card h3{margin:.2rem 0 .4rem}
.step-num{width:34px;height:34px;border-radius:999px;background:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;margin-bottom:8px}

/* Richer Topics */
.topics-field {
  margin-top: 4px;
}

.topics-field legend {
  margin-bottom: 4px;
}

.topics-hint {
  margin: 2px 0 10px;
  font-size: 0.8rem;
  color: var(--muted);
}

.topic-pills {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.choice-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.topic-pill,
.choice-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background: rgba(255, 255, 255, 0.96);
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1.25;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease,
    transform 0.06s ease;
}

.topic-pill:hover,
.choice-pill:hover {
  border-color: var(--brand);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.topic-pill:active,
.choice-pill:active {
  transform: translateY(1px);
}

.topic-pill input[type="checkbox"],
.choice-pill input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 2px solid rgba(148, 163, 184, 0.9);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition:
    border-color 0.16s ease,
    background 0.16s ease,
    box-shadow 0.16s ease;
}

.topic-pill input[type="checkbox"]::after,
.choice-pill input[type="checkbox"]::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 4px;
  background: var(--brand);
  transform: scale(0);
  transition: transform 0.16s ease;
}

.topic-pill input[type="checkbox"]:checked,
.choice-pill input[type="checkbox"]:checked {
  border-color: var(--brand);
  background: rgba(129, 140, 248, 0.12);
  box-shadow: 0 0 0 2px rgba(129, 140, 248, 0.25);
}

.topic-pill input[type="checkbox"]:checked::after,
.choice-pill input[type="checkbox"]:checked::after {
  transform: scale(1);
}

.topic-pill input[type="checkbox"]:focus-visible,
.choice-pill input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.6);
}

.topic-pill span,
.choice-pill span {
  flex: 1;
}

/* News / Top stories */
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.section-head .see-all{font-weight:700;color:var(--accent)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.news-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.news-card .img-wrap{display:block;aspect-ratio:16/9;background:#f2f4f7;overflow:hidden}
.news-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.news-card:hover img{transform:scale(1.03)}
.news-body{padding:12px 14px}
.news-title{font-weight:800}
.news-desc{color:var(--muted);margin:.25rem 0 0}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px}
.price-card .badge{font-weight:800}
.price-card .price{font-size:clamp(28px, 4vw, 40px);font-weight:800}
.price-card.featured{border-color:var(--brand);position:relative}
.price-card.featured::before{content:"Popular";position:absolute;top:-10px;right:10px;background:var(--brand);padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px;color:#fff}

/* Forms */
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.topics-field{grid-column:1/-1}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
label span, legend{font-weight:700}
input[type=email], select, input[type=tel], input[type=text]{width:100%;padding:10px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text)}
input::placeholder{color:#9aa3ad}
.form-actions{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}
}
.form-actions .btn-primary{
  background:linear-gradient(135deg,#bb1919,#ff4b4b);
  box-shadow:0 14px 30px rgba(187,25,25,.35);
  padding:14px 30px;
  border-radius:999px;
  font-size:1.02rem;
  letter-spacing:0.02em;
  display:inline-flex;
  align-items:center;
  gap:8px;
  position:relative;
}
.form-actions .btn-primary::after{
  content:"→";
  font-size:1.1rem;
  transform:translateX(0);
  transition:transform .15s ease;
}
.form-actions .btn-primary:hover::after{
  transform:translateX(3px);
}
@media (max-width:640px){
  .form-actions{
    flex-direction:column;
    align-items:flex-start;
  }
}
.form-note{color:var(--muted);font-size:.95rem}
.dynamic-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}
/* Refined subscribe form */
#signupForm{
  border-radius:20px;
  padding:22px 22px 20px;
  border:1px solid var(--border);
  background:radial-gradient(circle at top left,#ffffff,#f5f7fb);
}
#signupForm label span,
#signupForm legend{
  font-size:.9rem;
}
.selected-plan-box{
  margin-bottom:18px;
  padding:10px 14px;
  font-weight:500;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(187,25,25,.08),rgba(0,0,0,0));
}
.topics-field{
  grid-column:1/-1;
  margin-top:10px;
  padding:14px 14px 12px;
  border-radius:16px;
  border:1px solid var(--border);
}
.topics-field legend{
  padding:0 6px;
}
.checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px;
}
@media (max-width:900px){
  .checks{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .form-grid{
    grid-template-columns:1fr;
  }
  .checks{
    grid-template-columns:1fr;
  }
}


/* Why us */
.why-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.benefits{margin:10px 0 14px;padding-left:18px}
.benefits li{margin:.35rem 0}
.why-card{padding:20px}
.why-bullets{display:grid;gap:10px}
.tick{display:inline-block;width:14px;height:14px;border-radius:999px;background:var(--brand);margin-right:8px;vertical-align:middle}


/* Footer */
.footer{padding:32px 16px 40px;border-top:1px solid var(--border);background:linear-gradient(to bottom,#ffffff,#f9fafb);margin-top:32px}
.footer-grid{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-start;justify-content:space-between}
.brand-row{display:flex;gap:10px;align-items:center}
.muted{color:var(--muted);font-size:.85rem}
.lang-select select{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 10px}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.revealed{opacity:1;transform:none}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
}

/* Responsive enhancements */
@media (max-width: 1080px){
  .hero{grid-template-columns:1fr;gap:24px}
}
@media (max-width: 900px){
  .grid-3{grid-template-columns:1fr 1fr}
  .pricing-grid{grid-template-columns:1fr 1fr}
  .checks{grid-template-columns:repeat(3,1fr)}
  .news-grid{grid-template-columns:1fr 1fr}
  .why-wrap{grid-template-columns:1fr}
}
@media (max-width: 640px){
  /* Full mobile navigation via dropdown */
  .grid-3{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .checks{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}
  .hero{
    padding:20px 16px 0;
  }
  .hero h1{
    font-size:1.95rem;
    line-height:1.15;
  }
  .lead{
    font-size:0.98rem;
  }
  .hero-visual{
    width:100%;
  }
  .hero-visual .card{
    width:100%;
  }
  .hero-cta{
    flex-wrap:wrap;
  }
  .ticker span{
    font-size:0.78rem;
  }
  .dynamic-fields{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
}

  .grid-3{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .checks{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}
  .hero{padding:20px 16px 0}
  .dynamic-fields{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
}


.selected-plan-box {
  margin-bottom: 16px;
  padding: 10px 14px;
  font-weight: 500;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(187,25,25,0.06), rgba(0,0,0,0));
}




/* Language Booster */

.languages-left .card {
  background: #ffffff;
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 10px 30px rgba(15,23,42,0.06);
  border: 1px solid rgba(148,163,253,0.18);
  margin-bottom: 12px;
}
.languages-left h3 {
  margin-bottom: 8px;
}
.languages-left h4 {
  margin: 0 0 6px;
  font-size: 0.9rem;
}
.languages-left ul {
  padding-left: 18px;
  margin: 0 0 6px;
  font-size: 0.85rem;
}
.languages-left .helper-text {
  font-size: 0.78rem;
  color: #6b7280;
}
.languages-right .subscribe-form {
  background: #0f172a;
  color: #e5e7eb;
  border-radius: 18px;
  padding: 18px 18px 16px;
  box-shadow: 0 14px 40px rgba(15,23,42,0.35);
  border: 1px solid rgba(129,140,248,0.35);
}
.languages-right .subscribe-form h3 {
  color: #e5e7eb;
  margin-top: 0;
  margin-bottom: 10px;
}
.languages-right .subscribe-form label {
  font-size: 0.8rem;
  display: block;
  margin-bottom: 8px;
}
.languages-right .subscribe-form input,
.languages-right .subscribe-form select {
  width: 100%;
  margin-top: 3px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(148,163,253,0.6);
  background: #020817;
  color: #e5e7eb;
  font-size: 0.8rem;
}
.languages-right .subscribe-form .helper-text {
  font-size: 0.75rem;
  color: #9ca3af;
}
@media (max-width: 768px) {
  
  .languages-right .subscribe-form {
    margin-top: 10px;
  }
}




/* ===========================
   LANGUAGE BOOSTER (premium look)
   =========================== */

.languages-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1.4fr);
  gap: 32px;
  margin-top: 28px;
  align-items: flex-start;
}

/* LEFT SIDE */

.languages-left .languages-label {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 600;
  color: #111827;
}

.lb-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 18px 20px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(229, 231, 235, 0.9);
  margin-bottom: 14px;
  font-size: 0.9rem;
  transition: all 0.18s ease;
}

.lb-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.lb-card h4 {
  margin: 0 0 8px;
  font-size: 0.95rem;
  color: #111827;
}

.lb-card ul {
  padding-left: 20px;
  margin: 0 0 8px;
}

.lb-card li strong {
  color: #374151;
}

.lb-card .helper-text {
  font-size: 0.8rem;
  color: #6b7280;
}

/* RIGHT SIDE — FORM */

.language-subscribe {
  position: relative;
  background: radial-gradient(circle at top left, #ffffff, #f3f4f6);
  border-radius: 24px;
  padding: 24px 24px 22px;
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.12);
  border: 1px solid rgba(209, 213, 219, 0.9);
  font-size: 0.85rem;
}

.lb-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(230, 57, 70, 0.08);
  color: #E63946;
  margin-bottom: 8px;
}

.language-subscribe h3 {
  margin: 0 0 14px;
  font-size: 1.05rem;
  font-weight: 600;
  color: #111827;
}

.language-subscribe .lb-field {
  margin-bottom: 10px;
}

.language-subscribe .lb-field span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.78rem;
  color: #6b7280;
}

.language-subscribe input,
.language-subscribe select {
  width: 100%;
  padding: 9px 11px;
  border-radius: 9px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  color: #111827;
  font-size: 0.85rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.language-subscribe input:focus,
.language-subscribe select:focus {
  border-color: #E63946;
  box-shadow: 0 0 0 1px rgba(230, 57, 70, 0.08);
  outline: none;
}

.language-subscribe .lang-options {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}

.language-subscribe .lang-options label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: #111827;
}

.language-subscribe .price-summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 12px 0 10px;
  padding: 9px 11px;
  background: #f3f4f6;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  gap: 12px;
}

.language-subscribe .price-label {
  font-size: 0.75rem;
  color: #6b7280;
}

.language-subscribe .price-hint {
  font-size: 0.7rem;
  color: #9ca3af;
}

.language-subscribe .price-value {
  text-align: right;
  font-size: 0.82rem;
  color: #374151;
}

.language-subscribe .price-value strong {
  font-weight: 600;
  color: #E63946;
}

.language-subscribe .helper-text {
  font-size: 0.74rem;
  color: #6b7280;
  margin: 2px 0 12px;
}

/* CTA button */

.language-subscribe .lb-btn.full-width {
  width: 100%;
  background: var(--brand);
  color: #ffffff;
  border: none;
  border-radius: 999px;
  padding: 11px 0;
  font-weight: 600;
  letter-spacing: 0.03em;
  font-size: 0.86rem;
  cursor: pointer;
  transition: all 0.22s ease;
}

.language-subscribe .lb-btn.full-width:hover {
  background: #971010;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

/* Responsive */

@media (max-width: 992px) {
  .languages-grid {
    grid-template-columns: 1fr;
  }
  .language-subscribe {
    margin-top: 18px;
  }
}

@media (max-width: 640px) {
  /* Language booster: make sure card fits and options don't get cut */
  .language-subscribe {
    padding: 18px 16px 18px;
    border-radius: 20px;
  }
  .language-subscribe .lang-options {
    grid-template-columns: 1fr;
  }
}

/* Footer mobile layout */
@media (max-width: 640px){
  .footer-grid{
    grid-template-columns:1fr;
    align-items:flex-start;
    row-gap:16px;
  }
  .footer-grid > div:last-child{
    display:flex;
    flex-direction:column;
    gap:4px;
  }
}


/* ===== Mobile navigation (hamburger) ===== */
.menu-toggle{
  display:none;
  margin-left:auto;
  border:none;
  background:transparent;
  padding:6px;
  cursor:pointer;
  border-radius:999px;
}
.menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:var(--text);
  transition:transform .2s ease, opacity .2s ease, background .2s ease;
}
.menu-toggle span + span{
  margin-top:4px;
}

/* Open / close animation */
.menu-toggle.is-open span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.menu-toggle.is-open span:nth-child(2){
  opacity:0;
}
.menu-toggle.is-open span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

/* Mobile layout for nav */
@media (max-width: 768px){
  .nav{
    position:sticky;
    top:0;
    z-index:60;
  }
  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .menu{
    position:absolute;
    right:16px;
    top:56px;
    flex-direction:column;
    gap:10px;
    background:var(--surface);
    padding:12px 16px;
    border-radius:12px;
    box-shadow:var(--shadow);
    border:1px solid var(--border);
    display:none;
  }
  .menu.open{
    display:flex;
  }
  .menu a{
    display:block;
    width:100%;
  }
}

/* On very small screens, ensure hero stacks nicely */
@media (max-width: 480px){
  .hero{
    padding-top:24px;
  }
  .hero-cta{
    flex-direction:column;
    align-items:stretch;
  }
}


/* Subscribe section refinement */
.subscribe h2{
  margin-bottom: 12px;
}
#signupForm{
  margin-top: 8px;
  border-radius: 20px;
  border: 1px solid var(--border);
  padding: 20px 20px 22px;
}
.topics-field{
  grid-column:1/-1;
  margin-top: 6px;
  border-radius: 16px;
  border:1px solid var(--border);
  padding: 12px 14px 10px;
}
.topics-field legend{
  padding:0 6px;
  font-size:0.9rem;
}
@media (max-width: 900px){
  .checks{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 640px){
  .checks{grid-template-columns:1fr;}
}

/* Language Booster clipping fix */
.language-subscribe{
  overflow:visible;
}
.language-subscribe .lang-options label{
  max-width:100%;
  white-space:nowrap;
}

/* Modern footer */
.footer{
  padding:32px 16px 40px;
  border-top:1px solid var(--border);
  background:linear-gradient(to bottom,#ffffff,#f9fafb);
}
.footer-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px 32px;
}
.footer-grid .brand-row strong{
  font-size:0.95rem;
}
.footer-grid .muted{
  font-size:0.82rem;
}
.footer-links{
  display:flex;
  gap:12px;
  font-size:0.82rem;
}
@media (max-width: 640px){
  .footer-grid{
    flex-direction:column;
    align-items:flex-start;
  }
}



/* === Global button restyle === */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:600;
  font-size:1rem;
  cursor:pointer;
  background:#111111;
  color:#ffffff;
  letter-spacing:0.02em;
  transition:
    transform .16s ease,
    box-shadow .22s ease,
    background .22s ease,
    opacity .18s ease;
}
.btn-primary{
  background:linear-gradient(135deg,#bb1919,#e34242);
  border-color:transparent;
  color:#ffffff;
  box-shadow:0 14px 36px rgba(187,25,25,.35);
}
.btn-ghost{
  background:transparent;
  border-color:rgba(17,17,17,.18);
  color:var(--text);
}
.btn-outline{
  background:#ffffff;
  border-color:rgba(17,17,17,.24);
  color:var(--text);
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  opacity:.97;
}
.btn:active{
  transform:translateY(0);
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.btn:focus-visible{
  outline:2px solid rgba(0,0,0,.65);
  outline-offset:3px;
}
