/*
 * Klub-tema — dark/dystopian premium club landing theme (WAH-59)
 * Port af det board-godkendte prototype v2 (generel billard).
 * Palet: natklæde-grøn + valnødde-træ + messing + elfenben på næsten-sort.
 * Selvstændig: ingen Bootstrap-afhængighed.
 */
:root{
  --ink:#0b0d0a;
  --ink-2:#0e120d;
  --panel:#131711;
  --line:rgba(236,228,208,.10);
  --line-strong:rgba(236,228,208,.17);
  --felt:#12512f;
  --felt-deep:#0d3a23;
  --brass:#c9a45c;
  --brass-bright:#e3c47f;
  --ivory:#f2ead8;
  --text:#e9e3d3;
  --muted:#a39b86;
  --muted-2:#8a8270;
  --serif:Georgia,'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,'Times New Roman',serif;
  --sans:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,'SF Mono','Cascadia Mono','Segoe UI Mono',Menlo,Consolas,'Liberation Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--text);font-family:var(--sans);font-size:16.5px;line-height:1.62;
  background:
    radial-gradient(1200px 620px at 85% -120px, rgba(28,84,54,.30), transparent 62%),
    radial-gradient(900px 520px at -10% 12%, rgba(201,164,92,.05), transparent 55%),
    var(--ink);
  -webkit-font-smoothing:antialiased;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.014) 1px, transparent 1.4px);
  background-size:3px 3px;
}
a{color:inherit}
img,svg{max-width:100%}
::selection{background:rgba(201,164,92,.35)}
:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;position:relative}
.main-content{position:relative;z-index:1}

/* — spring-til-indhold (a11y) — */
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#131711;color:var(--ivory);border:1px solid var(--brass);padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:600}
.skip:focus{left:14px}

