/* Layout: kystplakat – mørk hav-hero, gul bølgjestripe, papirkort med harde skuggar, grøn lineup-plakat */
:root{
  --hav:#1D2B4F; --grøn:#A9CBDC; --djupgrøn:#2A5674; --grøntekst:#2A5674; --sølv:#DCE8EC;
  --sol:#FF5A36; --gul:#FFC845; --papir:#FBF6EA; --kvit:#FFFFFF; --grå:#3B4766; --line:#33426A;
  --display:'Bagel Fat One','Arial Black',Impact,sans-serif;
  --body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'DM Mono',ui-monospace,Menlo,monospace;
  --gutter:clamp(16px,5.5vw,80px);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hav);color:var(--hav);font-family:var(--body);font-size:17px;line-height:1.5;overflow-x:clip}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gul);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:.95;text-wrap:balance}
p{margin:0}
.wrap{padding-inline:var(--gutter)}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;border:2px solid transparent;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn-sol{background:var(--sol);color:var(--hav);border-color:var(--hav)}
.btn-ghost{color:var(--papir);border-color:var(--papir)}
.btn-hav{background:var(--hav);color:var(--papir)}
.btn-papir{background:var(--papir);color:var(--hav)}

/* NAV */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--hav);color:var(--papir);display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
header.nav{transition:padding-block .2s,background-color .2s,transform .28s ease}
header.nav.is-compact{padding-block:6px;background:rgba(40,77,106,.93);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2)}
header.nav.is-compact .brand{font-size:22px}
header.nav.is-hidden{transform:translateY(-110%)}
header.nav.is-open{background:var(--hav);-webkit-backdrop-filter:none;backdrop-filter:none}
html.menu-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){header.nav{transition:none}}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-size:26px}
.nav nav{display:flex;align-items:center;gap:26px;font-weight:500}
.nav nav a{text-decoration:none}
.nav nav a:hover{color:var(--gul)}
.nav .btn{min-height:44px;padding:10px 18px;font-size:15px;white-space:nowrap}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:2px solid var(--papir);background:transparent;color:var(--papir);cursor:pointer;align-items:center;justify-content:center}
.mobile-menu{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + var(--nav-h,72px));z-index:9;bottom:0;overflow-y:auto;overscroll-behavior:contain;background:var(--hav);color:var(--papir);padding-block:8px 24px;display:flex;flex-direction:column;gap:4px;font-family:var(--display);font-size:28px}
.mobile-menu a{text-decoration:none;padding:6px 0}
@media (max-width:980px){.nav nav .lnk{display:none}.menu-btn{display:inline-flex}}

/* HERO */
.hero{position:relative;background:var(--hav);color:var(--papir);padding-block:clamp(40px,6vw,72px) clamp(110px,12vw,150px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:center}
.hero .eyebrow{color:var(--gul)}
.hero h1{font-size:clamp(88px,14vw,205px);letter-spacing:-.03em;line-height:.88;margin-top:10px;padding-bottom:.14em}
.hero h1 span{color:var(--sol)}
.tagline{margin-top:8px;font-size:clamp(19px,2vw,26px);line-height:1.35;color:var(--sølv);max-width:28ch}
.when{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:22px}
.when b{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);color:var(--gul)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--grøn)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.fish-wrap{position:relative;min-width:0}
.fish{width:100%;height:auto;display:block;animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-14px) rotate(-3deg)}}
.sticker{position:absolute;z-index:2;right:2%;top:-30%;width:clamp(96px,13vw,180px);aspect-ratio:1;border-radius:50%;background:var(--gul);color:var(--hav);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-size:clamp(16px,2vw,28px);line-height:1;transform:rotate(12deg);box-shadow:5px 5px 0 var(--sol)}
.count{display:inline-flex;align-items:baseline;gap:10px;margin-top:10px;background:var(--papir);color:var(--hav);padding:12px 20px;border-radius:16px;transform:rotate(-3deg)}
.count b{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1;font-variant-numeric:tabular-nums}
.count span{font-weight:700}
.wave{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(50px,6vw,90px);display:block}
@media (max-width:820px){.hero-grid{grid-template-columns:minmax(0,1fr)}.fish-wrap{max-width:420px;margin-top:56px}.sticker{top:-34%;right:0}}

/* MARQUEE */
.marq{background:var(--gul);padding-block:14px 18px;overflow:hidden;font-family:var(--display);font-size:clamp(22px,2.6vw,34px)}
.marq-track{display:flex;gap:36px;width:max-content;animation:marq 40s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}

section.paper{background:var(--papir);padding-block:clamp(64px,8vw,120px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;margin-bottom:clamp(28px,4vw,48px)}
.sec-head h2{font-size:clamp(44px,5.6vw,76px)}
.sec-head p{max-width:42ch;font-size:18px}

/* ORDBOK */
.manifest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,80px);align-items:center}
.ordbok{background:var(--kvit);border:3px solid var(--hav);border-radius:28px;padding:clamp(24px,4vw,48px);box-shadow:10px 10px 0 var(--hav);transform:rotate(-1.5deg);min-width:0}
.ordbok .eyebrow{color:var(--djupgrøn)}
.headword{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:12px}
.headword b{font-family:var(--display);font-weight:400;font-size:clamp(60px,7vw,96px);line-height:1}
.headword span{font-family:var(--mono);font-size:16px;color:var(--grå)}
.ordbok ol{margin:20px 0 0;padding-left:24px;font-size:clamp(17px,1.6vw,21px);display:flex;flex-direction:column;gap:6px}
.ordbok .see{margin-top:16px;color:var(--grå)}
.ordbok .quote{margin-top:16px;font-style:italic;color:var(--grå)}
.manifest-text{display:flex;flex-direction:column;gap:20px;min-width:0}
.manifest-text h2{font-size:clamp(44px,5.4vw,72px)}
.manifest-text h2 span{color:#E05A24}
.manifest-text p{font-size:clamp(17px,1.6vw,20px);max-width:52ch}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{font-weight:700;padding:9px 16px;border-radius:999px}
@media (max-width:820px){.manifest{grid-template-columns:minmax(0,1fr)}}

/* STADER */
.places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.place{border:3px solid var(--hav);border-radius:32px;padding:clamp(24px,3.4vw,40px);min-height:clamp(340px,34vw,460px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-width:0}
.place.day{background:var(--gul)}
.place.night{background:var(--hav);color:var(--papir)}
.place.night .eyebrow{color:var(--gul)}
.place-top{display:flex;justify-content:space-between;align-items:flex-start}
.place h3{font-size:clamp(52px,6vw,88px)}
.place p{margin-top:16px;font-size:18px;max-width:40ch}
.place.night p{color:var(--sølv)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;font-weight:700;font-size:14px}
.tags span{border:2px solid currentColor;padding:6px 12px;border-radius:999px}
@media (max-width:760px){.places{grid-template-columns:minmax(0,1fr)}}

/* LINEUP */
.lineup{position:relative;background:var(--djupgrøn);color:var(--papir);text-align:center;padding-block:clamp(90px,10vw,130px) clamp(64px,8vw,120px)}
.lineup .wave-top{position:absolute;left:0;top:-1px;width:100%;height:clamp(36px,4vw,60px);display:block}
.pill{display:inline-block;background:var(--hav);color:var(--gul);padding:9px 16px;border-radius:999px}
.lineup h2{font-size:clamp(52px,7vw,96px);margin-top:20px}
.lineup .lead{margin:14px auto 0;max-width:46ch;font-size:19px;color:#E6F1EC}
.names{margin:clamp(32px,5vw,56px) auto 0;max-width:1180px;font-family:var(--display);line-height:1.15;display:flex;flex-direction:column;gap:6px}
.t1{font-size:clamp(34px,5.4vw,76px)}
.t2{font-size:clamp(28px,4.4vw,64px);color:var(--gul)}
.t3{font-size:clamp(20px,3vw,44px);color:var(--hav);margin-top:12px}
.t4{font-size:clamp(17px,2.2vw,32px);margin-top:10px}
.lineup .ctas{justify-content:center;margin-top:clamp(32px,5vw,56px)}

/* BILLETT */
.tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.ticket{background:var(--kvit);border:3px solid var(--hav);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ticket .eyebrow{color:var(--djupgrøn)}
.ticket h3{font-size:clamp(34px,3.4vw,44px)}
.price{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}
.ticket p{color:var(--grå)}
.ticket .btn{margin-top:auto;border-color:var(--hav)}
.ticket.best{position:relative;background:var(--sol);box-shadow:10px 10px 0 var(--hav);transform:translateY(-12px)}
.ticket.best p,.ticket.best .eyebrow{color:var(--hav)}
.badge{position:absolute;top:-22px;right:22px;background:var(--gul);border:3px solid var(--hav);padding:6px 14px;border-radius:999px;font-family:var(--display);font-size:18px;transform:rotate(6deg)}
@media (max-width:900px){.tickets{grid-template-columns:minmax(0,1fr)}.ticket.best{transform:none;order:-1;margin-top:14px}}

/* PRAKTISK */
.info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.info a{text-decoration:none;border:3px solid var(--hav);border-radius:24px;padding:26px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:var(--kvit);transition:transform .15s}
.info a:hover{transform:translateY(-4px)}
.info a.dark{background:var(--hav);color:var(--papir)}
.info a.green{background:var(--grøn)}
.info b{display:block;font-family:var(--display);font-weight:400;font-size:28px}
.info small{display:block;margin-top:4px;font-size:15px}
@media (max-width:980px){.info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.info a{min-height:150px;padding:20px}}

/* STIMEN */
.stim{background:var(--sol);border-block:3px solid var(--hav);padding-block:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;align-items:center}
.stim h2{font-size:clamp(48px,6vw,80px)}
.stim p{margin-top:16px;font-size:19px;max-width:40ch}
.stim form{display:flex;flex-direction:column;gap:12px;min-width:0}
.stim label{font-weight:700}
.row{display:flex;flex-wrap:wrap;gap:10px}
.row input{flex:1 1 220px;min-width:0;font:inherit;font-size:18px;padding:15px 22px;border:3px solid var(--hav);border-radius:999px;background:var(--papir);color:var(--hav)}
.row button{font:inherit;font-weight:700;font-size:18px;padding:15px 28px;border-radius:999px;border:3px solid var(--hav);background:var(--hav);color:var(--papir);cursor:pointer}
.thanks{font-weight:700}
.social{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px;font-weight:700}
@media (max-width:820px){.stim{grid-template-columns:minmax(0,1fr)}}


/* FOOTER */
footer{background:var(--hav);color:var(--papir);padding-block:72px 40px;display:flex;flex-direction:column;gap:48px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}
.foot-logo{font-family:var(--display);font-size:clamp(72px,10vw,140px);line-height:.85;letter-spacing:-.02em;padding-bottom:.14em}
.foot-logo span{color:var(--sol)}
.foot-top p{margin-top:16px;color:var(--sølv);font-size:18px}
.foot-links{display:grid;grid-template-columns:repeat(2,auto);gap:10px 48px;align-content:start}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--gul)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:15px;color:#B9CCC5;border-top:1px solid var(--line);padding-top:22px}

/* ANKER */
[id]{scroll-margin-top:84px}

/* FOTOKORT – visest berre når biletet finst */
.photo{margin:clamp(40px,6vw,72px) auto 0;max-width:980px;background:var(--kvit);padding:14px 14px 12px;border:3px solid var(--hav);box-shadow:10px 10px 0 var(--hav);transform:rotate(-1.2deg);position:relative}
.photo.r{transform:rotate(1.2deg)}
.photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--sølv)}
.photo figcaption{margin-top:10px;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--grå)}
.photo::before{content:"";position:absolute;top:-14px;left:50%;width:120px;height:28px;margin-left:-60px;background:rgba(255,201,60,.85);transform:rotate(-3deg)}
.photo-band{background:var(--papir);padding-block:clamp(56px,7vw,96px) 0}
.photo-band:not(:has(.photo:not([hidden]))){display:none}

