@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/fredoka-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/fredoka-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/pixelify-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/pixelify-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =====================================================================
   LYAA World – Website (www.lyaa.ai)
   Gestaltung 1:1 nach der Vorlage "LYAA_World.html", angepasst an die
   Ausgabe der Contao-Inhaltselemente. Inhalte stehen ausschließlich im
   Backend; hier wird nur gestaltet.
   ===================================================================== */

/* ---------- tokens ---------- */
:root{
  --ink:#2b1d0e; --ink-soft:#5a442c;
  --wood-dark:#3a2614; --wood:#6b4524; --wood-light:#9c6b3b;
  --parchment:#f6ead0; --parchment-2:#efd9ad; --cream:#fbf4e3;
  --grass:#4f8f38; --grass-deep:#3c7a2c;
  --sky:#9ad7f2; --sky-deep:#3f9fd4;
  --amber:#e89b35; --amber-deep:#c9742a; --gold:#ffcb52;
  --red:#d8483a; --red-deep:#b5362b;
  --night:#241a2e; --night-2:#2e2140;

  --page-bg:#f3e6cb; --panel:#faf2df; --panel-border:#e3cb9a;
  --text:var(--ink); --text-soft:var(--ink-soft);
  --plaque-text:var(--wood-dark); --wait-link:var(--grass-deep);
  --nav-h:66px;
  --gutter:clamp(18px,4vw,40px);

  --shadow-sign: inset 0 2px 0 rgba(255,255,255,.22), inset 0 -5px 0 rgba(0,0,0,.26), 0 6px 0 var(--wood-dark), 0 12px 16px rgba(58,38,20,.28);
  --shadow-sign-active: inset 0 2px 0 rgba(255,255,255,.18), inset 0 -2px 0 rgba(0,0,0,.26), 0 2px 0 var(--wood-dark), 0 5px 9px rgba(58,38,20,.28);
  --radius:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --page-bg:#1d1526; --panel:#2a2033; --panel-border:#3d3048;
    --text:#f3e7cf; --text-soft:#cdbfa6;
    --parchment:#2e2436; --parchment-2:#372b42; --cream:#2a2033;
    --plaque-text:#f3e7cf; --wait-link:var(--gold);
  }
}
:root[data-theme="dark"]{
  --page-bg:#1d1526; --panel:#2a2033; --panel-border:#3d3048;
  --text:#f3e7cf; --text-soft:#cdbfa6; --parchment:#2e2436; --parchment-2:#372b42; --cream:#2a2033;
  --plaque-text:#f3e7cf; --wait-link:var(--gold);
}

*{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px) + 8px);
  background:var(--page-bg);
}
body{
  margin:0;
  font-family:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text); background:var(--page-bg);
  line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

h1,h2,h3{font-family:"Fredoka",sans-serif;line-height:1.08;margin:0;color:var(--text);letter-spacing:.2px;font-weight:600;}
p,ul,figure{margin:0;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}

.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:var(--gutter);}

.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:.6em 1em;border-radius:10px;
  background:var(--wood-dark);color:#fff6e2;font-weight:700;text-decoration:none;}
.skip-link:focus{top:12px;outline:3px solid var(--gold);outline-offset:2px;}

