/* Cura Athletics · Die Ausstellung über Zug */

@font-face{font-family:"Unbounded";src:url("fonts/unbounded-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Unbounded";src:url("fonts/unbounded-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;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:"Unbounded";src:url("fonts/unbounded-cyrillic-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";src:url("fonts/unbounded-cyrillic-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Instrument Sans";src:url("fonts/instrument-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Instrument Sans";src:url("fonts/instrument-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;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:"Instrument Sans";src:url("fonts/instrument-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;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:"Golos Text";src:url("fonts/golos-text-cyrillic-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url("fonts/golos-text-cyrillic-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url("fonts/golos-text-cyrillic-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Martian Mono";src:url("fonts/martian-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Martian Mono";src:url("fonts/martian-mono-cyrillic-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --canvas:#111013;
  --panel:#1a181b;
  --panel-2:#221f23;
  --accent:#d9ae72;
  --accent-hover:#ebc48c;
  --accent-muted:#6e5738;
  --gold-deep:#8a7350;
  --text-secondary:#a8a197;
  --text-primary:#f1ece4;
  --line:rgba(241,236,228,.11);
  --line-strong:#6d655b;
  --ink:#0b0a0c;

  --f-display:"Unbounded",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Instrument Sans","Golos Text",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"Martian Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);

  --gutter:clamp(16px,4.2vw,56px);
  --wrap:min(1240px,calc(100% - 2*var(--gutter)));
  --tshadow:0 1px 2px rgba(6,5,7,.95),0 3px 12px rgba(6,5,7,.78),0 10px 44px rgba(6,5,7,.8);
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 1.0625rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;animation:pageIn .9s var(--ease-out) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.skip{position:absolute;left:var(--gutter);top:-60px;z-index:100;background:var(--accent);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none;transition:top .3s var(--ease-out)}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- The environment: one fixed layer behind everything ---------- */
.env{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:
  radial-gradient(ellipse 70% 55% at 78% 8%,rgba(217,174,114,.07),transparent 70%),
  radial-gradient(ellipse 60% 50% at 10% 90%,rgba(138,115,80,.06),transparent 70%),var(--canvas)}
.env svg{position:absolute;left:-20%;top:18%;width:140%;height:auto;opacity:.075}
.env .drift{animation:drift 84s var(--ease-io) -21s infinite alternate}
@keyframes drift{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(4%,-3%,0)}}
.env::after{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ---------- Type ---------- */
.kicker{display:inline-flex;align-items:center;gap:.8em;font:400 .7rem/1.3 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}
.kicker::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--gold-deep)}
.h2{font:500 clamp(1.9rem,3.9vw,3.25rem)/1.06 var(--f-display);letter-spacing:-.02em;margin:.55em 0 .5em;max-width:18ch;text-wrap:balance}
.lede{color:var(--text-secondary);max-width:52ch;margin:0;font-size:1.0625rem}
.mono{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.06em}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.5em;border-radius:999px;border:1px solid transparent;font:600 .95rem/1 var(--f-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;text-shadow:none;transition:background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out),transform .35s var(--ease-out)}
.btn-gold{background:var(--accent);color:var(--ink)}
.btn-gold:hover{background:var(--accent-hover)}
.btn-gold::after{content:"";position:absolute;inset:-6px;border-radius:inherit;box-shadow:0 0 36px rgba(217,174,114,.45);opacity:0;transition:opacity .45s var(--ease-out);pointer-events:none}
.btn-gold:hover::after{opacity:1}
.btn-ghost{border-color:var(--line-strong);color:var(--text-primary);background:rgba(17,16,19,.35)}
.btn-ghost:hover{border-color:var(--text-primary)}
.btn:active{transform:translateY(1px)}
@media (pointer:coarse){.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background-color .5s var(--ease-out),border-color .5s var(--ease-out),backdrop-filter .5s}
.nav::before{content:"";position:absolute;inset:0;background:rgba(17,16,19,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);opacity:0;transition:opacity .5s var(--ease-out)}
.nav.solid::before{opacity:1}
.nav-in{position:relative;width:var(--wrap);margin:0 auto;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg.mark{width:30px;height:auto}
.brand svg.word{width:86px;height:auto}
.brand .mark path{stroke-dasharray:1;stroke-dashoffset:0}
.nav-links{display:flex;gap:clamp(14px,2vw,30px);list-style:none;margin:0;padding:0}
.nav-links a{position:relative;font:500 .9rem/1 var(--f-body);color:var(--text-secondary);text-decoration:none;padding:8px 0;transition:color .3s var(--ease-out)}
.nav-links a::after{box-shadow:none;content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.nav:not(.solid) .nav-links a{color:#e2dbd0;text-shadow:0 1px 10px rgba(6,5,7,.85)}
.nav-links a:hover,.nav:not(.solid) .nav-links a:hover{color:var(--text-primary)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav .btn{padding:.75em 1.2em;font-size:.88rem}
@media (max-width:1180px){.nav-links{display:none}}
@media (max-width:420px){.brand svg.word{display:none}}

/* ---------- Hero (the scrub) ---------- */
.hero{position:relative;height:580vh}
.stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--ink)}
.poster{position:absolute;inset:0;background:#0d0c0e 35% 50%/cover no-repeat}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%;opacity:0;transform:translateZ(0);will-change:transform;transition:opacity .9s var(--ease-out)}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(9,8,10,.62) 0,rgba(9,8,10,0) 150px),
  linear-gradient(90deg,rgba(9,8,10,.55) 0%,rgba(9,8,10,.2) 42%,rgba(9,8,10,0) 60%),
  radial-gradient(ellipse 120% 90% at 58% 45%,rgba(9,8,10,0) 40%,rgba(9,8,10,.6) 100%)}
.stage::after{content:"";position:absolute;inset:auto 0 0 0;height:22vh;background:linear-gradient(transparent,var(--canvas));pointer-events:none}

.bands{position:absolute;inset:0;pointer-events:none}
.band{position:absolute;left:var(--gutter);top:50%;width:min(560px,38vw);transform:translateY(-50%);opacity:0;text-shadow:var(--tshadow);--k:0}
.band::before{content:"";position:absolute;inset:-28% -22% -28% -30%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 70% 60% at 42% 50%,rgba(6,5,7,var(--peak,.64)) 0%,rgba(6,5,7,calc(var(--peak,.64)*.66)) 46%,rgba(6,5,7,0) 76%)}
.band .btn{text-shadow:none;pointer-events:none}
.band.on .btn{pointer-events:auto}
.band:focus-within{opacity:1!important}
.band .kicker{color:#cfc7bb}
.band-title{font:500 clamp(2rem,3.7vw,4rem)/1.04 var(--f-display);letter-spacing:-.02em;margin:.35em 0 .35em}
.band-hero{font:500 clamp(3.2rem,var(--hs,11vw),11rem)/.9 var(--f-display);letter-spacing:-.045em;margin:.12em 0 .18em}
.band-line{font:400 clamp(1.05rem,1.45vw,1.3rem)/1.5 var(--f-body);color:#e4ddd2;max-width:34ch;margin:0}
.band-mono{font:400 .8rem/1.5 var(--f-mono);letter-spacing:.08em;color:#d8cfc2;margin:0}
.band-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* split text */
.w{display:inline-block;white-space:nowrap}
.c{display:inline-block;will-change:transform,opacity}
.sp{display:inline-block;width:.28em}

/* entrance (g) approach from depth, with blur-to-sharp copies */
.fx-depth{position:relative;display:block}
.fx-depth .soft,.fx-depth .sharp{display:block}
.fx-depth .soft{position:absolute;inset:0;filter:blur(12px);opacity:calc(.9*(1 - var(--k)));transform:scale(calc(.86 + .14*var(--k)))}
.fx-depth .sharp{opacity:var(--k);transform:scale(calc(.9 + .1*var(--k)))}
/* entrance (i) weave */
.fx-weave .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*var(--jy,0px)))}
/* entrance (h) halves parting: words start pulled to the centre and part outward */
.fx-part .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.4,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
/* entrance (e) rise into staged settle */
.fx-rise .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*34px))}
.stage-sub{--ks:clamp(0,(var(--k,0) - .62)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.stage-cta{--kb:clamp(0,(var(--k,0) - .78)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.fade-k{opacity:clamp(0,(var(--k,0) - .3)*2.2,1)}

/* loading ring and cue */
.ring{position:absolute;left:50%;bottom:34px;width:44px;height:44px;margin-left:-22px;color:var(--accent);opacity:.9;transition:opacity .6s var(--ease-out)}
.ring circle.track{stroke:rgba(241,236,228,.14)}
.ring.done{opacity:0}
.cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:400 .62rem/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:#cfc7bb;text-shadow:var(--tshadow);opacity:0;transition:opacity .8s var(--ease-out)}
.cue.show{opacity:1}
.cue i{display:block;width:2px;height:34px;border-radius:2px;background:linear-gradient(var(--accent),transparent);transform-origin:top}
.live .cue i{animation:cue 2.6s var(--ease-io) -.6s infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* hero dust (whisper particles) */
.dust{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.dust span{position:absolute;width:2px;height:2px;border-radius:50%;background:#f3d9ae;opacity:0;box-shadow:0 0 6px rgba(243,217,174,.8)}
.live .dust span{animation:mote var(--d,14s) linear var(--dl,-3s) infinite}
@keyframes mote{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:var(--o,.5)}85%{opacity:var(--o,.5)}100%{transform:translate3d(var(--dx,30px),var(--dy,-120px),0);opacity:0}}

/* static hero (phones, portrait tablets, reduced motion) */
.static-hero{display:none}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{height:auto}
  .stage{position:relative;height:auto;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end}
  .stage video,.bands,.ring,.cue{display:none}
  .poster{background-image:url("hero-static.jpg");background-position:72% 30%}
  .scrim{background:linear-gradient(180deg,rgba(9,8,10,.25) 0%,rgba(9,8,10,.05) 35%,rgba(9,8,10,.72) 70%,rgba(9,8,10,.92) 100%)}
  .static-hero{position:relative;display:block;width:var(--wrap);margin:0 auto;padding:120px 0 64px;text-shadow:var(--tshadow)}
  .static-hero .band-hero{font-size:clamp(2.6rem,var(--hsm,22vw),8rem)}
}

/* ---------- Rooms ---------- */
main{position:relative}
.room{position:relative;padding:clamp(96px,15vh,190px) 0}
.wrap{width:var(--wrap);margin:0 auto}
.divider{width:var(--wrap);margin:0 auto;height:40px;overflow:visible}
.divider path{fill:none;stroke:var(--gold-deep);stroke-width:2;stroke-linecap:round}

/* reveal choreography */
.reveal .r{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*110ms)}
.reveal.in .r{opacity:1;transform:none}
.reveal.done .r{transition-delay:0s}

/* self-drawing strokes */
.draw path,.draw line,.draw circle,.draw rect{stroke-dasharray:var(--len,1000);stroke-dashoffset:calc(var(--len,1000)*(1 - var(--p,0)))}

/* Raum 01 · Material */
.material{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.vitrine{position:relative;margin:0}
.vitrine .frame{position:relative;border-radius:6px;overflow:hidden;background:#0c0b0d;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.vitrine .frame::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,226,180,.10),transparent 30%);mix-blend-mode:screen}
.vitrine .frame::after{content:"";position:absolute;inset:10px;z-index:1;border:1px solid rgba(217,174,114,.22);border-radius:3px;pointer-events:none}
.vitrine img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--ease-out)}
.reveal.in .vitrine img{transform:scale(1)}
.vitrine figcaption{margin-top:14px;color:var(--text-secondary)}
.label{margin:34px 0 0;padding:0;border-top:1px solid var(--line);max-width:520px}
.label div{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line)}
.label dt{font:400 .68rem/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}
.label dd{margin:0;font-weight:500}

/* Raum 02 · Zug */
.zug{text-align:center;overflow:hidden}
.zug .h2,.zug .lede{margin-left:auto;margin-right:auto}
.zug .kicker::before{display:none}
.zug-stage{position:relative;margin:clamp(40px,7vh,72px) auto 0;width:min(980px,100%);padding:0 var(--gutter)}
.strip-wrap{position:relative;height:120px;display:flex;align-items:center;justify-content:center}
.strip{position:relative;width:min(46%,380px);height:var(--h);--h:64px;--s:0}
.strip .mid,.strip .cap{background:
  repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px),
  repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px),#0b0a0c}
.strip .mid{position:absolute;top:0;bottom:0;left:calc(var(--h)/2 - 1px);right:calc(var(--h)/2 - 1px);transform:scaleX(calc(1 + var(--s)*var(--grow,1.9)));transform-origin:center;box-shadow:inset 0 1px 0 rgba(217,174,114,.3),inset 0 -1px 0 rgba(0,0,0,.6)}
.strip .cap{position:absolute;top:0;width:var(--h);height:var(--h);border-radius:50%;box-shadow:inset 0 1px 0 rgba(217,174,114,.3)}
.strip .cap.l{left:0;transform:translateX(calc(var(--s)*-1*var(--reach,160px)));clip-path:inset(0 50% 0 0)}
.strip .cap.r{right:0;transform:translateX(calc(var(--s)*var(--reach,160px)));clip-path:inset(0 0 0 50%)}
.strip .glint{position:absolute;top:0;bottom:0;left:calc(var(--h)/2);right:calc(var(--h)/2);background:linear-gradient(90deg,transparent,rgba(243,210,160,.22),transparent);opacity:calc(.25 + var(--s)*.75);transform:scaleX(calc(1 + var(--s)*var(--grow,1.9)));pointer-events:none}
.ruler{position:relative;height:40px;margin:26px auto 0;width:var(--rw,640px);max-width:100%;border-top:1px solid var(--line)}
.ruler span{position:absolute;top:10px;transform:translateX(-50%);white-space:nowrap;font:400 .64rem/1 var(--f-mono);letter-spacing:.1em;color:var(--text-secondary)}
.ruler span::before{content:"";position:absolute;left:50%;top:-11px;width:1px;height:8px;background:var(--line-strong)}
.counter{font:400 clamp(3.2rem,8vw,6.4rem)/1 var(--f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:18px 0 4px}
.counter small{font:400 .72rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);display:block;margin-top:14px}
.hold{margin-top:26px;user-select:none;-webkit-user-select:none;touch-action:none}
.hold .fill{position:absolute;inset:0;border-radius:inherit;background:var(--accent-hover);transform:scaleX(var(--s,0));transform-origin:left;opacity:.55;pointer-events:none}
.hold span{position:relative}
.earned{list-style:none;padding:0;margin:34px auto 0;display:grid;gap:10px;max-width:560px}
.earned li{opacity:.18;transform:translateY(6px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);font-weight:500}
.earned li::before{content:"";display:inline-block;width:18px;height:2px;border-radius:2px;background:var(--accent);vertical-align:middle;margin-right:12px;transform:scaleX(0);transition:transform .8s var(--ease-out)}
.zug.won .earned li{opacity:1;transform:none}
.zug.won .earned li::before{transform:scaleX(1)}
.zug.won .earned li:nth-child(2),.zug.won .earned li:nth-child(2)::before{transition-delay:.25s}
.zug.won .earned li:nth-child(3),.zug.won .earned li:nth-child(3)::before{transition-delay:.5s}
.zug.won.settled .earned li:nth-child(n),.zug.won.settled .earned li:nth-child(n)::before{transition-delay:0s}
.zug-glow{position:absolute;left:50%;top:48%;width:760px;height:260px;margin:-130px 0 0 -380px;border-radius:50%;background:radial-gradient(closest-side,rgba(217,174,114,.16),transparent);pointer-events:none;opacity:.5}
.live .zug-glow{animation:breathe 7s var(--ease-io) -2s infinite alternate}
@keyframes breathe{from{opacity:.35;transform:scale(.94)}to{opacity:.8;transform:scale(1.04)}}

/* Raum 03 · Form */
.form-head{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,80px);align-items:end}
.form-head .h2{max-width:none;font-size:clamp(2.1rem,4.6vw,3.9rem)}
.steps{list-style:none;padding:0;margin:clamp(48px,8vh,88px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.step{position:relative;padding:28px 26px 30px;border-radius:8px;background:linear-gradient(180deg,var(--panel),rgba(26,24,27,.35));border:1px solid var(--line)}
.step svg{width:100%;height:120px;margin-bottom:22px;overflow:visible}
.step svg .g{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.step svg .m{fill:none;stroke:var(--line-strong);stroke-width:1.5;stroke-linecap:round}
.step svg .t{fill:#0b0a0c;stroke:var(--gold-deep);stroke-width:1.5}
.step .n{font:400 .7rem/1 var(--f-mono);letter-spacing:.18em;color:var(--accent)}
.step h3{font:500 1.2rem/1.2 var(--f-display);margin:12px 0 10px;letter-spacing:-.01em}
.step p{margin:0;color:var(--text-secondary)}

/* Raum 04 · Farbe */
.farbe{padding-bottom:clamp(80px,12vh,150px)}
.farbe-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}
.farbe-head .lede{max-width:40ch}
.exhibit{position:relative;margin:clamp(40px,7vh,72px) 0 0}
.exhibit .img{position:relative;width:100%;overflow:hidden;border-radius:6px;background:#0c0b0d}
.exhibit img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.exhibit .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,16,19,.25),transparent 25%,transparent 70%,rgba(17,16,19,.55));pointer-events:none}
.swatches{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.swatches li{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 8px;border-top:1px solid var(--line);font:400 .74rem/1.3 var(--f-mono);letter-spacing:.08em;color:var(--text-primary)}
.swatches i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px rgba(241,236,228,.3)}

/* Raum 05 · Für wen */
.people{list-style:none;padding:0;margin:clamp(40px,7vh,72px) 0 0;border-top:1px solid var(--line)}
.person{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.3fr);gap:clamp(16px,3vw,48px);align-items:baseline;padding:clamp(28px,4.5vh,44px) 0;border-bottom:1px solid var(--line)}
.person::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:linear-gradient(90deg,var(--accent),transparent 70%);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease-out)}
.person:hover::after{transform:scaleX(1)}
.person .num{font:400 clamp(2.4rem,4.4vw,3.6rem)/1 var(--f-display);color:transparent;-webkit-text-stroke:1px var(--gold-deep);letter-spacing:-.03em}
.person h3{font:500 clamp(1.25rem,2vw,1.6rem)/1.2 var(--f-display);margin:0;letter-spacing:-.01em}
.person p{margin:0;color:var(--text-secondary)}
.trade{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px 0;color:var(--text-secondary)}
.trade a{display:inline-flex;align-items:center;gap:.6em;color:var(--accent);font-weight:600;text-decoration:none}
.trade a svg{width:18px;transition:transform .45s var(--ease-out)}
.trade a:hover svg{transform:translateX(4px)}