/* LINEUP 2027 / 2026 */
.soon{font-size:clamp(40px,5vw,72px);margin-top:20px}
.lineup .lead a{color:#fff;text-decoration-color:var(--gul);text-decoration-thickness:2px;text-underline-offset:3px}
.divider{margin:clamp(40px,6vw,64px) auto;max-width:420px;height:3px;background:repeating-linear-gradient(90deg,var(--papir) 0 14px,transparent 14px 24px);opacity:.5}
.past-label{display:inline-flex;gap:10px;align-items:center;font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--sølv)}
.past-label b{background:var(--papir);color:var(--hav);padding:4px 10px;border-radius:6px;letter-spacing:.08em}
.past-h{font-size:clamp(40px,5.4vw,76px);margin-top:14px}

/* SPONSORAR */
.partners{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.partner{min-height:96px;min-width:220px;padding:20px 28px;border-radius:20px;background:var(--kvit);border:3px solid var(--hav);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}

/* EASTER EGGS – ingen synlege hint */
.egg{all:unset;cursor:pointer;-webkit-tap-highlight-color:transparent}
.egg:focus-visible{outline:3px solid var(--gul);outline-offset:4px;border-radius:6px}
.swap{display:inline-grid}
.swap>span{grid-area:1/1}
.swap .alt{visibility:hidden}
.swap.on .alt{visibility:visible}
.swap.on .std{visibility:hidden}
#stader{position:relative;overflow:hidden}
.place{position:relative;overflow:hidden}
.mist{position:absolute;inset:0 -15%;pointer-events:none;opacity:0;z-index:3;background:radial-gradient(ellipse at 20% 30%,rgba(243,238,226,.95),transparent 55%),radial-gradient(ellipse at 75% 55%,rgba(220,237,230,.9),transparent 55%),radial-gradient(ellipse at 30% 85%,rgba(243,238,226,.9),transparent 55%),radial-gradient(ellipse at 80% 15%,rgba(243,238,226,.8),transparent 50%),linear-gradient(rgba(236,240,236,.55),rgba(236,240,236,.55));display:flex;align-items:flex-start;justify-content:flex-end;padding:22px calc(15% + 22px)}
.mist span{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--hav);background:rgba(243,238,226,.8);padding:6px 10px;border-radius:6px}
.place.misty .mist{animation:mist 3.2s ease-in-out forwards}
@keyframes mist{0%{opacity:0;transform:translateX(-8%)}25%{opacity:.92}75%{opacity:.88}100%{opacity:0;transform:translateX(8%)}}
.fish-btn{all:unset;cursor:pointer;display:block;width:100%;-webkit-tap-highlight-color:transparent}
.fish-btn:focus-visible{outline:3px solid var(--gul);outline-offset:6px;border-radius:16px}
.fish-btn.wiggle .fish{animation:wiggle .6s ease-in-out}
@keyframes wiggle{0%,100%{transform:rotate(-6deg)}25%{transform:rotate(-12deg) translateX(-6px)}60%{transform:rotate(2deg) translateX(8px)}}
.sild{position:fixed;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:50;overflow:hidden}
.sild svg{position:absolute;left:0;top:0;width:70px;height:26px;animation:sild 2.4s cubic-bezier(.4,.1,.5,1) forwards}
@keyframes sild{from{transform:translate(-120px,var(--y0)) rotate(-28deg)}to{transform:translate(calc(100vw + 120px),var(--y1)) rotate(-28deg)}}
.word{position:absolute;right:0;bottom:calc(100% + 12px);width:min(320px,80vw);background:var(--papir);color:var(--hav);border:3px solid var(--hav);border-radius:14px;padding:16px 18px;box-shadow:6px 6px 0 var(--sol);text-align:left;z-index:5}
.word b{display:block;font-family:var(--display);font-weight:400;font-size:30px;line-height:1}
.word i{display:block;font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--djupgrøn);margin-top:6px}
.word p{margin:8px 0 0;font-size:16px}
.word q{display:block;margin-top:6px;font-size:14px;font-style:italic;color:var(--grå)}
.palo-wrap{position:relative;display:inline-block}
.word-bla{display:block;margin:10px -6px -6px auto;width:58px;height:30px;padding:4px;border:0;background:none;cursor:pointer;transition:transform .2s}
.word-bla svg{width:100%;height:100%;display:block}
.word-bla:hover,.word-bla:focus-visible{transform:translateX(4px) rotate(-4deg)}
.word b.lang{font-size:22px;line-height:1.1}
@media (max-width:640px){.word{right:auto}}

@media (max-width:820px){.chips{display:none}}
@media (prefers-reduced-motion:reduce){.fish,.marq-track{animation:none}.btn,.info a{transition:none}html{scroll-behavior:auto}.holm{animation:none;opacity:.4}.fish-btn.wiggle .fish{animation:none}.place.misty .mist{animation:none;opacity:.8}}

/* ===== UNDERSIDER ===== */
.page-hero{position:relative;background:var(--hav);color:var(--papir);padding-block:clamp(48px,7vw,96px) clamp(80px,9vw,120px);overflow:hidden}
.page-hero .eyebrow{color:var(--gul)}
.page-hero h1{font-size:clamp(40px,12.5vw,128px);overflow-wrap:anywhere;letter-spacing:-.02em;margin-top:10px;padding-bottom:.08em}
.page-hero p{margin-top:16px;max-width:52ch;font-size:clamp(17px,1.8vw,21px);color:var(--sølv)}
.page-hero .wave{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(40px,5vw,70px);display:block}
.page{background:var(--papir);padding-block:clamp(48px,6vw,88px);display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.block{max-width:760px;display:flex;flex-direction:column;gap:14px}
.block h2{font-size:clamp(32px,4vw,48px)}
.block h3{font-size:clamp(24px,2.6vw,30px);margin-top:6px}
.block p,.block li{font-size:18px;line-height:1.6}
.block ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.block a{color:var(--djupgrøn);font-weight:700}
.block a:not(.btn),.faq .ans a,.card p a{color:var(--grøntekst)}.lineup .lead,.lineup .past-label,.lineup .t4{color:#fff}.lineup .btn-ghost{color:#fff;border-color:#fff}
.block a.btn{color:var(--hav)}.block a.btn-hav{color:var(--papir)}.block a.btn-ghost{color:var(--papir)}
.note{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--grå);text-transform:uppercase}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btns .btn{border-color:var(--hav)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.card{background:var(--kvit);border:3px solid var(--hav);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px;min-width:0}
.card h3{font-size:26px}
.card p{font-size:16px;line-height:1.5;color:var(--grå)}
.card .tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--djupgrøn)}
.faq{display:flex;flex-direction:column;gap:12px;max-width:860px}
.faq h2{font-size:clamp(28px,3.4vw,40px);margin-top:18px}
.faq details{background:var(--kvit);border:3px solid var(--hav);border-radius:18px}
.faq summary{cursor:pointer;list-style:none;padding:18px 56px 18px 22px;font-weight:700;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:28px;color:var(--sol)}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 22px 20px;display:flex;flex-direction:column;gap:10px;font-size:17px;line-height:1.6}
.faq .ans ul{margin:0;padding-left:22px}
.faq .ans a{color:var(--djupgrøn);font-weight:700}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
@media (max-width:560px){.logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.logos a{height:84px;padding:10px;border-radius:14px}}
.logos a{background:var(--kvit);border:3px solid var(--hav);border-radius:18px;height:110px;display:flex;align-items:center;justify-content:center;padding:14px;transition:transform .15s}
.logos a:hover{transform:translateY(-3px)}
.logos img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}
.archive .card h3{font-size:24px}
@media (prefers-reduced-motion:reduce){.logos a{transition:none}}