/* ---------- Holzschild-Knopf (Hyperlink mit Klasse "btn") ---------- */
.btn > a{
  --sb-top:#8a5a30; --sb-bot:#6b4524;
  display:inline-flex;align-items:center;gap:.55em;
  font-family:"Fredoka",sans-serif;font-weight:600;font-size:1.02rem;
  color:#fff6e2;text-decoration:none;cursor:pointer;
  padding:.78em 1.35em;border:3px solid var(--wood-dark);border-radius:14px;
  background:linear-gradient(var(--sb-top),var(--sb-bot));
  box-shadow:var(--shadow-sign);
  transition:transform .09s ease, box-shadow .09s ease, filter .15s ease;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
  position:relative;white-space:nowrap;line-height:1.6;
}
.btn > a:hover{transform:translateY(-2px);filter:brightness(1.05);}
.btn > a:active{transform:translateY(4px);box-shadow:var(--shadow-sign-active);}
.btn > a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.btn--gold > a{--sb-top:#f3ad42;--sb-bot:#d9832a;color:#4a2d08;text-shadow:0 1px 0 rgba(255,255,255,.3);}
.btn--grass > a{--sb-top:#62a949;--sb-bot:#468034;}
.btn--ghost > a{background:linear-gradient(var(--parchment),var(--parchment-2));color:var(--wood-dark);text-shadow:none;}
.icon-play > a::before{content:"▸";font-size:1.05em;line-height:1;}
.icon-download > a::before{content:"⬇";font-size:1.05em;line-height:1;}

/* ---------- Kopfzeile ---------- */
.site-nav{
  position:sticky;top:0;z-index:50;
  padding-top:env(safe-area-inset-top,0px);
  background:color-mix(in srgb, var(--panel) 86%, transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:3px solid var(--wood-dark);
}
.site-nav__in{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:18px;}
.brand > a{display:flex;align-items:center;gap:.5em;text-decoration:none;
  font-family:"Pixelify Sans",sans-serif;font-weight:700;font-size:1.65rem;letter-spacing:1px;line-height:1.6;
  color:var(--grass-deep);-webkit-text-stroke:1.5px var(--wood-dark);paint-order:stroke fill;}
.brand > a::after{content:"🍃";font-family:"Nunito",sans-serif;font-size:1rem;letter-spacing:0;
  -webkit-text-stroke:0;color:var(--grass);transform:translateY(-2px);}
.brand > a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}
.nav__links{display:flex;align-items:center;gap:26px;}
.nav__links .lnk > a{
  font-family:"Fredoka",sans-serif;font-weight:500;text-decoration:none;color:var(--text-soft);
  font-size:1.02rem;padding:4px 2px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
}
.nav__links .lnk > a:hover{color:var(--text);border-color:var(--amber);}
.nav__links .lnk > a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}
.site-nav .btn > a{font-size:.95rem;padding:.55em 1.05em;}
@media (max-width:760px){ .nav__links .lnk{display:none;} }

/* ---------- Startbild ---------- */
.hero{position:relative;min-height:60vh;min-height:60svh;isolation:isolate;overflow:hidden;}
.hero__bild{position:absolute;inset:0;z-index:-2;}
.hero__bild figure,.hero__bild picture{display:block;height:100%;}
.hero__bild img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom, rgba(20,30,45,0) 68%, rgba(243,230,203,.35) 88%, var(--page-bg) 100%);
}
.hero__tag{position:absolute;left:var(--gutter);bottom:clamp(18px,4vw,34px);z-index:1;}
.hero__tag p{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:"Pixelify Sans",sans-serif;font-weight:600;font-size:.82rem;letter-spacing:1px;line-height:1.6;
  color:#fff;background:linear-gradient(var(--red),var(--red-deep));
  border:2px solid rgba(0,0,0,.35);border-radius:10px;padding:.4em .85em;
  box-shadow:0 3px 0 rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.25);
  text-shadow:0 1px 0 rgba(0,0,0,.3);
}
.hero__tag p::before{content:"✦";}

/* ---------- Einstieg (Claim, Text, Knöpfe) ---------- */
.pitch{background:var(--page-bg);text-align:center;padding:clamp(30px,4.5vw,54px) 0 clamp(50px,7vw,84px);}
.pitch > .wrap{max-width:800px;}
.pitch h1{font-size:clamp(2rem,4.7vw,3.4rem);max-width:19ch;margin:0 auto .45em;color:var(--text);}
.pitch__sub{font-size:clamp(1.05rem,1.7vw,1.2rem);color:var(--text-soft);max-width:58ch;margin:0 auto 1.7em;}
.pitch__sub p + p{margin-top:.8em;}
.pitch__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.trust{margin-top:1.4em;}
.trust ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4em 1.3em;justify-content:center;
  color:var(--text-soft);font-size:.94rem;font-weight:700;}
