/* NICO ECHO – Echo Design (v3.0)
   Alle Werte kommen aus den Admin-Reglern (CSS-Variablen werden von echo.js gesetzt). */

*,*::before,*::after{box-sizing:border-box}

:root{
  --a:#ff4d4d;--bg:#0a0a0c;--bg2:#15151a;--bd:#ffffff1f;
  --on-a:#0a0a0c;--ink:#f2efe9;--muted:rgba(242,239,233,.64);--fade:var(--bg);
  --r:10px;--ir:6px;--br:999px;--gap:120px;--cw:1240px;--pad:20px;
  --op-pct:3;--blur:14px;--sh:24px;--sy:8px;--body-pct:100;
  --angle:180deg;--speed:.7s;
  --hero-h:88;--hero-d:168px;--hero-m:92px;--focus:center;--hero-overlay:.5;
  --gutter:20px;
  --display:"Helvetica Neue",Helvetica,"Segoe UI",Arial,system-ui,sans-serif;
  --text:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

html{font-size:calc(var(--body-pct) * 1%);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  --at:var(--a);
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);
  line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
body::before{ /* Hintergrundverlauf */
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60% 50% at 88% 0%,color-mix(in srgb,var(--a) 12%,transparent),transparent 70%),
    linear-gradient(var(--angle),var(--bg) 0%,color-mix(in srgb,var(--bg2) 60%,var(--bg)) 100%);
}
body::after{ /* feines Filmkorn */
  content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w{width:min(var(--cw),calc(100% - var(--gutter) * 2));margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:0 28px;border:0;border-radius:var(--br);cursor:pointer;
  background:var(--a);color:var(--on-a);font-weight:800;letter-spacing:.02em;font-size:.95rem;
  transition:transform .25s ease,box-shadow .25s ease;white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px color-mix(in srgb,var(--a) 38%,transparent)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--bd)}