/* ===== EASTER EGGS 2 ===== */
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:26px}
.brand a{color:inherit;text-decoration:none}
.brand-fish{display:inline-flex;padding:10px 0}
.drop{position:fixed;width:8px;height:8px;border-radius:50%;background:#9ED2E6;pointer-events:none;z-index:40}
#palo{border-bottom:2px dotted var(--sol);display:inline-block}
.pp-badge{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:8px;background:var(--hav);color:var(--papir);border:2px solid var(--gul);border-radius:999px;padding:8px 14px;font:700 14px var(--body);cursor:pointer;box-shadow:3px 3px 0 var(--sol)}
.pp-liste{position:fixed;left:16px;bottom:calc(68px + env(safe-area-inset-bottom,0px));z-index:30;width:min(280px,calc(100vw - 32px));background:var(--papir);color:var(--hav);border:3px solid var(--hav);border-radius:16px;padding:14px 16px;box-shadow:6px 6px 0 var(--sol)}
.pp-liste b{font-family:var(--display);font-weight:400;font-size:20px;display:block}
.pp-liste ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:15px}
.pp-liste li{color:var(--grå);font-family:var(--mono)}
.pp-liste li.ok{color:var(--hav);font-family:var(--body);font-weight:700}
.pp-liste li.ok::before{content:"✓ ";color:var(--djupgrøn)}
.place-link{display:inline-block;margin-top:18px;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.place.night .place-link{color:var(--gul)}
footer{padding-bottom:110px}
.sym{position:fixed;left:0;top:0;width:56px;pointer-events:none;z-index:60}
.sym svg{width:56px;height:auto;display:block}
.kart{position:absolute;left:50%;transform:translateX(-50%) rotate(-1deg);width:min(520px,92%);background:var(--papir);border:3px solid var(--hav);border-radius:20px;padding:18px 18px 14px;box-shadow:10px 10px 0 var(--hav);z-index:4}
#stader .places{transition:filter .3s}
#stader.kart-open .places{filter:saturate(.4) brightness(.9)}
.kart svg{width:100%;height:auto;max-height:70vh;display:block}
.kart .oy,.kart .skj{fill:var(--grøn)}
.kart .skj{opacity:.7}
.kart .mok{fill:var(--gul);stroke:var(--hav);stroke-width:6}
.kart .stol{fill:var(--sol);stroke:var(--hav);stroke-width:6}
.kart .rute{fill:none;stroke:var(--hav);stroke-width:7;stroke-linecap:round}
.kart .baat circle{fill:var(--hav)}
.kart .lbl rect{fill:var(--hav)}
.kart .lbl text{font-family:var(--display);font-size:66px;fill:var(--papir)}
.kart .lbl text.sub{font-family:var(--mono);font-size:28px;letter-spacing:3px;fill:var(--gul)}
.kart p{margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grå)}
.kart-x{position:absolute;right:12px;top:6px;font-size:28px;line-height:1;color:var(--hav);padding:6px}