.trust li{display:inline-flex;align-items:center;gap:.45em;}
.trust li::before{content:"●";color:var(--amber);}
.pitch > .wrap::after{content:"";display:block;width:92px;height:6px;margin:1.6em auto 0;border-radius:4px;
  background:linear-gradient(90deg,var(--amber),var(--gold));box-shadow:0 2px 0 rgba(0,0,0,.12);}

/* Einblenden des Startbereichs – ohne JavaScript, Inhalte bleiben immer sichtbar */
@keyframes lyaa-reveal{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.reveal{animation:lyaa-reveal .6s cubic-bezier(.2,.7,.2,1) both;}
.reveal.d1{animation-delay:.05s;} .reveal.d2{animation-delay:.18s;}
.reveal.d3{animation-delay:.31s;} .reveal.d4{animation-delay:.44s;}
@media (prefers-reduced-motion: reduce){ .reveal{animation:none;} }

/* ---------- Funktions-Abschnitte (Bild + Text) ---------- */
.feat{padding:clamp(40px,6vw,72px) 0;}
.feat > .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.feat--alt .frame{order:2;}
.frame{
  border:6px solid var(--wood);border-radius:18px;overflow:hidden;
  box-shadow:0 0 0 3px var(--wood-dark), 0 18px 30px rgba(58,38,20,.28);
  background:var(--wood-dark);
}
.frame figure,.frame picture{display:block;}
.frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:1600/640;}
.feat__body{max-width:46ch;}
.feat__body h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.45em;}
.feat__body p{color:var(--text-soft);font-size:clamp(1.02rem,1.5vw,1.12rem);}
.feat__body .content-text p + p{margin-top:.8em;}
.plaque{margin-bottom:1em;}
.feat__body .plaque p{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:"Fredoka",sans-serif;font-weight:600;font-size:.92rem;line-height:1.6;
  color:var(--plaque-text);
  background:linear-gradient(var(--parchment),var(--parchment-2));
  border:3px solid var(--wood);border-radius:10px;padding:.4em .85em;
  box-shadow:0 4px 0 var(--wood),0 7px 10px rgba(58,38,20,.18);
}
.plaque p::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:inset 0 -1px 0 rgba(0,0,0,.35);}

