/* ==========================================================================
   gegenechts.nexhub.dev
   Theme lock : dark only (documentary register).
   Accent lock: one accent (#ff5c38) sitewide. False claims get NO colour.
   Radius     : cards 12px, controls 8px, pills 999px. Nothing else.
   ========================================================================== */

@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;
  src:url(./fonts/bricolage-2.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;
  src:url(./fonts/bricolage-1.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/inter-400.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/inter-500.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/inter-600.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/inter-700.woff2) format('woff2');}

:root{
  --bg:#0c0d0f;
  --surface:#15171b;
  --surface-2:#1b1e23;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.17);
  --text:#e8eaed;
  --text-dim:#a2a8b0;
  --text-faint:#787e87;
  --accent:#ff5c38;
  --accent-soft:rgba(255,92,56,.11);
  --accent-line:rgba(255,92,56,.35);
  --r-card:12px;
  --r-ctl:8px;
  --r-pill:999px;
  --shell:1180px;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:16px;line-height:1.62;letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration-color:var(--accent-line);text-underline-offset:3px;}
a:hover{text-decoration-color:var(--accent);}
h1,h2,h3,h4{font-family:'Bricolage Grotesque','Inter',sans-serif;font-weight:700;letter-spacing:-.03em;margin:0;}
p{margin:0;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:20px;}
@media(min-width:768px){.shell{padding-inline:32px;}}

.eyebrow{
  font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;
}
.sec-h{font-size:clamp(1.85rem,4.4vw,2.9rem);line-height:1.08;max-width:20ch;}
.sec-p{margin-top:16px;color:var(--text-dim);max-width:62ch;font-size:1.02rem;}

/* --- Grain overlay (fixed, never on a scrolling container) --------------- */
.grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.24;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* --- Navigation (single line, 68px) ------------------------------------- */
.nav{
  position:sticky;top:0;z-index:50;height:68px;
  background:rgba(12,13,15,.82);backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--line);
}
@media (prefers-reduced-transparency:reduce){.nav{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;}}
.nav-in{height:100%;display:flex;align-items:center;gap:28px;}
.brand{
  display:flex;align-items:center;gap:10px;font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700;font-size:1.06rem;letter-spacing:-.035em;color:var(--text);text-decoration:none;flex:none;
}
.brand-mark{
  width:26px;height:26px;border-radius:var(--r-ctl);background:var(--accent);
  display:grid;place-items:center;color:#0c0d0f;font-size:13px;flex:none;
}
.nav-links{display:none;gap:24px;margin-left:auto;align-items:center;}
@media(min-width:940px){.nav-links{display:flex;}}
.nav-links a{
  color:var(--text-dim);text-decoration:none;font-size:.9rem;font-weight:500;
  transition:color .2s var(--ease);white-space:nowrap;
}
.nav-links a:hover{color:var(--text);}
.nav-cta{
  margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex:none;
  background:var(--accent);color:#0c0d0f;font-weight:600;font-size:.86rem;
  padding:9px 16px;border-radius:var(--r-pill);text-decoration:none;white-space:nowrap;
  transition:transform .18s var(--ease),filter .18s var(--ease);
}
@media(min-width:940px){.nav-cta{margin-left:0;}}
.nav-cta:hover{filter:brightness(1.08);}
.nav-cta:active{transform:scale(.97);}

/* --- Hero (editorial manifesto: the sentence is the visual) -------------- */
.hero{position:relative;padding-top:64px;padding-bottom:76px;overflow:hidden;}
@media(min-width:768px){.hero{padding-top:88px;padding-bottom:104px;}}
.hero::before{
  content:"";position:absolute;top:-30%;right:-14%;width:min(860px,92vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,92,56,.16),rgba(255,92,56,.04) 42%,transparent 66%);
  pointer-events:none;
}
.hero-in{position:relative;}
.hero h1{
  font-size:clamp(2.5rem,7.4vw,5rem);line-height:1.02;max-width:15ch;font-weight:800;
}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero-p{
  margin-top:24px;max-width:54ch;font-size:clamp(1.03rem,1.9vw,1.22rem);
  color:var(--text-dim);line-height:1.58;
}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.btn{
  display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.95rem;
  padding:13px 24px;border-radius:var(--r-pill);text-decoration:none;white-space:nowrap;
  border:1px solid transparent;cursor:pointer;
  transition:transform .18s var(--ease),filter .18s var(--ease),background .18s var(--ease);
}
.btn-primary{background:var(--accent);color:#0c0d0f;}
.btn-primary:hover{filter:brightness(1.08);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong);}
.btn-ghost:hover{background:var(--surface);border-color:var(--text-faint);}
.btn:active{transform:translateY(1px) scale(.985);}

/* --- Section rhythm ------------------------------------------------------ */
.sec{padding-block:72px;border-top:1px solid var(--line);}
@media(min-width:768px){.sec{padding-block:104px;}}

