/* Oppbygging etter balilife.org: hvit meny med pille-knapp, bilde-hero med fargetone, lys aqua-seksjoner, runde bilder og kort, mørkt visjonsbanner. Turkis hentet fra Pantone 3242 C. */
:root{
  --aqua:#6cdcd2;        /* Pantone 3242 C, brukes som lys aksent */
  --teal:#0a7f7c;        /* knapper og lenker */
  --teal-dark:#075f5d;
  --deep:#071b1b;
  --mist:#e4f6f3;        /* lys seksjonsflate */
  --ink:#0e1f1f;
  --muted:#46605e;
  --line:#d3e6e3;
  --white:#ffffff;
  --font:'Manrope','Helvetica Neue',Arial,sans-serif;
  --r:1.2rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.7;font-weight:500}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:74rem;margin-inline:auto;padding-inline:1.25rem}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:.3rem}
h1,h2,h3{font-family:var(--font);font-weight:800;line-height:1.15;margin:0;text-wrap:balance;overflow-wrap:break-word;letter-spacing:-.01em}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:.7rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}

/* Meny */
header.top{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 1px 0 var(--line),0 8px 24px rgba(7,27,27,.04)}
.top .wrap{display:flex;align-items:center;gap:1.4rem;min-height:5rem}
.brand{text-decoration:none;flex:none;line-height:1.05;color:var(--teal-dark);font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.brand small{display:block;font-size:.58rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);margin-top:.25rem}
nav.main{display:flex;gap:1.9rem;margin-inline:auto;align-items:center}
nav.main>a,nav.main .dd>a{font-size:.95rem;font-weight:600;text-decoration:none;white-space:nowrap;padding:1.8rem 0;display:block;color:var(--ink)}
nav.main>a:hover,nav.main .dd>a:hover,nav.main a[aria-current]{color:var(--teal)}
.dd{position:relative;padding-right:1.1rem}
.dd>a::after{content:"";position:absolute;right:0;top:50%;width:.4rem;height:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.dd .sub{display:none;position:absolute;left:-1rem;top:calc(100% - .6rem);min-width:17rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.5rem;box-shadow:0 18px 40px rgba(7,27,27,.14)}
.dd:hover .sub,.dd:focus-within .sub{display:block}
.sub a{display:block;padding:.65rem .9rem;text-decoration:none;font-size:.95rem;font-weight:600;border-radius:.6rem}
.sub a:hover,.sub a[aria-current]{background:var(--mist);color:var(--teal)}
.btn{display:inline-block;background:var(--teal);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;padding:.8rem 1.6rem;border-radius:999px;border:0;cursor:pointer;font-family:inherit;line-height:1.2;transition:background .2s}
.btn:hover{background:var(--teal-dark)}
.btn.white{background:#fff;color:var(--ink)}
.btn.white:hover{background:var(--mist)}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn.ghost:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.btn.sm{padding:.6rem 1.2rem;font-size:.9rem}

/* Språkvalg */
.lang{position:relative;flex:none}
.lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;padding:.5rem .7rem;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line)}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{box-shadow:inset 0 0 0 1.5px var(--teal)}
.lang svg{width:1.05rem;height:1.05rem;flex:none}
.lang .menu{position:absolute;right:0;top:calc(100% + .5rem);min-width:12.5rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.5rem;box-shadow:0 18px 40px rgba(7,27,27,.14);z-index:60}
.lang .menu a{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .8rem;text-decoration:none;font-size:.95rem;font-weight:600;border-radius:.6rem}
.lang .menu a:hover{background:var(--mist);color:var(--teal)}
.lang .menu a[aria-current]{color:var(--teal)}
.lang .menu small{color:var(--muted);font-weight:700}
.burger{display:none;margin-left:auto}
.burger summary{list-style:none;cursor:pointer;font-size:.9rem;font-weight:700;padding:.55rem .9rem;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line)}
.burger summary::-webkit-details-marker{display:none}
.burger .panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:1rem 1.25rem 1.5rem;max-height:calc(100vh - 5rem);overflow-y:auto;box-shadow:0 18px 30px rgba(7,27,27,.1)}
.burger .panel a{display:block;padding:.55rem 0;text-decoration:none;font-weight:600}
.burger .panel .grp{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:1rem 0 .2rem}
.burger .panel .indent{padding-left:1rem;color:var(--muted)}
@media (max-width:1040px){ nav.main{display:none} .burger{display:block} .top .wrap{gap:.6rem} .top .lang{margin-left:auto} .burger{margin-left:0} }
@media (max-width:520px){ .brand{font-size:1.1rem} .brand small{display:none} .top .btn{padding:.55rem .9rem;font-size:.82rem} .lang summary span{display:none} }