.btn-ghost:hover{border-color:var(--at);color:var(--at);box-shadow:none}
.btn-sm{min-height:42px;padding:0 18px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Header ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:50;height:72px;
  transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease;
  border-bottom:1px solid transparent;color:#f6f3ee;
}
.header.scrolled{
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:var(--bd);color:var(--ink);
}
.header .w{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-family:var(--display);font-weight:900;letter-spacing:.22em;font-size:.82rem}
.brand em{font-style:normal;color:var(--a)}
.nav{display:flex;align-items:center;gap:28px;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.nav a:not(.btn){opacity:.78;transition:opacity .2s,color .2s}
.nav a:not(.btn):hover{opacity:1;color:var(--a)}
.header.scrolled .nav a:not(.btn):hover,.header.scrolled .brand em{color:var(--at)}

/* ---------- Hero ---------- */
.hero{
  --at:var(--a);
  position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;
  min-height:max(640px,calc(var(--hero-h) * 1vh));min-height:max(640px,calc(var(--hero-h) * 1svh));
  --ink:#f6f3ee;--muted:rgba(246,243,238,.74);
  color:var(--ink);
}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:var(--focus);display:block;transform:scale(1.02)}
.hero-media.zoom img{animation:heroZoom 22s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(0deg,var(--fade) 0%,color-mix(in srgb,var(--fade) 82%,transparent) 14%,transparent 58%),
    linear-gradient(90deg,rgba(6,6,8,.78) 0%,rgba(6,6,8,.34) 52%,rgba(6,6,8,.12) 100%),
    linear-gradient(180deg,rgba(6,6,8,.55) 0%,transparent 22%);
}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(4,4,6,var(--hero-overlay));pointer-events:none}
.hero-inner{width:min(var(--cw),calc(100% - var(--gutter) * 2));margin-inline:auto;padding:150px 0 clamp(36px,6vh,64px)}
.eyebrow{
  display:flex;align-items:center;gap:14px;margin:0;color:var(--a);
  font-size:.7rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;
}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.name{
  margin:22px 0 0;padding-bottom:.2em;font-family:var(--display);font-weight:900;text-transform:uppercase;
  font-size:var(--hero-m);line-height:.84;letter-spacing:-.045em;
}
.name span{display:block;width:max-content}
.name .l2{
  position:relative;color:transparent;
  -webkit-text-stroke:.014em var(--a);
}
.name .l2::before,.name .l2::after{
  content:attr(data-t);position:absolute;left:0;top:0;pointer-events:none;
  color:transparent;-webkit-text-stroke:.014em var(--a);
}
.name .l2::before{transform:translate(.045em,.075em);opacity:.5}
.name .l2::after{transform:translate(.09em,.15em);opacity:.22}
.tagline{max-width:34rem;margin:30px 0 30px;color:var(--muted);font-size:1.12rem}
.relbar{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;max-width:640px;padding:10px;
  background:color-mix(in srgb,#08080a 58%,transparent);
  -webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));
  border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--r) + 4px);
  box-shadow:0 var(--sy) var(--sh) rgba(0,0,0,.35);
}
.relbar-cover{width:76px;height:76px;border-radius:var(--ir);overflow:hidden;display:block;flex:none}
.relbar-cover img{display:block;object-fit:cover}.relbar-cover img,.relbar-cover .ph{width:100%;height:100%}
.relbar-info{min-width:0}
.relbar-info small{display:block;color:var(--a);font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.relbar-info strong{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.1;letter-spacing:-.02em;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.relbar .btn{margin-right:4px}
.hero-solo{margin-top:6px}
.scroll-hint{
  position:absolute;right:calc((100% - min(var(--cw),100% - var(--gutter) * 2)) / 2);bottom:48px;
  writing-mode:vertical-rl;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:14px;
}
.scroll-hint::after{content:"";width:1px;height:52px;background:linear-gradient(var(--a),transparent)}

/* Laufband */
.ticker{overflow:hidden;border-block:1px solid var(--bd);padding:18px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex;width:max-content;animation:tick 48s linear infinite}
.ticker-track span{
  font-family:var(--display);font-weight:900;text-transform:uppercase;white-space:nowrap;
  font-size:clamp(34px,5.4vw,76px);line-height:1;letter-spacing:-.03em;padding-right:.55em;
  color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--ink) 38%,transparent);
}
.ticker-track span:nth-child(3n+2){-webkit-text-stroke-color:var(--a)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- Sektionen ---------- */
.section{margin-block:var(--gap);scroll-margin-top:70px}
.sh{margin-bottom:clamp(28px,4vw,52px)}
.sh-k{display:flex;align-items:center;gap:14px;margin:0 0 16px;color:var(--at);font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.sh-k span{color:var(--muted)}
.sh-t{margin:0;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(42px,7.4vw,104px);line-height:.9;letter-spacing:-.045em}
.sh-s{max-width:36rem;margin:18px 0 0;color:var(--muted)}
.card{
  border:1px solid var(--bd);border-radius:var(--r);
  background:rgba(255,255,255,.03);
  background:color-mix(in srgb,var(--ink) calc(var(--op-pct) * 1%),transparent);
  -webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));
  box-shadow:0 var(--sy) var(--sh) rgba(0,0,0,.24);
}

/* Platzhalter, wenn ein Cover fehlt */
.ph{
  display:grid;place-items:center;padding:12px;text-align:center;aspect-ratio:1;
  font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:1;
  font-size:clamp(14px,2.4vw,28px);color:var(--on-a);
  background:linear-gradient(135deg,var(--a),color-mix(in srgb,var(--a) 35%,var(--bg)));
}

