/* ---------- Tokens ---------- */
  :root{
    --fp-blue:#25293C;
    --fp-yellow:#E7E2DD;
    --fp-gold:#846C64;
    --fp-gold-bright:#B89B94;
    --fp-success-bright:#3AB27A;
    --fp-danger:#B9382A;
    --fp-font-display:'Space Grotesk', system-ui, sans-serif;
    --fp-font-body:'Inter', system-ui, sans-serif;
    --fp-font-mono:'JetBrains Mono', ui-monospace, monospace;
  }
  /* Light = Fire Red overworld day palette */
  :root[data-theme="light"]{
    --fp-paper:#F5F6F3;
    --fp-ink:#25293C;
    --fp-ink-soft:#5b5f72;
    --fp-brand-cta:#25293C;
    --fp-brand-cta-ink:#FFFFFF;
    --fp-border-glass: rgba(255,255,255,.55);
    --glass-bg: rgba(255,255,255,.32);
    --glass-bg-2: rgba(255,255,255,.18);
    --glass-tint: rgba(232,222,210,.20);
    --glass-edge: rgba(255,255,255,.85);
    --glass-edge-soft: rgba(255,255,255,.25);
    --glass-shadow: 0 30px 80px -28px rgba(20,30,55,.45), 0 8px 24px -16px rgba(20,30,55,.25), inset 0 1px 0 rgba(255,255,255,.6), inset 0 -1px 0 rgba(255,255,255,.2);
    --pill-bg: rgba(255,255,255,.55);
    --pill-stroke: rgba(255,255,255,.7);
    --field-bg: rgba(255,255,255,.55);
    --field-stroke: rgba(255,255,255,.7);
  }
  /* Dark = Fire Red dusk/night */
  :root[data-theme="dark"]{
    --fp-paper:#0f1226;
    --fp-ink:#EEF0FA;
    --fp-ink-soft:#b9bdd0;
    --fp-brand-cta:#B89B94;
    --fp-brand-cta-ink:#1F1F1F;
    --fp-border-glass: rgba(255,255,255,.18);
    --glass-bg: rgba(30,32,55,.42);
    --glass-bg-2: rgba(30,32,55,.28);
    --glass-tint: rgba(184,155,148,.10);
    --glass-edge: rgba(255,255,255,.35);
    --glass-edge-soft: rgba(255,255,255,.08);
    --glass-shadow: 0 36px 90px -28px rgba(0,0,0,.75), 0 10px 28px -18px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(255,255,255,.05);
    --pill-bg: rgba(255,255,255,.08);
    --pill-stroke: rgba(255,255,255,.18);
    --field-bg: rgba(255,255,255,.08);
    --field-stroke: rgba(255,255,255,.18);
  }

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{height:100%;overflow:hidden;}
  body{
    font-family:var(--fp-font-body);
    color:var(--fp-ink);
    background:var(--fp-paper);
    -webkit-font-smoothing:antialiased;
    height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  /* ---------- 16-bit Fire Red-inspired pixel scene ---------- */

  .scene{
    position:fixed; inset:0; z-index:0;
    overflow:hidden;
    background-size:cover;
    background-repeat:no-repeat;
    transition:background-color 250ms ease;
  }

  [data-theme="light"] .scene{
    background-color:#8ecf5a;
    background-image:
      url('Images/background/jpeglightmodev5.jpg'),
      linear-gradient(to bottom, #77c8f0 0%, #83d4f1 45%, #76c96d 72%, #2f7a42 100%);
    background-position:left calc(100% + 900px), center;
    background-size:cover, cover;
    background-repeat:no-repeat, no-repeat;
  }
  [data-theme="dark"] .scene{
    background-color:#0d1b3e;
    background-image:
      url('Images/background/darkmode-v2.png'),
      linear-gradient(to bottom, #0d1b3e 0%, #142449 55%, #102b2e 100%);
    background-position:center, center;
    background-size:cover, cover;
    background-repeat:no-repeat, no-repeat;
  }
  .scene svg{ display:none; }

  /* ---------- Top nav ---------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:10;
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 28px;
  }
  .brand{
    display:flex; align-items:center; gap:10px;
    font-family:var(--fp-font-display);
    font-weight:700; font-size:18px; color:var(--fp-ink);
    text-decoration:none;
    background:var(--pill-bg);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    padding:8px 16px 8px 10px;
    border-radius:999px;
    border:1px solid var(--pill-stroke);
    box-shadow: 0 8px 24px -16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.5);
  }
  .brand-mark{
    width:26px; height:26px; border-radius:6px;
    background:var(--fp-blue);
    display:grid; place-items:center;
    color:#F5F6F3;
    font-family:var(--fp-font-mono); font-size:12px; font-weight:600;
    letter-spacing:-0.04em;
  }
  :root[data-theme="dark"] .brand-mark{ background:var(--fp-gold-bright); color:#1F1F1F; }

  .nav-right{ display:flex; align-items:center; gap:10px; }
  .pill{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--pill-bg);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    border:1px solid var(--pill-stroke);
    border-radius:999px;
    padding:8px 14px;
    font-size:13px; color:var(--fp-ink);
    font-family:var(--fp-font-mono);
    box-shadow: 0 8px 24px -16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.5);
  }
  .pill .dot{
    width:7px; height:7px; border-radius:50%;
    background:var(--fp-success-bright);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--fp-success-bright) 25%, transparent);
  }
  .theme-toggle{
    width:42px; height:42px; border-radius:50%;
    background:var(--pill-bg);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    border:1px solid var(--pill-stroke);
    display:grid; place-items:center; cursor:pointer;
    color:var(--fp-ink);
    box-shadow: 0 8px 24px -16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.5);
    transition:transform .15s ease;
  }
  .theme-toggle:hover{ transform:translateY(-1px); }
  .theme-toggle svg{ width:18px; height:18px; }

  /* ---------- Scroll-snap stage ---------- */
  html{ scroll-behavior:smooth; }
  .stage{
    position:relative; z-index:5;
    flex:1; min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    scroll-snap-type:y mandatory;
    scrollbar-width:none;
  }
  .stage::-webkit-scrollbar{ display:none; }
  .slide{
    scroll-snap-align:start;
    scroll-snap-stop:always;
    min-height:100vh;
    display:flex; align-items:center; justify-content:center;
    padding:96px 24px 40px;
    position:relative;
  }

  /* ---------- Liquid glass panel ---------- */
  .panel{
    width:min(720px, 100%);
    position:relative;
    border-radius:28px;
    padding:56px 56px 48px;
    background:
      linear-gradient(180deg, var(--glass-bg) 0%, var(--glass-bg-2) 100%);
    backdrop-filter: blur(28px) saturate(180%);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    border:1px solid var(--border-glass, var(--fp-border-glass));
    box-shadow: var(--glass-shadow);
    isolation:isolate;
  }
  /* refractive edge highlight */
  .panel::before{
    content:""; position:absolute; inset:0; border-radius:28px;
    padding:1px;
    background: linear-gradient(135deg,
      var(--glass-edge) 0%,
      var(--glass-edge-soft) 30%,
      transparent 50%,
      var(--glass-edge-soft) 70%,
      var(--glass-edge) 100%);
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events:none;
    z-index:0;
  }
  /* warm chromatic tint + top glossy sheen */
  .panel::after{
    content:""; position:absolute; inset:0; border-radius:28px;
    background:
      radial-gradient(120% 60% at 50% -10%, rgba(255,255,255,.28) 0%, transparent 60%),
      radial-gradient(80% 40% at 90% 100%, var(--glass-tint) 0%, transparent 70%);
    pointer-events:none;
    z-index:0;
  }
  .panel > *{ position:relative; z-index:1; }

  .kicker{
    font-family:var(--fp-font-mono);
    font-size:12px; letter-spacing:0.18em;
    color:var(--fp-ink-soft);
    text-transform:uppercase;
    margin:0 0 18px;
    display:flex; align-items:center; gap:10px;
  }
  .kicker .bar{ width:24px; height:1px; background:currentColor; opacity:.5; }

  h1.headline{
    font-family:var(--fp-font-display);
    font-weight:600;
    font-size:clamp(2.4rem, 5vw, 3.5rem);
    line-height:1.04;
    letter-spacing:-0.02em;
    margin:0 0 18px;
    color:var(--fp-ink);
    text-wrap:balance;
  }
  h1.headline em{ font-style:normal; color:var(--fp-gold); font-weight:600; }
  :root[data-theme="dark"] h1.headline em{ color:var(--fp-gold-bright); }

  .lede{
    font-size:17px; line-height:1.55;
    color:var(--fp-ink-soft);
    margin:0 0 32px;
    max-width:54ch;
    text-wrap:pretty;
  }

  /* ---------- Glass form ---------- */
  form.signup{
    display:flex; gap:8px;
    background:var(--field-bg);
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
    padding:8px;
    border-radius:16px;
    border:1px solid var(--field-stroke);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
  }
  form.signup input[type=email]{
    flex:1; border:0; outline:0; background:transparent;
    font:500 16px/1.4 var(--fp-font-body);
    color:var(--fp-ink); padding:12px 14px;
    min-width:0;
  }
  form.signup input[type=email]::placeholder{ color:var(--fp-ink-soft); }
  form.signup input[type=email]:focus-visible{
    outline: 2px solid var(--fp-blue);
    outline-offset: -2px;
    border-radius: 10px;
  }
  form.signup button{
    appearance:none; border:0; cursor:pointer;
    background:var(--fp-brand-cta);
    color:var(--fp-brand-cta-ink);
    font:600 15px/1 var(--fp-font-body);
    padding:0 22px; border-radius:12px;
    display:inline-flex; align-items:center; gap:8px;
    transition:transform .12s ease, opacity .12s ease;
    box-shadow: 0 6px 16px -8px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.18);
    white-space:nowrap;
  }
  form.signup button:hover{ transform:translateY(-1px); }
  form.signup button:disabled{ opacity:.55; cursor:default; transform:none; }
  form.signup button .arrow{ transition:transform .15s ease; }
  form.signup button:hover:not(:disabled) .arrow{ transform:translate(2px,0); }

  /* ---------- Consent ---------- */
  .consent-row{
    margin-top:12px;
    display:flex; align-items:flex-start; gap:10px;
  }
  .consent-row input[type=checkbox]{
    flex:none; width:16px; height:16px; margin-top:2px;
    accent-color:var(--fp-blue);
    cursor:pointer;
  }
  .consent-row input[type=checkbox]:focus-visible{
    outline: 2px solid var(--fp-blue);
    outline-offset: 2px;
  }
  .consent-row label{
    font-size:13px; line-height:1.5;
    color:var(--fp-ink-soft);
    cursor:pointer;
  }
  .consent-row label a{
    color:var(--fp-ink);
    text-underline-offset:2px;
  }
  .consent-err{
    margin-top:6px;
    font-family:var(--fp-font-mono);
    font-size:12px; letter-spacing:0.03em;
    color:var(--fp-danger);
    display:none;
  }
  .consent-err.is-on{ display:block; }

  /* ---------- Fade-out etter innsending ---------- */
  .is-fading-out{
    opacity:0;
    pointer-events:none;
    transition:opacity 500ms ease;
  }
  .is-hidden{
    opacity:0 !important;
    pointer-events:none !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* Skjult for øyet, synlig for Netlify sin bot og skjermlesere */
  .visually-hidden{
    position:absolute;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .submit-err{
    margin-top:6px;
    font-family:var(--fp-font-mono);
    font-size:12px; letter-spacing:0.03em;
    color:var(--fp-danger);
    display:none;
  }
  .submit-err.is-on{ display:block; }

  /* ---------- Micro / lock ---------- */
  .micro{
    margin-top:14px;
    font-family:var(--fp-font-mono);
    font-size:12px;
    color:var(--fp-ink-soft);
    display:flex; align-items:center; gap:8px;
  }
  .micro svg{ width:13px; height:13px; }

  /* ---------- Success ---------- */
  .success{
    display:flex;
    background: color-mix(in srgb, var(--fp-success-bright) 18%, var(--field-bg));
    border:0px solid color-mix(in srgb, var(--fp-success-bright) 35%, var(--field-stroke));
    color:var(--fp-ink);
    padding:0; border-radius:16px;
    font-size:15px; align-items:flex-start; gap:12px;
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
    opacity:0;
    max-height:0;
    overflow:hidden;
    pointer-events:none;
    transition:opacity 600ms ease, max-height 500ms ease, padding 500ms ease, border-width 500ms ease;
  }
  .success.is-on{
    opacity:1;
    max-height:200px;
    padding:18px 20px;
    border-width:1px;
    pointer-events:auto;
  }
  .success.is-leaving{
    transition:opacity 1500ms ease, max-height 1500ms ease, padding 1500ms ease, border-width 1500ms ease;
  }
  .success .check{
    flex:none; width:22px; height:22px; border-radius:50%;
    background:var(--fp-success-bright); color:#0d2418;
    display:grid; place-items:center;
  }
  .success strong{ font-family:var(--fp-font-display); font-weight:600; }
  .success small{ display:block; color:var(--fp-ink-soft); margin-top:2px; font-size:13px; }

  /* ---------- Feature row ---------- */
  .features{
    margin-top:36px;
    display:grid; grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:stretch;
    gap:10px;
  }
  .features .arrow-link{
    display:grid; place-items:center;
    color:var(--fp-ink-soft);
    font-family:var(--fp-font-mono); font-size:14px;
    opacity:.7;
  }
  .features .arrow-link svg{ width:18px; height:18px; }
  .feat{
    background:var(--field-bg);
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
    border:1px solid var(--field-stroke);
    border-radius:14px;
    padding:16px 16px 14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
  }
  .feat .ftitle{
    font-family:var(--fp-font-display);
    font-weight:600; font-size:15px;
    color:var(--fp-ink); margin:0 0 4px;
    display:flex; align-items:center; gap:8px;
  }
  .feat .fdesc{ font-size:13px; line-height:1.45; color:var(--fp-ink-soft); margin:0; }
  :root[data-lang="en"] .feat .ftitle{ font-size:13.5px; white-space:nowrap; }
  .feat .icon{
    width:20px; height:20px; border-radius:5px;
    background: color-mix(in srgb, var(--fp-gold-bright) 35%, transparent);
    display:grid; place-items:center; color:var(--fp-ink); flex:none;
  }
  .feat .icon svg{ width:11px; height:11px; }

  /* auction meta */
  .feat .meta{
    font-family:var(--fp-font-mono); font-size:11px; color:var(--fp-ink-soft);
    margin-top:8px; display:flex; flex-direction:column; gap:3px;
  }
  .feat .meta .row{ display:flex; justify-content:space-between; gap:8px; }
  .feat .meta .row b{ color:var(--fp-ink); font-weight:500; }
  .live-dot{
    display:inline-block; width:6px; height:6px; border-radius:50%;
    background:var(--fp-danger); margin-right:6px; vertical-align:1px;
    animation: livePulse 1.6s ease-in-out infinite;
  }
  @keyframes livePulse{ 0%,100%{opacity:.4} 50%{opacity:1} }

  /* ---------- Footer ---------- */
  footer{
    position:relative; z-index:5;
    padding:24px 32px 28px;
    color:var(--fp-ink-soft);
    font-size:13px;
    display:flex; flex-direction:column; gap:10px;
    border-top:1px solid var(--field-stroke);
    background: var(--glass-bg-2);
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
  }
  footer .row{ display:flex; gap:18px; flex-wrap:wrap; }
  footer a{ color:var(--fp-ink-soft); text-decoration:none; }
  footer a:hover{ color:var(--fp-ink); }
  footer a:focus-visible{ outline:2px solid var(--fp-blue); outline-offset:2px; border-radius:3px; }
  footer .copy{ font-family:var(--fp-font-mono); font-size:11px; }

  /* ---------- Scroll cue ---------- */
  .scroll-cue{
    position:fixed; left:50%;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 100px);
    z-index:20;
    display:flex; flex-direction:column; align-items:center; gap:5px;
    color:var(--fp-ink);
    font-family:var(--fp-font-mono); font-size:11px; letter-spacing:0.16em;
    text-transform:uppercase; text-decoration:none;
    background:var(--pill-bg);
    backdrop-filter:blur(12px) saturate(140%);
    -webkit-backdrop-filter:blur(12px) saturate(140%);
    border:1px solid var(--pill-stroke);
    padding:8px 16px 6px;
    border-radius:999px;
    box-shadow:0 4px 16px -8px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.4);
    transition:opacity .3s ease;
    animation: cueBob 1.6s ease-in-out infinite;
  }
  .scroll-cue svg{ width:16px; height:16px; }
  @keyframes cueBob{
    0%,100%{ transform:translate(-50%, 0); opacity:.95; }
    50%   { transform:translate(-50%, 9px); opacity:1; }
  }

  .step{ font-family:var(--fp-font-mono); font-size:12px; letter-spacing:0.16em; color:var(--fp-ink-soft); }

  /* ---------- Finale slide ---------- */
  .finale{
    text-align:center;
    padding:48px 56px;
  }
  .finale .countdown{
    font-family:var(--fp-font-display);
    font-weight:600;
    font-size:clamp(2.4rem, 6vw, 4.4rem);
    letter-spacing:-0.02em; line-height:1.05;
    margin:8px 0 0;
  }
  .finale .countdown em{ font-style:normal; color:var(--fp-gold); }
  :root[data-theme="dark"] .finale .countdown em{ color:var(--fp-gold-bright); }
  .finale .clock{
    font-family:var(--fp-font-mono);
    font-size:13px; color:var(--fp-ink-soft);
    margin-top:18px;
  }

  /* ---------- Modaler ---------- */
  dialog.modal{
    border:none;
    border-radius:24px;
    padding:0;
    width:min(560px, calc(100vw - 32px));
    max-height:min(82vh, 720px);
    background:var(--fp-paper);
    color:var(--fp-ink);
    box-shadow: 0 40px 100px -20px rgba(0,0,0,.5), 0 12px 32px -12px rgba(0,0,0,.3);
    overflow:hidden;
    display:none; flex-direction:column;
  }
  dialog.modal[open]{ display:flex; }
  dialog.modal::backdrop{
    background:rgba(0,0,0,.45);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
  }
  .modal-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 26px 16px;
    border-bottom:1px solid var(--field-stroke);
    flex:none;
  }
  .modal-header h2{
    margin:0;
    font-family:var(--fp-font-display);
    font-size:18px; font-weight:600;
    color:var(--fp-ink);
  }
  .modal-close{
    width:32px; height:32px; border-radius:8px;
    border:1px solid var(--field-stroke);
    background:var(--field-bg);
    cursor:pointer;
    display:grid; place-items:center;
    color:var(--fp-ink-soft);
    font-size:18px; line-height:1;
    transition:color .12s;
  }
  .modal-close:hover{ color:var(--fp-ink); }
  .modal-close:focus-visible{ outline:2px solid var(--fp-blue); outline-offset:2px; }
  .modal-body{
    padding:22px 26px 28px;
    overflow-y:auto;
    font-size:15px; line-height:1.65;
    color:var(--fp-ink-soft);
    flex:1;
  }
  .modal-body h3{
    font-family:var(--fp-font-display);
    font-size:13px; font-weight:600; letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--fp-ink);
    margin:22px 0 6px;
  }
  .modal-body h3:first-child{ margin-top:0; }
  .modal-body p{ margin:0 0 12px; }
  .modal-body ul{ padding-left:20px; margin:0 0 12px; }
  .modal-body li{ margin-bottom:4px; }
  .modal-body a{ color:var(--fp-ink); text-underline-offset:2px; }

  /* ---------- Responsivitet ---------- */
  @media (max-width:680px){
    .panel{ padding:32px 22px 28px; border-radius:22px; }
    .features{ grid-template-columns:1fr; }
    .features .arrow-link{ transform:rotate(90deg); padding:4px 0; }
    form.signup{ flex-direction:column; }
    form.signup button{ padding:14px 18px; justify-content:center; }
    .nav{ padding:16px 14px; }
    .nav-right .pill{ display:none; }
    .slide{ padding:88px 18px 80px; }
    .finale{ padding:36px 22px; }
    .scroll-cue{ bottom:calc(env(safe-area-inset-bottom, 0px) + 80px); }
  }
  @media (max-width:380px){
    h1.headline{ font-size:clamp(1.9rem, 8vw, 2.4rem); }
    .lede{ font-size:15px; }
  }
  @media (max-width:640px){
    /* Lightmode-bakgrunn — desktop-offsettet er for stort på mobil (portrait), nullstill */
    [data-theme="light"] .scene{
      background-position:left bottom;
    }

    /* Modaler — høyde er hovedproblemet på mobil */
    dialog.modal{
      width:min(92vw, 520px);
      min-height:min(70dvh, 500px);
      max-height:88dvh;
      border-radius:18px;
      overflow:hidden;
    }
    .modal-header{ padding:16px 18px 12px; }
    .modal-body{
      padding:16px 18px 22px;
      font-size:14px;
      max-height:calc(88dvh - 96px);
      overflow-y:auto;
    }
    .modal-close{ width:44px; height:44px; }

    /* Feature-kort — litt tettere på liten skjerm */
    .features{ gap:6px; }
    .feat{ padding:12px 14px 10px; }
  }
  /* Lightmode landscape — samme fix, men max-width:640px treffer ikke landscape-mobil */
  @media (max-height:520px) and (orientation:landscape){
    [data-theme="light"] .scene{
      background-position:left bottom;
    }
  }

  /* ---------- Lang toggle ---------- */
  .lang-toggle{
    display:inline-flex; align-items:center; gap:3px;
    background:var(--pill-bg);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    border:1px solid var(--pill-stroke);
    border-radius:999px;
    padding:7px 12px;
    font-family:var(--fp-font-mono); font-size:12px; letter-spacing:0.06em;
    cursor:pointer; color:var(--fp-ink-soft);
    box-shadow:0 8px 24px -16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.5);
    transition:transform .15s ease;
  }
  .lang-toggle:hover{ transform:translateY(-1px); }
  .lang-toggle .lt-sep{ opacity:.35; margin:0 1px; }
  [data-lang="no"] .lang-toggle .lt-no{ color:var(--fp-ink); font-weight:600; }
  [data-lang="en"] .lang-toggle .lt-en{ color:var(--fp-ink); font-weight:600; }

  /* ---------- Language-conditional content ---------- */
  [data-lang="no"] .lang-en{ display:none !important; }
  [data-lang="en"] .lang-no{ display:none !important; }