/* Raum 06 · Ehrlich */
.honest{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,100px);align-items:center}
.honest .text p.yes,.honest .text p.no{margin:0 0 1.1em;max-width:46ch;font-size:1.12rem}
.honest .text p.yes{color:var(--text-primary);padding-left:22px;border-left:2px solid var(--accent)}
.honest .text p.no{color:var(--text-secondary);padding-left:22px;border-left:2px solid var(--line-strong)}
.ce{display:flex;align-items:center;gap:14px;margin-top:28px;color:var(--text-secondary)}
.ce svg{width:72px;height:auto;color:var(--text-primary)}
.pedestal{margin:0}
.pedestal .img{position:relative;border-radius:6px;overflow:hidden;background:#0c0b0d}
.pedestal img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.pedestal figcaption{margin-top:14px;color:var(--text-secondary)}

/* Fragen */
.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(32px,6vw,96px);align-items:start}
.faq-head{position:sticky;top:110px}
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;font:500 1.08rem/1.4 var(--f-body);transition:color .3s var(--ease-out)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--accent-hover)}
.qa summary i{position:relative;flex:none;width:14px;height:14px}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;border-radius:2px;background:var(--accent);transition:transform .45s var(--ease-out)}
.qa summary i::after{transform:rotate(90deg)}
.qa details[open] summary i::after{transform:rotate(0)}
.qa .a{padding:0 40px 24px 0;color:var(--text-secondary);max-width:60ch}
.qa details[open] .a{animation:ansIn .6s var(--ease-out)}
@keyframes ansIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Anfrage · die Besucherkarte */
.anfrage{padding-bottom:clamp(110px,16vh,200px)}
.card{position:relative;display:grid;grid-template-columns:1fr 1.35fr;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#1d1a1e,#141215);border:1px solid rgba(217,174,114,.2);box-shadow:0 60px 120px -60px rgba(0,0,0,.9)}
.card-side{position:relative;padding:clamp(28px,4vw,52px);border-right:2px dashed rgba(217,174,114,.22)}
.card-side::before,.card-side::after{content:"";position:absolute;right:-13px;width:24px;height:24px;border-radius:50%;background:var(--canvas)}
.card-side::before{top:-12px}
.card-side::after{bottom:-12px}
.card-side .h2{max-width:12ch}
.card-side .mark-lg{width:64px;margin-top:40px;opacity:.9}
.card-form{padding:clamp(28px,4vw,52px)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field>label,.field>legend{font:400 .66rem/1.3 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);padding:0}
.field input,.field select,.field textarea{width:100%;background:rgba(11,10,12,.6);border:1px solid var(--line-strong);border-radius:8px;padding:13px 14px;font-size:1rem;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out)}
.field textarea{min-height:108px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8a8379}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:rgba(11,10,12,.85)}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);cursor:pointer;font-weight:500;font-size:.95rem;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out)}
.chip span i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px rgba(241,236,228,.3)}
.chip input:checked+span{border-color:var(--accent);background:rgba(217,174,114,.12)}
.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
@media (pointer:coarse){.chip span{min-height:44px}}
.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:26px}
.hint{margin:0;color:var(--text-secondary);font-size:.9rem;max-width:40ch}
.err{color:#f0a58a;font-size:.88rem;min-height:1.2em;margin:10px 0 0}
.sent{display:none;margin-top:22px;padding:18px 20px;border-radius:10px;border:1px solid rgba(217,174,114,.35);background:rgba(217,174,114,.08)}
.sent p{margin:0}
.sent p+p{margin-top:6px;color:var(--text-secondary);font-size:.95rem}
.sent a{color:var(--accent)}
.card.is-sent .sent{display:block;animation:ansIn .7s var(--ease-out)}

/* Footer */
.foot{border-top:1px solid var(--line);padding:56px 0 40px;color:var(--text-secondary);font-size:.93rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;align-items:start}
.foot .logo{width:120px;margin-bottom:18px}
.foot p{margin:0 0 .5em}
.foot a{color:var(--text-primary);text-decoration:none}
.foot a:hover{color:var(--accent-hover)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.foot .fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;margin-top:8px;display:grid;gap:6px;font-size:.84rem}

/* ---------- Subpages ---------- */
.sub-main{padding:150px 0 110px}
.sub-main .h1{font:500 clamp(2.4rem,5.2vw,4.4rem)/1.04 var(--f-display);letter-spacing:-.03em;margin:.4em 0 .4em}
.legal{max-width:760px}
.legal h2{font:500 1.25rem/1.3 var(--f-display);margin:2.2em 0 .6em;letter-spacing:-.01em}
.legal h3{font:600 1.02rem/1.4 var(--f-body);margin:1.6em 0 .4em}
.legal p,.legal li{color:#d6cfc5}
.legal a{color:var(--accent)}
.todo{background:rgba(240,165,138,.12);border:1px dashed #f0a58a;border-radius:6px;padding:0 6px;color:#f7c2ae}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .material,.honest,.faq,.form-head{grid-template-columns:1fr}
  .faq-head{position:static}
  .steps{grid-template-columns:1fr}
  .person{grid-template-columns:72px 1fr}
  .person p{grid-column:2}
  .card{grid-template-columns:1fr}
  .card-side{border-right:0;border-bottom:2px dashed rgba(217,174,114,.22)}
  .card-side::before,.card-side::after{top:auto;bottom:-13px;right:auto}
  .card-side::before{left:-12px}
  .card-side::after{right:-12px;left:auto}
  .foot-grid{grid-template-columns:1fr}
  .pedestal{max-width:520px}
}
@media (max-width:640px){
  .fields{grid-template-columns:1fr}
  .swatches{grid-template-columns:repeat(2,1fr)}
  .label div{grid-template-columns:110px 1fr}
  .strip{width:44%;--h:40px}
  .ruler span:nth-child(2),.ruler span:nth-child(5){display:none}
  .ruler span{font-size:.58rem}
}
@media (max-height:560px){.cue,.ring{display:none}}

/* ---------- Pausing ---------- */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ---------- Reduced motion: everything final, nothing moves ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  .reveal .r{opacity:1;transform:none}
  .draw path,.draw line,.draw circle,.draw rect{stroke-dashoffset:0}
  .zug .earned li{opacity:1;transform:none}
  .zug .earned li::before{transform:scaleX(1)}
  .dust{display:none}
  .env .drift{transform:none}
  .vitrine img{transform:none}
}

/* =====================================================================
   Nav tools: language switcher and mobile menu
   ===================================================================== */
.nav-tools{display:flex;align-items:center;gap:10px}
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 14px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(17,16,19,.4);font:400 .72rem/1 var(--f-mono);letter-spacing:.14em;color:var(--text-primary);cursor:pointer;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out)}
.lang-btn:hover,.lang[data-open] .lang-btn{border-color:var(--accent)}
.lang-btn svg{width:10px;height:10px;transition:transform .4s var(--ease-out)}
.lang[data-open] .lang-btn svg{transform:rotate(180deg)}
.lang-list{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;margin:0;padding:8px;list-style:none;border-radius:14px;background:rgba(26,24,27,.97);border:1px solid rgba(217,174,114,.22);box-shadow:0 30px 60px -20px rgba(0,0,0,.8);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),visibility 0s linear .35s}
.lang[data-open] .lang-list{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),visibility 0s}
.lang-list a{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:11px 12px 11px 30px;border-radius:9px;text-decoration:none;color:var(--text-secondary);font-weight:500;transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}
.lang-list a:hover,.lang-list a:focus-visible{background:rgba(217,174,114,.09);color:var(--text-primary)}
.lang-list a span{font:400 .66rem/1 var(--f-mono);letter-spacing:.14em;color:var(--text-secondary)}
.lang-list a[aria-current]{color:var(--text-primary)}
.lang-list a[aria-current]::before{content:"";position:absolute;left:10px;top:50%;width:12px;height:2px;margin-top:-1px;border-radius:2px;background:var(--accent)}
.menu-btn{display:none;position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(17,16,19,.4);cursor:pointer}
.menu-btn i{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--text-primary);transition:transform .45s var(--ease-out)}
.menu-btn i:first-child{top:16px}
.menu-btn i:last-child{top:23px;left:16px}
.menu-open .menu-btn i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .menu-btn i:last-child{transform:translate(-4px,-3.5px) rotate(-45deg) scaleX(1.4)}
.mpanel{position:fixed;left:0;right:0;top:72px;bottom:0;z-index:49;background:rgba(14,13,16,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:28px var(--gutter) 40px;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out),visibility 0s linear .4s}
.menu-open .mpanel{opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out),visibility 0s}
.mpanel ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mpanel li{border-bottom:1px solid var(--line)}
.mpanel a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;text-decoration:none;font:500 1.35rem/1.2 var(--f-display);letter-spacing:-.01em}
.mpanel a span{font:400 .66rem/1 var(--f-mono);letter-spacing:.16em;color:var(--text-secondary)}
@media (max-width:1180px){.menu-btn{display:inline-block}}
@media (min-width:1181px){.mpanel{display:none}}
@media (max-width:520px){.nav .nav-tools>.btn{display:none}}