/* Releases */
.feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,72px);align-items:center}
.feature-cover{position:relative;display:block;border-radius:var(--ir);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.feature-cover img{display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.feature-cover img,.feature-cover .ph{width:100%;aspect-ratio:1}.feature-cover .ph{font-size:clamp(28px,6vw,72px)}
.feature-cover:hover img{transform:scale(1.04)}
.badge{
  position:absolute;top:14px;left:14px;padding:6px 11px;border-radius:var(--br);
  background:color-mix(in srgb,#08080a 78%,transparent);border:1px solid rgba(255,255,255,.2);color:#fff;
  font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.feature-info small{color:var(--at);font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.feature-info h3{margin:12px 0 14px;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(48px,8vw,118px);line-height:.88;letter-spacing:-.045em;overflow-wrap:anywhere}
.feature-info p{margin:0 0 20px;color:var(--muted);max-width:32rem}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 20px;color:var(--muted);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.platforms{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.platforms a{padding:8px 14px;border:1px solid var(--bd);border-radius:var(--br);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.platforms a:hover{border-color:var(--at);color:var(--at)}
.disco{margin-top:clamp(48px,7vw,96px);border-top:1px solid var(--bd)}
.disco-k{margin:22px 0 4px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.disc{display:grid;grid-template-columns:84px minmax(0,1fr) auto auto;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--bd);transition:padding .25s ease}
.disc:hover{padding-left:10px}
.disc-cover{width:84px;height:84px;border-radius:var(--ir);overflow:hidden;display:block}
.disc-cover img{display:block;object-fit:cover}.disc-cover img,.disc-cover .ph{width:100%;height:100%}.disc-cover .ph{font-size:13px}
.disc h3{margin:0;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(22px,3.2vw,38px);line-height:1;letter-spacing:-.03em}
.disc small{display:block;margin-top:6px;color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.disc .platforms{margin:0;justify-content:flex-end}
.arrow{width:46px;height:46px;border:1px solid var(--bd);border-radius:50%;display:grid;place-items:center;transition:.2s}
.disc:hover .arrow,.arrow:hover{background:var(--a);color:var(--on-a);border-color:var(--a)}

/* Spotify */
.player{padding:12px;overflow:hidden}
.player+.player{margin-top:14px}
.player iframe{display:block;width:100%;border:0;border-radius:calc(var(--r) - 2px)}
.player-ph{display:grid;place-items:center;min-height:152px;color:var(--muted);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}

/* Galerie */
.gallery{column-width:290px;column-gap:14px}
.gallery.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;column-width:auto}
.gallery.one{max-width:560px}
.g-item{display:block;width:100%;margin:0 0 14px;padding:0;border:0;background:none;cursor:zoom-in;break-inside:avoid;border-radius:var(--ir);overflow:hidden;position:relative}
.gallery.grid .g-item{margin:0;aspect-ratio:1}
.g-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}
.g-item:hover img{transform:scale(1.04)}

/* Highlights */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 clamp(24px,4vw,56px)}
.metric{padding:28px 0 0;border-top:1px solid var(--bd);min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.metric::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--a)}
.metric-v{font-family:var(--display);font-weight:900;font-size:clamp(46px,7vw,100px);line-height:.92;letter-spacing:-.05em;margin-bottom:16px;overflow-wrap:break-word}
.metric-v.sm{font-size:clamp(30px,3.9vw,60px);line-height:1}
.metric-l{color:var(--at);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.metric-n{color:var(--muted);margin-top:6px;font-size:.9rem}

/* Neu von Nico (YouTube / TikTok / Instagram) */
.latest{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.lc{position:relative;overflow:hidden;aspect-ratio:4/5;max-height:640px;display:flex;align-items:flex-end;background:var(--bg2);isolation:isolate}
.lc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.lc:hover>img{transform:scale(1.05)}
.lc.noimg{background:linear-gradient(150deg,color-mix(in srgb,var(--a) 30%,var(--bg2)),var(--bg2))}
.lc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(5,5,7,.9) 100%)}
.lc-body{width:100%;padding:clamp(20px,3vw,30px);color:#f6f3ee}
.lc-body small{display:inline-block;margin-bottom:14px;padding:6px 11px;border:1px solid rgba(255,255,255,.3);border-radius:var(--br);font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.lc-body h3{margin:0 0 8px;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(26px,3vw,38px);line-height:1;letter-spacing:-.03em}
.lc-body p{margin:0 0 18px;color:rgba(246,243,238,.78);font-size:.92rem}
.lc-act{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--a)}
.lc-act::after{content:"";position:absolute;inset:0}

/* Live */
.event{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--bd)}
.timeline{border-top:1px solid var(--bd)}
.event-d{font-family:var(--display);font-weight:900;font-size:clamp(20px,2.4vw,30px);letter-spacing:-.02em;color:var(--at);text-transform:uppercase}
.event h3{margin:0 0 4px;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(22px,3vw,36px);line-height:1;letter-spacing:-.03em}
.event p{margin:0;color:var(--muted)}

/* News */
.news{align-items:start;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.post{display:block;overflow:hidden;transition:transform .3s ease,border-color .3s}
a.post:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--a) 50%,transparent)}
.post img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.post-b{padding:var(--pad) calc(var(--pad) + 4px) calc(var(--pad) + 6px)}
.post-b small{color:var(--at);font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.post-b h3{margin:10px 0 8px;font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1.08;letter-spacing:-.02em}
.post-b p{margin:0;color:var(--muted);font-size:.92rem}

/* Socials */
.social-list{border-top:1px solid var(--bd)}
.social{display:grid;grid-template-columns:70px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:clamp(18px,2.6vw,30px) 0;border-bottom:1px solid var(--bd);transition:padding .3s ease,color .3s}
.social:hover{padding-left:14px;color:var(--at)}
.social span{color:var(--muted);font-size:.72rem;letter-spacing:.14em}
.social strong{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(32px,6vw,84px);line-height:1;letter-spacing:-.04em}
.social b{font-size:1.6rem;text-align:right;transition:transform .3s}
.social:hover b{transform:translate(4px,-4px)}

/* Footer */
.footer{margin-top:calc(var(--gap) * .9);padding:30px 0 44px;border-top:1px solid var(--bd);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;color:var(--muted);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.footer a:hover{color:var(--at)}

/* Mobiler Fix-Button */
.dock{
  position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(0deg,color-mix(in srgb,var(--bg) 94%,transparent) 55%,transparent);
  transform:translateY(110%);transition:transform .35s ease;pointer-events:none;
}
.dock .btn{width:100%;pointer-events:auto;min-height:54px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.dock.show{transform:none}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(5,5,7,.94)}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(1200px,92vw);max-height:84vh;border-radius:var(--ir);box-shadow:0 30px 90px #000}
.lightbox button{position:absolute;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(20,20,24,.8);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.lightbox button:hover{border-color:var(--a);color:var(--a)}
.lb-close{top:18px;right:18px}.lb-prev{left:18px;top:50%;transform:translateY(-50%)}.lb-next{right:18px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-size:.72rem;letter-spacing:.2em}

/* Einblenden */
.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--speed) ease,transform var(--speed) cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 70ms)}
.reveal.visible,.no-motion .reveal,.preview .reveal{opacity:1;transform:none}
.no-motion .hero-media.zoom img,.no-motion .ticker-track{animation:none}
.loading{display:grid;place-items:center;min-height:100vh;color:var(--muted);letter-spacing:.3em;font-size:.72rem;text-transform:uppercase}

/* Theme-Varianten (Admin: Premium Theme) */
.theme-minimal-white{--at:color-mix(in srgb,var(--a) 45%,#000);--bg:#f3f1ec;--bg2:#ffffff;--bd:#16161622;--ink:#141414;--muted:rgba(20,20,20,.62);--fade:#0a0a0c}
.theme-minimal-white .header.scrolled{color:var(--ink)}
.theme-neon{--a:#9cff00}
.theme-cinematic{--a:#d94f4f}
.theme-luxury-black{--a:#eeeeee;--bg:#030303;--bg2:#0a0a0a}

/* ---------- Responsive ---------- */
@media(min-width:600px){.name{font-size:calc(var(--hero-m) * 1.45)}}
@media(min-width:900px){.name{font-size:min(var(--hero-d),17.5vw)}}
@media(min-width:851px){:root{--gutter:36px}}
@media(max-width:850px){
  .header{height:64px}
  .nav a:not(.btn){display:none}
  .hero{min-height:max(600px,calc(var(--hero-h) * 1vh));min-height:max(600px,calc(var(--hero-h) * 1svh))}
  .hero-inner{padding-top:120px}
  .hero-media img{object-position:var(--focus-m,var(--focus))}
  .scroll-hint{display:none}
  .tagline{font-size:1.02rem;margin:24px 0}
  .relbar{grid-template-columns:auto 1fr;gap:14px}
  .relbar .btn{grid-column:1 / -1;margin:0;min-height:54px}
  .feature{grid-template-columns:1fr}
  .disc{grid-template-columns:64px minmax(0,1fr) 40px;gap:14px}
  .disc-cover{width:64px;height:64px}
  .disc .platforms{display:none}
  .event{grid-template-columns:1fr;gap:8px}
  .event .btn{justify-self:start}
  .social{grid-template-columns:40px minmax(0,1fr) 28px}
  .section{margin-block:calc(var(--gap) * .7)}
  .dock{display:block}
  body{padding-bottom:84px}
  .lb-prev{left:8px}.lb-next{right:8px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .hero-media.zoom img,.ticker-track{animation:none}
  .btn,.disc,.social,.post,.g-item img,.feature-cover img,.lc>img{transition:none}
}