/* — bordkant øverst på siden — */
.page-rail{
  height:6px;
  background:
    repeating-linear-gradient(90deg, rgba(0,0,0,.28) 0 2px, transparent 2px 7px),
    linear-gradient(90deg,#2c1c0b,#6b4a2c 22%,#8a6238 50%,#6b4a2c 78%,#2c1c0b);
  border-bottom:1px solid rgba(201,164,92,.45);
}

/* — topbar — */
.topbar{position:sticky;top:0;z-index:60;background:rgba(11,13,10,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:background .25s,border-color .25s}
.topbar.scrolled{background:rgba(11,13,10,.94);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;gap:24px;max-width:1160px;margin:0 auto;padding:16px 24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;margin-right:auto;min-width:0}
/* 2026-10-09: lang klub-slogan (fx 110 tegn) flød ind over nav-links — krymp teksten + ellipsis i stedet. */
.brand > span:last-child{min-width:0;overflow:hidden}
.brand .mark{width:21px;height:21px;flex:none;position:relative;border:1.5px solid var(--brass);border-radius:3px;transform:rotate(45deg);margin:0 6px}
.brand .mark::after{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-radius:50%;background:var(--ivory)}
.brand .name{display:block;font-family:var(--serif);font-size:1rem;letter-spacing:.10em;text-transform:uppercase;line-height:1.2;color:#f1ebdb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.brand .sub{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.30em;text-transform:uppercase;color:var(--brass);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.nav-links{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:.86rem;color:#cfc8b4;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:.16s;white-space:nowrap}
.nav-links a:hover{color:#fff;border-bottom-color:rgba(201,164,92,.6)}
.nav-links a.active{color:#fff;border-bottom-color:var(--brass)}
.nav-actions{display:flex;align-items:center;gap:16px}
.nav-actions .btn{white-space:nowrap}
.nav-login{font-size:.86rem;color:#cfc8b4;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;white-space:nowrap}
.nav-login:hover{color:#fff;border-bottom-color:rgba(201,164,92,.6)}

/* — mobilmenu — */
.nav-toggle{display:none;align-items:center;gap:10px;background:rgba(236,228,208,.04);border:1px solid var(--line-strong);border-radius:10px;padding:10px 13px;color:var(--ivory);font:600 .78rem/1 var(--sans);letter-spacing:.06em;cursor:pointer}
.nav-toggle .bars{display:block;width:16px;height:2px;background:currentColor;position:relative}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor}
.nav-toggle .bars::before{top:-5px}
.nav-toggle .bars::after{top:5px}
.nav-panel{display:none}
.nav-panel ul{list-style:none;margin:0;padding:0}
.nav-panel a{display:block;text-decoration:none;color:#cfc8b4;font-size:.95rem;padding:14px 24px;border-bottom:1px solid var(--line)}
.nav-panel a:hover{color:#fff;background:rgba(236,228,208,.03)}
.nav-panel .panel-cta{display:flex;flex-direction:column;gap:10px;padding:18px 24px 22px}

/* — knapper — */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:13px 22px;font:600 .92rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:filter .18s,border-color .18s,background .18s,transform .18s}
.btn-brass{background:linear-gradient(180deg,#dcb96d,#b8933f);color:#191308;border-color:rgba(255,255,255,.24);box-shadow:0 12px 26px -12px rgba(201,164,92,.6),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-brass:hover{filter:brightness(1.07)}
.btn-ghost{color:var(--ivory);border-color:rgba(236,228,208,.30)}
.btn-ghost:hover{border-color:rgba(236,228,208,.62);background:rgba(236,228,208,.05)}
.btn-sm{padding:10px 16px;font-size:.84rem}

/* — kickers & sektionshoveder — */
.kicker{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:.68rem;letter-spacing:.30em;text-transform:uppercase;color:var(--brass)}
.kicker .dia{width:7px;height:7px;flex:none;background:var(--brass);transform:rotate(45deg)}
h2.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,3.3vw,2.5rem);line-height:1.13;letter-spacing:-.01em;margin:18px 0 0;color:#f2ecdc}
.section-lead{margin:16px 0 0;color:#b9b29c;font-size:1rem;max-width:62ch}
.section-head{max-width:760px;margin-bottom:52px}
section{padding:92px 0;scroll-margin-top:92px;position:relative;z-index:1}
.section-alt{background:linear-gradient(180deg,var(--ink-2),var(--ink));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* — hero — */
.hero{padding:88px 0 0}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,4.9vw,3.85rem);line-height:1.06;letter-spacing:-.015em;margin:24px 0 0;color:#f5efe0}
.hero h1 em{font-style:italic;color:var(--brass-bright)}
.hero .lead{font-size:1.08rem;color:#c9c2ad;max-width:54ch;margin:24px 0 0}
.cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero .note{display:flex;align-items:center;gap:10px;margin:20px 0 0;font-size:.85rem;color:var(--muted-2)}
.hero .note .dia{width:5px;height:5px;flex:none;background:var(--brass);transform:rotate(45deg)}

/* — disciplin-chips i hero — */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 0;padding:0}
.chips li{font-family:var(--mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#cfc8b4;border:1px solid var(--line-strong);border-radius:999px;padding:9px 15px;background:rgba(236,228,208,.03)}
.chips li b{color:var(--brass-bright);font-weight:600}

/* — bord-figuren — */
.table-figure{margin:0}
.table-frame{position:relative;padding:16px;border-radius:20px;border:1px solid rgba(201,164,92,.38);
  background:linear-gradient(160deg,#241708,#3a2712 45%,#1c1206);
  box-shadow:0 44px 90px -44px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.07)}
.table-frame svg{display:block;width:100%;height:auto;border-radius:10px}
.table-frame img{display:block;width:100%;height:auto;border-radius:10px;object-fit:cover}
.table-figure figcaption{margin-top:16px;font-family:var(--mono);font-size:.66rem;letter-spacing:.20em;text-transform:uppercase;color:var(--muted-2)}
.table-figure figcaption b{color:var(--brass);font-weight:600}

/* — facts-stribe — */
.stats{margin-top:78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.016),transparent)}
.stats .wrap{display:flex;flex-wrap:wrap;gap:16px 40px;padding:20px 24px;align-items:center;justify-content:space-between}
.stat{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.71rem;letter-spacing:.16em;text-transform:uppercase;color:#bdb59f}
.stat .dia{width:6px;height:6px;flex:none;background:var(--brass);transform:rotate(45deg)}
.stat a{color:var(--brass-bright);text-decoration:none;border-bottom:1px solid rgba(201,164,92,.3)}
.stat a:hover{border-bottom-color:var(--brass-bright)}

/* — om klubben — */
.om-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.prose p{color:#c9c2ad;margin:0 0 18px}
.prose p:last-child{margin-bottom:0}
.values{list-style:none;margin:38px 0 0;padding:0}
.values li{display:flex;align-items:center;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.values li:last-child{border-bottom:1px solid var(--line)}
.values .dia{flex:none;width:9px;height:9px;background:var(--brass);transform:rotate(45deg)}
.values h3{font-family:var(--serif);font-size:1.14rem;font-weight:600;margin:0;color:var(--ivory)}
.values p{margin:0;color:#a9a28c;font-size:.94rem}
.factsheet{border-top:2px solid var(--brass);background:linear-gradient(180deg,#151a12,#101410);padding:30px 30px 12px}
.factsheet h3{font-family:var(--mono);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0 0 16px}
.factsheet .row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.factsheet .row:last-child{border-bottom:0}
.factsheet dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding-top:3px}
.factsheet dd{margin:0;color:#e6dfcc;font-size:.92rem;text-align:right}
.factsheet dd a{color:var(--brass-bright);text-decoration:none;border-bottom:1px solid rgba(201,164,92,.3)}
.factsheet dd a:hover{border-bottom-color:var(--brass-bright)}

/* — discipliner (bånd i om-sektionen) — */
.disc-band{margin-top:72px;border-top:1px solid var(--line-strong);padding-top:42px}
.disc-band .band-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.disc-band h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0}
.disc-band .hint{font-size:.82rem;color:var(--muted-2);margin:0}
.disc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.disc{position:relative;border:1px solid var(--line-strong);border-radius:14px;padding:26px 22px 22px;background:linear-gradient(180deg,#141a11,#101410)}
.disc::before{content:"";position:absolute;left:22px;top:-1px;width:32px;height:2px;background:var(--brass)}
.disc .no{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;color:var(--muted-2)}
.disc h4{font-family:var(--serif);font-size:1.1rem;font-weight:600;margin:12px 0 8px;color:var(--ivory)}
.disc p{margin:0;font-size:.9rem;color:#a9a28c}
.disc ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;align-items:baseline}
.disc li{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);padding:0;border-top:none}
.disc li + li::before{content:"·";margin:0 8px;color:var(--muted-2)}

/* — program — */
.events{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-strong)}
.event{display:grid;grid-template-columns:178px 1fr auto auto;gap:30px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--line);transition:background .16s}
.event:hover{background:rgba(236,228,208,.03)}
.event .when{font-family:var(--mono);font-size:.73rem;letter-spacing:.14em;color:var(--brass);text-transform:uppercase}
.event .when .sub{display:block;color:#8f8871;font-size:.66rem;margin-top:6px;letter-spacing:.10em}
.event h3{font-family:var(--serif);font-size:1.26rem;font-weight:600;margin:0;color:#f0e9d8;letter-spacing:-.005em}
.event .meta{margin:6px 0 0;color:#9d9680;font-size:.9rem;max-width:60ch}
.tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:7px 13px;border:1px solid rgba(201,164,92,.42);border-radius:999px;color:var(--brass);white-space:nowrap}
.tag.quiet{border-color:rgba(236,228,208,.22);color:#b5ae99}
.arrow{color:var(--brass);font-size:1.15rem;opacity:.55;transition:transform .18s,opacity .18s}
.event:hover .arrow{opacity:1;transform:translateX(5px)}
.events-foot{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:28px;flex-wrap:wrap}
.textlink{color:var(--brass-bright);text-decoration:none;font-weight:600;font-size:.95rem;border-bottom:1px solid rgba(201,164,92,.35);padding-bottom:2px;transition:border-color .16s}
.textlink:hover{border-bottom-color:var(--brass-bright)}
.fine{color:var(--muted-2);font-size:.82rem;margin:0}

/* — medlemskab — */
.join-panel{border:1px solid rgba(201,164,92,.35);border-radius:20px;padding:56px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(22,74,46,.38), transparent 62%),
    linear-gradient(180deg,#141a11,#0f130c)}
.steps{list-style:none;margin:36px 0 0;padding:0}
.steps li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.steps .num{font-family:var(--mono);font-size:1rem;color:var(--brass);padding-top:3px}
.steps h3{font-family:var(--serif);font-size:1.14rem;font-weight:600;margin:0 0 4px;color:var(--ivory)}
.steps p{margin:0;color:#a9a28c;font-size:.93rem}
.join-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.join-fine{margin:20px 0 0;font-size:.8rem;color:var(--muted-2)}
.fee{border:1px solid rgba(201,164,92,.42);background:#0e120c;border-radius:14px;padding:30px;align-self:start}
.fee h3{font-family:var(--mono);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.fee-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.fee-row:last-of-type{border-bottom:0}
.fee-row .label{color:#c9c2ad;font-size:.95rem}
.fee-row .amount{font-family:var(--serif);font-size:1.45rem;color:var(--brass-bright);white-space:nowrap}
.fee-row .amount small{font-family:var(--mono);font-size:.6rem;color:var(--muted-2);letter-spacing:.08em;margin-left:4px}
.fee-note{margin:18px 0 0;font-size:.78rem;color:var(--muted-2);border-top:1px solid var(--line);padding-top:16px}

/* — galleri — */
.gallery-band{margin-top:72px;border-top:1px solid var(--line-strong);padding-top:42px}
.gallery-band .band-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.gallery-band h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gallery-grid figure{margin:0;border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;background:var(--panel)}
.gallery-grid img{display:block;width:100%;height:260px;object-fit:cover}
.gallery-grid figcaption{padding:14px 18px;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}

/* — kontakt — */
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-rows{margin:34px 0 0;border-top:1px solid var(--line-strong)}
.contact-rows .row{display:flex;justify-content:space-between;gap:22px;padding:17px 2px;border-bottom:1px solid var(--line)}
.contact-rows dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding-top:4px}
.contact-rows dd{margin:0;color:#e6dfcc;font-size:.95rem;text-align:right}
.contact-rows dd a{color:var(--brass-bright);text-decoration:none;border-bottom:1px solid rgba(201,164,92,.3)}
.contact-rows dd a:hover{border-bottom-color:var(--brass-bright)}
.mini-card{border:1px solid var(--line-strong);border-radius:16px;padding:30px;background:var(--panel);margin-bottom:22px}
.mini-card:last-child{margin-bottom:0}
.mini-card h3{font-family:var(--serif);font-size:1.18rem;font-weight:600;margin:0 0 8px;color:var(--ivory)}
.mini-card p{margin:0 0 18px;color:#a9a28c;font-size:.92rem}
.map-line{display:flex;align-items:center;gap:12px;margin-top:26px}
.map-line .dia{width:6px;height:6px;flex:none;background:var(--brass);transform:rotate(45deg)}

/* — formular (kontakt/indmeldelse) — */
.form-panel{border:1px solid var(--line-strong);border-radius:16px;padding:34px;background:var(--panel)}
.form-panel h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin:0 0 6px;color:var(--ivory)}
.form-panel .form-sub{margin:0 0 26px;color:#a9a28c;font-size:.9rem}
.field{display:block;margin-bottom:18px}
.field label{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:7px}
.field label b{color:var(--brass)}
.field .req{color:var(--brass-bright)}
.field input,.field textarea,.field select{
  width:100%;background:#0c0f0b;border:1px solid var(--line-strong);border-radius:10px;
  color:var(--text);padding:13px 15px;font:400 .95rem/1.5 var(--sans);transition:border-color .16s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brass)}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px;border-radius:4px}
.field textarea{resize:vertical;min-height:140px}
.field select{appearance:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.notice{border-radius:12px;padding:16px 18px;margin-bottom:20px;font-size:.92rem;border:1px solid}
.notice-error{color:#f0c9c0;background:rgba(120,32,24,.18);border-color:rgba(200,90,70,.4)}
.notice-success{color:#c9e6c4;background:rgba(22,74,46,.28);border-color:rgba(120,200,120,.35)}

/* — side-hero (undersider) — */
.page-hero{padding:84px 0 20px}
.page-hero .kicker{margin-bottom:6px}
.page-title{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.015em;margin:14px 0 0;color:#f5efe0}
.page-hero .section-lead{margin-top:18px}

/* — tom tilstand — */
.empty{padding:48px 24px;text-align:center;border:1px dashed var(--line-strong);border-radius:16px;color:var(--muted)}
.empty .dia{display:inline-block;width:8px;height:8px;background:var(--brass);transform:rotate(45deg);margin-bottom:14px}

/* — footer — */
footer{border-top:1px solid var(--line);background:#0a0c09;position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding:64px 0 44px}
.foot-brand .name{font-family:var(--serif);font-size:1.05rem;letter-spacing:.10em;text-transform:uppercase;color:#f1ebdb}
.foot-brand .sub{font-family:var(--mono);font-size:.58rem;letter-spacing:.30em;text-transform:uppercase;color:var(--brass);margin-top:5px}
.foot-brand p{color:var(--muted-2);font-size:.85rem;margin:18px 0 0;max-width:34ch}
.foot-col h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-2);margin:0 0 16px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin:9px 0}
.foot-col a{color:#c9c2ad;text-decoration:none;font-size:.9rem}
.foot-col a:hover{color:#fff;border-bottom:1px solid rgba(201,164,92,.5)}
.foot-bottom{border-top:1px solid var(--line);padding:22px 0 42px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--muted-2);font-size:.78rem}
.foot-bottom .dia{display:inline-block;width:5px;height:5px;background:var(--brass);transform:rotate(45deg);margin:0 8px 1px 0}
.foot-bottom a{color:var(--brass-bright);text-decoration:none;border-bottom:1px solid rgba(201,164,92,.3)}

/* — låst banner — */
.lock-banner{position:relative;z-index:70;text-align:center;padding:10px 20px;font-size:.82rem;color:#f0d9a0;background:#2a1e0c;border-bottom:1px solid rgba(201,164,92,.4)}

/* — bevægelse — */
html.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
html.js [data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* — responsivt — */
@media (max-width:1020px){
  .hero .wrap{grid-template-columns:1fr;gap:46px}
  .om-grid,.join-panel,.kontakt-grid{grid-template-columns:1fr;gap:42px}
  .disc-grid{grid-template-columns:1fr 1fr;gap:18px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
  .nav-links{display:none}
  .nav-login{display:none}
  .nav-toggle{display:inline-flex}
  .nav-panel{display:block;max-height:0;overflow:hidden;transition:max-height .28s ease;border-top:1px solid transparent}
  .nav-panel.open{max-height:560px;border-top-color:var(--line)}
}

/* 2026-10-07: nav-wrap-fix - fuld nav kraever mere plads end 1020px gav;
   burger overtager i 1020-1140-intervallet i stedet for grim ombrydning. */
@media (max-width:1280px){
  .nav{gap:20px}
  .nav-links{gap:16px}
  .nav-actions{gap:12px}
}
@media (max-width:1140px){
  .nav-links{display:none}
  .nav-login{display:none}
  .nav-toggle{display:inline-flex}
  .nav-panel{display:block;max-height:0;overflow:hidden;transition:max-height .28s ease;border-top:1px solid transparent}
  .nav-panel.open{max-height:560px;border-top-color:var(--line)}
}
@media (max-width:640px){
  body{font-size:16px}
  section{padding:64px 0}
  .hero{padding:64px 0 0}
  .page-hero{padding:56px 0 14px}
  .join-panel{padding:30px 24px}
  .factsheet{padding:24px 20px 8px}
  .event{grid-template-columns:1fr;gap:10px;padding:22px 4px}
  .event .tag{justify-self:start}
  .arrow{display:none}
  .disc-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .brand .sub{display:none}
  .nav-actions .btn{display:none}
  .contact-rows .row{flex-direction:column;gap:4px}
  .contact-rows dd{text-align:left}
  .factsheet .row{flex-direction:column;gap:4px}
  .factsheet dd{text-align:left}
  .chips li{font-size:.62rem;padding:8px 12px}
}

/* — WAH-70: formular-/indholdssupplement til funktionelle public-sider — */
.check{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:rgba(236,228,208,.02);transition:border-color .15s}
.check:hover{border-color:var(--line-strong)}
.check input[type="checkbox"],.check input[type="radio"]{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--brass)}
.check .check-label{flex:1;color:#d8d1bc;font-size:.92rem}
.check .check-label small{display:block;color:var(--muted-2);font-size:.78rem;margin-top:3px}
.check .check-label strong{color:var(--ivory)}
.check .req{color:var(--brass-bright)}
.field input[type="checkbox"],.field input[type="radio"]{width:auto;accent-color:var(--brass)}
.table{width:100%;border-collapse:collapse;font-size:.9rem;margin:18px 0}
.table th{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-strong);background:rgba(236,228,208,.03)}
.table td{padding:12px 14px;border-bottom:1px solid var(--line);color:#cfc8b4;vertical-align:top}
.table tr:hover td{background:rgba(236,228,208,.02)}
.table code{font-family:var(--mono);font-size:.82rem;color:var(--brass-bright);background:rgba(201,164,92,.08);padding:2px 6px;border-radius:4px}
.prose h2,.prose h3,.prose h4{color:var(--ivory);font-family:var(--serif);margin:1.6em 0 .6em;font-weight:600}
.prose h2{font-size:1.5rem}
.prose h3{font-size:1.18rem}
.prose ul,.prose ol{padding-left:1.4em;color:#c9c2ad}
.prose li{margin:7px 0}
.prose a{color:var(--brass-bright);text-decoration:none;border-bottom:1px solid rgba(201,164,92,.3)}
.prose a:hover{border-bottom-color:var(--brass-bright)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose strong{color:var(--ivory)}
.panel{border:1px solid var(--line-strong);border-radius:16px;padding:30px;background:var(--panel);margin-bottom:22px}
.panel:last-child{margin-bottom:0}
.panel h3{font-family:var(--serif);font-size:1.25rem;font-weight:600;margin:0 0 6px;color:var(--ivory)}
.panel .panel-sub{margin:0 0 20px;color:#a9a28c;font-size:.9rem}
.step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--felt-deep);border:1px solid rgba(201,164,92,.5);color:var(--brass-bright);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em}
.field-hint{margin:8px 0 16px;font-size:.78rem;color:var(--muted-2)}
.centered{text-align:center}
.max-800{max-width:800px;margin:0 auto}
.max-620{max-width:620px;margin:0 auto}
.grid-cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0}
.table-wrap .table{margin:0}
@media (max-width:640px){.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}}

/* — WAH-91: shell-komponenter til medlems- og admin-området — */
.form-panel{max-width:620px}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.kpi{border:1px solid var(--line-strong);border-radius:16px;padding:20px;background:var(--panel)}
.kpi .kpi-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}
.kpi .kpi-value{font-family:var(--serif);font-size:1.8rem;color:var(--brass-bright);margin-top:8px;line-height:1.1}
.kpi .kpi-sub{font-size:.8rem;color:var(--muted);margin-top:4px}
.role-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(201,164,92,.42);border-radius:999px;padding:6px 12px;white-space:nowrap}
.member-topbar{position:sticky;top:0;z-index:60;background:rgba(11,13,10,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.member-topbar .nav{max-width:1160px;margin:0 auto;padding:14px 24px}
.bundnav{position:fixed;bottom:0;left:0;right:0;z-index:80;background:var(--ink-2);border-top:1px solid var(--line);display:none;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}
.bundnav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:.62rem;letter-spacing:.04em;padding:10px 4px;text-decoration:none;min-height:44px;justify-content:center}
.bundnav a .bi{font-size:1.15rem}
.bundnav a.active{color:var(--brass-bright)}
.bundnav a:hover{color:var(--ivory)}
.skeleton{background:linear-gradient(90deg,var(--panel),rgba(236,228,208,.06),var(--panel));background-size:200% 100%;animation:skeleton-pulse 1.2s infinite;border-radius:10px;min-height:1em}
@keyframes skeleton-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (max-width:640px){
  .bundnav{display:grid}
  body.klub-shell{padding-bottom:64px}
}
@media (prefers-reduced-motion:reduce){
  .skeleton{animation:none;background:var(--panel)}
}