/* =====================================================================
   The cursor: a strip of tape under tension
   ===================================================================== */
.cur{display:none}
html.cur-on .cur{display:block}
html.cur-on,html.cur-on *{cursor:none!important}
html.cur-on :is(input,textarea,select,[contenteditable]){cursor:text!important}
html.cur-on select{cursor:pointer!important}
.cur>*{position:fixed;left:0;top:0;pointer-events:none;z-index:300;will-change:transform}
.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent-hover);box-shadow:0 0 10px rgba(235,196,140,.7)}
.cur-strip{width:100px;height:4px;margin-top:-2px;border-radius:4px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(235,196,140,.95),rgba(217,174,114,.12));opacity:0}
.cur-ring{width:36px;height:36px;margin:-18px 0 0 -18px}
.cur-ring i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(217,174,114,.75);background:rgba(217,174,114,0);transition:transform .45s var(--ease-out),background-color .45s var(--ease-out),border-color .45s var(--ease-out),opacity .45s var(--ease-out)}
.cur-ring b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 .5rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);white-space:nowrap;opacity:0;transition:opacity .3s var(--ease-out)}
.cur.is-link .cur-ring i{transform:scale(1.7);background:rgba(217,174,114,.12);border-color:var(--accent)}
.cur.is-link .cur-dot{opacity:.0}
.cur.is-label .cur-ring i{transform:scale(2.3);background:var(--accent);border-color:var(--accent)}
.cur.is-label .cur-ring b{opacity:1}
.cur.is-label .cur-dot{opacity:0}
.cur.is-down .cur-ring i{transform:scale(.72)}
.cur.is-label.is-down .cur-ring i{transform:scale(2.05)}
.cur.is-off>*,.cur.is-text>*{opacity:0!important}
.cur-dot,.cur-ring{transition:opacity .3s var(--ease-out)}

