/* HerzSicht Grusel-Orakel – alle Regeln hängen an .hso, damit das Theme nicht berührt wird */
@font-face{font-family:"HSO Cormorant";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/cormorant-infant-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"HSO Cormorant";font-weight:500;font-style:italic;font-display:swap;src:url(fonts/cormorant-infant-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"HSO Cormorant";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/cormorant-infant-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"HSO Cormorant";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/cormorant-infant-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"HSO Alegreya";font-weight:400;font-display:swap;src:url(fonts/alegreya-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"HSO Alegreya";font-weight:700;font-display:swap;src:url(fonts/alegreya-sans-latin-700-normal.woff2) format("woff2")}

.hso{--hso-night:#0e0c10;--hso-night2:#18141c;--hso-ink:#2b1d12;--hso-ember:#e9b25a;--hso-mist:#b6adbf;
  --hso-display:"HSO Cormorant",Georgia,serif;--hso-body:"HSO Alegreya","Trebuchet MS",sans-serif;
  background:radial-gradient(ellipse at 50% 12%,rgba(233,178,90,.12),transparent 50%),radial-gradient(ellipse at 50% 110%,rgba(110,70,150,.16),transparent 60%),var(--hso-night);
  color:#ece4d4;font-family:var(--hso-body);font-size:17px;line-height:1.55;
  max-width:52rem;margin:0 auto;padding:36px 16px 56px;border-radius:18px;display:grid;gap:22px;box-sizing:border-box}
.hso *,.hso *::before,.hso *::after{box-sizing:border-box}
.hso [hidden]{display:none!important}
.hso button,.hso input{font:inherit;color:inherit;margin:0}
.hso button{cursor:pointer}
.hso :focus-visible{outline:2px solid var(--hso-ember);outline-offset:3px}
.hso-head{text-align:center;display:grid;gap:4px}
.hso-eyebrow{font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--hso-ember)}
.hso .hso-h1{font-family:var(--hso-display);font-weight:600;font-size:clamp(2.4rem,7vw,3.8rem);line-height:1;margin:0;color:#ece4d4;letter-spacing:0;text-transform:none}
.hso-lead{color:var(--hso-mist);margin:6px auto 0;max-width:32rem}
.hso-figure{margin:0}
.hso-vbox{position:relative;border-radius:16px;overflow:hidden;border:2px solid rgba(233,178,90,.45);box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 60px rgba(233,178,90,.15);background:#000}
.hso-vbox video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.hso-vplay{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(14,12,16,.75)!important;white-space:nowrap}
.hso-ask{background:var(--hso-night2);border:1px solid rgba(233,178,90,.18);border-radius:14px;padding:18px;display:grid;gap:14px}
.hso-field{display:grid;gap:6px}
.hso-field label{font-family:var(--hso-display);font-style:italic;font-size:1.3rem;color:#ece4d4}
.hso-field input{background:#0f0c12!important;border:1px solid rgba(236,228,212,.2)!important;border-radius:8px!important;padding:11px 14px!important;font-size:1rem;color:#ece4d4!important;width:100%}
.hso-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap}
.hso-note{font-size:.78rem;color:var(--hso-mist);max-width:26rem}
.hso-go{border:0!important;background:linear-gradient(180deg,#e9b25a,#b9782a)!important;color:#1b1206!important;border-radius:999px!important;padding:12px 26px!important;font-weight:700}
.hso-go:disabled{opacity:.45;cursor:default}
.hso-ghost{border:1px solid rgba(236,228,212,.35)!important;background:transparent;border-radius:999px!important;padding:9px 16px!important;font-size:.9rem;color:#ece4d4!important}
.hso-wait{text-align:center;font-family:var(--hso-display);font-style:italic;font-size:1.3rem;color:var(--hso-ember);margin:0;animation:hso-pulse 1.6s infinite ease-in-out}
@keyframes hso-pulse{50%{opacity:.4}}
.hso-err{color:#f0b3a8;margin:0;text-align:center}
.hso-scroll{justify-self:center;width:min(100%,34rem);position:relative}
.hso-rod{height:22px;border-radius:11px;background:linear-gradient(180deg,#6b4a2a,#3d2714 60%,#2a1a0c);box-shadow:0 6px 14px rgba(0,0,0,.5);position:relative;z-index:2}
.hso-rod::before,.hso-rod::after{content:"";position:absolute;top:-4px;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#c9a24b,#6b4a1a)}
.hso-rod::before{left:-12px}.hso-rod::after{right:-12px}
.hso-sheet{margin:0 14px;overflow:hidden;max-height:0;transition:max-height 1.8s cubic-bezier(.3,.7,.3,1)}
.hso-scroll.open .hso-sheet{max-height:90rem}
.hso-paper{background:linear-gradient(180deg,#f1e5c7 0%,#ead9b2 55%,#dcc595 100%);color:var(--hso-ink);padding:34px 30px 40px;text-align:center;display:grid;gap:16px;box-shadow:inset 0 0 50px rgba(120,80,30,.32);position:relative}
.hso-paper.snap{box-shadow:none}
.hso-p-eye{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#6d5236}
.hso-p-title{font-family:var(--hso-display);font-weight:700;font-size:clamp(1.5rem,4.5vw,2rem);line-height:1.15}
.hso-p-text{display:grid;gap:14px;text-align:left}
.hso-line{margin:0;font-family:var(--hso-display);font-style:italic;font-weight:500;font-size:clamp(1.2rem,3.6vw,1.45rem);line-height:1.45;color:var(--hso-ink);opacity:0;transform:translateY(6px);transition:opacity 1.4s,transform 1.4s}
.hso-line.on{opacity:1;transform:none}
.hso-stumm{margin:0;font-size:.82rem;color:#6d5236;text-align:center;font-style:normal}
.hso-p-sign{font-size:.9rem;color:#6d5236;opacity:0;transition:opacity 1.2s}
.hso-p-sign.on{opacity:1}
.hso-seal{justify-self:center;width:74px;height:74px;opacity:0;transform:scale(1.8) rotate(-20deg);transition:transform .45s cubic-bezier(.5,1.8,.5,1),opacity .25s}
.hso-seal.on{opacity:1;transform:scale(1) rotate(-8deg)}
.hso-p-foot{font-size:.66rem;letter-spacing:.28em;color:#7d6448}
.hso-serious{font-size:1.05rem;line-height:1.65;background:rgba(236,228,212,.06);border:1px solid rgba(236,228,212,.18);border-radius:12px;padding:16px 20px}
.hso-save{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hso-savenote{flex-basis:100%;text-align:center;font-size:.85rem;color:var(--hso-mist);margin:0;min-height:1.2em}
@media (prefers-reduced-motion:reduce){.hso-sheet,.hso-line,.hso-seal{transition:none}.hso-wait{animation:none}}

.hso-hint{margin:0;font-size:.82rem;color:var(--hso-mist)}
.hso-consent{margin:0;font-size:.84rem;line-height:1.5;color:#d9d0c2}
.hso-consent input{width:20px;height:20px;flex:0 0 auto;margin-top:2px!important;accent-color:var(--hso-ember)}
.hso-consent a,.hso-ds a{color:var(--hso-ember)}
.hso-ds{background:var(--hso-night2);border-radius:12px;padding:12px 16px;font-size:.86rem;color:#d9d0c2}
.hso-ds summary{cursor:pointer;color:var(--hso-mist)}
.hso-ds p{margin:.7em 0 0}

.hso-voicebar{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:-6px}
.hso-voicebtn{font-size:1.05rem}
.hso-voicehint{font-size:.8rem;color:var(--hso-mist)}

.hso-ov{position:fixed;inset:0;z-index:99999;background:rgba(10,8,12,.88);display:flex;align-items:center;justify-content:center;padding:16px}
.hso-ov-box{width:min(100%,30rem);max-height:100%;overflow:auto;display:grid;gap:12px;justify-items:center;text-align:center}
.hso-ov-head{margin:0;font-family:var(--hso-display);font-style:italic;font-size:1.4rem;color:#ece4d4}
.hso-ov-img{display:block;max-width:100%;max-height:58vh;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.6);-webkit-touch-callout:default;user-select:auto}
.hso-ov-hint{margin:0;font-size:.92rem;line-height:1.45;color:#d9d0c2;max-width:26rem}
