
:root{
  --forest:#13302A; --forest-2:#1C4239; --ink:#16352D; --ink-2:#4E6660; --lime:#D6EDB2; --lime-2:#E6F2D4;
  --leaf:#3F6C58; --paper:#FAFAF6; --mist:#EEF3EC; --line:#D8E0DA; --card:#FFFFFF; --on-forest:#F3F7F1; --on-forest-2:#B9CCC3;
  --font:"Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;
  color-scheme:light; box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[data-look="dark"]{--ink:#E7EFEA; --ink-2:#A8BBB3; --paper:#101C19; --mist:#15241F; --line:#27392F; --card:#172822; --leaf:#A9D08E; --forest:#0B1A16; --forest-2:#12261F}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-size:1rem; line-height:1.65; overflow-x:clip}
img{max-width:100%; display:block}
a{color:inherit}
:focus-visible{outline:3px solid #7FB069; outline-offset:3px}
.wrap{max-width:1040px; margin:0 auto; padding:0 24px}
.wide{max-width:1240px; margin:0 auto; padding:0 24px}
h1,h2,h3{margin:0; line-height:1.08; letter-spacing:-.02em; font-weight:600}
h2{font-size:clamp(2rem,4.6vw,3.1rem); margin-bottom:.5em}
h2 em, h1 em{font-style:italic; font-weight:400; color:var(--leaf)}
h3{font-size:1.15rem; margin-bottom:.4em}
p{margin:0 0 1em}
.eyebrow{font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); margin-bottom:18px; display:block}
.small{font-size:.85rem; color:var(--ink-2)}
.cite{font-size:.75em; border:1px solid currentColor; border-radius:3px; padding:0 4px; text-decoration:none; margin-left:2px; opacity:.8; white-space:nowrap}
.lnk{font-weight:600; font-size:.88rem; text-decoration:none; border-bottom:1.5px solid currentColor; padding-bottom:1px}
section{padding:96px 0}
.bg-mist{background:var(--mist)}
.head2{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:end; margin-bottom:48px}
.head2 h2{margin:0}
.head2 p{margin:0; color:var(--ink-2)}
@media (max-width:820px){.head2{grid-template-columns:1fr; gap:16px}}

/* strip + header */
.strip{background:var(--lime-2); color:#16352D; text-align:center; font-size:.78rem; font-weight:600; padding:7px 16px}
header.site{position:sticky; top:0; z-index:40; background:color-mix(in srgb,var(--paper) 92%,transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
header.site .wide{display:flex; align-items:center; gap:24px; height:68px}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; line-height:1.1; font-size:.9rem}
.logo .m{width:34px; height:34px; border:2px solid currentColor; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:1.05rem}
.logo b{display:block; font-weight:700}
nav.links{display:flex; gap:18px; margin-left:auto}
nav.links a{font-size:.85rem; text-decoration:none; color:var(--ink-2); white-space:nowrap}
nav.links a:hover, nav.links a.on{color:var(--ink)}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--font); font-weight:600; text-decoration:none; border-radius:4px; cursor:pointer; border:0; line-height:1.25; text-align:center}
.btn-dark{background:var(--forest); color:#fff; padding:12px 18px; font-size:.82rem}
header.site .btn-dark{white-space:nowrap}
:root[data-look="dark"] .btn-dark{background:var(--lime); color:#13302A}
.btn-lime{background:var(--lime); color:#13302A; padding:16px 22px; font-size:1rem}
.btn-lime:hover{filter:brightness(1.05)}
.btn-big{padding:18px 26px; font-size:1.05rem}
@media (max-width:1180px){nav.links{display:none} .look{margin-left:auto}}
@media (max-width:620px){header.site .btn-dark{display:none}}

/* hero */
.hero figure{margin:0; background:#5a86c3}
.hero img{width:100%; height:auto; max-height:78vh; object-fit:cover; object-position:center 40%}
.hero figcaption{font-size:.78rem; color:var(--ink-2); padding:10px 24px; max-width:1240px; margin:0 auto}
.intro{background:var(--forest); color:var(--on-forest); padding:80px 0}
.intro .grid{display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center}
@media (max-width:820px){.intro .grid{grid-template-columns:1fr; gap:28px}}
.intro .eyebrow{color:var(--lime)}
.intro h1{font-size:clamp(2.6rem,6.4vw,4.6rem); font-weight:600}
.intro h1 em{color:var(--lime)}
.intro .lead{font-size:1.1rem; font-weight:500; margin-bottom:12px}
.intro p{color:var(--on-forest-2)}
.intro .actions{display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:24px}
.intro .actions .lnk{color:var(--on-forest)}
.status{background:var(--mist); border-bottom:1px solid var(--line)}
.status .wrap{display:flex; gap:28px; align-items:center; padding-top:18px; padding-bottom:18px; flex-wrap:wrap}
.status .eyebrow{margin:0}
.status p{margin:0; font-size:.9rem; flex:1; min-width:240px}

/* sound */
.sounds{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media (max-width:760px){.sounds{grid-template-columns:1fr}}
.snd{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px}
.snd button.play{width:58px; height:58px; border-radius:50%; border:0; background:var(--forest); color:#fff; display:grid; place-items:center; cursor:pointer}
.snd.on button.play{background:var(--leaf)}
.snd h3{margin:0 0 6px; font-size:1.15rem}
.snd .row{display:flex; align-items:center; gap:12px}
.snd input[type=range]{flex:1; accent-color:var(--leaf); min-width:0}
.snd time{font-size:.8rem; font-weight:600; color:var(--ink-2); font-variant-numeric:tabular-nums; white-space:nowrap}
.eq{display:inline-flex; gap:3px; align-items:flex-end; height:14px; margin-left:8px; vertical-align:middle; opacity:0; transition:opacity .3s}
.snd.on .eq{opacity:1}
.eq i{width:3px; background:var(--leaf); height:30%; animation:eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.6s}
@keyframes eq{0%,100%{height:25%}50%{height:100%}}
@media (prefers-reduced-motion:reduce){.eq i{animation:none; height:60%}}
.snd-hint{font-size:.8rem; color:var(--ink-2); margin:6px 0 0}

/* stat cards */
.stats{display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:6px; background:var(--card)}
.stats > div{padding:24px; border-right:1px solid var(--line)}
.stats > div:last-child{border-right:0}
@media (max-width:760px){.stats{grid-template-columns:1fr}.stats > div{border-right:0; border-bottom:1px solid var(--line)}}
.tag{display:inline-block; font-size:.68rem; font-weight:600; border:1px solid var(--line); padding:3px 8px; border-radius:3px; color:var(--ink-2)}
.stats b{display:block; font-size:clamp(2.6rem,5vw,3.4rem); font-weight:600; line-height:1; margin:26px 0 10px; letter-spacing:-.03em}
.stats b small{font-size:1rem; font-weight:500; margin-left:6px; letter-spacing:0}
.stats span{font-size:.88rem}
.two{display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:48px; align-items:start}
@media (max-width:820px){.two{grid-template-columns:1fr; gap:28px}}
.boxed{background:var(--mist); padding:24px 26px; border-radius:4px}
.bg-mist .boxed{background:var(--card); border:1px solid var(--line)}
.map-row{display:grid; grid-template-columns:minmax(240px,380px) 1fr; gap:40px; margin-top:56px; align-items:start}
@media (max-width:820px){.map-row{grid-template-columns:1fr}}
.map-row figure{margin:0}
.dl{margin:0}
.dl div{display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line); font-size:.92rem}
.dl dt{margin:0}
.dl dd{margin:0; font-weight:600; white-space:nowrap}
.land{display:flex; gap:22px; align-items:center; margin-top:18px}
.land svg{width:130px; height:130px; flex:none}
.land ul{list-style:none; padding:0; margin:0; font-size:.85rem}
.land li{display:flex; gap:8px; align-items:baseline; padding:3px 0}
.land .sw{width:11px; height:11px; border-radius:2px; flex:none; transform:translateY(1px)}
details.more{margin-top:40px; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
details.more summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; padding:18px 0; font-weight:600}
details.more summary::-webkit-details-marker{display:none}
details.more summary .pm{transition:transform .2s}
details.more[open] summary .pm{transform:rotate(45deg)}
details.more .body{padding-bottom:24px}
table{border-collapse:collapse; width:100%; font-size:.85rem}
th,td{text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top}
th{font-weight:600; color:var(--ink-2); font-size:.78rem}
td.num{white-space:nowrap; font-variant-numeric:tabular-nums}
.tbl{overflow-x:auto}

/* birds */
.birds{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media (max-width:860px){.birds{grid-template-columns:1fr; max-width:460px; margin:0 auto}}
.bird{background:var(--card); border-radius:6px; overflow:hidden; box-shadow:0 1px 0 var(--line)}
.bird img{aspect-ratio:4/3; object-fit:cover; width:100%}
.bird .in{padding:14px 20px 22px}
.bird .credit{font-size:.66rem; color:var(--ink-2); padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:12px}
.bird .credit a{text-decoration:underline}
.bird i.lat{font-size:.78rem; color:var(--ink-2)}
.bird h3{font-size:1.5rem; margin:2px 0 16px; padding-bottom:16px; border-bottom:1px solid var(--line)}
.bird .num{display:flex; gap:12px; align-items:center}
.bird .num b{font-size:2.6rem; font-weight:600; line-height:1; letter-spacing:-.03em}
.bird .num span{font-size:.8rem; line-height:1.3}
.bird .num small{display:block; color:var(--ink-2); font-size:.68rem}
.notes{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:22px; font-size:.78rem; color:var(--ink-2)}
@media (max-width:760px){.notes{grid-template-columns:1fr; gap:14px}}
.stakes{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:64px}
@media (max-width:860px){.stakes{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.stakes{grid-template-columns:1fr}}
.stake{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:22px}
.stake p{font-size:.88rem; margin:0}

/* voices */
.voices{columns:3 280px; column-gap:28px}
.voice{break-inside:avoid; padding:20px 0; border-top:1px solid var(--line)}
.voice .who{font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); display:block; margin-bottom:6px}
.voice p{font-size:.9rem; margin:0}

/* timeline */
.tl-wrap{display:grid; grid-template-columns:1fr 1.15fr; gap:56px}
@media (max-width:820px){.tl-wrap{grid-template-columns:1fr; gap:24px}}
.tl{list-style:none; margin:0; padding:0 0 0 26px; border-left:1.5px solid var(--line)}
.tl li{position:relative; padding:0 0 28px}
.tl li::before{content:""; position:absolute; left:-31px; top:5px; width:9px; height:9px; border-radius:50%; background:var(--ink)}
.tl li.hl::before{background:var(--leaf); box-shadow:0 0 0 4px var(--lime)}
.tl time{font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2)}
.tl h3{font-size:1rem; margin:4px 0 4px}
.tl p{font-size:.88rem; margin:0}
.ctx{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:48px}
@media (max-width:760px){.ctx{grid-template-columns:1fr}}
.ctx .stake{background:var(--card)}
.ctx .big{font-size:2.4rem; font-weight:600; letter-spacing:-.03em; line-height:1}

/* stance */
.stance{background:var(--forest); color:var(--on-forest)}
.stance .eyebrow{color:var(--lime)}
.stance h2{max-width:16ch}
.stance p{max-width:60ch; color:var(--on-forest-2)}
.stance p.lead{color:var(--on-forest); font-size:1.15rem}

/* faq */
.faq-wrap{display:grid; grid-template-columns:1fr 1.2fr; gap:56px}
@media (max-width:820px){.faq-wrap{grid-template-columns:1fr; gap:20px}}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:16px; padding:16px 0; font-weight:600; font-size:.95rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{transition:transform .2s; flex:none}
.faq details[open] .pm{transform:rotate(45deg)}
.faq details p{font-size:.9rem; color:var(--ink-2); padding-bottom:16px; margin:0}

/* sign */
.sign{background:var(--lime-2); color:#16352D}
:root[data-look="dark"] .sign{background:#1d3325; color:var(--ink)}
.sign-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center}
@media (max-width:820px){.sign-grid{grid-template-columns:1fr; gap:28px}}
.sign ol{padding-left:1.2em; margin:18px 0}
.sign ol li{padding:3px 0}
.petition{background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:28px}
.petition h3{font-size:1.35rem}
.petition blockquote{margin:0 0 20px; font-size:1rem}
.petition .btn{width:100%}
.petition .small{margin:14px 0 0}

/* sources */
.src{list-style:none; margin:0; padding:0; counter-reset:s}
.src li{display:grid; grid-template-columns:44px 1fr auto; gap:16px; padding:18px 0; border-top:1px solid var(--line); align-items:start}
.src li:last-child{border-bottom:1px solid var(--line)}
.src .links{display:flex; flex-direction:column; gap:8px; align-items:flex-end}
@media (max-width:620px){.src .links{grid-column:2; align-items:flex-start}}
.src .n{font-size:.95rem; color:var(--ink-2)}
.src .k{font-size:.66rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); display:block}
.src b{display:block; font-weight:600; margin:2px 0}
.src .d{font-size:.82rem; color:var(--ink-2)}
@media (max-width:620px){.src li{grid-template-columns:32px 1fr}.src li .lnk{grid-column:2}}

footer{background:var(--forest); color:var(--on-forest-2); padding:36px 0 120px; font-size:.78rem}
footer .top{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:18px; color:var(--on-forest)}
footer nav{display:flex; gap:18px; flex-wrap:wrap}
footer nav a{text-decoration:underline}
footer a{color:inherit}

/* floating sign button (mobile) */
.sign-float{position:fixed; z-index:50; left:14px; right:14px; bottom:calc(14px + env(safe-area-inset-bottom,0px)); display:none; box-shadow:0 8px 24px rgba(0,0,0,.28); padding:14px 16px; font-size:.95rem}
@media (max-width:620px){.sign-float{display:flex}}
.sign-float.hide{opacity:0; pointer-events:none; transform:translateY(20px)}
.sign-float{transition:opacity .25s, transform .25s}

.stance .grid{display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:center}
.stance .turbine{justify-self:center; width:100%; max-width:340px; height:auto; overflow:visible}
.stance .rotor{transform-box:view-box; transform-origin:150px 120px; animation:spin 10s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.stance .rotor{animation:none}}
@media (max-width:820px){.stance .grid{grid-template-columns:1fr}.stance .turbine{max-width:200px; order:-1}}

dialog.pop{border:0; padding:0; background:transparent; max-width:min(460px,calc(100vw - 32px)); width:100%}
dialog.pop::backdrop{background:rgba(10,24,20,.55); backdrop-filter:blur(3px)}
dialog.pop .petition{position:relative; box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.pop .x{position:absolute; top:10px; right:10px; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:var(--card); color:var(--ink); font-size:1.3rem; line-height:1; cursor:pointer; display:grid; place-items:center}
dialog.pop h3{padding-right:40px}
dialog.pop .later{display:block; width:100%; margin-top:10px; background:none; border:0; color:var(--ink-2); font:500 .85rem var(--font); text-decoration:underline; cursor:pointer; padding:6px}
dialog.pop[open]{animation:popin .3s ease-out}
@keyframes popin{from{opacity:0; transform:translateY(16px)}to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){dialog.pop[open]{animation:none}}

:root[data-look="dark"]{color-scheme:dark}
.look{display:inline-flex; align-items:center; gap:8px; background:none; border:1px solid var(--line); color:var(--ink); border-radius:999px; padding:7px 12px; font:600 .78rem var(--font); cursor:pointer; white-space:nowrap}
.look:hover{border-color:var(--ink-2)}
.look .moon{display:none}
:root[data-look="dark"] .look .moon{display:inline}
:root[data-look="dark"] .look .sun{display:none}
@media (max-width:620px){.look .lbl{display:none}.look{padding:8px; margin-left:auto}}

#hlusta{position:relative; color:#fff; background-color:#2b3b2c; background-image:linear-gradient(180deg,rgba(9,24,19,.6) 0%,rgba(9,24,19,.12) 32%,rgba(9,24,19,.12) 52%,rgba(9,24,19,.8) 100%),url("../img/holaheidi-magnus-bergsson.jpg"); background-size:cover; background-position:center 60%; padding:120px 0}
#hlusta .eyebrow{color:var(--lime)}
#hlusta h2{color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.35)}
#hlusta h2 em{color:var(--lime)}
#hlusta .head2 p{color:rgba(255,255,255,.9); text-shadow:0 1px 10px rgba(0,0,0,.4)}
#hlusta > .wrap > p.small{color:rgba(255,255,255,.82)}
#hlusta > .wrap > p.small a{color:#fff}
#hlusta .snd{background:color-mix(in srgb,var(--card) 92%,transparent); backdrop-filter:blur(6px); color:var(--ink)}

#hlusta{padding:64px 0 56px}
#hlusta .wrap{display:flex; flex-direction:column; min-height:min(88vh,860px)}
#hlusta .hl-title{font-size:clamp(2.2rem,5vw,3.4rem); margin:0; max-width:18ch; text-shadow:0 2px 18px rgba(0,0,0,.35)}
#hlusta .hl-bottom{margin-top:auto; padding-top:48px}
#hlusta .hl-intro{color:#fff; font-size:clamp(1.15rem,2vw,1.45rem); font-weight:600; line-height:1.4; max-width:none; margin:0 0 22px; text-shadow:0 1px 12px rgba(0,0,0,.6)}
#hlusta .hl-bottom > p.small{color:rgba(255,255,255,.85)}
#hlusta .hl-bottom > p.small a{color:#fff}
@media (max-width:760px){#hlusta .wrap{min-height:auto}#hlusta .hl-bottom{padding-top:160px}}

.petition blockquote{font-size:.95rem; line-height:1.6}
.petition .pmeta{font-size:.78rem; color:var(--ink-2); margin:-6px 0 18px; padding-top:12px; border-top:1px solid var(--line)}
dialog.pop .petition{max-height:calc(100dvh - 32px); overflow-y:auto}

dialog.pop .fulltext{margin:0 0 16px; font-size:.85rem}
dialog.pop .fulltext summary{cursor:pointer; font-weight:600; text-decoration:underline; color:var(--ink-2)}
dialog.pop .fulltext blockquote{margin:10px 0 0; font-size:.88rem}

.map-open{display:block; position:relative; padding:0; border:0; background:none; cursor:zoom-in; width:100%; border-radius:4px; overflow:hidden}
.map-open img{width:100%; transition:transform .3s}
.map-open:hover img{transform:scale(1.02)}
.map-open .zoom{position:absolute; left:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; background:rgba(19,48,42,.88); color:#fff; font:600 .8rem var(--font); padding:8px 12px; border-radius:999px}
dialog.mapbox{border:0; padding:0; background:transparent; max-width:none; max-height:none; width:100vw; height:100dvh}
dialog.mapbox::backdrop{background:rgba(8,18,15,.9)}
dialog.mapbox .inner{width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:calc(56px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px))}
dialog.mapbox .scroller{max-width:100%; max-height:100%; overflow:auto; border-radius:6px}
dialog.mapbox img{display:block; max-height:calc(100dvh - 130px); max-width:min(1038px,100%); width:auto; height:auto; cursor:zoom-in}
dialog.mapbox.zoomed img{max-height:none; max-width:none; width:1038px; cursor:zoom-out}
dialog.mapbox .cap{color:#dfe8e3; font-size:.8rem; margin-top:10px; text-align:center}
dialog.mapbox .x{position:fixed; top:calc(12px + env(safe-area-inset-top,0px)); right:14px; width:44px; height:44px; border-radius:50%; border:0; background:#fff; color:#13302A; font-size:1.5rem; cursor:pointer; display:grid; place-items:center}
dialog.mapbox[open]{animation:popin .25s ease-out}

.gmap{margin-top:48px}
.gmap-head{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:14px}
.gmap-head h3{margin:0}
.gmap-frame{position:relative; width:100%; aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:var(--card); border:1px solid var(--line)}
@media (max-width:620px){.gmap-frame{aspect-ratio:4/5}}
.gmap-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.gmap-fallback{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; text-decoration:none; color:var(--ink); padding:24px; background:var(--mist)}
.gmap-fallback[hidden]{display:none}
.gmap-fallback b{border-bottom:1.5px solid currentColor}

.ground .stake p{font-size:.9rem; margin:0 0 .8em}
.ground .stake p:last-child{margin-bottom:0}

.bl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media (max-width:900px){.bl-grid{grid-template-columns:1fr}}
.bl-card{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:24px}
.bl-card p{font-size:.88rem; margin:0}
.bl-card h3{margin-top:18px}
.ring{width:120px; height:120px; display:block}
.ring-val{transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1)}
.blades-sec.in .ring-val{stroke-dashoffset:220.2}
.ring-txt{font:700 22px var(--font); fill:var(--ink)}
.speed{height:120px; display:flex; flex-direction:column; justify-content:center; gap:14px}
.sp-row{display:grid; grid-template-columns:78px 1fr 44px; gap:10px; align-items:center; font-size:.8rem}
.sp-row em{font-style:normal; font-weight:700; text-align:right}
.sp-bar{height:14px; background:var(--mist); border-radius:7px; overflow:hidden}
.sp-bar b{display:block; height:100%; width:0; background:var(--ink-2); border-radius:7px; transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.sp-row.hot .sp-bar b{background:var(--leaf)}
.blades-sec.in .sp-bar b{width:var(--w)}
.sp-unit{font-size:.7rem; color:var(--ink-2); text-align:right}
.sweep{width:100%; max-width:240px; height:120px; display:block}
.mini-rotor{transform-box:view-box; transform-origin:60px 60px; animation:spin 4s linear infinite}
.bl-wide{margin-top:14px; background:var(--forest); color:var(--on-forest); border-radius:6px; padding:28px}
.bl-wide p{color:var(--on-forest-2)}
.bl-wide p b{color:var(--on-forest)}
.bl-wide .cite{color:var(--on-forest-2)}
.bl-wide-head{display:grid; grid-template-columns:1fr auto; gap:28px; align-items:end}
@media (max-width:620px){.bl-wide-head{grid-template-columns:1fr}}
.bl-wide-head p{font-size:.92rem; margin:0}
.bl-km{text-align:right}
.bl-km b{display:block; font-size:clamp(2.4rem,5vw,3.4rem); font-weight:600; line-height:1; color:var(--lime); letter-spacing:-.03em}
.bl-km span{font-size:.8rem; color:var(--on-forest-2)}
.blade-row{display:grid; grid-template-columns:repeat(10,1fr); gap:10px 14px; margin-top:24px}
.blade-row i{display:block; height:11px; background:linear-gradient(90deg,rgba(214,237,178,.55),var(--lime)); clip-path:polygon(0 30%,6% 0,22% 8%,100% 42%,100% 58%,22% 100%,6% 100%,0 70%); opacity:0; transform:translateX(-8px); transition:opacity .4s, transform .4s}
.blades-sec.in .blade-row i{opacity:1; transform:none}
@media (max-width:620px){.blade-row{grid-template-columns:repeat(6,1fr); gap:8px 10px}}
@media (prefers-reduced-motion:reduce){.mini-rotor{animation:none}.ring-val,.sp-bar b,.blade-row i{transition:none}}

.birdspeed{margin-top:14px; background:var(--card); border:1px solid var(--line); border-radius:6px; padding:28px}
.bs-head{display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end; margin-bottom:22px}
@media (max-width:700px){.bs-head{grid-template-columns:1fr}}
.bs-head h3{font-size:1.4rem}
.bs-head p{font-size:.92rem; margin:0; max-width:60ch}
.bs-legend{display:flex; gap:16px; font-size:.75rem; color:var(--ink-2); flex-wrap:wrap}
.bs-legend i{display:inline-block; width:14px; height:10px; border-radius:3px; margin-right:6px; vertical-align:middle}
.lg-mx{background:var(--heath, #9DAA6C); opacity:.55}
.lg-typ{background:var(--leaf)}
.bs-chart{display:flex; flex-direction:column; gap:10px}
.bs-row{display:grid; grid-template-columns:190px 1fr 82px; gap:14px; align-items:center}
@media (max-width:700px){.bs-row{grid-template-columns:1fr 70px; row-gap:4px}.bs-name{grid-column:1/-1}}
.bs-name b{display:block; font-size:.95rem}
.bs-name span{font-size:.72rem; color:var(--ink-2)}
.bs-bar{position:relative; height:20px; background:var(--mist); border-radius:10px; overflow:hidden}
.bs-bar b{position:absolute; left:0; top:0; bottom:0; width:0; border-radius:10px; transition:width 1.3s cubic-bezier(.2,.7,.2,1)}
.bs-bar .mx{background:#9DAA6C; opacity:.55}
.bs-bar .typ{background:var(--leaf)}
.bs-row:not(:has(.typ)) .mx{background:var(--leaf); opacity:1}
.bs-row.tip .mx{background:var(--forest); opacity:1}
:root[data-look="dark"] .bs-row.tip .mx{background:var(--lime)}
.blades-sec.in .bs-bar b{width:var(--w)}
.bs-val{font-weight:700; font-size:.9rem; text-align:right; white-space:nowrap}
.bs-row.tip .bs-name b, .bs-row.tip .bs-val{color:var(--ink)}
@media (prefers-reduced-motion:reduce){.bs-bar b{transition:none}}

.sign{position:relative; overflow:hidden; background:var(--forest)!important; color:var(--on-forest)!important; padding:120px 0 150px}
.sign .contours{position:absolute; inset:0; width:100%; height:100%; color:var(--lime); opacity:.09; pointer-events:none}
.sign .horizon{position:absolute; left:0; right:0; bottom:0; width:100%; height:90px; color:#0e241f; pointer-events:none}
.sign .wrap{position:relative; z-index:1}
.sign .eyebrow{color:var(--lime)!important; opacity:1!important}
.sign-title{font-size:clamp(2.8rem,6.6vw,5rem); line-height:1.02; color:#fff; margin-bottom:22px}
.sign-title em{color:var(--lime)}
.sign .poem{font-style:italic; font-size:1.15rem; color:var(--on-forest); margin:0 0 30px}
.sign .poem span{display:block; font-style:normal; font-size:.78rem; color:var(--on-forest-2); margin-top:4px}
.sign .steps{list-style:none; padding:0; margin:0 0 26px}
.sign .steps li{display:flex; gap:14px; align-items:center; padding:10px 0; border-top:1px solid rgba(255,255,255,.12); font-size:1rem}
.sign .steps li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.sign .steps b{flex:none; width:34px; height:34px; border-radius:50%; background:var(--lime); color:#13302A; display:grid; place-items:center; font-weight:700}
.sign .deadline{font-size:.9rem; color:var(--on-forest-2); margin:0}
.sign .deadline strong{color:#fff}
.sign .petition{box-shadow:0 24px 60px rgba(0,0,0,.35); border:0; border-top:6px solid var(--lime); color:#16352D; background:#fff}
.sign .petition .small, .sign .petition .pmeta{color:#4E6660}
.sign .petition .btn-dark{background:#13302A; color:#fff}
@media (max-width:820px){.sign{padding:88px 0 120px}}

.bs-row{grid-template-columns:190px 1fr 40px}
.bs-bar{height:30px; border-radius:15px; overflow:visible; background:transparent}
.bs-bar::before{content:""; position:absolute; inset:0; background:var(--mist); border-radius:15px}
.bs-bar b{border-radius:15px}
.bs-bar span{position:absolute; top:50%; transform:translateY(-50%); font-size:.78rem; font-weight:700; white-space:nowrap; opacity:0; transition:opacity .4s .9s}
.blades-sec.in .bs-bar span{opacity:1}
.bs-bar small{font-size:.68rem; font-weight:500}
.bs-bar .bl-mx{left:calc(var(--w) + 8px); color:var(--ink)}
.bs-bar .bl-mx.in{left:auto; right:12px; color:#fff}
.bs-row:not(:has(.typ)):not(.tip) .bl-mx{left:calc(var(--w) + 8px)}
.bs-bar .bl-typ{left:12px; color:#fff; text-shadow:0 0 4px rgba(10,30,25,.6)}
@media (max-width:700px){.bs-bar .bl-typ{left:8px; font-size:.72rem}}
:root[data-look="dark"] .bs-row.tip .bl-mx.in{color:#13302A}
@media (max-width:700px){.bs-row{grid-template-columns:1fr 34px}.bs-bar small{display:none}}

.cmp{margin:26px 0 8px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14)}
.cmp h4{margin:0 0 14px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--lime)}
.cmp-row{display:grid; grid-template-columns:minmax(180px,300px) 1fr 70px; gap:14px; align-items:center; padding:6px 0}
.cmp-n{font-size:.88rem; color:var(--on-forest)}
.cmp-row.me .cmp-n{font-weight:700; color:#fff}
.cmp-bar{height:10px; border-radius:5px; background:rgba(255,255,255,.08); overflow:hidden}
.cmp-bar b{display:block; height:100%; width:0; border-radius:5px; background:rgba(214,237,178,.45); transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.cmp-row.me .cmp-bar b{background:var(--lime)}
.blades-sec.in .cmp-bar b{width:var(--w)}
.cmp-v{font-weight:700; font-size:.88rem; text-align:right; white-space:nowrap}
.cmp-row.me .cmp-v{color:var(--lime)}
.cmp .cite{color:var(--on-forest-2)}
.cmp-note{font-size:.9rem; color:var(--on-forest)!important; margin:14px 0 0}
@media (max-width:700px){.cmp-row{grid-template-columns:1fr 64px; row-gap:4px}.cmp-n{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.cmp-bar b{transition:none}}

.speed-big{height:120px; display:flex; align-items:center; gap:12px}
.speed-big b{font-size:3.6rem; font-weight:600; letter-spacing:-.04em; line-height:1; color:var(--leaf)}
.speed-big span{font-size:.8rem; color:var(--ink-2); line-height:1.3}

.stake.has-art{padding:0; overflow:hidden; display:flex; flex-direction:column}
.stake.has-art .stake-art{display:block; width:100%; height:auto; aspect-ratio:5/2}
.stake.has-art h3{padding:20px 22px 0; margin-bottom:.4em}
.stake.has-art p{padding:0 22px 22px}


/* tungumálaval */
@media (max-width:1500px){header.site .look .lbl{display:none} header.site .look{padding:8px} header.site .wide{gap:16px} nav.links{gap:14px}}
nav.langs{display:flex; gap:2px; align-items:center}
header.site nav.langs{margin-left:-12px}
.strip{display:flex; align-items:center; justify-content:center; gap:16px; position:relative}
.strip nav.langs{position:absolute; right:16px; top:50%; transform:translateY(-50%)}
.strip nav.langs a{color:#16352D; padding:3px 6px}
.strip nav.langs a:hover{background:rgba(22,53,45,.08)}
.strip nav.langs a[aria-current]{box-shadow:inset 0 -2px 0 #16352D}
@media (max-width:900px){.strip{justify-content:space-between; text-align:left; font-size:.7rem} .strip nav.langs{position:static; transform:none; flex-shrink:0}}
nav.langs a{font:600 .72rem var(--font); letter-spacing:.04em; color:var(--ink-2); text-decoration:none; padding:6px 6px; border-radius:4px}
nav.langs a:hover{color:var(--ink); background:var(--mist)}
nav.langs a[aria-current]{color:var(--ink); box-shadow:inset 0 -2px 0 var(--leaf)}
footer nav.langs{gap:6px}
footer nav.langs a{text-decoration:none; color:inherit; opacity:.8}
@media (max-width:520px){header.site nav.langs a{padding:6px 4px; font-size:.68rem}}

/* Nýtt mat rammaáætlunar */
:root{--c-vernd:#2F7F55; --c-bid:#B07A16; --c-nyting:#B23A72}
:root[data-look="dark"]{--c-vernd:#3A9A70; --c-bid:#BA8420; --c-nyting:#C86AA8}
.rm-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:40px}
.rm-stat{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:24px; border-top:4px solid var(--c-bid)}
.rm-num{font-size:3rem; font-weight:700; letter-spacing:-.04em; line-height:1; color:var(--ink)}
.rm-num small{font-size:1.1rem; font-weight:500; color:var(--ink-2); letter-spacing:0}
.rm-lab{font-weight:600; margin:10px 0 6px; color:var(--ink)}
.rm-stat p{margin:0; color:var(--ink-2); font-size:.93rem}
.rm-chart{margin:0 0 40px; background:var(--card); border:1px solid var(--line); border-radius:6px; padding:26px}
.rm-chart figcaption b{display:block; font-size:1.1rem; color:var(--ink)}
.rm-chart figcaption span{color:var(--ink-2); font-size:.9rem}
.rm-legend{list-style:none; display:flex; flex-wrap:wrap; gap:18px; padding:0; margin:14px 0 18px; font-size:.85rem; color:var(--ink-2)}
.rm-legend i{display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:7px; vertical-align:-1px}
.rm-legend i.vernd,.rb-f.vernd{background:var(--c-vernd)} .rm-legend i.bid,.rb-f.bid{background:var(--c-bid)} .rm-legend i.nyting,.rb-f.nyting{background:var(--c-nyting)}
.rm-bars{list-style:none; padding:0; margin:0; display:grid; gap:2px}
.rb{position:relative; display:grid; grid-template-columns:150px 1fr 130px; align-items:center; gap:14px; padding:7px 8px; border-radius:4px; outline:none}
.rb:hover,.rb:focus-visible{background:var(--mist)}
.rb-n{font-size:.93rem; color:var(--ink)}
.rb.me .rb-n{font-weight:700}
.rb-t{position:relative; height:22px; display:flex; align-items:center; gap:8px; border-left:1px solid var(--line)}
.rb-f{display:block; height:16px; border-radius:0 4px 4px 0; min-width:4px}
.rb.me .rb-f{height:22px}
.rb-v{font-size:.85rem; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums}
.rb-c{font-size:.78rem; color:var(--ink-2); display:flex; align-items:center; gap:6px}
.rb-c::before{content:""; width:8px; height:8px; border-radius:50%; background:currentColor; opacity:0}
.rb-c.vernd::before{background:var(--c-vernd); opacity:1} .rb-c.bid::before{background:var(--c-bid); opacity:1} .rb-c.nyting::before{background:var(--c-nyting); opacity:1}
.rb.me{background:color-mix(in srgb, var(--c-bid) 10%, transparent)}
.rb-tip{position:absolute; left:160px; bottom:calc(100% + 4px); z-index:5; background:var(--ink); color:var(--paper); font-size:.8rem; line-height:1.45; padding:8px 10px; border-radius:4px; white-space:nowrap; pointer-events:none; opacity:0; transform:translateY(4px); transition:opacity .15s, transform .15s}
.rb:hover .rb-tip,.rb:focus-visible .rb-tip{opacity:1; transform:none}
.rm-note{margin:18px 0 0; color:var(--ink-2); font-size:.93rem; max-width:72ch}
.rm-note b{color:var(--ink)}
.rm-vs{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:40px}
.rm-side{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:24px; display:flex; flex-direction:column; gap:10px}
.rm-side p{margin:0; font-size:1.02rem; color:var(--ink)}
.rm-them{border-left:4px solid var(--c-bid)}
.rm-who{font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2)}
.rm-src{font-size:.82rem; color:var(--ink-2); margin-top:auto}
.rm-act{display:grid; grid-template-columns:1.05fr 1fr; gap:28px; background:var(--forest); color:var(--on-forest); border-radius:8px; padding:34px; margin-bottom:40px}
.rm-act h3{font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.15; margin:8px 0 12px; color:#fff}
.rm-date{color:var(--lime)}
.rm-act p{color:var(--on-forest-2)}
.rm-steps{margin:0 0 20px; padding-left:20px; color:var(--on-forest)}
.rm-steps li{margin:4px 0}
.rm-act .actions{display:flex; flex-wrap:wrap; gap:10px}
.rm-copy{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); padding:15px 20px; font-size:1rem}
.rm-copy:hover{border-color:var(--lime); color:var(--lime)}
.rm-tip{margin:14px 0 0; font-size:.85rem}
.rm-draft{display:flex; flex-direction:column; gap:8px; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--on-forest-2)}
.rm-draft textarea{flex:1; min-height:320px; width:100%; box-sizing:border-box; resize:vertical; font:400 .88rem/1.55 var(--font); letter-spacing:0; text-transform:none; color:#13302A; background:#F3F7F1; border:0; border-radius:6px; padding:16px}
.rm-voices h3{font-size:1.2rem; margin:0 0 14px; color:var(--ink)}
.rm-voices ul{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.rm-voices a{display:flex; flex-direction:column; gap:6px; height:100%; box-sizing:border-box; background:var(--card); border:1px solid var(--line); border-radius:6px; padding:20px; text-decoration:none; color:var(--ink); transition:border-color .2s, transform .2s}
.rm-voices a:hover{border-color:var(--leaf); transform:translateY(-2px)}
.rm-voices .k{font-size:.75rem; color:var(--ink-2); letter-spacing:.06em; text-transform:uppercase}
.rm-voices b{font-size:.98rem; line-height:1.35}
.rm-voices a span:last-child{font-size:.88rem; color:var(--ink-2)}
@media (max-width:860px){
  .rm-stats,.rm-vs,.rm-voices ul{grid-template-columns:1fr}
  .rm-act{grid-template-columns:1fr; padding:24px}
  .rb{grid-template-columns:1fr auto; gap:4px 10px}
  .rb-n{grid-column:1} .rb-c{grid-column:2; grid-row:1; justify-content:flex-end}
  .rb-t{grid-column:1 / -1}
  .rb-tip{display:none}
}
.s360{background:var(--forest); color:var(--on-forest)}
.s360 .eyebrow{color:var(--lime)}
.s360 h2{color:#fff}.s360 h2 em{color:var(--lime)}
.s360 .head2 p{color:var(--on-forest-2)}
.pano-frame{position:relative; width:100%; aspect-ratio:16/9; border-radius:8px; overflow:hidden; background:#0b1a16; box-shadow:0 20px 50px rgba(0,0,0,.35)}
@media (max-width:700px){.pano-frame{aspect-ratio:4/5}}
.pano-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.pano-poster{position:absolute; inset:0; padding:0; border:0; background:none; cursor:pointer; width:100%; height:100%}
.pano-poster img{width:100%; height:100%; object-fit:cover; object-position:38% 50%; filter:brightness(.82); transition:filter .3s, transform .6s}
.pano-poster:hover img{filter:brightness(.95); transform:scale(1.015)}
.pano-cta{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:10px; background:var(--lime); color:#13302A; font:600 1.05rem var(--font); padding:16px 26px; border-radius:999px; box-shadow:0 10px 30px rgba(0,0,0,.35); white-space:nowrap}
.pano-foot{display:flex; justify-content:space-between; gap:20px; align-items:baseline; flex-wrap:wrap; margin-top:14px}
.pano-foot .small{color:var(--on-forest-2); margin:0; max-width:70ch}
.pano-foot .lnk{color:var(--on-forest)}
.s360 .cite{color:var(--on-forest-2)}
.pano-tabs{display:inline-flex; gap:6px; padding:5px; margin:0 0 14px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:999px}
.pano-tab{font:600 1rem var(--font); color:#fff; background:transparent; border:0; border-radius:999px; padding:10px 20px; cursor:pointer}
.pano-tab span{font-weight:400; opacity:.75; font-size:.85rem; margin-left:4px}
.pano-tab.on{background:var(--lime); color:#13302A}
.pano-tab.on span{opacity:.85}
@media (max-width:520px){.pano-tab span{display:none}}
.share{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:18px; font-size:.88rem; color:var(--on-forest-2)}
.share-btn{font:600 .85rem var(--font); background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:8px 14px; text-decoration:none; cursor:pointer}
.share-btn:hover{border-color:var(--lime); color:var(--lime)}