/* ===== 404: FLYTT DEG, ME SKA KASTA ===== */
.scene-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.scene{width:100%;max-width:1200px;height:auto;display:block;border-radius:28px;border:3px solid var(--hav);box-shadow:10px 10px 0 var(--hav)}
.scene .m-move{transform:translate(-120px,404px)}
.scene .b-move{transform:translate(1260px,408px)}
.scene .blaase{opacity:0}
.scene .boble{opacity:0}
.scene .net-rev{stroke-dasharray:1;stroke-dashoffset:1}
.scene .g1{animation:g1 14s linear infinite}
.scene .g2{animation:g2 19s linear infinite}
@keyframes g1{from{transform:translate(-60px,170px)}to{transform:translate(1260px,120px)}}
@keyframes g2{from{transform:translate(1260px,240px)}to{transform:translate(-60px,210px)}}
.scene .wave-back{animation:wb 6s linear infinite}
@keyframes wb{to{transform:translateX(-140px)}}
.scene .b-bob{transform-box:fill-box;transform-origin:center;animation:bbob 2.4s ease-in-out infinite alternate}
@keyframes bbob{from{transform:rotate(-1deg) translateY(0)}to{transform:rotate(1.2deg) translateY(3px)}}
.scene .m-bob{animation:mbob .5s ease-in-out infinite alternate}
@keyframes mbob{to{transform:translateY(-4px)}}
.scene .rip{transform-box:fill-box;transform-origin:center;animation:rip 1.2s ease-out infinite}
.scene .r2{animation-delay:.6s}
@keyframes rip{from{transform:scale(.4);opacity:.8}to{transform:scale(1.7);opacity:0}}
.scene.play .m-move{animation:mmove 9s linear both}
.scene .m-flip{transform-box:fill-box;transform-origin:center}
.scene.play .m-flip{animation:mflip 9s steps(1,end) both}
.scene.play .halo{transform-box:fill-box;transform-origin:center;animation:halo 9s both}
.scene.play .b-move{animation:bmove 9s both}
.scene.play .boble{transform-box:fill-box;transform-origin:62% 100%;animation:boble 9s both}
.scene.play .net-rev{animation:net 9s both}
@keyframes mmove{0%{transform:translate(-120px,408px)}34%{transform:translate(430px,408px)}55%{transform:translate(430px,408px)}57.5%{transform:translate(430px,386px)}60%{transform:translate(430px,408px)}64%{transform:translate(430px,402px);animation-timing-function:cubic-bezier(.55,0,.8,.6)}100%{transform:translate(430px,-260px)}}
@keyframes mflip{0%,100%{transform:scaleX(1)}}
@keyframes halo{0%,52%{transform:rotate(0)}54%{transform:rotate(-16deg) translateY(-6px)}57%{transform:rotate(10deg)}60%,100%{transform:rotate(0)}}
@keyframes bmove{0%,20%{transform:translate(1260px,408px);animation-timing-function:cubic-bezier(.2,.8,.3,1)}44%,62%{transform:translate(560px,408px);animation-timing-function:ease-in-out}100%{transform:translate(575px,408px)}}
.scene.play .blaase{animation:blaase 9s both}
@keyframes blaase{0%,62%{opacity:0;transform:translateY(8px)}66%,100%{opacity:1;transform:translateY(0)}}
.scene .bow-foam{transform-box:fill-box;transform-origin:right center;animation:foam 1.4s ease-in-out infinite alternate}
@keyframes foam{to{transform:scaleX(1.25);opacity:.6}}
@keyframes boble{0%,46%{opacity:0;transform:scale(.6)}50%,95%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes net{0%,63%{stroke-dashoffset:1}95%,100%{stroke-dashoffset:0}}
.scene .strale{opacity:0}
.scene .lk-straale{opacity:0}.scene .lk-lins{opacity:.25}
.scene.play .lk-straale{animation:lk 9s both}.scene.play .lk-lins{animation:lklins 9s both}
@keyframes lk{0%,45%{opacity:0}47%{opacity:1}48%{opacity:.4}49.5%,60%{opacity:1}64%,100%{opacity:0}}
@keyframes lklins{0%,45%{opacity:.25}47%,60%{opacity:1}64%,100%{opacity:.25}}
.scene.play .strale{animation:strale 9s both}
@keyframes strale{0%,58%{opacity:0}64%,90%{opacity:1}100%{opacity:0}}
.scene.play .m-vatn{animation:mvatn 9s both}
@keyframes mvatn{0%,61%{opacity:1}66%,100%{opacity:0}}
.scene .m-arm{transform-box:view-box;transform-origin:8px -100px}
.scene.play .m-arm{animation:marm 9s both}
@keyframes marm{0%,62%{transform:rotate(0)}70%,100%{transform:rotate(-95deg)}}
.replay{border-color:var(--hav)}
@media (prefers-reduced-motion:reduce){
  .scene *{animation:none!important}
  .scene .m-move{transform:translate(430px,408px)}
  .scene .b-move{transform:translate(560px,408px)}
  .scene .blaase{opacity:1}
  .scene .boble{opacity:1}
  .scene .net-rev{stroke-dashoffset:0}
  .scene .strale{opacity:0}
  .replay{display:none}
}
.pp-lukk{position:fixed;left:calc(16px + var(--badge-w,210px) - 14px);bottom:calc(40px + env(safe-area-inset-bottom,0px));z-index:31;width:26px;height:26px;border-radius:50%;border:2px solid var(--hav);background:var(--papir);color:var(--hav);font:700 16px/1 var(--body);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.pp-badge.liten{padding:8px 10px}
.pp-badge.liten span{display:none}

/* ===== NETTBRETT (iPad ståande) ===== */
@media (min-width:600px) and (max-width:820px){
  .hero{padding-block:40px 120px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .hero h1{font-size:clamp(120px,21vw,180px)}
  .hero-grid>div:first-child{position:relative;z-index:2}
  .fish-wrap{order:0;max-width:none;width:62%;margin:-150px 0 0 auto;position:relative}
  .sticker{top:-62%;right:-2%;width:118px}
  .count{position:absolute;right:0;bottom:-58px}
  .hero .ctas{max-width:40%}
}
.stim{position:relative;overflow:hidden}
.stim>div,.stim>form{position:relative;z-index:1}
.sild svg{width:84px;height:44px}

/* ===== GJENNOMGANG 30.09 ===== */
.kart .bru-a{stroke:var(--hav);stroke-width:14;stroke-linecap:round}
.kart .bru-b{stroke:var(--papir);stroke-width:5;stroke-linecap:round}
.names .n{white-space:nowrap;display:inline-block}
.names .dot-sep{color:var(--gul)}
.t3 .dot-sep,.t4 .dot-sep{color:inherit;opacity:.6}
@media (min-width:1025px){.sticker{top:-44%;right:-1%}}
@media (min-width:821px) and (max-width:1024px){.sticker{top:-40%}}
.place-link{padding-block:10px 4px}
.card p a,.faq .ans a,.block a{padding-block:6px;display:inline-block}
@media (min-width:600px) and (max-width:760px){.places{grid-template-columns:repeat(2,minmax(0,1fr))}.place{min-height:360px}.place h3{font-size:clamp(40px,7vw,56px)}}
@media (min-width:600px) and (max-width:900px){.tickets{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket.best{grid-column:1/-1}}
@media (max-width:480px){.info b{font-size:22px}.info a{padding:18px}}
.hero{padding-block-end:clamp(100px,10vw,130px)}
.partners-wall{overflow:hidden;margin-top:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.partners-track{display:flex;gap:16px;width:max-content;animation:marq 90s linear infinite}
.partners-wall:hover .partners-track{animation-play-state:paused}
.partners-track a{flex:none;width:170px;height:96px;background:var(--kvit);border:3px solid var(--hav);border-radius:18px;display:flex;align-items:center;justify-content:center;padding:14px}
.partners-track img{max-width:100%;max-height:100%;object-fit:contain}
.partners-track .txt{font-weight:700;font-size:16px;text-align:center;color:var(--hav);text-decoration:none}
@media (prefers-reduced-motion:reduce){.partners-track{animation:none;flex-wrap:wrap;width:auto}}
.t2 .n{white-space:normal}
.t3{margin-top:14px}
@media (max-width:400px){header.nav{gap:10px}.brand{font-size:22px;gap:8px}.brand-fish svg{width:42px;height:auto}.nav nav{gap:10px}.nav .btn{padding:10px 14px;font-size:14px}}
.stim-canvas{position:absolute;inset:0;pointer-events:none;z-index:0}
.stim-count{position:absolute;right:var(--gutter);top:22px;z-index:1;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:var(--hav);color:var(--papir);padding:6px 12px;border-radius:999px}
.stim-count b{color:var(--gul)}

/* ===== Morild (nattleg bonus) ===== */
.morild-cv{position:absolute;left:0;top:0;pointer-events:none;z-index:0}
.hero.morild .hero-grid{position:relative;z-index:1}
/* ===== Festivalmodus: «No på scena» ===== */
.count.na{display:block;transform:rotate(-2deg);padding:14px 20px 16px;max-width:360px}
.count.na i{display:block;font-family:var(--mono);font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--djupgrøn)}
.count.na i.n2{margin-top:10px}
.count.na ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.count.na li b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(22px,2.4vw,28px);line-height:1.05}
.count.na li span{display:block;font-weight:500;font-size:15px;margin-top:2px}
.count.na a{display:inline-block;margin-top:10px;font-weight:700;font-size:15px;color:var(--hav)}
@media (max-width:820px){.count.na{max-width:calc(100% - 8px);position:relative;right:auto;bottom:auto;margin-top:18px}}
.regn-cv{position:absolute;left:0;top:0;pointer-events:none;z-index:0}
.hero.regnar .hero-grid{position:relative;z-index:1}
@media (min-width:821px){.count.na{width:360px}.hero.fest{padding-block-end:clamp(300px,24vw,360px)}}
/* ===== Forslag: levande øy-scener i korta ===== */
.place{--pad:clamp(24px,3.4vw,40px);padding:var(--pad)}
.scene-band{position:relative;margin:0 calc(-1*var(--pad) - 3px) calc(-1*var(--pad) - 3px);line-height:0}
.scene-band svg{display:block;width:100%;height:auto;overflow:visible}
.scene-band .fakta{position:absolute;left:var(--pad);bottom:clamp(8px,1.6vw,16px);line-height:1.2;white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--papir);opacity:.85}
.sc-baat{animation:baat 16s linear infinite}
@keyframes baat{0%{transform:translate(660px,122px)}55%{transform:translate(504px,122px)}80%{transform:translate(504px,122px);opacity:1}100%{transform:translate(504px,122px);opacity:0}}
.sc-sau{animation:beit 9s ease-in-out infinite;transform-box:fill-box}
.sc-sau.s2{animation-duration:12s;animation-delay:-4s}.sc-sau.s3{animation-duration:14s;animation-delay:-7s}
@keyframes beit{0%,100%{transform:translateX(0)}40%{transform:translateX(7px)}60%{transform:translateX(7px) translateY(1px)}}
.sc-lys{animation:blink 2.4s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.sc-bylgje{animation:bylgje 5s linear infinite}
@keyframes bylgje{from{transform:translateX(0)}to{transform:translateX(60px)}}
.sc-bil{animation:bil 7s linear infinite}.sc-bil.b2{animation-delay:-3.5s;animation-direction:reverse}
@keyframes bil{from{transform:translateX(0)}to{transform:translateX(190px)}}
.sc-dor{animation:dor 3s ease-in-out infinite}
@keyframes dor{0%,100%{fill:#FFC845}50%{fill:#FFE08A}}
.sc-lyd{transform-box:fill-box;transform-origin:left center;animation:lyd 1.8s ease-out infinite}
@keyframes lyd{0%{opacity:0;transform:translate(-6px,4px) scale(.7)}30%{opacity:1}100%{opacity:0;transform:translate(10px,-6px) scale(1.1)}}
.sc-pærer circle{animation:blink 3s ease-in-out infinite}
.sc-pærer circle:nth-child(2n){animation-delay:-1.5s}.sc-pærer circle:nth-child(3n){animation-delay:-.7s}
.sc-glans path{animation:blink 2.6s ease-in-out infinite}.sc-glans path:nth-child(2n){animation-delay:-1.3s}
.sc-vindu{animation:blink 7s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.scene-band *{animation:none!important}.sc-baat{transform:translate(504px,122px)}}
@media (max-width:480px){.scene-band .fakta{font-size:10px;letter-spacing:.07em}}
.scene-band .mist{inset:-30% -15% 34% -15%;padding:10px calc(15% + 16px);align-items:flex-start;justify-content:flex-end;background:radial-gradient(ellipse at 22% 70%,rgba(243,238,226,.95),transparent 55%),radial-gradient(ellipse at 55% 60%,rgba(236,242,238,.95),transparent 55%),radial-gradient(ellipse at 82% 72%,rgba(243,238,226,.9),transparent 50%),radial-gradient(ellipse at 40% 95%,rgba(243,238,226,.8),transparent 45%);line-height:1.2}
.scene-band .mist span{font-size:11px}
.sc-beam{animation:blink 2.2s ease-in-out infinite}.sc-beam.b2{animation-delay:-1.1s}.sc-beam.b3{animation-duration:3.1s}
.sc-hopp{animation:hopp .9s ease-in-out infinite}.sc-hopp.h2{animation-delay:-.45s}
@keyframes hopp{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
/* Vimplar på festivalområdet */
.vimplar{animation:vaie 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:top center}.vimplar.v2{animation-delay:-1.7s}
@keyframes vaie{0%,100%{transform:rotate(0)}50%{transform:rotate(1.2deg)}}
@media (prefers-reduced-motion:reduce){.vimplar{animation:none}}

/* Artistar: plakat som på framsida + liste */
.plakat{background:var(--djupgrøn);color:#fff;border:3px solid var(--hav);border-radius:28px;box-shadow:10px 10px 0 var(--hav);text-align:center;padding:clamp(32px,5vw,72px) clamp(16px,4vw,48px)}
.plakat .past-label{color:#fff}
.plakat h2{font-size:clamp(44px,6.4vw,88px);margin-top:14px}
.plakat .lead{margin:10px auto 0;font-size:19px;color:#fff}
.plakat .t4{color:#fff}
.plakat .btns{justify-content:center;margin-top:clamp(28px,4vw,48px)}
.plakat .btns .btn{border-color:var(--hav)}
.artliste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
.artliste>div{border-top:2px solid var(--hav);padding:14px 0 20px;min-width:0}
.artliste .tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grøntekst)}
.artliste h3{font-size:clamp(24px,2.4vw,30px);margin-top:4px}
.artliste p{margin-top:4px;color:var(--grå)}
@media (max-width:700px){.artliste{grid-template-columns:minmax(0,1fr)}}
.faq .ans h3{font-size:20px;margin-top:6px}
.artliste .m-bilete{display:grid;grid-template-columns:clamp(96px,12vw,150px) minmax(0,1fr);gap:16px;align-items:start}
.artliste img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--hav);border-radius:10px;background:var(--sølv)}
.fotokred{margin-top:8px;font-size:14px;color:var(--grå)}
.fotorekke{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(28px,4vw,48px);padding-top:14px}
.fotorekke .photo{margin:0;max-width:none;width:100%}
.fotorekke .photo:nth-child(2n){transform:rotate(1.4deg)}
.fotorekke:has(.photo:only-child){max-width:760px}
.fotorekke .photo img{height:auto}

/* Billettar som billettstubbar: hakk i sidene og riv-linje over knappen */
.tickets .ticket{position:relative;background-image:linear-gradient(90deg,var(--hav) 55%,transparent 0)!important;background-size:14px 2px!important;background-repeat:repeat-x!important;background-position:0 calc(100% - 104px)!important}
.tickets .ticket::before,.tickets .ticket::after{content:"";position:absolute;bottom:88px;width:30px;height:30px;border-radius:50%;background:var(--papir);border:3px solid var(--hav)}
.tickets .ticket::before{left:-17px;clip-path:inset(0 0 0 50%)}
.tickets .ticket::after{right:-17px;clip-path:inset(0 50% 0 0)}
.tickets .ticket .btn{margin-top:auto}
.tickets .ticket>p{margin-bottom:28px}
.ticket .price{font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,38px)}
.tickets .ticket:not(.best):hover{transform:rotate(-1deg) translateY(-3px)}.tickets .ticket{transition:transform .15s}
@media (prefers-reduced-motion:reduce){.tickets .ticket:hover{transform:none}}
.info .ikon{width:clamp(52px,5vw,64px);height:auto;transition:transform .2s}.info a:hover .ikon{transform:rotate(-6deg) scale(1.06)}@media (prefers-reduced-motion:reduce){.info a:hover .ikon{transform:none}}

/* ---- Havgap: sjø, sand, pynt og fargeroller (flytta inn frå fargetesten) ---- */
.pp-roller .stim{background:var(--papir)}
.pp-roller .badge{color:var(--hav)}
.pp-roller .manifest-text h2 span{color:var(--hav);background:linear-gradient(transparent 58%,var(--gul) 58% 90%,transparent 90%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pp-roller .faq summary::after{color:var(--hav)}
.pp-roller .chips span{background:transparent!important;border:2px solid var(--hav);color:var(--hav)}
.pp-roller .info a.green{background:var(--gul)}
.pp-roller .lineup .t3,.pp-roller .plakat .t3{color:var(--sølv)}
.pp-roller .dot{background:#5FC8D8}
.pp-roller .sticker{box-shadow:5px 5px 0 rgba(0,0,0,.28)}
.pp-roller .ticket.best{background:var(--hav);color:var(--papir);box-shadow:10px 10px 0 var(--gul)}
.pp-roller .ticket.best p{color:var(--sølv)}
.pp-roller .ticket.best .eyebrow{color:var(--gul)}
.pp-roller .ticket.best .btn{background:var(--sol);color:var(--hav);border-color:var(--sol)}
.pp-roller .pp-tare .b circle,.pp-roller .pp-tare circle.b{stroke:#A9E4EC}
html.pp-havbotn .hero,html.pp-havbotn .page-hero{background:linear-gradient(180deg,#13425A 0%,#10394E 45%,#0C2E40 100%)}
html.pp-havgap .hero,html.pp-havgap .page-hero{background:linear-gradient(180deg,#284D6A 0%,#264A68 45%,#22425F 100%)}
html.pp-havlys .hero,html.pp-havlys .page-hero{background:linear-gradient(180deg,#244663 0%,#22435F 45%,#1E3C57 100%)}
html.pp-festival .hero,html.pp-festival .page-hero{background:linear-gradient(180deg,#1D5E9E 0%,#1B5895 30%,#23468A 65%,#262C66 100%)}
.pp-festival .tagline,.pp-festival .page-hero p{color:#EEF0F8}
.pp-festival .cards .card:nth-child(4n+1){background:#BFEAF3}
.pp-festival .cards .card:nth-child(4n+2){background:#EBD3E6}
.pp-festival .cards .card:nth-child(4n+3){background:#FBE7B5}
.pp-festival .cards .card:nth-child(4n+4){background:#CFE0F3}
.pp-festival .faq details{background:#fff}
.pp-festival .faq details:nth-of-type(4n+1){border-left:12px solid #5BC9E4}
.pp-festival .faq details:nth-of-type(4n+2){border-left:12px solid #D483B8}
.pp-festival .faq details:nth-of-type(4n+3){border-left:12px solid #FAD988}
.pp-festival .faq details:nth-of-type(4n+4){border-left:12px solid #207BC1}
.pp-festival .faq details[open]{background:#F7F8FD}
.pp-festival .faq summary::after{color:#262C66}
.pp-festival .faq h2,.pp-festival .block h2{align-self:flex-start;background:linear-gradient(transparent 60%,#FAD988 60% 92%,transparent 92%)}
.pp-festival header.nav,.pp-festival header.nav.is-open,.pp-festival .mobile-menu{background:#1D5E9E;color:#fff}
.pp-festival header.nav.is-compact{background:rgba(29,94,158,.93)}
.pp-festival .menu-btn{border-color:#fff;color:#fff}
.pp-festival .lineup .past-label{color:#EEF0F8}
.pp-festival .sticker{background:#F07CB8}
.pp-festival .block a:not(.btn),.pp-festival .faq .ans a,.pp-festival .card p a{color:#1E5FA0}
.pp-festival .nav nav a:hover{color:#FAD988}
.pp-festival .sticker{color:#262C66;box-shadow:5px 5px 0 #F7A524}
.pp-festival .chips span:nth-child(2){background:#D483B8!important}
.pp-festival .chips span:nth-child(3){background:#FAD988!important}
.pp-festival .manifest-text h2 span{color:#1E5FA0}
.pp-festival .lineup .t3,.pp-festival .plakat .t3{color:#CCD2EA}
.pp-festival .ticket.best{box-shadow:10px 10px 0 #262C66}
.pp-festival .stim{background:#5BC9E4}
.pp-festival .info a.green{background:#D483B8}
.pp-festival .pp-tare .b circle,.pp-festival .pp-tare circle.b{stroke:#5BC9E4}
.pp-havbotn:not(.pp-havgap):not(.pp-havlys):not(.pp-festival) header.nav,.pp-havbotn:not(.pp-havgap):not(.pp-havlys):not(.pp-festival) header.nav.is-open,.pp-havbotn:not(.pp-havgap):not(.pp-havlys):not(.pp-festival) .mobile-menu{background:#13425A}
.pp-havbotn:not(.pp-havgap):not(.pp-havlys):not(.pp-festival) header.nav.is-compact{background:rgba(19,66,90,.93)}
html.pp-havgap .stim{background:var(--sol)}
html.pp-havgap .manifest-text h2 span{color:#E05A24;background:none}
html.pp-havgap .chips span{border:0;color:var(--hav)}
html.pp-havgap .chips span:nth-child(1){background:#A9CBDC!important}
html.pp-havgap .chips span:nth-child(2){background:var(--gul)!important}
html.pp-havgap .chips span:nth-child(3){background:var(--sol)!important}
html.pp-havgap .info a.green{background:#A9CBDC}
html.pp-havgap .ticket.best{background-color:var(--sol);color:var(--hav);box-shadow:10px 10px 0 var(--hav)}
html.pp-havgap .ticket.best p,html.pp-havgap .ticket.best .eyebrow{color:var(--hav)}
html.pp-havgap .ticket.best .btn{background:var(--hav);color:var(--papir);border-color:var(--hav)}
.pp-havgap header.nav,.pp-havgap header.nav.is-open,.pp-havgap .mobile-menu{background:#284D6A}
.pp-havgap header.nav.is-compact{background:rgba(40,77,106,.93)}
.pp-havlys header.nav,.pp-havlys header.nav.is-open,.pp-havlys .mobile-menu{background:#244663}
.pp-havlys header.nav.is-compact{background:rgba(36,70,99,.93)}
.pp-havbotn .pp-o .kant{stroke:#1D2B4F}
.pp-havbotn .regn-cv{display:none}
@media (max-width:820px){.pp-havbotn .hero{padding-block-end:calc(clamp(100px,10vw,130px) + 90px)}
}
.pp-havbotn .hero::before,.pp-havbotn .page-hero::before{content:"";position:absolute;inset:-20% -10% 0;pointer-events:none;z-index:0;background:repeating-linear-gradient(100deg,rgba(220,240,240,.045) 0 46px,transparent 46px 150px);-webkit-mask-image:linear-gradient(#000,transparent 75%);mask-image:linear-gradient(#000,transparent 75%);animation:pp-straale 14s ease-in-out infinite alternate}
@keyframes pp-straale{to{transform:translateX(60px)}
}
.pp-havbotn .hero .hero-grid,.pp-havbotn .page-hero>:not(.wave):not(.pp-tare){position:relative;z-index:1}
.pp-havbotn .page-hero .pp-tare{transform:scaleY(.6);transform-origin:50% 100%}
.pp-havbotn .marq{background-color:var(--pp-sand,#F0CF92);background-image:radial-gradient(rgba(176,112,52,.28) 1px,transparent 1.6px),radial-gradient(rgba(255,244,220,.75) 1px,transparent 1.6px);background-size:9px 9px,14px 14px;background-position:0 0,5px 7px}
.pp-tare{position:absolute;left:0;right:0;bottom:clamp(14px,2vw,30px);height:140px;pointer-events:none;z-index:0}
.pp-tare .t{transform-box:fill-box;transform-origin:50% 100%;animation:pp-tare 5s ease-in-out infinite alternate}
.pp-tare .t:nth-child(2n){animation-duration:6.5s;animation-delay:-2s}
.pp-tare .t:nth-child(3n){animation-duration:7.5s;animation-delay:-4s}
@keyframes pp-tare{from{transform:rotate(-4deg)}
to{transform:rotate(5deg)}
}
.pp-tare .b{animation:pp-boble 6s linear infinite;opacity:0}
.pp-tare .b:nth-of-type(2n){animation-delay:-2s;animation-duration:7s}
.pp-tare .b:nth-of-type(3n){animation-delay:-4s;animation-duration:8s}
@keyframes pp-boble{0%{transform:translateY(0);opacity:0}
10%{opacity:.7}
100%{transform:translateY(-130px);opacity:0}
}
@media (prefers-reduced-motion:reduce){.pp-havbotn .hero::before,.pp-havbotn .page-hero::before,.pp-tare *{animation:none!important}
}
.pp-havbotn .hero .count{background:radial-gradient(ellipse 38px 14px at 12% 88%,rgba(70,110,70,.35),transparent 70%),radial-gradient(ellipse 30px 12px at 86% 12%,rgba(70,110,70,.28),transparent 70%),radial-gradient(ellipse 50px 10px at 60% 92%,rgba(255,255,255,.12),transparent 70%),radial-gradient(circle at 12px 12px,#7C7A72 0 2.5px,#4A3A2A 2.5px 3.6px,transparent 4px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#7C7A72 0 2.5px,#4A3A2A 2.5px 3.6px,transparent 4px),repeating-linear-gradient(177deg,#B9A27F 0 10px,#AE9673 10px 11px,#B9A27F 11px 23px,#A68D6A 23px 24px);color:#3A2C1E;border:3px solid #5A4632;border-radius:20px 8px 24px 10px / 10px 22px 8px 18px;box-shadow:3px 4px 0 rgba(0,0,0,.18);animation:pp-flyt 5.5s ease-in-out infinite;position:relative;z-index:2;overflow:visible;filter:saturate(.85)}
.pp-havbotn .hero .count::before{content:"";position:absolute;left:-10px;top:-12px;width:36px;height:44px;opacity:.9;background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 60 70%27%3E%3Cpath d=%27M6 4 C18 2 30 6 34 14 C30 22 22 20 20 30 C18 42 28 46 22 60 C18 66 12 64 14 56 C18 44 8 40 10 28 C12 18 4 14 6 4 Z%27 fill=%27%232E7D5B%27 stroke=%27%231B3A2A%27 stroke-width=%273%27 stroke-linejoin=%27round%27/%3E%3Cpath d=%27M30 6 C40 4 50 8 52 16 C48 22 42 18 40 26 C38 32 44 36 40 42 C36 46 32 42 34 36 C36 28 28 24 30 16 Z%27 fill=%27%233F9A6E%27 stroke=%27%231B3A2A%27 stroke-width=%273%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") no-repeat center/contain;transform:rotate(-8deg);pointer-events:none}
.pp-havbotn .hero .count::after{content:"";position:absolute;right:22px;bottom:-9px;width:26px;height:18px;opacity:.9;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2052%2034%27%3E%3Cg%20transform%3D%27translate%2815%2030%29%20rotate%28-14%29%20scale%281%29%27%3E%3Cpath%20d%3D%27M-3%200%20L-14%20-12%20Q-16%20-22%20-6%20-26%20Q0%20-28%206%20-26%20Q16%20-22%2014%20-12%20L3%200%20Z%27%20fill%3D%27%23F6C6B8%27%20stroke%3D%27%233A220E%27%20stroke-width%3D%272.4%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M0%20-1%20L0%20-26%20M-1%20-1%20L-7%20-25%20M1%20-1%20L7%20-25%20M-2%20-1%20L-12%20-18%20M2%20-1%20L12%20-18%27%20stroke%3D%27%23D98E7C%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M-6%200%20L-5%204%20L5%204%20L6%200%20Z%27%20fill%3D%27%23F6C6B8%27%20stroke%3D%27%233A220E%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%2837%2031%29%20rotate%2812%29%20scale%280.8%29%27%3E%3Cpath%20d%3D%27M-3%200%20L-14%20-12%20Q-16%20-22%20-6%20-26%20Q0%20-28%206%20-26%20Q16%20-22%2014%20-12%20L3%200%20Z%27%20fill%3D%27%23F3EAD8%27%20stroke%3D%27%233A220E%27%20stroke-width%3D%272.4%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M0%20-1%20L0%20-26%20M-1%20-1%20L-7%20-25%20M1%20-1%20L7%20-25%20M-2%20-1%20L-12%20-18%20M2%20-1%20L12%20-18%27%20stroke%3D%27%23C9B48C%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%2F%3E%3Cpath%20d%3D%27M-6%200%20L-5%204%20L5%204%20L6%200%20Z%27%20fill%3D%27%23F3EAD8%27%20stroke%3D%27%233A220E%27%20stroke-width%3D%272.2%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/contain;pointer-events:none}
.pp-havbotn .hero .count b{color:#3A2C1E}
@keyframes pp-flyt{0%,100%{transform:rotate(-3deg) translateY(0)}
50%{transform:rotate(-2deg) translateY(-3px)}
}
.pp-tau{position:absolute;pointer-events:none;z-index:1}
.pp-tau svg{display:block;overflow:visible}
@media (prefers-reduced-motion:reduce){.pp-havbotn .hero .count{animation:none}
}
.pp-fargar{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:200;background:#fff;color:#1D2B4F;border:3px solid #1D2B4F;border-radius:18px;box-shadow:6px 6px 0 #1D2B4F;padding:12px 14px;font:500 14px/1.3 system-ui,sans-serif;max-width:min(300px,calc(100vw - 32px))}
.pp-fargar b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.pp-fargar button{display:flex;align-items:center;gap:8px;width:100%;margin:4px 0;padding:8px 10px;border:2px solid #1D2B4F;border-radius:12px;background:#fff;color:#1D2B4F;font:700 14px system-ui,sans-serif;cursor:pointer;text-align:left}
.pp-fargar button[aria-pressed=true]{background:#1D2B4F;color:#fff}
.pp-fargar i{display:inline-flex;gap:2px;margin-left:auto}
.pp-fargar i span{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.25)}
.pp-fargar.liten button[data-k],.pp-fargar.liten small{display:none}
.pp-fargar b{cursor:pointer}
.pp-fargar.liten b{margin:0 28px 0 0}
.pp-fargar .solval{display:flex;gap:8px;align-items:center;margin:8px 0 2px;font-weight:700;cursor:pointer}
.pp-fargar.liten .solval{display:none}
.pp-fargar small{display:block;margin-top:6px;opacity:.7}
.pp-fargar .x{position:absolute;top:4px;right:6px;width:auto;border:0;margin:0;padding:4px 8px;font-size:18px}
.pp-sol{display:inline-block;width:.58em;height:.58em;vertical-align:-.02em;margin:0 -.01em;overflow:visible}
.pp-solpaa{white-space:nowrap}
:root{--pp-solk:#FFC845;--pp-sols:#FFC845;--pp-sand:#F6D58E}


/* Same pynt på undersidene i alle palettane (berre fargane skil seg) */
.pp-havgap .cards .card:nth-child(4n+1){background:#DCE8EC}
.pp-havgap .cards .card:nth-child(4n+2){background:#FFE7B0}
.pp-havgap .cards .card:nth-child(4n+3){background:#FFD9C6}
.pp-havgap .cards .card:nth-child(4n+4){background:#E4E8F1}
.pp-havgap .faq details{background:#fff}
.pp-havgap .faq details:nth-of-type(4n+1){border-left:12px solid #A9CBDC}
.pp-havgap .faq details:nth-of-type(4n+2){border-left:12px solid #FFC845}
.pp-havgap .faq details:nth-of-type(4n+3){border-left:12px solid #FF5A36}
.pp-havgap .faq details:nth-of-type(4n+4){border-left:12px solid #284D6A}
.pp-havgap .faq details[open]{background:#FCFBF7}
.pp-havgap .faq h2,.pp-havgap .block h2{align-self:flex-start;background:linear-gradient(transparent 60%,var(--gul) 60% 92%,transparent 92%)}
.pp-havlys .cards .card:nth-child(4n+1){background:#DCE8EC}
.pp-havlys .cards .card:nth-child(4n+2){background:#FFECB3}
.pp-havlys .cards .card:nth-child(4n+3){background:#FFD7CB}
.pp-havlys .cards .card:nth-child(4n+4){background:#E4E8F1}
.pp-havlys .faq details{background:#fff}
.pp-havlys .faq details:nth-of-type(4n+1){border-left:12px solid #A9CBDC}
.pp-havlys .faq details:nth-of-type(4n+2){border-left:12px solid #FFC93C}
.pp-havlys .faq details:nth-of-type(4n+3){border-left:12px solid #FF5A36}
.pp-havlys .faq details:nth-of-type(4n+4){border-left:12px solid #2A5674}
.pp-havlys .faq details[open]{background:#FCFBF7}
.pp-havlys .faq h2,.pp-havlys .block h2{align-self:flex-start;background:linear-gradient(transparent 60%,var(--gul) 60% 92%,transparent 92%)}
.pp-havlys .artliste .tag,.pp-havlys .block a:not(.btn),.pp-havlys .faq .ans a,.pp-havlys .card p a,.pp-havlys .card .tag{color:#2A5674}

/* ---- Artistslepp og nyheiter ---- */
.pp-nytt{display:inline-block;margin-left:.3em;vertical-align:.9em;font-family:var(--body);font-weight:700;font-size:max(12px,.28em);letter-spacing:.02em;background:var(--gul);color:var(--hav);padding:.2em .55em;border-radius:999px;transform:rotate(-6deg)}
.lineup.har-2027 .names.n2027{margin-top:clamp(24px,4vw,40px)}
.marq .pp-nyband{color:inherit;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;white-space:nowrap}
.marq:hover .marq-track{animation-play-state:paused}
a.sticker.pp-merke-nytt{text-decoration:none;cursor:pointer;animation:pp-merke 2.4s ease-in-out infinite}
@keyframes pp-merke{0%,100%{transform:rotate(12deg) scale(1)}50%{transform:rotate(8deg) scale(1.07)}}
.pp-flaske{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:150;width:min(380px,calc(100vw - 32px));display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start;background:var(--papir);color:var(--hav);border:3px solid var(--hav);border-radius:22px;box-shadow:8px 8px 0 var(--hav);padding:14px 40px 14px 14px;transform:translateY(140%) rotate(-3deg);opacity:0;transition:transform .55s cubic-bezier(.3,1.4,.5,1),opacity .3s}
.pp-flaske.inne{transform:translateY(0) rotate(-1deg);opacity:1}
.pp-flaske img,.pp-flaske-fisk{width:110px;aspect-ratio:1;object-fit:cover;border-radius:14px;border:2px solid var(--hav);background:var(--gul);display:flex;align-items:center;justify-content:center;font-size:44px}
.pp-flaske-tekst{display:flex;flex-direction:column;gap:6px;min-width:0}
.pp-flaske-ey{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grøntekst)}
.pp-flaske b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05;overflow-wrap:anywhere}
.pp-flaske p{font-size:14px;line-height:1.4;color:var(--grå);margin:0}
.pp-flaske .btn{min-height:40px;padding:8px 16px;font-size:14px;align-self:flex-start;margin-top:4px;border-color:var(--hav)}
.pp-flaske-x{position:absolute;top:6px;right:8px;width:32px;height:32px;border:0;background:none;color:var(--hav);font-size:24px;line-height:1;cursor:pointer;border-radius:50%}
.pp-flaske-x:focus-visible{outline:3px solid var(--gul)}
@media (max-width:560px){.pp-flaske{left:12px;right:12px;width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));grid-template-columns:84px minmax(0,1fr)}.pp-flaske img,.pp-flaske-fisk{width:84px}.pp-flaske b{font-size:21px}}
@media (prefers-reduced-motion:reduce){.pp-flaske{transition:opacity .2s;transform:none}a.sticker.pp-merke-nytt{animation:none}}
.pp-flaske img{height:auto;align-self:start}
@media (max-width:560px){body:has(.pp-flaske.inne) .pp-fargar{opacity:0;pointer-events:none}}

/* Solgap: Havgap med gul og oransje frå Festivalens ønske */
html.pp-solgap .manifest-text h2 span{color:#E05A24}
html.pp-solgap .chips span:nth-child(2){background:#FAD988!important}html.pp-solgap .chips span:nth-child(3){background:#F7A524!important}
.pp-solgap .cards .card:nth-child(4n+2){background:#FCEBC4}.pp-solgap .cards .card:nth-child(4n+3){background:#FDE3C2}
.pp-solgap .faq details:nth-of-type(4n+2){border-left-color:#FAD988}.pp-solgap .faq details:nth-of-type(4n+3){border-left-color:#F7A524}
html.pp-solgap .ticket.best{background-color:#F7A524}html.pp-solgap .stim{background:#F7A524}
.pp-havlys .lineup .t3,.pp-havlys .plakat .t3{color:var(--sølv)}
.artliste .pp-nytt{font-size:12px;vertical-align:.6em}.plakat-2027{margin-bottom:8px}
.artistfoto{max-width:760px}
.pp-alenke{color:inherit;text-decoration:none}.pp-alenke:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}

/* Plakat-bakgrunnar med sjø. Vel med klasse på .plakat: bg-havbotn, bg-kveld, bg-garn */
.plakat{position:relative;overflow:hidden;isolation:isolate}
.plakat>*{position:relative;z-index:1}
.plakat::before,.plakat::after{content:"";position:absolute;pointer-events:none;z-index:0}
.plakat.bg-havbotn{background:linear-gradient(180deg,#356F92 0%,var(--djupgrøn) 55%,#1F4560 100%);padding-bottom:clamp(90px,14vw,150px)}
.plakat.bg-havbotn::before{inset:0;background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 300%22%3E%3Cg fill=%22none%22 stroke=%22%23CFE8EA%22 stroke-width=%222%22 opacity=%22.55%22%3E%3Ccircle cx=%2230%22 cy=%22250%22 r=%225%22/%3E%3Ccircle cx=%2240%22 cy=%22220%22 r=%223%22/%3E%3Ccircle cx=%2234%22 cy=%22196%22 r=%222%22/%3E%3Ccircle cx=%22170%22 cy=%22200%22 r=%224%22/%3E%3Ccircle cx=%22162%22 cy=%22172%22 r=%222.5%22/%3E%3Ccircle cx=%22120%22 cy=%2290%22 r=%223%22/%3E%3C/g%3E%3C/svg%3E') repeat-x left 20% top 30%/200px 300px,repeating-linear-gradient(100deg,rgba(220,240,240,.07) 0 40px,transparent 40px 130px);-webkit-mask-image:linear-gradient(#000 0%,#000 60%,transparent 95%);mask-image:linear-gradient(#000 0%,#000 60%,transparent 95%)}
.plakat.bg-havbotn::after{left:0;right:0;bottom:0;height:clamp(70px,12vw,120px);background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 120%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 120 L0 96 Q60 78 120 92 T240 88 T400 94 L400 120Z%22 fill=%22%23F0CF92%22/%3E%3Cg fill=%22%231F4A5C%22 opacity=%22.85%22%3E%3Cpath d=%22M30 96 C14 70 42 50 26 18 C40 44 24 66 40 96Z%22/%3E%3Cpath d=%22M52 94 C40 76 62 60 50 34 C62 56 50 74 60 94Z%22/%3E%3Cpath d=%22M340 94 C326 64 354 44 338 8 C354 38 336 62 352 94Z%22/%3E%3Cpath d=%22M366 96 C356 80 374 66 364 44 C376 62 366 80 374 96Z%22/%3E%3C/g%3E%3Cellipse cx=%22110%22 cy=%22100%22 rx=%2222%22 ry=%228%22 fill=%22%238C8A7E%22/%3E%3Cellipse cx=%22134%22 cy=%22104%22 rx=%2212%22 ry=%225%22 fill=%22%238C8A7E%22/%3E%3C/svg%3E') no-repeat bottom/100% 100%}
.plakat.bg-kveld{background:linear-gradient(180deg,#14304A 0%,var(--djupgrøn) 70%);padding-bottom:clamp(90px,13vw,140px)}
.plakat.bg-kveld::before{inset:0;background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 200%22%3E%3Ccircle cx=%22330%22 cy=%2250%22 r=%2222%22 fill=%22%23FFE7A8%22/%3E%3Ccircle cx=%22342%22 cy=%2244%22 r=%2220%22 fill=%22%231E4766%22/%3E%3Cg fill=%22%23F3EEE2%22%3E%3Ccircle cx=%2240%22 cy=%2230%22 r=%221.6%22/%3E%3Ccircle cx=%2290%22 cy=%2270%22 r=%221.2%22/%3E%3Ccircle cx=%22150%22 cy=%2224%22 r=%221.4%22/%3E%3Ccircle cx=%22220%22 cy=%2260%22 r=%221.1%22/%3E%3Ccircle cx=%22270%22 cy=%2220%22 r=%221.5%22/%3E%3Ccircle cx=%22380%22 cy=%22110%22 r=%221.2%22/%3E%3Ccircle cx=%2220%22 cy=%22120%22 r=%221.1%22/%3E%3C/g%3E%3C/svg%3E') no-repeat top right/min(420px,70%) auto}
.plakat.bg-kveld::after{left:0;right:0;bottom:0;height:clamp(70px,11vw,110px);background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 80 50%22%3E%3Cpath d=%22M40 4 V30%22 stroke=%22%230B2230%22 stroke-width=%222.5%22/%3E%3Cpath d=%22M41 6 L58 28 H41Z%22 fill=%22%23F3EEE2%22/%3E%3Cpath d=%22M39 10 L26 28 H39Z%22 fill=%22%23FFC93C%22/%3E%3Cpath d=%22M14 31 H66 L58 42 H22Z%22 fill=%22%23FF5A36%22 stroke=%22%230B2230%22 stroke-width=%222%22/%3E%3C/svg%3E') no-repeat left 14% top 0/clamp(48px,7vw,80px) auto,url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 110%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 50 Q25 40 50 50 T100 50 T150 50 T200 50 T250 50 T300 50 T350 50 T400 50 L400 110 L0 110Z%22 fill=%22%23244663%22/%3E%3Cpath d=%22M0 70 Q30 60 60 70 T120 70 T180 70 T240 70 T300 70 T360 70 T420 70 L400 110 L0 110Z%22 fill=%22%231A3A55%22/%3E%3Cpath d=%22M0 88 Q35 80 70 88 T140 88 T210 88 T280 88 T350 88 T420 88 L400 110 L0 110Z%22 fill=%22%230F2A40%22/%3E%3C/svg%3E') no-repeat bottom/100% 72%}
.plakat.bg-garn{background-color:var(--djupgrøn);background-image:repeating-linear-gradient(45deg,rgba(243,238,226,.09) 0 2px,transparent 2px 26px),repeating-linear-gradient(-45deg,rgba(243,238,226,.09) 0 2px,transparent 2px 26px);padding-top:clamp(70px,9vw,100px)}
.plakat.bg-garn::before{left:0;right:0;top:-2px;height:70px;background:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 70%22%3E%3Cpath d=%22M0 8 Q30 22 60 8 T120 8%22 fill=%22none%22 stroke=%22%23E2C48A%22 stroke-width=%223%22/%3E%3Cpath d=%22M60 8 V20%22 stroke=%22%23E2C48A%22 stroke-width=%222%22/%3E%3Cg transform=%22translate%2860 34%29%22%3E%3Cpath d=%22M-7 -10 Q0 -20 7 -10Z%22 fill=%22%2326323E%22/%3E%3Ccircle cy=%222%22 r=%2213%22 fill=%22%23F2402A%22 stroke=%22%230B2230%22 stroke-width=%222%22/%3E%3Cellipse cx=%22-5%22 cy=%22-2%22 rx=%223%22 ry=%225%22 fill=%22%23fff%22 opacity=%22.45%22 transform=%22rotate%2820 -5 -2%29%22/%3E%3C/g%3E%3C/svg%3E') repeat-x top center/120px 70px}
.fish-wrap .sticker.pp-st-flytt{top:var(--pp-st-top)!important}
@keyframes sc-kuppel{0%,100%{opacity:.25}50%{opacity:.5}}.sc-kuppel{animation:sc-kuppel 4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.sc-kuppel{animation:none}}

/* Havgap med pop-raud: mørkare tekst på raude flater for kontrast */
html.pp-havgap .btn-sol,html.pp-havgap .stim,html.pp-havgap .stim h2,html.pp-havgap .stim p,html.pp-havgap .stim label,html.pp-havgap .ticket.best,html.pp-havgap .ticket.best p,html.pp-havgap .ticket.best .eyebrow,html.pp-havgap .chips span:nth-child(3),html.pp-havgap .badge{color:#10182F}

/* ---- Vêret: «Austevoll no» i toppen av framsida og vêrkortet på /transport ---- */
.vaer-no{display:inline-flex;align-items:center;gap:10px;margin:14px 0 0;padding:7px 14px 7px 10px;border-radius:999px;background:rgba(16,24,47,.32);border:1.5px solid rgba(220,232,236,.25);color:var(--papir);font-size:15px;line-height:1.2}
.vaer-no svg{width:26px;height:26px;flex:none}
.vaer-no b{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gul);margin-right:6px}
.sjo{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);align-items:center;margin:40px 0}
.koyye-fig{margin:0;text-align:center}
.koyye{position:relative;width:min(340px,78vw);aspect-ratio:1;border-radius:50%;background:var(--hav);padding:6%;box-shadow:12px 12px 0 var(--gul)}
.koyye .inn{width:100%;height:100%;border-radius:50%;background:var(--papir);padding:4%}
.koyye img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.koyye .bolt{position:absolute;inset:0;width:100%;height:100%;fill:var(--papir)}
.koyye-fig figcaption{font-size:14px;color:var(--grå);margin-top:18px}
.vaerkort{flex:1 1 260px;max-width:420px;background:var(--kvit);border:3px solid var(--hav);border-radius:20px;padding:22px 24px;box-shadow:8px 8px 0 var(--hav)}
.vaerkort .eyebrow{color:var(--havbla,#2A5674)}
.vk-top{display:flex;align-items:center;gap:12px;margin:8px 0 4px}
.vk-ikon svg{width:56px;height:56px;display:block;background:var(--hav);border-radius:14px;padding:6px}
.vk-temp{font-family:var(--display);font-weight:400;font-size:52px;line-height:1}
.vk-tekst{font-weight:700;font-size:18px}
.vaerkort p{margin:6px 0 0}.vk-vind{font-weight:700}
.vaerkort small{display:block;margin-top:12px;font-size:12px;color:var(--grå)}

/* ---- /nytt: alle nyhende og artistslepp ---- */
.nyttliste{display:flex;flex-direction:column;gap:18px;max-width:860px}
.nyttkort{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center;background:var(--kvit);border:3px solid var(--hav);border-radius:18px;padding:14px;box-shadow:6px 6px 0 var(--hav);text-decoration:none;color:var(--hav);transition:transform .15s}
.nyttkort:hover{transform:translate(-2px,-2px)}
.nyttkort img,.nyttkort-tom{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;background:var(--lys,#A9CBDC)}
.nyttkort small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grå)}
.nyttkort b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,32px);line-height:1.05;margin:6px 0}
.nyttkort-tekst>span{display:block;color:var(--grå)}
@media (max-width:560px){.nyttkort{grid-template-columns:1fr}}

/* ---- Dagpass som ikkje er lagt ut enno ---- */
.ticket .btn-av{opacity:.55;cursor:default;pointer-events:none}
/* ---- SoMe-ikon i botnen ---- */
.foot-kontakt{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.foot-kontakt a{color:inherit}
.foot-some{display:inline-flex;gap:10px;margin-left:6px}
.foot-some a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid currentColor;opacity:.85;transition:opacity .15s,background .15s}
.foot-some a:hover{opacity:1;background:rgba(255,255,255,.08)}
.foot-some svg{width:18px;height:18px}
/* ---- Sponsornivå: hovudsponsorar størst og først ---- */
.niva-tittel{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--grå);margin:28px 0 12px}
.logos.niva1{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.logos.niva1 a{height:180px;padding:24px;box-shadow:6px 6px 0 var(--sol)}
.logos.niva2{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.logos.niva2 a{height:140px}
@media (max-width:560px){.logos.niva1{grid-template-columns:1fr}.logos.niva1 a{height:130px}.logos.niva2{grid-template-columns:repeat(2,minmax(0,1fr))}.logos.niva2 a{height:104px}}

/* ---- FAQ: bilete-snarvegar til kvar kategori ---- */
.faq-fliser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 34px}
.faq-fliser a{position:relative;display:block;border-radius:16px;overflow:hidden;border:3px solid var(--hav);box-shadow:5px 5px 0 var(--hav);text-decoration:none;aspect-ratio:3/2;transition:transform .15s}
.faq-fliser a:hover{transform:translate(-2px,-2px)}
.faq-fliser img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faq-fliser span{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(16,24,47,.85));color:var(--papir);font-family:var(--display);font-size:clamp(18px,2.2vw,26px);line-height:1.05}
.faq h2[id]{scroll-margin-top:90px}
@media (max-width:640px){.faq-fliser{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* ---- Infoplakat: same Solstråle-stil som infobileta på SoMe (nyhende, bussruter, speletider …) ---- */
.infoplakat{position:relative;border-radius:22px;overflow:hidden;padding:clamp(70px,10vw,120px) clamp(14px,4vw,48px) clamp(28px,5vw,56px);margin:0 0 28px;
  background:radial-gradient(circle at 50% 0,var(--gul) 0 clamp(44px,6vw,70px),transparent calc(clamp(44px,6vw,70px) + 1px)),
    repeating-conic-gradient(from 0deg at 50% 0,var(--hav) 0 6.43deg,#284D6A 6.43deg 12.86deg)}
.infoplakat .lapp{position:relative;background:var(--papir);color:var(--hav);border-radius:6px;padding:clamp(22px,4vw,44px);box-shadow:10px 10px 0 #10182F;max-width:780px;margin:0 auto}
.infoplakat .lapp p{font-size:clamp(17px,1.9vw,20px);line-height:1.6;margin:0 0 1em}
.infoplakat .lapp p:last-child{margin-bottom:0}
.infoplakat .lapp strong{font-weight:700}
.nyttkort-tom{background:radial-gradient(circle at 50% 0,var(--gul) 0 26px,transparent 27px),repeating-conic-gradient(from 0deg at 50% 0,var(--hav) 0 8deg,#284D6A 8deg 16deg)!important}

/* ---- Austevoll-kart (Overnatting og Transport), same stil som «To av 667» ---- */
.kartfig{margin:22px 0 0;background:var(--papir);border:3px solid var(--hav);border-radius:20px;padding:18px 18px 14px;box-shadow:10px 10px 0 var(--hav);max-width:760px}
.kartfig figcaption{margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grå)}
.kartfig figcaption small{display:block;margin-top:6px;font-family:var(--body);letter-spacing:0;text-transform:none;font-size:12px}

.austkart{display:block;width:100%;height:auto}
.austkart .ak-oy,.austkart .ak-skj{fill:#A9CBDC}.austkart .ak-skj{opacity:.7}
.austkart .ak-stol{fill:#FF5A36;stroke:#1D2B4F;stroke-width:6}
.austkart .ak-bru-a{stroke:#1D2B4F;stroke-width:14;stroke-linecap:round}.austkart .ak-bru-b{stroke:#FBF6EA;stroke-width:5;stroke-linecap:round}
.austkart .ak-ferje{fill:none;stroke:#1D2B4F;stroke-width:7;stroke-linecap:round;stroke-dasharray:2 18}
.austkart .ak-peik{stroke:#1D2B4F;stroke-width:5}
.austkart .ak-pkt{fill:#FFC845;stroke:#1D2B4F;stroke-width:6}
.austkart .ak-lbl rect{fill:#1D2B4F}
.austkart .ak-lbl text{font-family:'Bagel Fat One',sans-serif;font-size:52px;fill:#FBF6EA}
.austkart .ak-hovud text{font-size:58px}
.austkart .ak-lbl text.ak-sub{font-family:'DM Mono',monospace;font-size:24px;letter-spacing:3px;fill:#FFC845}
.austkart .ak-til{font-family:'DM Mono',monospace;font-size:26px;letter-spacing:3px;fill:#1D2B4F}
.austkart .ak-kompass{fill:#FBF6EA;stroke:#1D2B4F;stroke-width:4}
.stim-laylo{font-size:13px;opacity:.75;margin-top:8px}.stim-laylo a{color:inherit}

/* ---- Artist- og nyheitsside: heile biletet, uansett format (ståande pressebilete blir ikkje kutta) ---- */
.photo.artistfoto{width:fit-content;max-width:min(760px,100%)}
.photo.artistfoto img{width:auto;max-width:100%;height:auto;max-height:min(78vh,820px);aspect-ratio:auto;object-fit:contain;margin:0 auto}
/* Artistside på PC: tekst til venstre, bilete med teip til høgre (Heidi si skisse) */
.artist-oppsett{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
@media (min-width:900px){
.artist-oppsett:not(.artist-topp){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,5vw,72px);align-items:start}
.artist-oppsett:not(.artist-topp)>.artistfoto{grid-column:2;grid-row:1;position:sticky;top:110px;margin:12px 0 0 auto;transform:rotate(1.6deg)}
.artist-oppsett>.block{grid-column:1;grid-row:1;margin-top:0}
.artist-oppsett:not(.artist-topp)>.artistfoto img{max-height:min(72vh,720px)}
}
/* Magasin-oppsett: bileta flyt inn i teksten, annankvar side */
.artist-magasin{display:flow-root;max-width:1080px}
.artist-magasin>p{margin:0 0 14px;font-size:18px;line-height:1.6}
.artist-magasin .flyt{margin:8px 0 28px}
.artist-magasin .fotorekke,.artist-magasin .btns{clear:both;padding-top:16px}
@media (min-width:760px){
.artist-magasin .flyt{width:min(44%,460px)}
.artist-magasin .flyt-h{float:right;margin:6px 0 32px clamp(28px,4vw,56px);transform:rotate(1.4deg)}
.artist-magasin .flyt-v{float:left;margin:6px clamp(28px,4vw,56px) 32px 0;transform:rotate(-1.4deg)}
.artist-magasin .flyt img{max-height:none}
}