/* dunkler "Spielehaus"-Abschnitt */
.feat--night{background:radial-gradient(120% 120% at 70% 0%, var(--night-2), var(--night));}
.feat--night .feat__body h2{color:#fff;}
.feat--night .feat__body p{color:#d8cce6;}
.feat--night .feat__body .plaque p{background:linear-gradient(#4a3a63,#3a2d4f);color:#ffe6a6;border-color:#120c1d;box-shadow:0 4px 0 #120c1d,0 7px 10px rgba(0,0,0,.4);}
.feat--night .frame{border-color:#4a3a63;box-shadow:0 0 0 3px #120c1d, 0 18px 34px rgba(0,0,0,.5);}

@media (max-width:820px){
  .feat > .wrap{grid-template-columns:1fr;gap:26px;}
  .feat--alt .frame{order:0;}
  .feat__body{max-width:60ch;}
}

/* ---------- Banner "Überall dasselbe Dorf" ---------- */
.banner{position:relative;min-height:70vh;min-height:70svh;display:flex;align-items:center;isolation:isolate;overflow:hidden;}
.banner__bild{position:absolute;inset:0;z-index:-2;}
.banner__bild figure,.banner__bild picture{display:block;height:100%;}
.banner__bild img{width:100%;height:100%;object-fit:cover;object-position:center;}
.banner::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg, rgba(20,16,10,.78) 0%, rgba(20,16,10,.5) 42%, rgba(20,16,10,.12) 100%);}
.banner__card{max-width:560px;color:#fff;}
.banner__card h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.7rem);margin-bottom:.45em;text-shadow:0 2px 14px rgba(0,0,0,.5);}
.banner__card p{color:#f1e9da;font-size:clamp(1.04rem,1.7vw,1.2rem);text-shadow:0 1px 10px rgba(0,0,0,.6);margin-bottom:1.3em;}
.chips ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.chips li{display:inline-flex;align-items:center;gap:.5em;font-family:"Fredoka",sans-serif;font-weight:600;
  font-size:.95rem;line-height:1.6;color:#fff6e2;background:rgba(58,38,20,.55);border:2px solid rgba(255,255,255,.35);
  border-radius:999px;padding:.45em .95em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
@media (max-width:820px){ .banner::after{background:linear-gradient(to top, rgba(20,16,10,.85), rgba(20,16,10,.35));} }

/* ---------- Spiel holen (Browser + Stores) ---------- */
.wait{background:linear-gradient(160deg,var(--grass),var(--grass-deep));padding:clamp(56px,8vw,96px) 0;}
.wait__card{
  max-width:680px;margin-inline:auto;text-align:center;
  background:var(--panel);border:4px solid var(--wood-dark);border-radius:22px;
  padding:clamp(28px,5vw,46px);
  box-shadow:0 10px 0 rgba(0,0,0,.18), 0 24px 40px rgba(0,0,0,.25);
}
.wait__card h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:.4em;}
.wait__lead p{color:var(--text-soft);font-size:1.08rem;max-width:46ch;margin:0 auto 1.7em;}
.getrow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.store{
  display:inline-flex;align-items:center;gap:.65em;text-decoration:none;
  background:linear-gradient(#3a2614,#2a1b0e);color:#f6ead0;
  border:3px solid #1c1208;border-radius:14px;padding:.6em 1.15em;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.12), inset 0 -4px 0 rgba(0,0,0,.3), 0 6px 0 #1c1208, 0 12px 16px rgba(28,18,8,.3);
  transition:transform .09s ease, box-shadow .09s ease, filter .15s ease;
}
.store:hover{transform:translateY(-2px);filter:brightness(1.08);}
.store:active{transform:translateY(4px);box-shadow:inset 0 2px 0 rgba(255,255,255,.1), inset 0 -2px 0 rgba(0,0,0,.3), 0 2px 0 #1c1208, 0 5px 9px rgba(28,18,8,.3);}
.store:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.store svg{width:26px;height:26px;fill:currentColor;flex:0 0 auto;}
.store .st{display:flex;flex-direction:column;line-height:1.08;text-align:left;}
.store .st small{font-family:"Nunito",sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.3px;opacity:.85;}
.store .st b{font-family:"Fredoka",sans-serif;font-weight:600;font-size:1.08rem;}
.wait__note{margin-top:1.3em;}
.wait__note p{font-size:.92rem;color:var(--text-soft);font-weight:700;}
.wait__note p::before{content:"● ";color:var(--grass-deep);}

/* ---------- Fußbereich ---------- */
.foot{background:var(--wood-dark);color:#e8d8bd;padding:clamp(40px,6vw,64px) 0 calc(28px + env(safe-area-inset-bottom,0px));}
.foot__in{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start;}
.foot__brand p:first-child{font-family:"Pixelify Sans",sans-serif;font-weight:700;font-size:1.5rem;line-height:1.6;color:#cfe8b6;
  -webkit-text-stroke:1.5px #1c1208;paint-order:stroke fill;max-width:none;margin-top:0;}
.foot__brand p{color:#c9b593;font-size:.95rem;margin-top:.4em;max-width:42ch;}
.badge{margin-top:.9em;}
.badge p{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.9rem;
  color:#dfeccb;background:rgba(79,143,56,.3);border:2px solid rgba(207,232,182,.4);border-radius:999px;padding:.4em .9em;}
.badge p::before{content:"🛡️";}
.foot__links{display:flex;flex-direction:column;gap:.55em;}
.foot__links a{color:#e8d8bd;text-decoration:none;font-weight:700;font-size:.98rem;}
.foot__links a:hover{color:var(--gold);}
.foot__links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}
.foot__links .icon-play > a::before{content:"▸ ";}
.foot__legal{width:100%;}
.foot__legal .rte{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;
  font-size:.85rem;color:#b09a78;display:flex;flex-wrap:wrap;gap:.3em 1em;justify-content:space-between;}

/* Abstände wie in der Vorlage: dort beziehen sich die em-Werte auf die
   kleinere Schrift des jeweiligen Elements, nicht auf den Wrapper. */
.plaque{display:flex;font-size:.92rem;margin-bottom:1em;}
.feat__body .plaque p{font-size:inherit;}
.hero__tag .rte{display:flex;}
.trust{font-size:.94rem;}
.trust ul{font-size:inherit;}
.badge{display:flex;font-size:.9rem;}
.badge p{font-size:inherit;}
.wait__note{font-size:.92rem;}
.wait__note p{font-size:inherit;}
.foot__legal .rte{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);}

/* ---------- Sprachwechsler (Kopfzeile) ---------- */
.lang{display:inline-flex;align-items:center;gap:2px;padding:3px;border:2px solid var(--wood-dark);
  border-radius:999px;background:linear-gradient(var(--parchment),var(--parchment-2));
  box-shadow:0 3px 0 var(--wood-dark);}
.lang a{font-family:"Fredoka",sans-serif;font-weight:600;font-size:.88rem;letter-spacing:.5px;line-height:1.6;
  text-decoration:none;color:var(--plaque-text);min-width:44px;min-height:32px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 .7em;}
.lang a[aria-current="true"]{background:var(--wood);color:#fff6e2;}
.lang a:not([aria-current="true"]):hover{background:rgba(232,155,53,.22);}
.lang a:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
@media (max-width:420px){ .nav__links{gap:10px;} .site-nav .btn > a{padding:.5em .8em;} }

/* ---------- Footer: Rechtliches + Sprachen ---------- */
.foot__legal{display:flex;flex-wrap:wrap;gap:.3em 1em;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;
  margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);width:calc(100% + 2 * var(--gutter));
  font-size:.85rem;color:#b09a78;}
.foot__legal .rte{display:block;border:0;margin:0;padding:0;}
.foot__legal-links,.foot__legal-links .lang-foot{display:flex;flex-wrap:wrap;align-items:center;}
.foot__legal-links > * + *::before,.lang-foot a + a::before{content:"·";margin:0 .3em;color:#b09a78;font-weight:400;}
.foot__legal-links a{color:#e8d8bd;text-decoration:none;font-weight:700;}
.foot__legal-links a:hover{color:var(--gold);}
.foot__legal-links a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}

/* ---------- Rechtstexte ---------- */
.legal{max-width:860px;margin-inline:auto;
  padding:clamp(30px,5vw,60px) clamp(18px,4vw,40px) clamp(48px,7vw,84px);}
.legal__back > a{display:inline-flex;align-items:center;gap:.4em;font-family:"Fredoka",sans-serif;font-weight:600;
  color:var(--wait-link);text-decoration:none;margin-bottom:1.4em;}
.legal__back > a::before{content:"←";}
.legal__back > a:hover{text-decoration:underline;}
.legal h1{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:.5em;color:var(--text);}
.legal h2{font-family:"Fredoka",sans-serif;font-weight:600;font-size:clamp(1.15rem,2.1vw,1.45rem);
  margin:1.7em 0 .35em;color:var(--text);}
.legal p,.legal li{color:var(--text-soft);font-size:1.02rem;line-height:1.72;max-width:74ch;}
.legal p + p{margin-top:1em;}
.legal address{font-style:normal;color:var(--text-soft);line-height:1.7;margin:.2em 0;}
.legal a{color:var(--wait-link);font-weight:700;}
.legal strong{color:var(--text);}
.legal ul{margin:.4em 0;padding-left:1.25em;}
.legal li{margin:.25em 0;}
.legal .meta p{margin-top:2.2em;font-size:.9rem;color:var(--text-soft);}
.legal .meta--top p{margin-top:0;margin-bottom:.5em;}
/* legal pages: sub-sections (6.1 …) */
.legal h3{font-family:"Fredoka",sans-serif;font-weight:600;font-size:clamp(1.02rem,1.8vw,1.18rem);margin:1.6em 0 .45em;}