/* Hero */
.hero{position:relative;color:#fff;background:var(--teal-dark);min-height:clamp(30rem,72vh,44rem);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,52,50,.9) 0%,rgba(4,52,50,.62) 52%,rgba(4,52,50,.18) 100%)}
.hero .wrap{padding-block:clamp(3rem,8vw,5.5rem)}
.hero .txt{max-width:36rem}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);font-weight:800}
.hero p.lead{font-size:1.15rem;margin:1.4rem 0 2rem;max-width:32rem;color:#eafaf8}
.row{display:flex;flex-wrap:wrap;gap:.9rem}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 .9rem}
.hero .eyebrow,.pagehead .eyebrow,.banner .eyebrow{color:var(--aqua)}

/* Partnere */
.partners{border-bottom:1px solid var(--line);background:#fff}
.partners .wrap{display:flex;align-items:center;gap:2rem 3rem;padding-block:1.6rem;flex-wrap:wrap}
.partners h2{font-size:1.15rem;flex:none;max-width:9rem}
.partners .row{align-items:center;gap:1.5rem 2.5rem}
.partners img{height:2.8rem;width:auto;max-width:9rem;object-fit:contain;filter:saturate(.8)}

/* Seksjoner */
section{padding-block:clamp(3.2rem,8vw,6rem)}
section.alt{background:var(--mist)}
h2.title{font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:24ch}
.hl{color:var(--teal)}
.intro{max-width:40rem;color:var(--muted);margin:1rem 0 0}
.head{display:flex;flex-direction:column;margin-bottom:clamp(1.8rem,4vw,3rem)}
.head.center{align-items:center;text-align:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.split>*{min-width:0}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.ph{aspect-ratio:3/2;width:100%;border-radius:var(--r);background:linear-gradient(135deg,#bfe9e4,#8fd3cc);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.tall{aspect-ratio:3/4}
.ph.sq{aspect-ratio:1/1}
.prose p{margin:0 0 1.1rem;max-width:38rem}
.prose p:last-child{margin-bottom:0}
.prose h3{font-size:1.2rem;margin:2rem 0 .6rem}
.statement{font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:700;line-height:1.4;max-width:34ch;margin:0}

/* Effektkort (som Our Impact) */
.impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1.3rem}
.ic{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:30rem;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;padding:1.5rem;isolation:isolate;background:var(--deep)}
.ic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.ic::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 15%,rgba(0,0,0,.55) 48%,rgba(0,0,0,.92) 100%)}
.ic:hover img{transform:scale(1.04)}
.ic b{font-size:2.2rem;font-weight:800;color:var(--aqua);line-height:1}
.ic h3{font-size:1.1rem;margin-top:.5rem}
.ic i{display:block;width:3.2rem;height:3px;background:var(--aqua);margin:.8rem 0}
.ic p{margin:0;font-size:.95rem;color:#e8f4f2}
@media (prefers-reduced-motion:reduce){.ic img,.proj .ph img{transition:none}html{scroll-behavior:auto}}

/* Mål */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem}
.tile{border-radius:1rem;padding:1.3rem;color:#fff;min-width:0;display:flex;flex-direction:column;gap:.5rem}
.tile b{font-size:2rem;line-height:1;font-weight:800;color:var(--aqua)}
.tile h3{font-size:1rem}
.tile p{margin:0;font-size:.88rem;color:#dff3f0;line-height:1.5}
.t1{background:#0e3b3a}.t2{background:#075f5d}.t3{background:#0a7f7c}.t4{background:#0b6670}.t5{background:#14504f}

/* Visjonsbanner */
.banner{position:relative;background:var(--deep);color:#fff;border-radius:1.4rem;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;isolation:isolate}
.banner .txt{padding:clamp(1.8rem,5vw,3.5rem);position:relative;z-index:1}
.banner h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.banner p{color:#d5ecea;margin:1.1rem 0 1.8rem;max-width:30rem}
.banner .pic{position:relative;min-height:18rem}
.banner .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--deep),rgba(7,27,27,0) 45%)}
@media (max-width:820px){.banner{grid-template-columns:1fr}.banner .pic::after{background:linear-gradient(0deg,rgba(7,27,27,0),var(--deep))}}

/* Kort */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.3rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.7rem;min-width:0;display:flex;flex-direction:column;gap:.8rem}
section.alt .card{border-color:transparent}
.card h3{font-size:1.15rem}
.card p{margin:0;color:var(--muted);font-size:.97rem}
.card .btn{align-self:flex-start;margin-top:auto}
.card.main{background:var(--teal);color:#fff;border-color:var(--teal)}
.card.main p{color:#e1f6f4}
.card.main .btn{background:#fff;color:var(--teal-dark)}
.ico{width:3rem;height:3rem;border-radius:50%;background:var(--mist);display:grid;place-items:center;color:var(--teal)}
.card.main .ico{background:rgba(255,255,255,.18);color:#fff}
.ico svg{width:1.4rem;height:1.4rem}
.num{font-weight:800;font-size:1.5rem;letter-spacing:.01em;word-break:break-word}
.give{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.3rem}

.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.3rem}
.proj{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;min-width:0;transition:box-shadow .2s,transform .2s}
.proj:hover{box-shadow:0 14px 34px rgba(7,27,27,.12);transform:translateY(-3px)}
.proj .ph{border-radius:0;aspect-ratio:3/2}
.proj .ph img{transition:transform .5s}
.proj:hover .ph img{transform:scale(1.04)}
.proj .body{padding:1.3rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.proj h3{font-size:1.15rem}
.proj p{margin:0;font-size:.97rem;color:var(--muted)}
.proj .more{margin-top:auto;padding-top:.4rem;font-size:.9rem;font-weight:800;color:var(--teal)}
@media (prefers-reduced-motion:reduce){.proj{transition:none}.proj:hover{transform:none}}

.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.4rem}
.post{text-decoration:none;display:block;min-width:0}
.post .ph{margin-bottom:1rem}
.post h3{font-size:1.1rem}
.post:hover h3{color:var(--teal)}
.post p{color:var(--muted);margin:.5rem 0 0;font-size:.96rem}
.eventcard{display:flex;flex-direction:column;gap:.6rem;padding:1.8rem;background:var(--teal);color:#fff;text-decoration:none;border-radius:var(--r);min-width:0}
.eventcard h3{font-size:1.5rem;margin-top:.4rem}
.eventcard .when{margin:0;color:#dff6f3;font-weight:700}
.eventcard .more{margin-top:auto;padding-top:1rem;font-weight:800;font-size:.9rem}
.tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--aqua);color:var(--deep);padding:.3rem .7rem;border-radius:999px;align-self:flex-start}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem;margin-top:2.2rem}
.facts div{border-top:3px solid var(--aqua);padding-top:.8rem}
.facts b{display:block;font-weight:800;font-size:1.7rem;color:var(--teal)}
.facts span{font-size:.92rem;color:var(--muted)}
.goals{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.goals li{background:#fff;border-radius:1rem;padding:1.5rem;min-width:0;border:1px solid var(--line)}
.goals b{display:block;font-weight:800;margin-bottom:.4rem;color:var(--teal)}
.goals span{color:var(--muted);font-size:.97rem}

.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.4rem}
.person{min-width:0}
.person .face{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:linear-gradient(160deg,#bfe9e4,#7ccdc5);display:grid;place-items:center;font-weight:800;font-size:2.4rem;color:#ffffffaa}
.person .face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.person h3{font-size:1.05rem;margin-top:.9rem}
.person p{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.2rem}
.logo{background:#fff;border:1px solid var(--line);border-radius:var(--r);aspect-ratio:3/2;display:grid;place-items:center;padding:1.4rem;overflow:hidden}
.logo img{max-height:100%;width:auto;object-fit:contain}

.events{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.event{display:grid;grid-template-columns:11rem 1fr;gap:1.5rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:start}
.event .when{font-weight:800;font-size:1.3rem;line-height:1.2;color:var(--teal)}
.event .when small{display:block;font-weight:700;font-size:.72rem;letter-spacing:.14em;color:var(--muted);margin-top:.4rem;text-transform:uppercase}
.event h3{font-size:1.2rem}
.event p{margin:.6rem 0 0;color:var(--muted);max-width:44rem}
.event .tag{margin-left:.6rem;vertical-align:middle}
@media (max-width:620px){.event{grid-template-columns:1fr;gap:.5rem}}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem}
.contact .card a{font-size:1.05rem;overflow-wrap:anywhere;font-weight:700;color:var(--teal)}
.copy{font:inherit;font-size:.82rem;font-weight:700;background:var(--mist);color:var(--teal-dark);border:0;border-radius:999px;padding:.4rem .9rem;margin-top:.2rem;cursor:pointer;align-self:flex-start}
.copy:hover{background:#cdeeea}

/* Sidehode for undersider */
.pagehead{background:linear-gradient(135deg,var(--teal-dark),#0b4a4a);color:#fff}
.pagehead .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;padding-block:clamp(2.6rem,6vw,4.5rem)}
.pagehead .wrap.solo{grid-template-columns:1fr}
.pagehead .wrap>*{min-width:0}
.pagehead h1{font-size:clamp(1.9rem,4.4vw,3.2rem);max-width:20ch}
.pagehead p.lead{max-width:36rem;font-size:1.15rem;margin:1.2rem 0 0;color:#d9f2ef}
.pagehead .ph{box-shadow:0 20px 50px rgba(0,0,0,.25)}
@media (max-width:860px){.pagehead .wrap{grid-template-columns:1fr}}
.crumbs{font-size:.85rem;font-weight:600;color:#b9e6e1;margin:0 0 1.1rem}
.crumbs a{text-decoration:none;border-bottom:1px solid #ffffff55}
.crumbs a:hover{color:#fff}

.band{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;padding-block:clamp(2.4rem,6vw,4rem)}
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.band h2{font-size:clamp(1.4rem,3vw,2rem);max-width:24ch}
.band p{margin:.6rem 0 0;color:#d6f2ef;max-width:34rem}

footer{background:var(--deep);color:#eef7f6;padding-block:3.5rem 2.5rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:2rem}
footer h4{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--aqua);margin:0 0 .8rem}
footer p,footer a{color:#b9cfcc;margin:0;font-size:.97rem;overflow-wrap:anywhere}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
footer .brand{color:#fff;font-size:1.4rem}
footer .fine{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #1b3333;font-size:.85rem;color:#7f9a97}
a.card{text-decoration:none;color:inherit}a.card.main{color:#fff}a.card .more{margin-top:auto}

/* Støttespillere-oppfordring */
section.seek{background:var(--mist)}
.seekbox{background:var(--teal);color:#fff;border-radius:1.4rem;padding:clamp(1.6rem,4.5vw,3.2rem);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;position:relative;overflow:hidden}
.seekbox .eyebrow{color:var(--deep);background:var(--aqua);display:inline-block;padding:.3rem .8rem;border-radius:999px;letter-spacing:.14em}
.seekbox .title{max-width:20ch}
.seekbox .intro{color:#e3f7f5}
.seekcards{display:grid;gap:.8rem}
.seekcard{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:1rem;padding:1.1rem 1.3rem}
.seekcard h3{font-size:1.05rem}
.seekcard p{margin:.3rem 0 0;font-size:.93rem;color:#e3f7f5}
.seeknow{margin:2rem 0 .8rem;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua)}
.seeklogos img{height:2.6rem;width:auto;max-width:8rem;object-fit:contain;background:#fff;border-radius:.6rem;padding:.4rem .7rem}
@media (max-width:860px){.seekbox{grid-template-columns:1fr}}
.projects.two{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));max-width:56rem;margin-inline:auto}

/* Kart */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.chip{font:inherit;font-weight:700;font-size:.9rem;background:#fff;color:var(--teal-dark);border:0;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px;padding:.5rem 1rem;cursor:pointer}
.chip:hover,.chip.on{background:var(--teal);color:#fff;box-shadow:none}
.mapgrid{display:grid;grid-template-columns:1.7fr 1fr;gap:1.3rem;align-items:stretch}
.mapgrid>*{min-width:0}
@media (max-width:900px){.mapgrid{grid-template-columns:1fr}}
.mapbox{position:relative;z-index:0;isolation:isolate;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#dff3f0;min-height:30rem}
#map{position:absolute;inset:0;font-family:var(--font)}
.toggle{position:absolute;left:.8rem;bottom:1.6rem;z-index:500;background:#fff;border-radius:999px;padding:.5rem 1rem;font-size:.88rem;font-weight:700;box-shadow:0 4px 14px rgba(7,27,27,.2);cursor:pointer;display:flex;gap:.5rem;align-items:center}
.toggle input{accent-color:var(--teal);width:1rem;height:1rem}
.pin{display:block;width:30px;height:30px;background:var(--teal);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 10px rgba(7,27,27,.35);position:relative}
.pin::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.dot{display:block;width:18px;height:18px;border-radius:50%;background:var(--aqua);border:3px solid var(--deep);box-shadow:0 2px 8px rgba(7,27,27,.35)}
.leaflet-marker-icon:focus-visible .pin,.leaflet-marker-icon:focus-visible .dot{outline:3px solid var(--deep);outline-offset:3px}
.mappanel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;display:flex;flex-direction:column;gap:.7rem;align-content:start}
.mappanel .hint{color:var(--muted);margin:0}
.mappanel.on{border-color:var(--teal);box-shadow:0 14px 34px rgba(7,27,27,.1)}
.mappanel h3{font-size:1.5rem}
.mappanel p{margin:0}
.mappanel .meta,.ugcard .meta{font-weight:700;color:var(--teal);font-size:.9rem}
.mappanel .tag{align-self:flex-start}
.tag.grp{background:var(--deep);color:var(--aqua)}
.mappanel .row{margin-top:.6rem}
.ugs{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.ugcard .copy{margin-top:auto}

/* Bønneliste */
ol.pray{list-style:none;counter-reset:p;padding:0;margin:0;display:grid;gap:.8rem}
ol.pray li{counter-increment:p;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1rem 1.2rem 1rem 3.6rem;position:relative}
section.alt ol.pray li{border-color:transparent}
ol.pray li::before{content:counter(p);position:absolute;left:1rem;top:.9rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:.85rem;display:grid;place-items:center}
ol.pray b{display:block;color:var(--teal-dark)}
ol.pray b small{font-weight:600;color:var(--muted)}
@media print{header.top,.band,footer,.noprint,.banner,.pagehead .wrap>:not(div:first-child){display:none!important}section{padding-block:1rem}.pagehead{background:none;color:#000}.pagehead h1{color:#000}.pagehead .eyebrow{color:#000}ol.pray li{break-inside:avoid;border:1px solid #999}}

/* Forside-hero med kart */
.hero.herom{min-height:0;align-items:stretch}
.herom::after{background:linear-gradient(100deg,rgba(4,52,50,.94) 0%,rgba(4,52,50,.82) 55%,rgba(4,52,50,.7) 100%)}
.herogrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2.4rem,6vw,4.2rem)!important}
.herogrid>*{min-width:0}
.heromap{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:1.4rem;padding:1rem;display:flex;flex-direction:column;gap:.7rem;backdrop-filter:blur(6px)}
.maptitle{margin:0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua)}
.maptitle a{color:#fff;text-decoration:none;letter-spacing:.04em;text-transform:none;font-size:.9rem}
.heromap .chips{margin:0;gap:.4rem}
.heromap .chip{background:rgba(255,255,255,.14);color:#fff;box-shadow:none;font-size:.82rem;padding:.4rem .8rem}
.heromap .chip:hover,.heromap .chip.on{background:var(--aqua);color:var(--deep)}
.heromap .mapbox{min-height:22rem;border-radius:1rem;border:0}
.heromap .mappanel{padding:1.1rem 1.3rem;gap:.4rem;color:var(--ink)}
.heromap .mappanel h3{font-size:1.2rem}
.heromap .mappanel p{font-size:.93rem;line-height:1.55}
.heromap .mappanel .hint{font-size:.9rem}
@media (max-width:900px){.herogrid{grid-template-columns:1fr}.heromap .mapbox{min-height:19rem}}

/* Bildemosaikk, plan, budsjett */
.mosaic{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem}
.mosaic .ph{aspect-ratio:4/3;border-radius:1rem}
.mosaic.m3{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.mosaic.render .ph{aspect-ratio:3/2}
@media (min-width:900px){.mosaic:not(.m3){grid-template-columns:repeat(3,1fr)}}
.years{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem}
.year{border-radius:var(--r);padding:1.5rem;color:#fff;display:flex;flex-direction:column;gap:.6rem}
.year b{font-size:2rem;line-height:1}
.year h3{font-size:1.1rem}
.year p{margin:0;font-size:.95rem;color:#effbf9}
.y1{background:#d9732b}.y2{background:var(--teal)}.y3{background:var(--teal-dark)}
.year.y1 p{color:#fff3ea}
ul.checks{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
ul.checks li{position:relative;padding:.7rem 1rem .7rem 2.8rem;background:#fff;border:1px solid var(--line);border-radius:.9rem;font-weight:600}
ul.checks li::before{content:"";position:absolute;left:1rem;top:50%;width:.5rem;height:.9rem;border:solid var(--teal);border-width:0 3px 3px 0;transform:translateY(-62%) rotate(45deg)}
ul.checks.cols{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
ul.checks.inv li{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
ul.checks.inv li::before{border-color:#fff}
.cards.two{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.card.orange{background:#d9732b;color:#fff;border-color:#d9732b}
.budget{width:100%;border-collapse:collapse;font-size:.97rem}
.budget td{padding:.7rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}
.budget td:last-child{text-align:right;font-weight:800;white-space:nowrap;padding-left:1rem}
.budget tr.tot td{border-bottom:0;border-top:3px solid var(--teal);font-weight:800;color:var(--teal-dark);font-size:1.05rem}
.pray2 b{display:block}
section .split>div>.ph{margin-top:1.6rem}

/* Hero-tittel i Manrope (som Bali Life) */
.hero h1{font-family:var(--font);font-weight:800;font-size:clamp(2.4rem,4.8vw,4.2rem);line-height:1.05;letter-spacing:-.025em}
.hero h1 span{display:block;color:#f6b98c}
.hero.herom .herogrid{padding-bottom:clamp(6rem,11vw,9rem)!important}
.hero p.lead{font-size:1.2rem}

/* Innsamlingskort */
.giveband{padding-top:0;padding-bottom:clamp(2.5rem,6vw,4.5rem);background:#fff}
.giveband .gwgrid{display:grid;grid-template-columns:1fr minmax(0,30rem);gap:clamp(1.5rem,5vw,4.5rem);align-items:start}
.giveband .gwgrid>*{min-width:0}
.giveband:not(.solo) .gw{margin-top:clamp(-7rem,-9vw,-4rem);position:relative;z-index:5}
.giveband .gwtext{padding-top:clamp(2.5rem,6vw,4.5rem)}
.giveband.solo{padding-top:clamp(2.5rem,6vw,4rem)}
.giveband.solo .gwtext{padding-top:0}
.tagbox{display:inline-block;background:var(--mist);color:var(--teal-dark);font-weight:700;font-size:.95rem;padding:.4rem .9rem;border-radius:.4rem;margin:0 0 1.2rem}
@media (max-width:900px){.giveband .gwgrid{grid-template-columns:1fr}.giveband:not(.solo) .gw{margin-top:-3rem;order:2}.giveband .gwtext{padding-top:0;order:1}.giveband:not(.solo){padding-top:2.5rem}}
.gw{background:var(--teal-dark);color:#fff;border-radius:1.2rem;padding:clamp(1.4rem,3.5vw,2.2rem);display:flex;flex-direction:column;gap:1rem;box-shadow:0 24px 60px rgba(7,27,27,.28)}
.gw h3{font-size:1.9rem;font-weight:700}
.gw-mode{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.gw-mode button{font:inherit;font-weight:700;background:transparent;color:#fff;border:0;padding:.5rem 0;cursor:pointer;display:flex;align-items:center;gap:.6rem;text-align:left}
.gw-mode button::before{content:"";width:1.4rem;height:1.4rem;border-radius:50%;border:2px solid rgba(255,255,255,.7);flex:none}
.gw-mode button[aria-checked=true]::before{background:var(--aqua);border-color:var(--aqua);box-shadow:inset 0 0 0 4px var(--teal-dark)}
.gw-l{font-weight:600;font-size:.95rem}
.gw select,.gw input{font:inherit;color:var(--ink);background:#fff;border:0;border-radius:.7rem;padding:.9rem 1rem;width:100%}
.gw select{appearance:auto}
.gw-amts{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.amt{font:inherit;font-weight:700;background:#fff;color:var(--ink);border:2px solid #fff;border-radius:.7rem;padding:.8rem .2rem;cursor:pointer}
.amt[aria-pressed=true]{background:var(--aqua);border-color:var(--aqua);color:var(--deep)}
.gw-custom{position:relative}
.gw-custom span{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700}
.gw-btns{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.gb{font:inherit;font-weight:700;text-decoration:none;text-align:center;color:#fff;background:transparent;border:2px solid rgba(255,255,255,.85);border-radius:999px;padding:.8rem .6rem;cursor:pointer;line-height:1.2;display:flex;align-items:center;justify-content:center}
.gb:hover{background:#fff;color:var(--teal-dark)}
.gb-once:first-child{background:var(--aqua);border-color:var(--aqua);color:var(--deep)}
.gb-month{grid-column:1/-1}
.gw[data-mode=once] .gb-month{display:none}
.gw[data-mode=month] .gb-once{display:none}
.gw-out{font-size:.95rem}
.gw-out:empty{display:none}
.gw-out p{margin:0;color:#e3f7f5}
.gw-row{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;align-items:center;background:rgba(255,255,255,.1);border-radius:.8rem;padding:.7rem 1rem;margin-bottom:.5rem}
.gw-row span{grid-column:1/-1;font-size:.82rem;color:#cdeeea}
.gw-row b{font-size:1.15rem;overflow-wrap:anywhere}
.gw-row .copy{margin:0;background:#fff}
.gw-thanks{font-weight:700;margin-top:.4rem!important;color:#fff!important}

/* ---- Runde: kompakt side, Aktuelt, mobil ---- */
.ic{min-height:26rem}
section{padding-block:clamp(4rem,9vw,7.5rem)}
.mosaic.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
.mosaic.strip .ph{aspect-ratio:1/1;border-radius:.8rem}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.8rem .8rem 1.2rem;transition:box-shadow .2s,transform .2s}
.post:hover{box-shadow:0 10px 30px rgba(7,27,27,.1);transform:translateY(-2px)}
.post .ph{border-radius:.8rem}
.post h3,.post p{padding-inline:.4rem}
.readmore{display:inline-block;margin:.9rem .4rem 0;padding:.5rem 1.1rem;border-radius:999px;background:var(--teal);color:#fff;font-weight:800;font-size:.9rem}
.post:hover .readmore{background:var(--teal-dark)}
@media (max-width:700px){
  .wrap{padding-inline:1.1rem}
  section{padding-block:3.6rem}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .chips{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin-inline:-1.1rem;padding:.2rem 1.1rem .5rem;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;min-height:44px;scroll-snap-align:start;white-space:nowrap}
  .heromap .mapbox,.mapbox{min-height:17rem}
  .impact{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.9rem;margin-inline:-1.1rem;padding:0 1.1rem .8rem;scrollbar-width:none}
  .impact::-webkit-scrollbar{display:none}
  .ic{flex:0 0 78%;scroll-snap-align:center;min-height:19rem}
  .mosaic.strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-1.1rem;padding:0 1.1rem;scrollbar-width:none}
  .mosaic.strip .ph{flex:0 0 38%;scroll-snap-align:start}
  .goals{grid-template-columns:1fr 1fr;gap:.7rem}
  .goals li{padding:1rem}
  .btn,summary,.chip{min-height:44px}
  .giveband:not(.solo) .gw{order:1;margin-top:0}
  .giveband .gwtext{order:2;padding-top:1.5rem}
  footer{padding-block:2.2rem 1.6rem}
  footer .cols{grid-template-columns:1fr 1fr;gap:1.4rem}
  footer .cols>*:first-child{grid-column:1/-1}
}
@media (max-width:700px){
  .tiles{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.6rem!important}
  .tile{padding:.9rem!important;min-height:0!important}
  .tile p,.tile span{font-size:.85rem}
  .banner .pic{display:none}
  .banner .txt{padding:1.6rem}
  .cards:not(.two){grid-template-columns:1fr 1fr;gap:.7rem}
  .cards:not(.two) .card{padding:1.1rem}
  .cards:not(.two) .card.main{grid-column:1/-1}
  .cards:not(.two) .card p{font-size:.88rem}
}
.post .meta{font-size:.82rem;font-weight:700;color:var(--teal);margin:.3rem 0 0}
.wrap.narrow{max-width:46rem}
.hero-img{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;margin-bottom:2rem}
.hero-img img{width:100%;height:100%;object-fit:cover}
.article p,.article ul{font-size:1.08rem;line-height:1.75;margin:0 0 1.2rem}
.article ul{padding-left:1.3rem}
.article h3{font-size:1.4rem;line-height:1.35;margin:2rem 0 1rem;color:var(--teal-dark)}
.article blockquote{margin:1.6rem 0;padding:1.2rem 1.5rem;border-left:4px solid var(--aqua);background:var(--mist);border-radius:0 1rem 1rem 0;font-style:italic;line-height:1.7}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin-top:2rem}
.gallery .ph{aspect-ratio:4/3;border-radius:1rem}
.statband{padding-block:2rem;background:var(--mist)}
.statband .eyebrow{margin:0 0 .8rem}
.facts.compact{margin-top:0;gap:1rem}
.facts.compact b{font-size:1.25rem}
.facts.compact span{font-size:.85rem;line-height:1.4;display:block}
.facts.compact div{padding-top:.5rem;border-top-width:2px}
.magazine{display:grid;grid-template-columns:minmax(0,18rem) 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;text-decoration:none;color:inherit;background:var(--mist);border-radius:1.4rem;padding:clamp(1.5rem,4vw,3rem)}
.magazine .cover img{width:100%;height:auto;display:block;border-radius:.5rem;box-shadow:0 18px 40px rgba(7,27,27,.22);transition:transform .3s}
.magazine:hover .cover img{transform:rotate(-1.5deg) scale(1.02)}
.magazine .intro{margin:.8rem 0 1.5rem}
@media (max-width:700px){.magazine{grid-template-columns:1fr;text-align:left}.magazine .cover{max-width:12rem}}
/* logo */
.brand img{display:block;height:2.7rem;width:auto}
footer .brand img{height:3.6rem}
@media (max-width:520px){.brand img{height:2.2rem}}
.band,.pagehead{position:relative;overflow:hidden}
.band>.wrap,.pagehead>.wrap{position:relative;z-index:1}
.band::after,.pagehead::after{content:"";position:absolute;right:-3%;bottom:-12%;width:min(46vw,520px);aspect-ratio:1432/472;background:url(logo-white.png) no-repeat center/contain;opacity:.09;pointer-events:none}
@media (max-width:700px){.band::after,.pagehead::after{width:80vw;right:-10%}}
.pagehead::after{right:auto;left:42%;bottom:-8%;width:min(34vw,420px)}
@media (max-width:700px){.pagehead::after{left:auto;right:-10%}}