/* =====================================================================
   Katalog
   ===================================================================== */
.readbar{position:fixed;left:0;right:0;top:72px;height:2px;z-index:48;background:linear-gradient(90deg,var(--gold-deep),var(--accent));transform:scaleX(var(--rp,0));transform-origin:left;pointer-events:none}
.cat-head{max-width:760px}
.cat-grid{list-style:none;padding:0;margin:clamp(40px,7vh,72px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,32px)}
.cat-grid li:first-child{grid-column:span 2}
.cat-grid li:first-child .card-art h2,.cat-grid li:first-child .card-art h3{font-size:clamp(1.5rem,2.4vw,2.2rem)}
.cat-grid li:first-child .card-art .img img{aspect-ratio:16/10.5}
.card-art{display:block;text-decoration:none;color:inherit}
.card-art .img{position:relative;border-radius:6px;overflow:hidden;background:#0c0b0d}
.card-art .img::after{content:"";position:absolute;inset:8px;border:1px solid rgba(217,174,114,.18);border-radius:3px;pointer-events:none;transition:border-color .5s var(--ease-out)}
.card-art img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.card-art:hover img{transform:scale(1.04)}
.card-art:hover .img::after{border-color:rgba(217,174,114,.5)}
.card-art .meta{display:block;margin-top:16px;font:400 .66rem/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}
.card-art h2,.card-art h3{font:500 1.18rem/1.25 var(--f-display);letter-spacing:-.01em;margin:10px 0 8px;text-wrap:balance}
.card-art h2 span,.card-art h3 span{background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 2px no-repeat;transition:background-size .6s var(--ease-out);padding-bottom:3px}
.card-art:hover h2 span,.card-art:hover h3 span{background-size:100% 2px}
.card-art p{margin:0;color:var(--text-secondary);font-size:.98rem}
.teaser-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.teaser-grid{list-style:none;padding:0;margin:clamp(36px,6vh,60px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.link-arrow{display:inline-flex;align-items:center;gap:.6em;color:var(--accent);font-weight:600;text-decoration:none}
.link-arrow svg{width:18px;transition:transform .45s var(--ease-out)}
.link-arrow:hover svg{transform:translateX(4px)}

.art-head{max-width:880px}
.art-head .h1{font-size:clamp(2.1rem,4.2vw,3.7rem);max-width:22ch;text-wrap:balance}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font:400 .68rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.art-hero{margin:clamp(40px,6vh,64px) 0 0}
.art-hero .frame{position:relative;border-radius:8px;overflow:hidden;background:#0c0b0d}
.art-hero .frame::after{content:"";position:absolute;inset:12px;border:1px solid rgba(217,174,114,.2);border-radius:4px;pointer-events:none}
.art-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.art-hero figcaption{margin-top:14px;color:var(--text-secondary)}
.prose{max-width:68ch;margin:clamp(48px,8vh,80px) auto 0}
.prose>p:first-child{font-size:1.2rem;color:var(--text-primary)}
.prose p,.prose li{font-size:1.08rem;line-height:1.78;color:#d9d2c7}
.prose p{margin:0 0 1.15em}
.prose h2{font:500 clamp(1.3rem,2vw,1.6rem)/1.25 var(--f-display);letter-spacing:-.01em;margin:2.2em 0 .7em;color:var(--text-primary)}
.prose ul{list-style:none;padding:0;margin:0 0 1.3em}
.prose ul li{position:relative;padding-left:28px;margin-bottom:.55em}
.prose ul li::before{content:"";position:absolute;left:0;top:.82em;width:16px;height:2px;border-radius:2px;background:var(--accent)}
.prose strong{color:var(--text-primary);font-weight:600}
.prose a{color:var(--accent)}
.prose sup a{text-decoration:none;font:400 .68rem/1 var(--f-mono);padding:0 2px}
.fact{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;align-items:baseline;margin:2em 0;padding:24px 26px;border-radius:10px;border:1px solid rgba(217,174,114,.25);background:linear-gradient(160deg,rgba(217,174,114,.08),rgba(217,174,114,.02))}
.fact b{font:400 clamp(1.7rem,3vw,2.4rem)/1 var(--f-display);color:var(--accent-hover);letter-spacing:-.02em;white-space:nowrap}
.fact span{color:var(--text-primary);font-size:1rem;line-height:1.55}
.note{margin:2.4em 0 0;padding:18px 22px;border-left:2px solid var(--line-strong);color:var(--text-secondary);font-size:.95rem;background:rgba(26,24,27,.5);border-radius:0 8px 8px 0}
.sources{margin:3em 0 0;padding-top:28px;border-top:1px solid var(--line)}
.sources h2{margin-top:0}
.sources ol{margin:0;padding-left:1.6em;display:grid;gap:12px}
.sources li{font-size:.92rem;line-height:1.55;color:var(--text-secondary);padding-left:4px}
.sources li::marker{font-family:var(--f-mono);color:var(--accent);font-size:.8rem}
.sources a{color:var(--text-primary);text-decoration-color:rgba(217,174,114,.5);text-underline-offset:3px;overflow-wrap:anywhere}
.sources a:hover{color:var(--accent-hover)}
.art-more{margin-top:clamp(80px,12vh,140px);padding-top:clamp(40px,6vh,64px);border-top:1px solid var(--line)}
.art-more .grid{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.art-cta{margin-top:clamp(80px,12vh,130px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:clamp(28px,4vw,48px);border-radius:14px;border:1px solid rgba(217,174,114,.2);background:linear-gradient(160deg,#1d1a1e,#141215)}
.art-cta .h2{margin:.3em 0 0}
.back{display:inline-flex;align-items:center;gap:.6em;font:400 .7rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);text-decoration:none;margin-bottom:28px}
.back svg{width:16px;transform:rotate(180deg);transition:transform .45s var(--ease-out)}
.back:hover{color:var(--text-primary)}
.back:hover svg{transform:rotate(180deg) translateX(4px)}
.binding{margin:0 0 2em;padding:14px 18px;border-radius:8px;border:1px dashed var(--line-strong);color:var(--text-secondary);font-size:.92rem}
@media (max-width:980px){
  .cat-grid,.teaser-grid,.art-more .grid{grid-template-columns:repeat(2,1fr)}
  .cat-grid li:first-child{grid-column:span 2;grid-row:auto}
}
@media (max-width:640px){
  .cat-grid,.teaser-grid,.art-more .grid{grid-template-columns:1fr}
  .cat-grid li:first-child{grid-column:auto}
  .fact{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .cur{display:none!important}
  .readbar{display:none}
  .card-art img{transform:none!important}
}
