:root {
  --bg:#07090d; --text:#e9edf3; --muted:#9aa4b2; --fire:#ff7a30; --ice:#6fd3ff; --line:#1b222c;
  --hdr:56px; --gx:clamp(16px,5vw,32px);
  --ease:cubic-bezier(.22,.8,.3,1);
}
* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:calc(var(--hdr) + 12px); background:var(--bg); }
@media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
body { background:var(--bg); color:var(--text); font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; font-size:clamp(16px,.35vw + 15px,17px); -webkit-font-smoothing:antialiased; overflow-wrap:break-word; }
a { color:inherit; }
img,video { max-width:100%; }
:focus-visible { outline:2px solid var(--ice); outline-offset:3px; border-radius:6px; }
h2,h3 { text-wrap:balance; }

/* Header */
.site-header { position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:6px; height:var(--hdr); padding:0 max(var(--gx),env(safe-area-inset-right)) 0 max(var(--gx),env(safe-area-inset-left)); }
.site-header::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(7,9,13,.72); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid rgba(255,255,255,.07); }
.logo { display:flex; align-items:center; gap:9px; margin-right:auto; min-height:44px; font-weight:700; letter-spacing:.18em; font-size:13px; text-decoration:none; white-space:nowrap; }
.logo img { display:block; width:auto; height:30px; flex:none; }
.lang { display:flex; align-items:center; gap:0; }
.lang span { color:#4a5565; font-size:12px; }
.lang a { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:44px; padding:0 6px; color:var(--muted); font-size:12.5px; font-weight:600; letter-spacing:.08em; text-decoration:none; transition:color .2s; }
.lang a:hover { color:var(--text); }
.lang a[aria-current="true"] { color:var(--text); }
.menu-btn { display:none; position:relative; width:44px; height:44px; margin-right:-10px; border:0; border-radius:50%; background:transparent; color:var(--text); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.menu-btn .bars, .menu-btn .bars::before { position:absolute; left:13px; width:18px; height:1.5px; border-radius:2px; background:currentColor; }
.menu-btn .bars { top:21px; }
.menu-btn .bars::before { content:""; left:0; top:0; transform:translateY(-4px); }
.menu-btn .bars::after { content:""; position:absolute; left:0; top:0; width:18px; height:1.5px; border-radius:2px; background:currentColor; transform:translateY(4px); }
.menu-btn .bars, .menu-btn .bars::before, .menu-btn .bars::after { transition:transform .35s var(--ease), background-color .2s; }
.menu-open .menu-btn .bars { background-color:transparent; }
.menu-open .menu-btn .bars::before { transform:rotate(45deg); }
.menu-open .menu-btn .bars::after { transform:rotate(-45deg); }
.menu-btn:active { background:rgba(255,255,255,.08); }
.has-js .menu-btn { display:block; }

/* Menue: schmal = Panel (nur mit JS), breit = Zeile */
nav.main { display:flex; align-items:center; gap:4px; }
nav.main a { text-decoration:none; color:var(--muted); }
@media (max-width:859px) {
  .site-header { flex-wrap:wrap; height:auto; min-height:var(--hdr); }
  .site-header { align-content:flex-start; }
  nav.main { order:5; flex:0 0 100%; justify-content:space-between; padding-bottom:8px; overflow-x:auto; }
  nav.main a { min-height:44px; display:inline-flex; align-items:center; padding:0 6px; font-size:15px; }
  nav.main a.cta { padding:0 18px; }
  .has-js .site-header { height:var(--hdr); flex-wrap:nowrap; }
  .has-js nav.main { position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:6px max(var(--gx),env(safe-area-inset-right)) 22px max(var(--gx),env(safe-area-inset-left)); overflow:visible;
    background:rgba(12,15,21,.88); -webkit-backdrop-filter:saturate(180%) blur(28px); backdrop-filter:saturate(180%) blur(28px); border-bottom:1px solid rgba(255,255,255,.08); border-radius:0 0 24px 24px; box-shadow:0 24px 48px -16px rgba(0,0,0,.6);
    visibility:hidden; opacity:0; transform:translateY(-8px) scale(.985); transform-origin:top right; pointer-events:none;
    transition:opacity .28s var(--ease), transform .4s var(--ease), visibility 0s linear .4s; }
  .has-js .menu-open nav.main, .has-js nav.main.open { visibility:visible; opacity:1; transform:none; pointer-events:auto; transition:opacity .28s var(--ease), transform .4s var(--ease), visibility 0s; }
  .has-js nav.main a { justify-content:flex-start; width:100%; min-height:54px; padding:0 4px; font-size:19px; font-weight:500; letter-spacing:-.01em; color:var(--text); border-bottom:1px solid rgba(255,255,255,.07); }
  .has-js nav.main a.cta { justify-content:center; margin-top:16px; color:#000; min-height:50px; border:1.5px solid transparent; border-radius:999px; font-size:17px; font-weight:600; }
}
@media (min-width:860px) {
  :root { --hdr:64px; }
  .logo { font-size:14px; letter-spacing:.22em; }
  .logo img { height:34px; }
  nav.main { margin-left:auto; gap:30px; }
  .logo { margin-right:0; }
  nav.main a { font-size:14.5px; transition:color .2s; }
  nav.main a:not(.cta):hover { color:var(--text); }
  nav.main a.cta { min-height:38px; padding:0 18px; font-size:14px; color:#000; }
  .lang { margin-left:18px; }
  .has-js .menu-btn { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .has-js nav.main, .has-js .menu-open nav.main { transition:opacity .15s linear, visibility 0s; transform:none !important; }
  .menu-btn .bars, .menu-btn .bars::before, .menu-btn .bars::after { transition:none; }
}
@media (prefers-reduced-transparency:reduce) {
  .site-header::before { background:var(--bg); -webkit-backdrop-filter:none; backdrop-filter:none; }
  .has-js nav.main { background:#0c0f15; -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* Hero */
.hero { display:grid; place-items:center; text-align:center; padding:clamp(36px,9vw,64px) var(--gx) clamp(28px,6vw,44px); background:radial-gradient(60% 50% at 25% 60%, rgba(255,122,48,.18), transparent 70%), radial-gradient(60% 50% at 75% 40%, rgba(111,211,255,.16), transparent 70%); }
.hero p { max-width:620px; margin:18px auto 28px; color:var(--muted); font-size:clamp(16px,1.2vw + 12px,19px); }
.hero .hero-h1 { margin:0; max-width:none; text-align:center; color:var(--text); font-size:clamp(40px,12.5vw,96px); line-height:1.03; letter-spacing:-.025em; font-weight:700; }
.hero .slogan { margin:14px auto 0; max-width:780px; color:var(--ice); font-size:clamp(17px,4vw,24px); line-height:1.3; font-weight:500; letter-spacing:.01em; }
.hero .hero-sub { margin:16px auto 0; max-width:780px; color:var(--text); font-size:clamp(19px,4.6vw,34px); line-height:1.22; letter-spacing:-.012em; font-weight:600; text-wrap:balance; }
.hero-h1 .f { color:var(--fire); } .hero-h1 .i { color:var(--ice); } .hero-h1 .and { font-weight:200; color:#fff; }
.btn, nav.main a.cta { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 30px; border:1.5px solid transparent; border-radius:999px; color:#000; font-weight:600; text-decoration:none; -webkit-tap-highlight-color:transparent; cursor:pointer;
  background-image:linear-gradient(105deg, transparent 38%, rgba(111,211,255,.75) 47%, rgba(255,122,48,.55) 53%, transparent 62%), linear-gradient(var(--text), var(--text)), linear-gradient(100deg, var(--fire), var(--ice));
  background-origin:padding-box, padding-box, border-box; background-clip:padding-box, padding-box, border-box; background-repeat:no-repeat; background-size:260% 100%, auto, auto; background-position:165% 0, 0 0, 0 0;
  box-shadow:-8px 6px 20px -12px rgba(255,122,48,.5), 8px 6px 20px -12px rgba(111,211,255,.55);
  transition:transform .35s var(--ease), box-shadow .35s ease, background-position 0s; }
.btn:active, nav.main a.cta:active { transform:translateY(0) scale(.965); transition-duration:.08s; box-shadow:-5px 3px 14px -8px rgba(255,122,48,.8), 5px 3px 14px -8px rgba(111,211,255,.85); }
.btn:focus-visible, nav.main a.cta:focus-visible { outline:2px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px rgba(111,211,255,.4), -10px 10px 30px -8px rgba(255,122,48,.6), 10px 10px 30px -8px rgba(111,211,255,.65); }
.btn:disabled { opacity:.6; cursor:wait; }
@media (hover:hover) and (pointer:fine) {
  .btn:not(:disabled):hover, nav.main a.cta:hover, .btn:focus-visible, nav.main a.cta:focus-visible { transform:translateY(-2px); background-position:-70% 0, 0 0, 0 0; transition:transform .35s var(--ease), box-shadow .35s ease, background-position 1s ease; }
  .btn:not(:disabled):hover, nav.main a.cta:hover { box-shadow:-10px 10px 30px -8px rgba(255,122,48,.7), 10px 10px 30px -8px rgba(111,211,255,.75); }
  .btn:not(:disabled):active, nav.main a.cta:active { transform:translateY(0) scale(.965); }
}
@media (prefers-reduced-motion:reduce) {
  .btn, nav.main a.cta { transition:none !important; }
  .btn:hover, nav.main a.cta:hover, .btn:focus-visible, nav.main a.cta:focus-visible { transform:none !important; background-position:165% 0, 0 0, 0 0 !important; }
}
@media (prefers-reduced-motion:no-preference) {
  .hero > div > * { animation:rise .9s var(--ease) both; }
  .hero > div > :nth-child(2) { animation-delay:.08s; } .hero > div > :nth-child(3) { animation-delay:.16s; } .hero > div > :nth-child(4) { animation-delay:.24s; } .hero > div > :nth-child(5) { animation-delay:.32s; }
  @keyframes rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
}
.stage { position:relative; margin:0; padding:0; }
.stage .hero-video { display:block; width:100%; height:auto; background:#07090d; }

/* KI-Hinweis an Bildmontagen */
.ki-hinweis { position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px); z-index:2; margin:0; padding:3px 8px; border-radius:6px; background:rgba(7,9,13,.62); color:#e9edf3; font-size:12px; line-height:1.3; letter-spacing:.01em; pointer-events:none; }

/* Abschnitte */
section { max-width:1080px; margin:0 auto; padding:clamp(52px,11vw,96px) max(var(--gx),env(safe-area-inset-right)) clamp(52px,11vw,96px) max(var(--gx),env(safe-area-inset-left)); }
h2 { font-size:clamp(26px,6vw,44px); line-height:1.12; letter-spacing:-.02em; margin-bottom:14px; }
.lead { color:var(--muted); max-width:640px; margin-bottom:clamp(26px,6vw,40px); }
.lead a, ul.fakten a, .qa a { color:var(--ice); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
.card { border:1px solid var(--line); border-radius:22px; padding:clamp(22px,5vw,32px); background:#0b0f15; }
.card.wild { box-shadow:0 0 60px -30px var(--fire); } .card.ice { box-shadow:0 0 60px -30px var(--ice); }
.card h3 { font-size:clamp(22px,5vw,26px); letter-spacing:-.01em; margin-bottom:8px; } .card.wild h3 { color:var(--fire); } .card.ice h3 { color:var(--ice); }
.card p { color:var(--muted); }
ul.fakten { list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:4px 24px; }
ul.fakten li { border-top:1px solid var(--line); padding:16px 0 14px; color:var(--muted); }
ul.fakten h3 { font-size:inherit; font-weight:600; color:var(--text); margin-bottom:2px; }

/* FAQ */
.faq-list { display:grid; gap:12px; align-items:start; counter-reset:q; }
.qa { position:relative; counter-increment:q; border-radius:20px; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 1px 0 rgba(255,255,255,.06) inset, 0 14px 30px -22px #000; transition:box-shadow .4s ease, background-color .4s ease; }
.qa::before { content:""; position:absolute; inset:0; padding:1px; border-radius:inherit; background:linear-gradient(120deg, var(--fire), var(--ice)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; opacity:0; transition:opacity .4s ease; pointer-events:none; }
.qa[open] { background:linear-gradient(180deg, rgba(111,211,255,.07), rgba(255,122,48,.025)); box-shadow:0 0 36px -16px rgba(111,211,255,.5), 0 0 30px -20px rgba(255,122,48,.5), 0 14px 30px -22px #000; }
.qa[open]::before { opacity:.85; }
.qa summary { display:flex; align-items:center; gap:14px; min-height:64px; padding:12px 16px 12px 18px; cursor:pointer; list-style:none; border-radius:20px; -webkit-tap-highlight-color:transparent; }
.qa summary::-webkit-details-marker { display:none; }
.qa summary::before { content:counter(q, decimal-leading-zero); content:counter(q, decimal-leading-zero) / ""; flex:none; width:24px; font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--ice); opacity:.8; font-variant-numeric:tabular-nums; }
.qa summary h3 { flex:1; font-size:clamp(16px,.5vw + 14.5px,18px); font-weight:600; line-height:1.35; letter-spacing:-.005em; text-wrap:pretty; }
.qa summary:focus-visible { outline-offset:2px; border-radius:20px; }
.pm { position:relative; flex:none; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.07); transition:background-color .35s ease, transform .45s var(--ease); }
.pm::before, .pm::after { content:""; position:absolute; left:9px; top:14.25px; width:12px; height:1.5px; border-radius:2px; background:var(--ice); transition:transform .45s var(--ease), background-color .3s; }
.pm::after { transform:rotate(90deg); }
.qa[open] .pm { background:rgba(111,211,255,.16); transform:rotate(180deg); }
.qa[open] .pm::after { transform:rotate(0); }
.ans { overflow:hidden; }
.ans p { max-width:62ch; padding:0 20px 22px 18px; color:#b4bdc9; line-height:1.7; }
@media (hover:hover) and (pointer:fine) {
  .qa:hover::before { opacity:.4; } .qa[open]:hover::before { opacity:1; }
  .qa summary:hover h3 { color:#fff; }
}
@media (max-width:639px) { .qa summary { gap:10px; padding-left:16px; } .qa summary::before { width:20px; } }
@media (min-width:640px) { .ans p { padding-left:56px; } }
@media (min-width:900px) { .faq-list { grid-template-columns:1fr 1fr; gap:14px; } .ans p { padding-left:56px; } }
.faq-cta, .shop-cta { margin-top:clamp(26px,5vw,40px); text-align:center; }
@media (max-width:640px) { .faq-cta .btn, .shop-cta .btn { display:flex; } }
@media (prefers-reduced-motion:reduce) { .qa, .qa::before, .pm, .pm::before, .pm::after { transition:none; } }

.anfrage { text-align:center; }
.anfrage .lead { margin:0 auto 28px; }

/* Callouts (Sattelbilder mit Zeigelinien) */
.callouts { position:relative; max-width:none; padding:0; scroll-margin-top:calc((var(--hdr) + 12px) * -1); }
.callouts .pin { position:sticky; top:0; height:100vh; height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:calc(var(--hdr) + 12px) max(var(--gx),env(safe-area-inset-right)) 12px max(var(--gx),env(safe-area-inset-left)); }
.callouts h2 { text-align:center; margin:0 0 14px; flex:none; }
.stage2 { position:relative; }
.fig, .fit, .cap, .pins { display:contents; }
.stage2 .prod { display:block; }
.ln path { fill:none; stroke:#e9edf3; stroke-width:2.2; }
.ln circle { fill:#e9edf3; }
.lbl { color:#e9edf3; }
#reiter { --ratio:.84; } #pferd { --ratio:.8427; } #innenleben { --ratio:.9666; }
#innenleben .stage2 .prod { filter:none; }
.callouts .mlines, .callouts .dot, .callouts .bdg { display:none; }

/* Reveal nur mit JS und ohne Reduced-Motion; sonst steht alles sichtbar */
.js .ln path { stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .5s ease; }
.js .ln circle { opacity:0; transition:opacity .3s ease .4s; }
.js .ln.on path { stroke-dashoffset:0; } .js .ln.on circle { opacity:1; }
.js .lbl { opacity:0; transform:translateY(8px); transition:opacity .4s ease, transform .4s ease; }
.js .lbl.on { opacity:1; transform:none; }

/* Desktop und Tablet: Linien links/rechts, Beschriftung ueber der Linie */
@media (min-width:761px) and (min-height:521px) {
  .js .callouts { height:200vh; } .js .callouts.n3 { height:180vh; }
  .callouts h2 { font-size:clamp(22px,4.6svh,40px); margin-bottom:16px; }
  .callouts .pin { padding-bottom:calc(var(--hdr) * .2); }
  .stage2 { --pt:.071; --sw:min(1100px,100%,calc((100svh - var(--hdr) - 48px - 1.12 * clamp(22px,4.6svh,40px)) * 1.9)); width:var(--sw); aspect-ratio:1000/620; margin-top:calc(var(--sw) * var(--pt) * -1); margin-bottom:calc(var(--sw) * -.06); }
  #innenleben .stage2 { --pt:.035; }
  @media (max-width:900px) { #innenleben .stage2 { --pt:.028; } }
  .stage2 .ki-hinweis { left:calc(28% + 6px); bottom:calc(12% + 6px); max-width:calc(44% - 12px); }
  .stage2 .prod { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); height:76%; width:auto; max-width:44%; object-fit:contain; filter:drop-shadow(0 20px 40px rgba(111,211,255,.16)); }
  .stage2 .lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
  .stage2 { container-type:inline-size; }
  .lbl { position:absolute; font-size:clamp(12.5px,1.75cqw,20px); line-height:1.3; margin-bottom:7px; text-wrap:pretty; }
  .lbl.r { text-align:right; } .lbl.l { text-align:left; }
  .reiter-0 { left:2%; bottom:80.15%; width:26%; }
  .reiter-1 { left:2%; bottom:31.77%; width:19%; }
  .reiter-2 { left:74%; bottom:66.28%; width:25%; }
  .reiter-3 { left:74%; bottom:29.83%; width:25%; }
  .pferd-0 { left:2%; bottom:80.15%; width:27%; }
  .pferd-1 { left:2%; bottom:36.93%; width:27%; }
  .pferd-2 { left:72%; bottom:66.28%; width:27%; }
  .innenleben-0 { left:2%; bottom:84.99%; width:26%; }
  .innenleben-1 { left:2%; bottom:51.45%; width:22%; }
  .innenleben-2 { left:74%; bottom:84.99%; width:25%; }
  .innenleben-3 { left:76%; bottom:36.28%; width:23%; }
}

/* Handy (und niedrige Querformat-Bildschirme): Bild mit nummerierten Punkten, Beschriftungen als Zeilen darunter */
@media (max-width:760px), (max-height:520px) {
  .js .callouts { height:calc(100vh + 72vh); height:calc(100svh + 72svh); }
  .js .callouts.n3 { height:calc(100vh + 58vh); height:calc(100svh + 58svh); }
  .callouts .pin { padding-top:calc(var(--hdr) + 10px); padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
  .callouts h2 { white-space:nowrap; font-size:clamp(14px,4.35vw,26px); font-weight:650; letter-spacing:-.015em; margin-bottom:12px; max-width:100%; }
  .stage2 { width:100%; max-width:460px; min-height:0; flex:0 1 auto; display:flex; flex-direction:column; }
  .fig { display:block; position:relative; flex:0 1 auto; width:100%; min-height:0; aspect-ratio:var(--ratio); container-type:size; }
  .fit { display:block; position:relative; width:min(100cqw, calc(100cqh * var(--ratio))); aspect-ratio:var(--ratio); margin:0 auto; }
  .stage2 .prod { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; filter:none; }
  .stage2 .lines { display:none; }
  .pins { display:block; position:absolute; inset:0; pointer-events:none; }
  .callouts .mlines { display:block; position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
  .mlines .ln path { stroke:rgba(233,237,243,.85); stroke-width:2.6; }
  .callouts .dot { display:block; position:absolute; width:8px; height:8px; translate:-50% -50%; border-radius:50%; background:#fff; box-shadow:0 0 0 1.5px rgba(7,9,13,.55), 0 0 0 3px rgba(111,211,255,.75); }
  .callouts .bdg { display:grid; place-items:center; position:absolute; width:22px; height:22px; translate:-50% -50%; border-radius:50%; background:var(--ice); color:#07090d; font-size:12px; font-weight:700; line-height:1; box-shadow:0 0 0 2px rgba(7,9,13,.55), 0 4px 12px rgba(0,0,0,.4); }
  .js .dot, .js .bdg { opacity:0; scale:.5; transition:opacity .3s ease .35s, scale .4s var(--ease) .35s; }
  .js .bdg { transition-delay:.05s; }
  .js .dot.on, .js .bdg.on { opacity:1; scale:1; }
  .cap { display:flex; flex-direction:column; flex:none; gap:0; margin-top:10px; counter-reset:c; }
  .callouts .lbl { position:static; width:auto; display:grid; grid-template-columns:22px 1fr; column-gap:12px; align-items:start; margin:0; padding:6px 0; font-size:14px; line-height:1.32; text-align:left; border-top:1px solid rgba(255,255,255,.08); }
  .callouts .lbl::before { counter-increment:c; content:counter(c); display:grid; place-items:center; width:22px; height:22px; margin-top:-1px; border-radius:50%; background:var(--ice); color:#07090d; font-size:12px; font-weight:700; line-height:1; }
  .callouts .lbl.r, .callouts .lbl.l { text-align:left; }
  #reiter .dot[data-i="0"],#pferd .dot[data-i="0"] { z-index:1; }
}
@media (max-height:520px) and (min-aspect-ratio:1/1) {
  .callouts .pin { padding-top:calc(var(--hdr) + 6px); }
  .callouts h2 { margin-bottom:8px; font-size:clamp(14px,3.4vh,22px); }
  .stage2 { max-width:900px; flex:1 1 auto; flex-direction:row; align-items:center; gap:clamp(16px,4vw,40px); }
  .fig { flex:0 0 auto; width:auto; height:100%; }
  .cap { flex:1 1 0; margin-top:0; }
  .callouts .lbl { padding:5px 0; font-size:13.5px; }
}
@media (max-width:370px) {
  .callouts .lbl { font-size:13px; padding:5px 0; column-gap:10px; }
}

/* Legal-Seiten */
.legal { max-width:680px; margin:48px auto 60px; padding:0 max(var(--gx),env(safe-area-inset-right)) 0 max(var(--gx),env(safe-area-inset-left)); line-height:1.65; overflow-wrap:anywhere; }
.legal a { color:var(--ice); } .legal a.btn { color:#000; }
.legal h1 { font-size:clamp(26px,6vw,34px); margin:24px 0; line-height:1.15; } .legal h2 { font-size:clamp(20px,4.6vw,24px); margin:34px 0 10px; } .legal h3 { font-size:19px; margin:24px 0 8px; } .legal h6 { font-size:16px; margin:14px 0 6px; }
.legal p, .legal li { color:#c9d1dc; } .legal p { margin-bottom:12px; } .legal li { margin-bottom:4px; } .legal ul { padding-left:22px; margin:10px 0; }
.legal table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:16px 0; font-size:15px; } .legal th, .legal td { border:1px solid #1b222c; padding:8px; text-align:left; vertical-align:top; }

/* Formular */
.form { max-width:760px; margin:0 auto; text-align:left; display:grid; gap:16px; }
.form .zeile { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form label { display:grid; gap:6px; font-size:14px; color:var(--muted); }
.form input, .form select, .form textarea { font:inherit; font-size:16px; color:var(--text); background:#0b0f15; border:1px solid #232c38; border-radius:14px; padding:0 14px; min-height:50px; width:100%; -webkit-appearance:none; appearance:none; transition:border-color .2s, box-shadow .2s; }
.form textarea { padding:13px 14px; min-height:120px; resize:vertical; }
.form select { padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%239aa4b2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; }
.form input::placeholder { color:#5d6877; }
.form input:focus, .form select:focus, .form textarea:focus { outline:none; border-color:var(--ice); box-shadow:0 0 0 3px rgba(111,211,255,.22); }
.form .einw { display:flex; align-items:flex-start; gap:12px; padding:6px 0; font-size:14px; line-height:1.5; }
.form .einw input { flex:none; width:22px; min-height:22px; height:22px; margin-top:1px; padding:0; border-radius:6px; accent-color:var(--ice); -webkit-appearance:auto; appearance:auto; }
.form .einw a { color:var(--ice); }
.form .btn { justify-self:center; font:inherit; font-weight:600; padding:0 36px; min-height:52px; }
.form .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.status { text-align:center; min-height:1.4em; margin:0; } .status.ok { color:#7be0a4; } .status.err { color:#ff9b7a; }
.hinweis { text-align:center; color:var(--muted); margin-top:22px; } .hinweis a { color:var(--text); display:inline-block; padding:8px 4px; }
@media (max-width:640px) { .form .zeile { grid-template-columns:1fr; } .anfrage { text-align:left; } .anfrage .lead { margin-left:0; } .form .btn { justify-self:stretch; } }

/* Footer */
footer { border-top:1px solid var(--line); padding:20px max(var(--gx),env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(var(--gx),env(safe-area-inset-left)); color:var(--muted); font-size:14px; text-align:center; }
footer a { display:inline-block; padding:12px 8px; margin:0 2px; }
footer .foto-hinweis { max-width:640px; margin:0 auto 4px; font-size:13px; line-height:1.5; }
footer .foto-hinweis a { display:inline; padding:0; margin:0; color:var(--ice); }
#reiter .dot[data-i="0"]{left:47.47%;top:17.32%}
#reiter .bdg[data-i="0"]{left:47.00%;top:6.50%}
#reiter .dot[data-i="1"]{left:36.61%;top:23.05%}
#reiter .bdg[data-i="1"]{left:17.00%;top:14.00%}
#reiter .dot[data-i="2"]{left:62.38%;top:22.41%}
#reiter .bdg[data-i="2"]{left:80.00%;top:9.50%}
#reiter .dot[data-i="3"]{left:84.11%;top:47.45%}
#reiter .bdg[data-i="3"]{left:92.50%;top:34.00%}
#pferd .dot[data-i="0"]{left:17.77%;top:35.57%}
#pferd .bdg[data-i="0"]{left:7.50%;top:50.00%}
#pferd .dot[data-i="1"]{left:60.58%;top:31.32%}
#pferd .bdg[data-i="1"]{left:60.00%;top:10.00%}
#pferd .dot[data-i="2"]{left:82.74%;top:28.35%}
#pferd .bdg[data-i="2"]{left:91.50%;top:13.00%}
#innenleben .dot[data-i="0"]{left:59.32%;top:27.81%}
#innenleben .bdg[data-i="0"]{left:60.00%;top:7.50%}
#innenleben .dot[data-i="1"]{left:32.50%;top:24.52%}
#innenleben .bdg[data-i="1"]{left:14.00%;top:12.00%}
#innenleben .dot[data-i="2"]{left:82.05%;top:18.37%}
#innenleben .bdg[data-i="2"]{left:92.50%;top:5.50%}
#innenleben .dot[data-i="3"]{left:44.32%;top:38.58%}
#innenleben .bdg[data-i="3"]{left:39.00%;top:60.00%}
#reiter .dot[data-i="0"]{left:47.47%;top:17.32%}
#reiter .bdg[data-i="0"]{left:47.00%;top:6.50%}
#reiter .dot[data-i="1"]{left:36.61%;top:23.05%}
#reiter .bdg[data-i="1"]{left:17.00%;top:14.00%}
#reiter .dot[data-i="2"]{left:62.38%;top:22.41%}
#reiter .bdg[data-i="2"]{left:80.00%;top:9.50%}
#reiter .dot[data-i="3"]{left:84.11%;top:47.45%}
#reiter .bdg[data-i="3"]{left:92.50%;top:34.00%}
#pferd .dot[data-i="0"]{left:17.77%;top:35.57%}
#pferd .bdg[data-i="0"]{left:7.50%;top:50.00%}
#pferd .dot[data-i="1"]{left:60.58%;top:31.32%}
#pferd .bdg[data-i="1"]{left:60.00%;top:10.00%}
#pferd .dot[data-i="2"]{left:82.74%;top:28.35%}
#pferd .bdg[data-i="2"]{left:91.50%;top:13.00%}
#innenleben .dot[data-i="0"]{left:59.32%;top:27.81%}
#innenleben .bdg[data-i="0"]{left:60.00%;top:7.50%}
#innenleben .dot[data-i="1"]{left:32.50%;top:24.52%}
#innenleben .bdg[data-i="1"]{left:14.00%;top:12.00%}
#innenleben .dot[data-i="2"]{left:82.05%;top:18.37%}
#innenleben .bdg[data-i="2"]{left:92.50%;top:5.50%}
#innenleben .dot[data-i="3"]{left:44.32%;top:38.58%}
#innenleben .bdg[data-i="3"]{left:39.00%;top:60.00%}
