/* Self-hosted fonts (DSGVO: no third-party requests to Google) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-600-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/spectral-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/spectral-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/spectral-latin-400-italic.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/spectral-latin-ext-400-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/spectral-latin-500-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/spectral-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  /* LIGHT theme (default): warm limestone + goldocker #D6A01D */
  --ink:#f2e8ce; --teal:#fcf7eb; --teal2:#f8f1dc; --ochre:#8a5e0c; --ochre-soft:#d6a01d;
  --cream:#3b2f17; --cream-dim:#6e5e3c; --muted:#79663f; --line:rgba(59,47,23,.16);
  --on-accent:#20180a; --maxw:980px;
}
.dark{
  /* DARK theme: the deep chamber (Threshold only) */
  --ink:#101c22; --teal:#1d3540; --teal2:#16282f; --ochre:#d6a01d; --ochre-soft:#e3b64a;
  --cream:#efe9dc; --cream-dim:#cfc8b9; --muted:#90a6a8; --line:rgba(239,233,220,.14);
  --on-accent:#101c22;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--ink); color:var(--cream);
  font-family:"Spectral",Georgia,"Times New Roman",serif; font-size:18px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
a{color:var(--ochre); text-decoration:none}
a:hover{color:var(--ochre-soft); text-decoration:underline}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; line-height:1.08; margin:0}
h1{font-size:clamp(2.4rem,6vw,4.2rem); letter-spacing:.01em}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:1.3rem}
.eyebrow{font-family:"Spectral",serif; font-size:.74rem; letter-spacing:.32em; text-transform:uppercase; color:var(--ochre); font-weight:600}
.muted{color:var(--muted)}
hr.rule{border:0; border-top:1px solid var(--line); margin:48px 0}

/* top bar */
.topbar{display:flex; align-items:center; justify-content:space-between; padding:22px 0; border-bottom:1px solid var(--line)}
.brand{display:flex; align-items:center; gap:12px; font-family:"Cormorant Garamond",serif; font-size:1.25rem; letter-spacing:.02em; color:var(--cream)}
.brand svg{width:30px; height:30px; flex:0 0 auto}
.langtoggle{display:flex; gap:2px; font-size:.8rem; letter-spacing:.12em}
.langtoggle button{background:none; border:1px solid var(--line); color:var(--muted); padding:5px 11px; cursor:pointer; font-family:inherit; letter-spacing:.12em}
.langtoggle button.active{background:var(--ochre-soft); color:var(--on-accent); border-color:var(--ochre-soft); font-weight:600}

/* hero */
.hero{padding:74px 0 56px; text-align:center; position:relative}
.hero .mark{width:118px; height:118px; margin:0 auto 26px; display:block; opacity:.95}
.hero p.lede{max-width:640px; margin:22px auto 0; font-size:1.18rem; color:var(--cream-dim)}
.hero .sub{margin-top:10px; color:var(--muted); font-style:italic}

/* chambers (doorway cards) */
.chambers{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:56px 0}
@media(max-width:720px){.chambers{grid-template-columns:1fr}}
.chamber{display:block; border:1px solid var(--line); background:linear-gradient(160deg,var(--teal),var(--teal2)); padding:34px 30px; transition:border-color .25s, transform .25s}
.chamber:hover{border-color:var(--ochre); transform:translateY(-3px)}
.chamber .num{font-family:"Cormorant Garamond",serif; font-size:1rem; color:var(--ochre); letter-spacing:.3em}
.chamber h2{margin:10px 0 8px; color:var(--cream)}
.chamber p{margin:0; color:var(--cream-dim); font-size:1rem}
.chamber .go{display:inline-block; margin-top:18px; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ochre)}

/* page header for audio pages */
.pagehead{padding:48px 0 8px}
.back{font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted)}
.freqs{display:inline-flex; gap:14px; margin-top:14px; font-size:.82rem; letter-spacing:.18em; color:var(--ochre); text-transform:uppercase}

/* player */
.player{margin:30px 0; padding:24px; border:1px solid var(--line); background:var(--teal2)}
.player audio{width:100%; margin-top:6px}
.player .note{font-size:.86rem; color:var(--muted); margin:10px 0 0}

/* stage list */
.stages{list-style:none; padding:0; margin:26px 0; border-top:1px solid var(--line)}
.stages li{padding:16px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:160px 1fr; gap:18px}
@media(max-width:620px){.stages li{grid-template-columns:1fr; gap:4px}}
.stages .st{font-family:"Cormorant Garamond",serif; font-size:1.2rem; color:var(--ochre-soft)}
.stages .sd{color:var(--cream-dim); font-size:.98rem}