/* --- Topics: toolbar + grid --------------------------------------------- */
.tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:36px;}
.search{position:relative;flex:1 1 260px;min-width:0;}
.search i{
  position:absolute;left:15px;top:50%;transform:translateY(-50%);
  color:var(--text-faint);font-size:.86rem;pointer-events:none;
}
.search input{
  width:100%;background:var(--surface);border:1px solid var(--line-strong);
  color:var(--text);border-radius:var(--r-ctl);padding:13px 16px 13px 40px;
  font:inherit;font-size:.95rem;transition:border-color .2s var(--ease);
}
.search input::placeholder{color:var(--text-faint);}
.search input:focus{outline:none;border-color:var(--accent);}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  background:var(--surface);border:1px solid var(--line-strong);color:var(--text-dim);
  border-radius:var(--r-pill);padding:9px 16px;font:inherit;font-size:.86rem;font-weight:500;
  cursor:pointer;transition:all .18s var(--ease);
}
.chip:hover{color:var(--text);border-color:var(--text-faint);}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#0c0d0f;font-weight:600;}

.grid-topics{display:grid;gap:16px;margin-top:28px;grid-template-columns:1fr;}
@media(min-width:860px){.grid-topics{grid-template-columns:1fr 1fr;}}

.topic{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  overflow:hidden;transition:border-color .22s var(--ease);
}
.topic:hover{border-color:var(--line-strong);}
.topic[open]{border-color:var(--accent-line);}
.topic > summary{
  list-style:none;cursor:pointer;padding:24px;display:flex;gap:16px;align-items:flex-start;
}
.topic > summary::-webkit-details-marker{display:none;}
.topic-num{
  font-family:'Bricolage Grotesque',sans-serif;font-size:.82rem;font-weight:700;
  color:var(--text-faint);padding-top:3px;flex:none;font-variant-numeric:tabular-nums;
}
.topic-head{flex:1;min-width:0;}
.topic-tag{
  display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-faint);margin-bottom:9px;
}
.topic h3{font-size:1.16rem;line-height:1.3;letter-spacing:-.02em;}
.topic-sub{margin-top:9px;color:var(--text-dim);font-size:.92rem;line-height:1.55;}
.topic-caret{
  flex:none;width:30px;height:30px;border-radius:var(--r-pill);border:1px solid var(--line-strong);
  display:grid;place-items:center;color:var(--text-dim);font-size:.72rem;
  transition:transform .25s var(--ease),background .2s var(--ease);
}
.topic[open] .topic-caret{transform:rotate(180deg);background:var(--accent);color:#0c0d0f;border-color:var(--accent);}
.topic-body{padding:0 24px 26px;}
@media(min-width:640px){.topic > summary{padding:26px;}.topic-body{padding:0 26px 28px;}}

.block{margin-top:24px;}
.block-label{
  font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-faint);margin-bottom:10px;
}
/* the false claim itself gets no colour, on purpose */
.claim{
  border-left:2px solid var(--line-strong);padding:2px 0 2px 16px;
  color:var(--text-faint);font-size:.96rem;line-height:1.55;font-style:italic;
}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.facts li{
  position:relative;padding-left:26px;font-size:.94rem;line-height:1.6;color:var(--text-dim);
}
.facts li::before{
  content:"";position:absolute;left:0;top:.62em;width:11px;height:2px;background:var(--accent);
}
.facts strong{color:var(--text);font-weight:600;}
.counter{
  background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-card);
  padding:18px 20px;
}
.counter .block-label{color:var(--accent);}
.counter p{font-size:1rem;line-height:1.55;color:var(--text);font-weight:500;}
.trap{
  border:1px dashed var(--line-strong);border-radius:var(--r-card);padding:18px 20px;
}
.trap p{font-size:.93rem;line-height:1.58;color:var(--text-dim);}
.srcs{display:flex;flex-wrap:wrap;gap:8px;}
.srcs a{
  font-size:.78rem;color:var(--text-dim);text-decoration:none;background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 13px;
  transition:all .18s var(--ease);display:inline-flex;align-items:center;gap:7px;
}
.srcs a:hover{color:var(--text);border-color:var(--text-faint);}
.srcs i{font-size:.66rem;color:var(--text-faint);}

.empty{
  display:none;text-align:center;padding:64px 24px;color:var(--text-dim);
  border:1px dashed var(--line-strong);border-radius:var(--r-card);margin-top:28px;
}
.empty i{font-size:1.5rem;color:var(--text-faint);margin-bottom:14px;display:block;}
.empty.on{display:block;}

/* --- Rules: numbered editorial columns, grouped in 3 chunks ------------- */
.rule-group{margin-top:52px;}
.rule-group-h{
  font-family:'Bricolage Grotesque',sans-serif;font-size:1.02rem;font-weight:700;
  letter-spacing:-.015em;color:var(--text);padding-bottom:14px;border-bottom:1px solid var(--line);
}
.rules{display:grid;gap:2px;margin-top:22px;grid-template-columns:1fr;}
@media(min-width:800px){.rules{grid-template-columns:1fr 1fr;gap:2px 40px;}}
.rule{padding:18px 0;display:flex;gap:16px;align-items:flex-start;}
.rule-n{
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.5rem;
  color:var(--accent);line-height:1;flex:none;width:34px;font-variant-numeric:tabular-nums;
}
.rule h4{font-size:1rem;letter-spacing:-.015em;margin-bottom:7px;}
.rule p{font-size:.92rem;color:var(--text-dim);line-height:1.58;}

