 :root {
      color-scheme: dark;
      --bg: #030a1c;
      --bg-2: #07152f;
      --panel: rgba(255, 255, 255, 0.075);
      --panel-strong: rgba(255, 255, 255, 0.12);
      --line: rgba(255, 255, 255, 0.16);
      --line-strong: rgba(59, 130, 246, 0.52);
      --text: #f4f8ff;
      --muted: rgba(226, 236, 255, 0.74);
      --soft: rgba(199, 216, 245, 0.56);
      --emerald: #3b82f6;
      --emerald-dark: #1d4ed8;
      --sky: #60a5fa;
      --gold: #8b5cf6;
      --orange: #2563eb;
      --danger: #fb7185;
      --shadow: 0 28px 90px rgba(0, 0, 0, 0.38);
      --radius-xl: 34px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --radius-sm: 12px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }

    button, input, textarea, select, option {
      font-family: 'Saira Stencil', sans-serif;
    }

    html { scroll-behavior: smooth; }

    body {
      margin: 0;
      min-height: 100vh;
      font-family: 'Saira Stencil', sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(59, 130, 246, 0.25), transparent 28rem),
        radial-gradient(circle at 86% 14%, rgba(37, 99, 235, 0.22), transparent 26rem),
        radial-gradient(circle at 70% 82%, rgba(96, 165, 250, 0.16), transparent 30rem),
        linear-gradient(135deg, var(--bg), #080b13 52%, #090d24);
      overflow-x: hidden;
    }

    body::before {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 80%);
      z-index: -3;
    }

    .orb {
      position: fixed;
      width: 34rem;
      height: 34rem;
      border-radius: 999px;
      filter: blur(38px);
      opacity: 0.18;
      z-index: -2;
      animation: drift 18s ease-in-out infinite alternate;
    }
    .orb.one { top: -15rem; left: -12rem; background: var(--emerald); }
    .orb.two { right: -16rem; top: 22rem; background: var(--gold); animation-delay: -7s; }
    .orb.three { left: 44%; bottom: -18rem; background: var(--sky); animation-delay: -12s; }

    @keyframes drift {
      from { transform: translate3d(0,0,0) scale(1); }
      to { transform: translate3d(3rem, -2rem, 0) scale(1.12); }
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    .wrap { width: min(100% - 40px, var(--max)); margin-inline: auto; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
      background: rgba(3, 10, 28, 0.72);
      border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    .nav {
      min-height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      font-family: 'Saira Stencil', sans-serif;
      font-size: clamp(1.2rem, 2.4vw, 1.65rem);
      letter-spacing: .04em;
      white-space: nowrap;
    }

    .brand img {
      width: 50px;
      height: 50px;
      object-fit: contain;
      border-radius: 16px;
      background: linear-gradient(135deg, rgb(255 255 255 / 39%), rgba(255, 255, 255, .04));
      border: 1px solid rgba(255,255,255,.15);
      padding: 4px;
      box-shadow: 0 16px 38px rgba(0,0,0,.28);
    }

    .brand span span {
      color: var(--emerald);
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 26px;
      color: var(--muted);
      font-size: .88rem;
    }

    .nav-links a { transition: color .2s ease, transform .2s ease; }
    .nav-links a:hover { color: var(--text); transform: translateY(-1px); }

    .nav-actions { display: flex; align-items: center; gap: 12px; }

    .mobile-toggle {
      display: none;
      width: 46px;
      height: 46px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.07);
      color: var(--text);
      cursor: pointer;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 46px;
      padding: 12px 19px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-family: 'Saira Stencil', sans-serif;
      font-weight: 700;
      font-size: .88rem;
      cursor: pointer;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
    }

    .btn:hover { transform: translateY(-2px); }

    .btn-primary {
      color: #04110f;
      background: linear-gradient(135deg, var(--emerald), #b6a7f3 46%, var(--gold));
    box-shadow: 0 16px 34px rgba(59, 130, 246, .24);
    }
    
    .btn-primary:hover { box-shadow: 0 18px 42px rgba(59, 130, 246, .34); }

    .btn-secondary{
      color: #04110f;
    background: linear-gradient(135deg, #b79ef1, #734fcb 46%, var(--emerald));
    box-shadow: 0 16px 34px rgb(59 130 246 / 31%);
    }
    .btn-secondary:hover { box-shadow: 0 18px 42px var(--gold) }

    .btn-ghost {
      color: var(--text);
      background: rgba(255,255,255,.07);
      border-color: var(--line);
    }

    .btn-ghost:hover { border-color: rgba(59, 130, 246, .55); background: rgba(255,255,255,.12); }

    .hero {
      padding: 78px 0 54px;
      position: relative;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
      gap: 44px;
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 9px 14px;
      border-radius: 999px;
      border: 1px solid rgba(59, 130, 246, 0.34);
      background: rgba(59, 130, 246, 0.08);
      color: #54a0fd;
      font-size: .78rem;
      letter-spacing: .02em;
      margin-bottom: 22px;
    }

    .eyebrow::before {
      content: '';
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--emerald);
      box-shadow: 0 0 18px var(--emerald);
    }

    h1, h2, h3, h4 {
      font-family: 'Saira Stencil', sans-serif;
      margin: 0;
      letter-spacing: .025em;
      line-height: 1.03;
    }

    h1 {
      font-size: clamp(2rem, 5vw, 4.7rem);
      max-width: 820px;
      text-transform: uppercase;
    }

    .gradient-text {
      background: linear-gradient(135deg, #f4f7ff 0%, #a7b1f3 32%, var(--sky) 62%, var(--gold) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .hero-copy {
      margin-top: 22px;
      max-width: 680px;
      color: var(--muted);
      font-size: clamp(1rem, 1.5vw, 1.18rem);
      line-height: 1.75;
    }

    .hero-actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 30px;
    }

    .hero-proof {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 32px;
    }

    .proof-pill {
      padding: 10px 13px;
      border-radius: 999px;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.12);
      color: var(--soft);
      font-size: .78rem;
    }

    .hero-visual {
      position: relative;
      perspective: 1100px;
    }

    .hero-visual-card {
      padding: 14px;
      border-radius: 42px;
      background: linear-gradient(135deg, rgba(255,255,255,.2), rgba(255,255,255,.06));
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: var(--shadow);
      transform: rotateX(2deg) rotateY(-5deg);
      transition: transform .4s ease;
    }

    .hero-visual-card:hover { transform: rotateX(0deg) rotateY(0deg) translateY(-4px); }

    .hero-visual-card img { border-radius: 32px; }

    .floating-card {
      position: absolute;
      right: -4px;
      bottom: 34px;
      width: min(250px, 48%);
      padding: 16px;
      border-radius: 24px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(4,17,15,.76);
      backdrop-filter: blur(18px);
      box-shadow: 0 18px 60px rgba(0,0,0,.32);
    }

    .floating-card b { color: var(--emerald); display: block; margin-bottom: 8px; font-family: 'Saira Stencil', sans-serif; font-size: 1.2rem; }
    .floating-card span { color: var(--muted); font-size: .78rem; line-height: 1.5; display:block; }

    section { padding: 82px 0; }

    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 32px;
    }

    .section-kicker {
      color: var(--emerald);
      font-size: .78rem;
      text-transform: uppercase;
      letter-spacing: .12em;
      margin-bottom: 12px;
      display: block;
      font-weight: 700;
    }

    h2 { font-size: clamp(2.2rem, 4.8vw, 4.3rem); text-transform: uppercase; }

    .section-head p,
    .center-copy {
      color: var(--muted);
      line-height: 1.75;
      margin: 0;
      max-width: 650px;
    }

    .stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-top: 56px;
    }

    .stat-card {
      padding: 24px;
      min-height: 136px;
      border-radius: var(--radius-lg);
      border: 1px solid var(--line);
      background: var(--panel);
      backdrop-filter: blur(18px);
    }

    .stat-card strong {
      display: block;
      font-size: clamp(1.8rem, 3vw, 2.7rem);
      color: var(--text);
      font-family: 'Saira Stencil', sans-serif;
      letter-spacing: .04em;
    }

    .stat-card span { color: var(--soft); font-size: .82rem; line-height: 1.5; }

    .features-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .feature-card,
    .plan-card,
    .use-card,
    .contact-card {
      border: 1px solid var(--line);
      background: var(--panel);
      border-radius: var(--radius-lg);
      backdrop-filter: blur(20px);
      box-shadow: 0 18px 70px rgba(0,0,0,.16);
    }

    .feature-card {
      padding: 26px;
      position: relative;
      overflow: hidden;
      transition: transform .24s ease, border-color .24s ease, background .24s ease;
    }

    .feature-card::before {
      content: '';
      position: absolute;
      inset: -1px;
      background: radial-gradient(circle at 18% 0%, rgba(52,211,153,.18), transparent 15rem);
      opacity: 0;
      transition: opacity .24s ease;
      pointer-events: none;
    }

    .feature-card:hover { transform: translateY(-6px); border-color: var(--line-strong); background: rgba(255,255,255,.105); }
    .feature-card:hover::before { opacity: 1; }

    .icon-box {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 18px;
      background: linear-gradient(135deg, rgba(52,211,153,.2), rgba(245,158,11,.12));
      border: 1px solid rgba(255,255,255,.13);
      color: var(--emerald);
      margin-bottom: 18px;
      position: relative;
    }

    .icon-box svg { width: 27px; height: 27px; stroke-width: 1.8; }

    .feature-card h3 { font-size: 1.28rem; margin-bottom: 10px; }
    .feature-card p { color: var(--muted); line-height: 1.65; margin: 0; font-size: .91rem; }

    .use-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }

    .use-card { overflow: hidden; }
    .use-card img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-bottom: 1px solid rgba(255,255,255,.12); }
    .use-content { padding: 25px; }
    .use-content h3 { font-size: 1.45rem; margin-bottom: 10px; }
    .use-content p { margin: 0; color: var(--muted); line-height: 1.68; font-size: .92rem; }

    .workflow {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      counter-reset: steps;
    }

    .step {
      position: relative;
      min-height: 210px;
      padding: 25px;
      border-radius: var(--radius-lg);
      border: 1px solid var(--line);
      background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.045));
      overflow: hidden;
    }

    .step::before {
      counter-increment: steps;
      content: '0' counter(steps);
      position: absolute;
      top: 18px;
      right: 20px;
      font-family: 'Saira Stencil', sans-serif;
      font-size: 3.4rem;
      line-height: 1;
      color: rgba(255,255,255,.08);
    }

    .step h3 { font-size: 1.25rem; margin-bottom: 12px; max-width: 180px; }
    .step p { color: var(--muted); line-height: 1.62; margin: 0; font-size: .88rem; }

    .pricing-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 28px;
    }

    .billing-toggle {
      display: inline-flex;
      padding: 6px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.07);
      gap: 6px;
    }

    .billing-toggle button {
      border: 0;
      border-radius: 999px;
      padding: 10px 15px;
      color: var(--muted);
      background: transparent;
      font-family: 'Saira Stencil', sans-serif;
      font-weight: 700;
      cursor: pointer;
    }

    .billing-toggle button.active {
      color: #04110f;
      background: linear-gradient(135deg, var(--emerald), #a7acf3);
    }

    .plans-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 16px;
      align-items: stretch;
    }

    .plan-card {
      padding: 22px;
      display: flex;
      flex-direction: column;
      min-height: 520px;
      transition: transform .22s ease, border-color .22s ease, background .22s ease;
      position: relative;
      overflow: hidden;
    }

    .plan-card:hover { transform: translateY(-6px); box-shadow: rgba(58, 100, 208, 0.56) 0px 24px 70px;
    border-color: rgba(92, 95, 255, 0.62); }

    .plan-card.popular {
          border-color: rgb(92 95 255 / 62%);
    box-shadow: 0 24px 70px rgb(58 100 208 / 56%);
    }

    .popular-badge {
      position: absolute;
      top: 16px;
      right: 16px;
      color: #04110f;
      background: linear-gradient(135deg, var(--emerald), var(--gold));
      border-radius: 999px;
      padding: 7px 10px;
      font-size: .68rem;
      font-weight: 700;
    }

    .plan-icon {
      width: 72px;
      height: 72px;
      object-fit: contain;
      border-radius: 20px;
      padding: 5px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.12);
      margin-bottom: 18px;
    }

    .plan-card h3 { font-size: 1.42rem; margin-bottom: 10px; padding-right: 72px; }
    .plan-id { color: var(--soft); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 20px; }

    .price {
      display: flex;
      align-items: baseline;
      gap: 7px;
      margin-bottom: 4px;
    }

    .price strong { font-family: 'Saira Stencil', sans-serif; font-size: 2.35rem; letter-spacing: .04em; }
    .price span { color: var(--soft); font-size: .82rem; }
    .save-note { min-height: 21px; color: #b7ffe1; font-size: .75rem; margin-bottom: 18px; }

    .plan-features { list-style: none; padding: 0; margin: 4px 0 22px; display: grid; gap: 12px; }
    .plan-features li { display: flex; gap: 9px; color: var(--muted); font-size: .82rem; line-height: 1.42; }
    .plan-features li::before { content: '✓'; color: var(--emerald); font-weight: 700; flex: 0 0 auto; }

    .plan-card .btn { width: 100%; margin-top: auto; }
    .plans-status { color: var(--soft); font-size: .82rem; margin-top: 14px; min-height: 22px; }

    .contact-grid {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 22px;
      align-items: stretch;
    }

    .contact-card { padding: 28px; }

    .contact-card h3 { font-size: 1.8rem; margin-bottom: 14px; }
    .contact-card p { color: var(--muted); line-height: 1.7; margin: 0 0 22px; }

    .contact-list { display: grid; gap: 14px; margin-top: 28px; }
    .contact-list a, .contact-list div {
      display: flex;
      gap: 12px;
      align-items: center;
      padding: 14px;
      border-radius: 16px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      color: var(--muted);
      font-size: .88rem;
    }

    .contact-list svg { width: 20px; height: 20px; color: var(--emerald); flex: 0 0 auto; }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    .field { display: grid; gap: 8px; }
    .field.full { grid-column: 1 / -1; }
    label { color: var(--soft); font-size: .8rem; }

    input, textarea, select {
      width: 100%;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 15px;
      background: rgba(0,0,0,.22);
      color: var(--text);
      min-height: 48px;
      padding: 12px 14px;
      font-family: 'Saira Stencil', sans-serif;
      outline: none;
      transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

    textarea { min-height: 145px; resize: vertical; }
    input:focus, textarea:focus, select:focus { border-color: rgba(59, 130, 246, .72); box-shadow: 0 0 0 4px rgba(59, 130, 246, .16); background: rgba(0,0,0,.28); }

    .turnstile-shell {
      margin: 16px 0;
      min-height: 72px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }

    .turnstile-placeholder {
      border: 1px dashed rgba(255,255,255,.2);
      color: var(--soft);
      padding: 13px 15px;
      border-radius: 14px;
      font-size: .78rem;
      line-height: 1.5;
    }

    .form-message {
      margin-top: 14px;
      min-height: 24px;
      color: var(--soft);
      font-size: .85rem;
      line-height: 1.5;
    }

    .form-message.ok { color: #b7ffe1; }
    .form-message.bad { color: #fecdd3; }

    .footer {
      padding: 42px 0;
      border-top: 1px solid rgba(255,255,255,.1);
      color: var(--soft);
    }

    .footer-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
    }

    .powered a { color: var(--emerald); font-weight: 700; }

    .mini-brand { display: inline-flex; align-items: center; gap: 10px; font-family: 'Saira Stencil', sans-serif; color: var(--text); letter-spacing: .04em; }
    .mini-brand img { width: 34px; height: 34px; object-fit: contain; }

    .reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
    .reveal.in { opacity: 1; transform: translateY(0); }

    @media (max-width: 1180px) {
      .plans-grid { grid-template-columns: repeat(3, 1fr); }
    }

    @media (max-width: 980px) {
      .hero-grid, .contact-grid { grid-template-columns: 1fr; }
      .hero-visual { max-width: 720px; margin-inline: auto; }
      .stats { grid-template-columns: repeat(2, 1fr); }
      .features-grid { grid-template-columns: repeat(2, 1fr); }
      .workflow { grid-template-columns: repeat(2, 1fr); }
      .section-head, .pricing-header { align-items: start; flex-direction: column; }
    }

    @media (max-width: 820px) {
      .mobile-toggle { display: inline-grid; place-items: center; }
      .nav-links {
        position: fixed;
        left: 20px;
        right: 20px;
        top: 88px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        border: 1px solid rgba(255,255,255,.15);
        background: rgba(6, 16, 15, .94);
        border-radius: 22px;
        padding: 12px;
        box-shadow: var(--shadow);
      }
      .nav-links.open { display: flex; }
      .nav-links a { padding: 14px 16px; border-radius: 14px; }
      .nav-links a:hover { background: rgba(255,255,255,.07); transform: none; }
      .nav-actions .btn-ghost { display: none; }
      .btn-start_free{display: none;}
      .plans-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 640px) {
      .wrap { width: min(100% - 28px, var(--max)); }
      .hero { padding-top: 48px; }
      .hero-actions .btn, .nav-actions .btn-primary { width: 100%; }
      .nav { min-height: 72px; }
      .brand img { width: 42px; height: 42px; }
      .stats, .features-grid, .use-grid, .workflow, .plans-grid, .form-grid { grid-template-columns: 1fr; }
      .floating-card { position: static; width: auto; margin: -26px 18px 0; }
      section { padding: 58px 0; }
      .contact-card { padding: 22px; }
      .plan-card { min-height: auto; }
    }

    .enterprise-plan-wrap {
      margin-top: 28px;
    }
    .enterprise-card {
      margin: 0 auto;
    }
    .enterprise-grid {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 24px;
      align-items: stretch;
    }
    .enterprise-price {
      font-family: 'Saira Stencil', sans-serif;
      font-size: clamp(1.8rem, 4vw, 3.2rem);
      font-weight: 700;
      line-height: 1.1;
      margin: 12px 0 6px;
    }
    .enterprise-price span {
      display: block;
      font-family: 'Saira Stencil', sans-serif;
      font-size: .9rem;
      font-weight: 400;
      opacity: .76;
      margin-top: 8px;
    }
    .enterprise-form {
      display: grid;
      gap: 18px;
      margin: 0;
    }
    .enterprise-range-row {
      display: grid;
      gap: 10px;
    }
    .enterprise-range-head {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: baseline;
    }
    .enterprise-range-head label {
      font-weight: 700;
    }
    .enterprise-value {
      font-family: 'Saira Stencil', sans-serif;
      font-size: .95rem;
      opacity: .9;
      white-space: nowrap;
    }
    .enterprise-range-row input[type='range'] {
      width: 100%;
      accent-color: var(--emerald, #3b82f6);
    }
    .enterprise-range-note {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      font-size: .78rem;
      opacity: .68;
          margin-top: -25px;
    }
    .enterprise-summary {
      display: grid;
      gap: 10px;
      margin: 18px 0 20px;
      padding: 0;
      list-style: none;
    }
    .enterprise-summary li {
      display: flex;
      align-items: center;
      gap: 10px;
      opacity: .9;
    }
    .enterprise-summary li::before {
      content: '✓';
      width: 22px;
      height: 22px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(59, 130, 246, .16);
      color: var(--emerald-light, #6ee7b7);
      font-size: .85rem;
      flex: 0 0 auto;
    }
    .enterprise-contact-btn {
      width: 100%;
      margin-top: 8px;
    }
    @media (max-width: 860px) {
      .enterprise-grid {
        grid-template-columns: 1fr;
      }
    }
/* --------------------------------------------------------------------------
   Website language selector and cookie banner
   -------------------------------------------------------------------------- */

.language-fab {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 920;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: #04110f;
      background: linear-gradient(135deg, var(--emerald), #a7aff3 52%, var(--gold));
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.42), 0 0 0 5px rgba(59, 130, 246, 0.08);
  font-family: 'Saira Stencil', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, bottom 0.28s ease;
}

.language-fab:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.48), 0 0 0 7px rgba(59, 130, 246, 0.11);
}

.language-fab:focus-visible,
.language-option:focus-visible,
.language-dialog-close:focus-visible,
.cookie-accept:focus-visible {
  outline: 3px solid rgba(96, 165, 250, 0.8);
  outline-offset: 3px;
}

body.cookie-banner-visible .language-fab {
  bottom: 138px;
}

.language-modal[hidden],
.cookie-banner[hidden] {
  display: none !important;
}

.language-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 28px;
}

.language-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 7, 8, 0.78);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

.language-dialog {
  position: relative;
  width: min(960px, 100%);
  max-height: min(760px, calc(100vh - 56px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 30px;
  background:
    radial-gradient(circle at 10% 0%, rgba(59, 130, 246, 0.18), transparent 25rem),
    radial-gradient(circle at 100% 20%, rgba(37, 99, 235, 0.13), transparent 24rem),
    rgba(6, 16, 15, 0.97);
  box-shadow: 0 34px 120px rgba(0, 0, 0, 0.62);
}

.language-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.language-dialog-kicker {
  display: block;
  margin-bottom: 7px;
  color: var(--emerald);
  font-family: 'Saira Stencil', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.language-dialog h2 {
  font-size: clamp(1.5rem, 4vw, 2.3rem);
  text-transform: none;
}

.language-dialog-close {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 15px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.08);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.language-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  padding: 22px 24px 28px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.language-option {
  min-width: 0;
  min-height: 62px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.055);
  text-align: start;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.language-option:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.52);
  background: rgba(255, 255, 255, 0.1);
}

.language-option.selected {
  border-color: rgba(59, 130, 246, 0.75);
  background: rgba(59, 130, 246, 0.14);
  box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.12);
}

.language-option-code {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #04110f;
  background: linear-gradient(135deg, var(--emerald), #f3a7dd);
  font-family: 'Saira Stencil', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
}

.language-option-name {
  min-width: 0;
  color: var(--muted);
  font-family: 'Saira Stencil', sans-serif;
  font-size: 0.77rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.language-option.selected .language-option-name {
  color: var(--text);
}

body.language-modal-open {
  overflow: hidden;
}

.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 1000;
  width: min(920px, calc(100% - 36px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 17px 18px 17px 21px;
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-radius: 22px;
  background: rgba(6, 16, 15, 0.94);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  transform: translateX(-50%);
}

.cookie-banner-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.cookie-banner-copy strong {
  color: var(--text);
  font-family: 'Saira Stencil', sans-serif;
  font-size: 1rem;
  letter-spacing: 0.025em;
}

.cookie-banner-copy span {
  color: var(--muted);
  font-family: 'Saira Stencil', sans-serif;
  font-size: 0.74rem;
  line-height: 1.55;
}

.cookie-accept {
  flex: 0 0 auto;
  min-width: 118px;
}

html[dir='rtl'] .language-option {
  text-align: right;
}

@media (max-width: 760px) {
  .language-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookie-banner {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .cookie-accept {
    width: 100%;
  }

  body.cookie-banner-visible .language-fab {
    bottom: 190px;
  }
}

@media (max-width: 480px) {
  .language-modal {
    padding: 12px;
  }

  .language-dialog {
    max-height: calc(100vh - 24px);
    border-radius: 23px;
  }

  .language-dialog-header {
    padding: 18px;
  }

  .language-grid {
    grid-template-columns: 1fr;
    padding: 16px 16px 22px;
  }

  .language-fab {
    left: 14px;
    bottom: 14px;
    width: 54px;
    height: 54px;
  }

  body.cookie-banner-visible .language-fab {
    bottom: 214px;
  }

  .cookie-banner {
    bottom: 10px;
    width: calc(100% - 20px);
    padding: 16px;
    border-radius: 19px;
  }
}