/* downloads + qr panel */
.panels{display:grid; grid-template-columns:1.4fr 1fr; gap:22px; margin:34px 0}
@media(max-width:720px){.panels{grid-template-columns:1fr}}
.panel{border:1px solid var(--line); background:var(--teal2); padding:24px}
.panel h3{color:var(--cream); margin-bottom:14px}
.dl{list-style:none; padding:0; margin:0}
.dl li{border-top:1px solid var(--line); padding:0}
.dl li:first-child{border-top:0}
.dl a{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 2px; color:var(--cream)}
.dl a:hover{color:var(--ochre)}
.dl .fmt{font-size:.7rem; letter-spacing:.16em; color:var(--muted); border:1px solid var(--line); padding:3px 8px; text-transform:uppercase}
.qr{text-align:center}
.qr img{width:172px; height:172px; background:#fff; padding:10px; border-radius:4px}
.qr .url{font-size:.8rem; color:var(--muted); margin-top:12px; word-break:break-all}

.callout{border-left:3px solid var(--ochre); background:rgba(214,160,29,.09); padding:16px 20px; margin:28px 0; font-size:.95rem; color:var(--cream-dim)}

/* licensing */
.legal h3{color:var(--ochre-soft); margin:30px 0 8px}
.legal p{color:var(--cream-dim); font-size:.98rem}

footer{border-top:1px solid var(--line); margin-top:64px; padding:34px 0 60px; color:var(--muted); font-size:.86rem}
footer a{color:var(--muted)} footer a:hover{color:var(--ochre)}
footer .row{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap}

/* language visibility */
html[data-lang="de"] .en{display:none}
html[data-lang="en"] .de{display:none}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
:focus-visible{outline:2px solid var(--ochre); outline-offset:2px}

/* uploaded logo on a light chip so the black mark stays crisp on dark bg */
.logo-chip{background:transparent; border-radius:50%; padding:6px; display:inline-flex; align-items:center; justify-content:center}
.dark .logo-chip{background:var(--cream)}
.brand .logo-chip{width:34px; height:34px; padding:4px}
.brand .logo-chip img{width:100%; height:100%}
.hero .logo-chip{width:118px; height:118px; margin:0 auto 26px; padding:14px}
.hero .logo-chip img{width:100%; height:100%}

/* soft access gate (Threshold page) */
.gate{position:fixed; inset:0; z-index:60; background:rgba(16,28,34,.975); display:flex; align-items:center; justify-content:center; padding:24px}
.gate[hidden]{display:none}
.gate-card{max-width:580px; background:var(--teal2); border:1px solid var(--line); border-radius:14px; padding:36px 34px}
.gate-card .eyebrow{display:block; margin-bottom:10px}
.gate-card h2{margin:0 0 6px}
.gate-card p{color:var(--cream-dim); margin:14px 0; font-size:1rem; line-height:1.6}
.gate-actions{display:flex; flex-direction:column; gap:12px; margin-top:26px}
.gate-actions button, .gate-actions a{display:block; width:100%; text-align:center; padding:14px 18px; border-radius:10px; font:inherit; font-size:1rem; cursor:pointer; text-decoration:none}
.gate-primary{background:var(--ochre); color:#1a1206; border:none; font-weight:600}
.gate-primary:hover{background:var(--ochre-soft)}
.gate-secondary{background:transparent; color:var(--cream); border:1px solid var(--line)}
.gate-secondary:hover{border-color:var(--ochre-soft); color:var(--ochre-soft)}
.gate-fine{font-size:.82rem; color:var(--muted); margin-top:18px}
.gate-fine a{color:var(--ochre-soft)}

/* audience tags on landing cards */
.tag{display:inline-block; font-family:"Spectral",serif; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px; border-radius:999px; margin-bottom:14px}
.tag-open{background:rgba(214,160,29,.16); color:var(--ochre); border:1px solid rgba(214,160,29,.40)}
.tag-gated{background:transparent; color:var(--muted); border:1px solid var(--line)}

/* gold display headings (both themes) */
.hero h1, .pagehead h1{color:var(--ochre-soft)}

/* two audio versions per protocol */
.player .ver{margin:14px 0}
.player .verlabel{font:600 .8rem/1 "Cormorant Garamond",serif; letter-spacing:.14em; text-transform:uppercase; color:var(--ochre); margin-bottom:7px}
