:root{
  --bg:#f6f1e7; --paper:#fffdf8; --ink:#1f2a24; --muted:#5c665f;
  --green:#2f5d46; --green-dk:#21432f; --sun:#e0a43a; --line:#e3dccd;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:17px/1.6 "Source Sans 3",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--green)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0 0 .5em;color:var(--green-dk)}
h1{font-size:clamp(2rem,6vw,3.3rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,4vw,2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* header */
header.top{background:var(--green-dk);color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.badge{width:46px;height:46px;border-radius:50%;background:var(--sun);color:var(--green-dk);
  display:grid;place-items:center;font:700 15px/1 Fraunces,Georgia,serif;letter-spacing:.04em;flex:none}
.brand b{display:block;font:600 1.05rem/1.2 Fraunces,Georgia,serif}
.brand small{opacity:.8;font-size:.85rem}
nav a{color:#fff;text-decoration:none;margin-left:18px;font-weight:600;font-size:.98rem;opacity:.85}
nav a:hover,nav a[aria-current]{opacity:1;border-bottom:2px solid var(--sun)}
nav a:first-child{margin-left:0}

/* hero */
.hero{background:var(--green);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.hero h1{color:#fff;max-width:16ch}
.hero p.lead{font-size:1.2rem;max-width:56ch;opacity:.95}
.hero .tag{display:inline-block;background:var(--sun);color:var(--green-dk);font-weight:700;
  padding:4px 12px;border-radius:999px;font-size:.85rem;margin-bottom:18px}
.hero::after{content:"";position:absolute;right:-80px;bottom:-120px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(224,164,58,.35),rgba(224,164,58,0) 70%)}
.btn{display:inline-block;background:var(--sun);color:var(--green-dk);font-weight:700;text-decoration:none;
  padding:12px 20px;border-radius:10px;margin:6px 10px 0 0}
.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}

section{padding:52px 0}
section.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
section.alt .card{background:var(--bg)}
.card h3{margin-bottom:.35em}
.card p:last-child{margin-bottom:0}
.emoji{font-size:1.6rem;display:block;margin-bottom:6px}
.two{display:grid;gap:32px;grid-template-columns:1.3fr 1fr;align-items:start}
@media (max-width:760px){.two{grid-template-columns:1fr}}
.facts{list-style:none;padding:0;margin:0}
.facts li{padding:10px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:12px}
.facts li span:first-child{color:var(--muted)}
.facts li span:last-child{font-weight:600;text-align:right}
.quote{font:italic 1.25rem/1.5 Fraunces,Georgia,serif;color:var(--green-dk);border-left:4px solid var(--sun);padding-left:16px;margin:0 0 1.2em}

.board{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.board .card{padding:16px 18px}
.board .role{color:var(--muted);font-size:.9rem}

/* members */
.members{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.member{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.member h3{font-size:1.05rem;margin-bottom:.2em}
.member p{margin:0;color:var(--muted);font-size:.95rem}
.member .cvr{font-size:.8rem;color:var(--muted);margin-top:8px;letter-spacing:.02em}
.filter{width:100%;max-width:420px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;margin-bottom:20px}

/* library */
.doc{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.doc .meta{flex:1 1 260px}
.doc .meta p{color:var(--muted);margin:0}
.statutes{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;margin-top:28px}
.statutes h3{margin-top:1.4em}
.statutes h3:first-of-type{margin-top:0}
.statutes ol{padding-left:1.3em}
.small{font-size:.9rem;color:var(--muted)}

footer{background:var(--green-dk);color:#d7e2db;padding:34px 0;font-size:.95rem}
footer a{color:#fff}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media print{header.top,footer,.btn,nav{display:none}.hero{background:none;color:var(--ink)}}

/* pop-up på medlemmer, som på ugerlose.dk */
.member{display:flex;gap:12px;align-items:flex-start;cursor:pointer;position:relative}
.member .ini{flex:none;width:38px;height:38px;border-radius:10px;background:#e8efe9;color:var(--green-dk);display:grid;place-items:center;font-weight:700;font-size:.85rem}
.member:hover,.member:focus-visible,.member.vis-pop{border-color:var(--green);outline:none}
.member .pop{position:absolute;left:10px;right:10px;bottom:calc(100% + 10px);z-index:30;background:#17201b;color:#edf0ec;border-radius:16px;padding:14px 16px;font-size:14.5px;line-height:1.45;box-shadow:0 14px 34px rgba(0,0,0,.3);display:none;flex-direction:column;gap:4px;cursor:default}
.member .pop strong{font-family:Fraunces,Georgia,serif;font-size:17px;color:#fff;margin-bottom:2px}
.member .pop .pop-tlf{align-self:flex-start;margin-top:6px;padding:2px 10px;border-radius:999px;background:var(--sun);color:#17201b;font-weight:700;font-size:13px;text-decoration:none}
.member .pop em{font-style:normal;color:#a9b4ae;font-size:12px;margin-top:6px}
.member:hover .pop,.member:focus-visible .pop,.member.vis-pop .pop{display:flex}
@media (hover:none){.member:hover .pop{display:none}.member.vis-pop .pop{display:flex}}

/* tilmelding */
nav a.nav-cta{background:var(--sun);color:var(--green-dk);opacity:1;padding:6px 12px;border-radius:8px}
nav a.nav-cta:hover,nav a.nav-cta[aria-current]{border-bottom:none;background:#f0b955}
@media (max-width:520px){nav a{margin-left:12px;font-size:.92rem}}
form.tilmeld{display:grid;gap:14px}
form.tilmeld label{display:grid;gap:5px;font-weight:600;font-size:.95rem}
form.tilmeld input,form.tilmeld textarea{font:inherit;font-weight:400;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%}
form.tilmeld input:focus,form.tilmeld textarea:focus{outline:2px solid var(--green);border-color:var(--green)}
form.tilmeld .row2{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:520px){form.tilmeld .row2{grid-template-columns:1fr}}
form.tilmeld label.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}
form.tilmeld label.chk input{width:auto;margin-top:5px}
form.tilmeld .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.tilmeld button{border:0;cursor:pointer;font:inherit;font-weight:700;justify-self:start}
.msg{border-radius:12px;padding:16px 18px;margin-bottom:18px}
.msg.ok{background:#e3f1e7;border:1px solid #9cc7aa}
.msg.fejl{background:#fbeae4;border:1px solid #e3a58e}
form.tilmeld[hidden]{display:none}