/* --- Rhetoric: bento with real size + background variation -------------- */
.bento{display:grid;gap:14px;margin-top:40px;grid-template-columns:1fr;}
@media(min-width:760px){.bento{grid-template-columns:repeat(6,1fr);}}
.cell{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:24px;
  display:flex;flex-direction:column;gap:11px;transition:border-color .22s var(--ease);
}
.cell:hover{border-color:var(--line-strong);}
.cell i{font-size:1.05rem;color:var(--accent);}
.cell h4{font-size:1.04rem;letter-spacing:-.02em;}
.cell p{font-size:.9rem;color:var(--text-dim);line-height:1.58;}
.cell .fix{
  margin-top:auto;padding-top:13px;border-top:1px solid var(--line);
  font-size:.87rem;color:var(--text);line-height:1.5;
}
.cell .fix span{color:var(--accent);font-weight:600;}
@media(min-width:760px){
  .c-wide{grid-column:span 4;}
  .c-half{grid-column:span 3;}
  .c-third{grid-column:span 2;}
}
/* visual variation: tinted + gradient cells, not 9 identical text boxes */
.cell-accent{
  background:linear-gradient(150deg,rgba(255,92,56,.15),rgba(255,92,56,.03) 58%,transparent),var(--surface);
  border-color:var(--accent-line);
}
.cell-raise{background:var(--surface-2);}
.cell-grid{
  background:
    linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 34px,
    linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/34px 100%,
    var(--surface);
}

/* --- Stop line: full-width statement ------------------------------------ */
.stop{
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,92,56,.07),transparent 62%);
  padding-block:72px;
}
@media(min-width:768px){.stop{padding-block:96px;}}
.stop-in{max-width:74ch;}
.stop h2{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.12;}
.stop p{margin-top:20px;color:var(--text-dim);font-size:1.04rem;line-height:1.65;}
.stop p + p{margin-top:14px;}
.stop strong{color:var(--text);font-weight:600;}

/* --- Help cards ---------------------------------------------------------- */
.help{display:grid;gap:14px;margin-top:40px;grid-template-columns:1fr;}
@media(min-width:700px){.help{grid-template-columns:1fr 1fr;}}
@media(min-width:1040px){.help{grid-template-columns:repeat(3,1fr);}}
.hcard{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);
  padding:24px;display:flex;flex-direction:column;gap:10px;
  transition:border-color .22s var(--ease),transform .22s var(--ease);
}
.hcard:hover{border-color:var(--line-strong);transform:translateY(-2px);}
.hcard i{font-size:1.05rem;color:var(--accent);}
.hcard h4{font-size:1rem;letter-spacing:-.015em;}
.hcard p{font-size:.9rem;color:var(--text-dim);line-height:1.55;flex:1;}
.hcard .go{
  font-size:.87rem;font-weight:600;color:var(--accent);text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
}
.hcard .go:hover{gap:11px;}
.hcard .tel{font-size:1.02rem;font-weight:600;color:var(--text);text-decoration:none;letter-spacing:-.01em;}
.urgent{
  margin-top:16px;border:1px solid var(--accent-line);background:var(--accent-soft);
  border-radius:var(--r-card);padding:20px 22px;display:flex;gap:16px;align-items:flex-start;
}
.urgent i{color:var(--accent);font-size:1.1rem;padding-top:3px;flex:none;}
.urgent p{font-size:.95rem;line-height:1.6;color:var(--text);}

/* --- Footer -------------------------------------------------------------- */
.foot{border-top:1px solid var(--line);padding-block:48px;}
.foot-in{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start;}
.foot-note{max-width:46ch;font-size:.87rem;color:var(--text-faint);line-height:1.6;}
.foot-links{display:flex;flex-wrap:wrap;gap:22px;}
.foot-links a{color:var(--text-dim);text-decoration:none;font-size:.88rem;}
.foot-links a:hover{color:var(--text);}

/* --- Legal pages --------------------------------------------------------- */
.legal{padding-block:56px 88px;}
.legal h1{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.1;}
.legal h2{font-size:1.22rem;margin-top:42px;letter-spacing:-.02em;}
.legal h3{font-size:1rem;margin-top:26px;color:var(--text);}
.legal p,.legal li{color:var(--text-dim);font-size:.96rem;line-height:1.68;margin-top:12px;max-width:72ch;}
.legal ul{padding-left:20px;}
.legal .back{
  display:inline-flex;align-items:center;gap:9px;color:var(--text-dim);text-decoration:none;
  font-size:.9rem;margin-bottom:28px;
}
.legal .back:hover{color:var(--accent);}

/* --- Motion: scroll reveal (IntersectionObserver, no scroll listeners) --- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
