/* FORSLAG: design bygget på samme farger, oppsett og rammer som snowflake.com/en/expedition (målt direkte fra siden).
   Tokens: bakgrunn linear-gradient(#36b4f1 24,38 %, #7dd3fc 50,02 %); glass = linear-gradient(245deg, rgba(60,199,255,.4), rgba(157,227,255,.4)) + blur(12px)
   + 1px rgba(255,255,255,.5); hvite kort 8 px radius; knapper svart / #249edc, pille 48 px, versaler; footer #042130.
   Skrift: Texta (Snowflake) er proprietær, så Figtree 800/900 brukes som erstatning; brødtekst Lato. */
:root { --sky1:#36b4f1; --sky2:#7dd3fc; --cta:#249edc; --foot:#042130; --grey:#666;
  --glass:linear-gradient(245deg, rgba(60,199,255,.4) 5.84%, rgba(157,227,255,.4) 76.8%);
  --fd:"Figtree","Texta",system-ui,sans-serif; --fb:"Lato",system-ui,sans-serif; }
* { box-sizing:border-box; }
html { background:#7dd3fc; scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; font:400 16px/1.5 var(--fb); color:#000; background:linear-gradient(#36b4f1 24.38%, #7dd3fc 50.02%); -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; } a { color:inherit; }
.wrap { max-width:1240px; margin:0 auto; padding:0 40px; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; padding:0; }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid #000; outline-offset:3px; }

/* typografi */
h1 { font:700 clamp(44px,6.6vw,88px)/.95 var(--fd); text-transform:uppercase; margin:0 0 28px; }
h1 span { display:block; }
h2 { font:700 clamp(32px,3.6vw,40px)/1.05 var(--fd); margin:0; text-align:center; }
h2 .w { color:inherit; display:block; }
h3 { font:600 22px/1.1 var(--fd); margin:0; }
.eyebrow { font:600 16px/1.2 var(--fd); letter-spacing:.4px; text-transform:uppercase; margin:0 0 20px; }
.lead { font:400 20px/30px var(--fb); margin:0; }
.sec { padding-top:104px; }
.sec-head { text-align:center; max-width:840px; margin:0 auto 48px; }
.sec-head p { font:400 20px/30px var(--fb); margin:20px 0 0; }

/* knapper: pille 48 px, versaler */
.btn { display:inline-flex; align-items:center; justify-content:center; font:600 16px/1 var(--fd); text-transform:uppercase; border-radius:48px; padding:16px 28px; border:0; cursor:pointer; text-decoration:none; transition:background-color .15s ease, color .15s ease; }
.btn-sm { font-size:14px; padding:14px 12px; white-space:nowrap; }
.btn-black { background:#000; color:#fff; } .btn-black:hover { background:#1c1c1c; }
.btn-cta { background:var(--cta); color:#fff; } .btn-cta:hover { background:#1c8ac3; }
.btn-line { background:transparent; border:2px solid #000; color:#000; padding:14px 26px; } .btn-line:hover { background:#000; color:#fff; }
.btn[disabled] { opacity:.6; cursor:default; }

/* nav: hvit rad, 84 px */
.nav { position:sticky; top:0; z-index:50; background:#fff; }
.nav .wrap { display:flex; align-items:center; gap:40px; min-height:84px; }
.nav .logo img { height:46px; width:auto; }
.nav-links { display:flex; gap:28px; list-style:none; margin:0; padding:0; }
.nav-links a { font:400 14px/21px var(--fb); text-decoration:none; color:#000; } .nav-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.nav .btn { margin-left:auto; padding:10px 18px; font-size:14px; }
@media (max-width:900px) { .nav .wrap { flex-wrap:wrap; gap:4px 12px; padding-top:10px; padding-bottom:6px; min-height:0; } .nav .logo img { height:34px; } .nav .btn { padding:9px 14px; font-size:13px; } .nav-links { order:3; flex:0 0 100%; justify-content:space-between; gap:12px; padding:8px 0; } }

/* glass */
.glass { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.5); border-radius:16px; padding:8px; }
.tile { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:.5px solid rgba(255,255,255,.5); border-radius:8px; padding:24px; text-align:center; }
.tile b { display:block; font:600 16px/1.2 var(--fd); } .tile span { display:block; margin-top:8px; }

/* hero */
.hero { position:relative; overflow:hidden; padding:72px 0 112px; }
.hero .peak { position:absolute; left:0; bottom:0; width:100%; height:100%; min-height:420px; z-index:0; pointer-events:none; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 460px; gap:56px; align-items:start; }
.hero .lead { max-width:560px; }
.hero-label { font:600 16px/1.3 var(--fd); letter-spacing:.4px; text-transform:uppercase; margin:36px 0 0; }
.hero-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; max-width:560px; }
.form-card { background:rgba(255,255,255,.8); border-radius:16px; padding:24px; box-shadow:0 4px 16px rgba(0,0,0,.12); }
.form-card h3 { font:700 21px/24px var(--fd); text-transform:uppercase; text-align:center; margin:0 0 20px; }
.rf-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-card input { width:100%; height:47px; padding:12px 16px; margin-bottom:12px; background:#f8f9fb; border:1px solid rgba(0,0,0,.12); border-radius:8px; font:400 14px/1.2 var(--fb); color:#000; }
.form-card input::placeholder { color:rgba(0,0,0,.3); }
.form-card .btn { width:100%; margin-top:4px; }
.rf-msg { min-height:20px; margin-top:12px; font-size:14px; } .rf-msg.ok { color:#0a6b3a; } .rf-msg.err { color:#b3261e; }
.rf-fine { margin:10px 0 0; font-size:12px; line-height:16px; color:rgba(0,0,0,.6); }
@media (max-width:1000px) { .hero-grid { grid-template-columns:1fr; gap:40px; } .form-card { max-width:560px; } .hero .peak { height:70%; } }

/* kort: hvitt kort i glassramme */
.cards { display:grid; gap:24px; align-items:stretch; }
.cards-4 { grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.cards-3 { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.card { background:#fff; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; height:100%; }
.card .ph { margin:8px; width:calc(100% - 16px); aspect-ratio:16/10; object-fit:cover; border-radius:6px; }
.card-body { padding:16px 16px 22px; display:flex; flex-direction:column; flex:1; }
.card-body p { font:400 14px/21px var(--fb); color:var(--grey); margin:12px 0 0; }
.card-body .btn { margin-top:auto; align-self:flex-start; }
.card-body p + .btn { margin-top:20px; }
.glass.cell { height:100%; }

/* «Hvem bør delta»: ikon, tittel, panel med hvite kort */
.cols-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:32px; align-items:start; }
.ico { width:72px; height:72px; margin:0 auto 20px; display:grid; place-items:center; background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.5); border-radius:12px; }
.ico svg { width:34px; height:34px; fill:none; stroke:#fff; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.col h3 { text-align:center; margin-bottom:20px; min-height:48px; }
.panel { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.5); border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:16px; }
.inner { background:#fff; border-radius:8px; padding:16px; }
.lbl { font:600 14px/21px var(--fd); color:var(--cta); text-transform:uppercase; margin:0 0 6px; }
.inner p { font:400 14px/21px var(--fb); color:var(--grey); margin:0; }
.inner .lbl { font:600 14px/21px var(--fd); color:var(--cta); text-transform:uppercase; margin:0 0 6px; }
.inner ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 14px; font:400 14px/21px var(--fb); color:var(--grey); }
.inner .btn { margin-top:14px; }

/* tall */

/* perks */
.perks { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; margin-top:56px; }
.perk { display:flex; gap:14px; align-items:center; font:600 16px/1.25 var(--fd); text-transform:uppercase; }
.perk svg { flex:0 0 28px; width:28px; height:28px; fill:none; stroke:#fff; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* priser */
.price { font:700 40px/1 var(--fd); margin-top:16px; } .price small { font:600 16px/1 var(--fd); }
.card.feat { box-shadow:inset 0 0 0 3px var(--cta); }
.card .count { font:600 14px/1.2 var(--fd); text-transform:uppercase; color:var(--cta); margin:8px 0 0; }
.card .per { font:400 14px/21px var(--fb); color:var(--grey); margin:8px 0 0; }
.cta-row { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:40px; }
.note { text-align:center; font:400 14px/21px var(--fb); margin:20px 0 0; }

/* avslutning */
.final { position:relative; overflow:hidden; padding-bottom:132px; }
.final .peak { position:absolute; right:-6%; bottom:0; width:62%; height:420px; z-index:0; pointer-events:none; opacity:.95; -webkit-mask:linear-gradient(90deg,transparent 0,#000 30%); mask:linear-gradient(90deg,transparent 0,#000 30%); }
.final .wrap { position:relative; z-index:1; }
.tiles-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; max-width:760px; margin:0 auto; }
.final .cta-row { margin-top:48px; }

/* footer */
.foot { background:var(--foot); color:rgba(255,255,255,.7); padding:48px 0 40px; text-align:center; font:400 12px/16px var(--fb); }
.foot a { color:rgba(255,255,255,.7); text-decoration:none; } .foot a:hover { color:#fff; text-decoration:underline; }
.foot .links { display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:center; margin-bottom:16px; }

/* fjellmotiv (samme som forsiden) */
.peak .pk-w { fill:#fff; fill-opacity:.62; } .peak .pk-l { fill:#fff; fill-opacity:.38; } .peak .pk-m { fill:#cfe8fb; fill-opacity:.62; }
.peak .pk-d { fill:#2f78c8; fill-opacity:.46; } .peak .pk-s { fill:#fff; fill-opacity:.22; } .peak .pk-far { opacity:.95; } .peak .pk-front { opacity:.92; }
.peak .pk-facets polygon, .peak .pk-far polygon, .peak .pk-front polygon { stroke:#fff; stroke-opacity:.9; stroke-width:1.1; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.peak .pk-mist-back ellipse { fill:#d9f0fd; fill-opacity:.55; } .peak .pk-mist-front ellipse { fill:#fff; fill-opacity:.62; }
.peak .pk-cloud ellipse { fill:#fff; } .peak .pk-cloud-back { opacity:.38; } .peak .pk-cloud-front { opacity:.3; }
.peak .pk-pins line { stroke:#fff; stroke-opacity:.85; stroke-width:1.6; vector-effect:non-scaling-stroke; } .peak .pk-pins line.dash { stroke-dasharray:4 5; } .peak .pk-pins circle { fill:#fff; }
@media (prefers-reduced-motion:no-preference) { .peak .cl-a { animation:clDrift 38s ease-in-out infinite alternate; } .peak .cl-b { animation:clDrift 52s ease-in-out infinite alternate-reverse; } }
@keyframes clDrift { from { transform:translateX(-26px); } to { transform:translateX(26px); } }
@media (max-width:640px) { .wrap { padding:0 20px; } .sec { padding-top:72px; } .hero { padding:48px 0 80px; } .rf-row { grid-template-columns:1fr; gap:0; } .hero-tiles { grid-template-columns:1fr 1fr; } }

/* foredragsholdere (PK.renderSpeaker): hvitt kort med glassaktig kant */
.spk-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px; }
.spk { background:#fff; background-clip:padding-box; border:8px solid rgba(255,255,255,.35); border-radius:12px; display:flex; flex-direction:column; }
.spk .ph { padding:0; } .spk .ph-clip { aspect-ratio:1/1; border-radius:6px; overflow:hidden; background:#e8f1f8; display:grid; place-items:center; }
.spk .ph-clip img { width:100%; height:100%; object-fit:cover; } .spk .ph-initials { font:700 48px/1 var(--fd); color:var(--cta); }
.spk-foot { display:flex; justify-content:space-between; align-items:flex-end; gap:10px; padding:14px 10px 12px; flex:1; }
.spk-info h3 { font:600 18px/1.15 var(--fd); } .spk-info .role { font:400 14px/21px var(--fb); color:var(--grey); margin-top:6px; }
.spk-logo img { height:28px; width:auto; max-width:90px; object-fit:contain; }
/* sponsorer (companies.js) */
.tier { margin-top:32px; } .tier:first-child { margin-top:0; }
.tier .tname { font:600 16px/1.2 var(--fd); text-transform:uppercase; letter-spacing:.4px; text-align:center; margin-bottom:16px; }
.tier .logos { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.plogo { background:#fff; background-clip:padding-box; border:8px solid rgba(255,255,255,.35); border-radius:12px; padding:14px 22px; min-width:170px; min-height:84px; display:grid; place-items:center; text-decoration:none; font:600 16px/1.2 var(--fd); text-align:center; }
.plogo img { max-height:48px; max-width:150px; width:auto; object-fit:contain; }
/* varselstripe fra admin (announcements.js) */
.announce { background:#000; color:#fff; font:400 14px/21px var(--fb); }
.announce-inner { max-width:1240px; margin:0 auto; padding:10px 40px; display:flex; align-items:center; gap:16px; }
.announce-list { flex:1; display:flex; flex-direction:column; gap:4px; }
.announce-item { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.announce-tag { background:var(--cta); color:#fff; font:600 11px/1 var(--fd); text-transform:uppercase; letter-spacing:.4px; border-radius:48px; padding:5px 10px; }
.announce-item a { color:#fff; text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.announce-x { background:none; border:0; color:#fff; font-size:24px; line-height:1; cursor:pointer; padding:4px 8px; }
@media (max-width:640px) { .announce-inner { padding:10px 20px; } }

/* =====================================================================================================
   UNDERSIDER (samme tokens som forsiden)
   ===================================================================================================== */
:root { --font-display:var(--fd); }
.nav-links a[aria-current="page"] { font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }

/* underside-hero */
.phero { position:relative; overflow:hidden; padding:72px 0 88px; }
.phero .peak { position:absolute; left:0; bottom:0; width:100%; height:100%; min-height:380px; z-index:0; pointer-events:none; }
.phero .wrap { position:relative; z-index:1; }
.phero h1 { font-size:clamp(38px,5.6vw,72px); margin-bottom:24px; }
.phero .lead { max-width:680px; }
.phero.compact { padding:56px 0 64px; }
@media (max-width:640px) { .phero { padding:48px 0 64px; } }
.kicker { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; }
.kicker span { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:.5px solid rgba(255,255,255,.5); border-radius:48px; padding:8px 16px; font:600 14px/1 var(--fd); text-transform:uppercase; letter-spacing:.4px; }

/* felles */
.checks { list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; font:400 14px/21px var(--fb); color:var(--grey); }
.checks .lbl { font:600 14px/21px var(--fd); color:var(--cta); text-transform:uppercase; margin-bottom:2px; }
.checks li:not(.lbl) { display:flex; gap:10px; align-items:flex-start; }
.checks svg { flex:0 0 18px; width:18px; height:18px; margin-top:2px; fill:none; stroke:var(--cta); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.pad { padding:24px 20px !important; }
.pad .btn { margin-top:24px; align-self:stretch; }
.tile .num { display:block; font:700 clamp(40px,5vw,56px)/1 var(--fd); margin:0; }
.tile .num + span { margin-top:10px; }
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.prose-center { max-width:760px; margin:0 auto; text-align:center; }
.prose-center .lead { margin-top:0; }
.quote-line { font:700 clamp(24px,3vw,36px)/1.15 var(--fd); text-align:center; margin:36px auto 0; max-width:760px; }
.quote-line .w { color:inherit; }
.panel-wide { max-width:880px; margin:56px auto 0; }
.panel-wide .inner h3 { font-size:15px; text-transform:uppercase; letter-spacing:.4px; color:var(--cta); margin-bottom:14px; }
.panel-wide .checks { margin-top:0; }
.addons { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.pay { text-align:center; margin-top:40px; }
.pay p { margin:0 0 14px; font:400 16px/24px var(--fb); }
.pay-logos { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.pay-chip { width:62px; height:40px; background:#fff; border-radius:8px; display:flex; align-items:center; justify-content:center; }
.pay-chip .visa { font:italic 800 16px/1 var(--fd); color:#1a1f71; }
.pay-chip.amex-chip { background:#006fcf; } .pay-chip .amex { font:600 13px/1 var(--fd); color:#fff; }
.note a, .lead a, .inner a { color:#000; font-weight:700; text-underline-offset:3px; }
.spk-empty, .spk-note { text-align:center; font:400 14px/21px var(--fb); margin:28px 0 0; }

/* program */
html:not(.show-program) [data-program] { display:none !important; }
html.show-program .program-soon { display:none; }
.soon { max-width:640px; margin:0 auto; }
.soon .form-card h3 { margin-bottom:8px; }
.soon-lead { text-align:center; margin:0 0 20px; font:400 16px/24px var(--fb); }
.soon-form { display:flex; gap:12px; flex-wrap:wrap; }
.soon-form input { flex:1 1 220px; height:47px; padding:12px 16px; background:#f8f9fb; border:1px solid rgba(0,0,0,.12); border-radius:8px; font:400 14px/1.2 var(--fb); }
.soon-form .btn { flex:0 0 auto; }
.soon-msg { min-height:20px; margin-top:12px; font-size:14px; text-align:center; } .soon-msg.ok { color:#0a6b3a; } .soon-msg.err { color:#b3261e; }
.soon-fine { font-size:12px; line-height:16px; color:rgba(0,0,0,.6); margin:10px 0 0; text-align:center; }
.progbar .progbar-inner, .progbar-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.daychips { display:flex; gap:10px; flex-wrap:wrap; } .daychips[hidden] { display:none; }
.daychip { background:#fff; border:1px solid rgba(4,33,48,.14); border-radius:48px; padding:10px 18px; font:700 14px/1 var(--fb); text-decoration:none; box-shadow:0 1px 3px rgba(4,33,48,.08); } .daychip small { font-weight:400; }
.printbtn { background:#fff; color:#000; border:1px solid rgba(4,33,48,.14); border-radius:48px; padding:10px 18px; font:700 14px/1 var(--fb); cursor:pointer; box-shadow:0 1px 3px rgba(4,33,48,.08); }
.prog-day { margin-bottom:40px; }
.day-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding:0; } .day-head svg { display:none; }
.day-head .dnum { font:600 26px/1.2 var(--fd); } .day-head .dnum .accent { color:inherit; } .day-head .ddate, .day-head .dtag { font:400 16px/1.4 var(--fb); color:#042130; opacity:.8; }
.ses-list { display:flex; flex-direction:column; gap:12px; margin-top:20px; }
/* økt-kort, samme oppbygning som offshorekonferansen.no/program: tid + typemerke øverst, tittel, beskrivelse, hvem */
.ses { background:#fff; border:1px solid rgba(4,33,48,.14); border-left:3px solid #7dd3fc; border-radius:16px; padding:20px 24px; box-shadow:0 1px 3px rgba(4,33,48,.08); }
.ses.k-keynote, .ses.k-aapning { border-left:4px solid var(--cta); }
.ses.k-panel { border-left:4px solid var(--foot); }
.ses.k-quiet { background:rgba(255,255,255,.7); border-left:3px solid rgba(4,33,48,.18); box-shadow:none; }
.shead { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.stime { display:inline-flex; align-items:center; gap:6px; font:700 14px/1.2 var(--fb); font-variant-numeric:tabular-nums; white-space:nowrap; }
.stime svg { width:14px; height:14px; color:var(--cta); }
.tp, .theme-pill { display:inline-flex; align-items:center; border-radius:48px; padding:3px 10px; border:1px solid; font:700 12px/1.3 var(--fb); text-transform:uppercase; letter-spacing:.5px; }
.tp { background:#eef6fb; color:#042130; border-color:#bcdcee; }
.k-keynote .tp, .k-aapning .tp { background:rgba(36,158,220,.12); color:#0b5f8a; border-color:rgba(36,158,220,.45); }
.k-panel .tp { background:#e8eef3; color:#042130; border-color:#9fb3c2; }
.k-quiet .tp { background:#f1f4f8; color:var(--grey); border-color:rgba(4,33,48,.14); }
.theme-pill { background:none; color:#042130; border-color:rgba(4,33,48,.2); font-weight:500; text-transform:none; letter-spacing:0; font-size:12px; }
.ses .stitle { margin:12px 0 0; font:600 18px/1.3 var(--fd); }
.ses.k-keynote .stitle, .ses.k-panel .stitle { font-size:20px; }
.ses.k-quiet .stitle { font-size:16px; font-weight:700; color:var(--grey); }
.ses .sdesc { margin:6px 0 0; font:400 14px/22px var(--fb); color:var(--grey); }
.smeta { display:flex; flex-wrap:wrap; gap:6px 18px; margin:12px 0 0; font:400 14px/1.4 var(--fb); }
.smeta .item { display:inline-flex; align-items:flex-start; gap:8px; font-weight:600; } .smeta svg { width:14px; height:14px; margin-top:3px; flex:0 0 14px; color:var(--grey); } .smeta .co { font-weight:400; color:var(--grey); }
.footnote { font:400 14px/21px var(--fb); text-align:center; margin:24px 0 0; }
@media (max-width:640px) { .ses { padding:16px 18px; } .progbar-inner { flex-direction:column; align-items:flex-start; } }
@media print { .nav, .foot, .final, .phero .peak, .printbtn { display:none !important; } body { background:#fff; } }

/* utstilling */
.map-block { max-width:560px; margin:0 auto; }
.map-wrap { position:relative; width:100%; }
.map-info.sr-only { position:absolute; }
.stand-chips { display:none; }
.stand-map { display:block; width:100%; height:auto; overflow:visible; font-family:var(--font-display); }
.stand-map .fl { fill:url(#fl-g); stroke:url(#fl-g); stroke-width:30; stroke-linejoin:round; filter:drop-shadow(0 24px 36px rgba(0,60,130,.30)); }
.stand-map .door path { fill:none; stroke:rgba(10,58,107,.28); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.stand-map .bar { fill:none; stroke:rgba(10,58,107,.22); stroke-width:18; stroke-linecap:round; }
.stand-map .fix rect { fill:rgba(40,110,190,.16); }
.stand-map .fix .serv { fill:rgba(40,110,190,.08); stroke:rgba(10,58,107,.22); stroke-width:5; }
.stand-map .recep .rbox { fill:none; stroke:rgba(10,58,107,.22); stroke-width:4; }
.stand-map .recep .stairs { stroke:rgba(10,58,107,.16); stroke-width:4; fill:none; stroke-linecap:round; }
.stand-map .thresh { stroke:#249edc; stroke-width:10; stroke-linecap:round; }
.stand-map .arrow { fill:none; stroke:#fff; stroke-width:12; stroke-linecap:round; stroke-linejoin:round; paint-order:stroke; }
.stand-map text { font-weight:600; text-anchor:middle; dominant-baseline:central; pointer-events:none; letter-spacing:-.01em; }
.stand-map .lbl-xl { font-size:70px; fill:#000; font-weight:700; letter-spacing:-.02em; } .stand-map .lbl-xl.lbl-start { text-anchor:start; }
.stand-map .lbl-w { font-size:32px; fill:#2b5f9e; font-weight:600; letter-spacing:0; } .stand-map .lbl-w.lbl-sm { font-size:25px; }
.stand-map .stand { cursor:pointer; outline:none; }
.stand-map .st-box { fill:rgba(255,255,255,.7); stroke:rgba(255,255,255,.9); stroke-width:3; transition:fill .25s, stroke .25s, stroke-width .2s; filter:drop-shadow(0 6px 10px rgba(0,60,130,.18)); }
.stand-map .st-num { font-size:54px; fill:#0a3a6b; font-weight:600; letter-spacing:-.02em; }
.stand-map .stand.taken .st-box { fill:url(#st-g); stroke:#2f78c8; filter:drop-shadow(0 8px 12px rgba(0,50,120,.35)); }
.stand-map .stand.taken .st-num { fill:#fff; font-weight:700; }
.stand-map .stand:hover .st-box, .stand-map .stand:focus-visible .st-box { fill:#fff; stroke:#249edc; stroke-width:8; }
.stand-map .stand.taken:hover .st-box, .stand-map .stand.taken:focus-visible .st-box { fill:url(#st-g); }
.stand-map .stand.sel .st-box { stroke:#249edc; stroke-width:11; }
.map-tip { position:absolute; z-index:5; min-width:130px; max-width:230px; padding:11px 15px 12px; text-align:center; background:rgba(255,255,255,.96); border-radius:12px; color:#000; box-shadow:0 4px 16px rgba(0,0,0,.18); }
.map-tip[hidden] { display:none; }
.map-tip::after { content:""; position:absolute; left:var(--ax,50%); bottom:-6px; width:12px; height:12px; margin-left:-6px; background:rgba(255,255,255,.96); transform:rotate(45deg); border-radius:2px; }
.map-tip.below::after { bottom:auto; top:-6px; }
.map-tip .tip-num { font:600 12px/1 var(--fd); letter-spacing:.4px; text-transform:uppercase; color:var(--cta); margin-bottom:6px; }
.map-tip .tip-free { font:600 15px/1.2 var(--fd); } .map-tip .tip-name { font:600 16px/1.2 var(--fd); }
.map-tip .tip-logo { display:block; margin:0 auto; width:144px; height:48px; max-width:100%; object-fit:contain; }
.map-tip .tip-cta { display:inline-block; margin-top:8px; padding:7px 14px; border-radius:48px; background:#000; color:#fff; font:600 12px/1 var(--fd); text-transform:uppercase; text-decoration:none; white-space:nowrap; }
.incl { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; align-items:stretch; }
.price-panel .big { font:700 clamp(34px,4vw,48px)/1.05 var(--fd); }
.price-panel p { font:400 14px/21px var(--fb); color:var(--grey); margin:12px 0 0; }
.exh-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:24px; }
.exh { position:relative; background:#fff; background-clip:padding-box; border:8px solid rgba(255,255,255,.35); border-radius:12px; padding:18px 18px 20px; }
.exh .stand { position:absolute; top:12px; right:12px; font:600 11px/1 var(--fd); letter-spacing:.4px; text-transform:uppercase; color:var(--cta); background:#e8f6fd; border-radius:48px; padding:6px 10px; }
.exh .mark { min-height:52px; display:flex; align-items:center; padding-right:70px; font:600 20px/1.1 var(--fd); }
.exh .mark img { width:144px; height:48px; max-width:100%; object-fit:contain; object-position:left center; }
.exh .exh-name { font:600 15px/1.2 var(--fd); margin:4px 0 0; } .exh .spons { display:inline-block; margin-top:6px; font:600 12px/1 var(--fd); text-transform:uppercase; letter-spacing:.4px; color:var(--cta); }
.exh p { font:400 14px/21px var(--fb); color:var(--grey); margin:10px 0 12px; }
.exh .web { font:600 13px/1 var(--fd); color:var(--cta); display:inline-flex; align-items:center; gap:6px; text-decoration:none; } .exh .web svg { width:14px; height:14px; }
.stand-form-card { max-width:720px; margin:0 auto; background:rgba(255,255,255,.8); border-radius:16px; padding:28px; box-shadow:0 4px 16px rgba(0,0,0,.12); }
.stand-form { display:flex; flex-direction:column; gap:14px; text-align:left; }
.sf-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; } @media (max-width:640px) { .sf-row { grid-template-columns:1fr; } }
.sf-field { display:flex; flex-direction:column; gap:6px; } .sf-field label { font:400 14px/1.2 var(--fb); } .sf-field .req { color:#b3261e; } .sf-field .opt { color:rgba(0,0,0,.55); }
.sf-field input, .sf-field textarea { width:100%; height:47px; padding:12px 16px; background:#f8f9fb; border:1px solid rgba(0,0,0,.12); border-radius:8px; font:400 14px/1.2 var(--fb); color:#000; }
.sf-check { display:flex; align-items:center; gap:10px; font:400 14px/1.3 var(--fb); cursor:pointer; min-height:44px; } .sf-check input { width:20px; height:20px; accent-color:var(--cta); }
.sf-hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.stand-form .btn { align-self:stretch; border:0; }
.sf-msg { font-size:14px; min-height:20px; } .sf-msg.ok { color:#0a6b3a; } .sf-msg.err { color:#b3261e; } .sf-fine { font-size:12px; line-height:16px; color:rgba(0,0,0,.6); margin:0; }
.sf-done { text-align:center; padding:28px 12px; } .sf-done h3 { font:700 24px/1.1 var(--fd); margin:12px 0 6px; } .sf-done p { margin:0; } .stand-form[hidden], .sf-done[hidden] { display:none; }
.contact-line { margin-top:28px; text-align:center; font:400 14px/21px var(--fb); } .contact-line a { font-weight:700; }

/* overbevis-sjefen */
.mc-lead { max-width:720px; margin:0 auto; text-align:center; } .mc-lead p { font:400 20px/30px var(--fb); margin:0; }
.mc-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-top:40px; }
.mc-fact { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:.5px solid rgba(255,255,255,.5); border-radius:8px; padding:24px; text-align:center; }
.mc-fact b { display:block; font:700 clamp(30px,3.4vw,40px)/1 var(--fd); } .mc-fact span { display:block; margin-top:10px; font:400 14px/21px var(--fb); }
.mc-head { text-align:center; max-width:760px; margin:0 auto 44px; } .mc-head .sec-eyebrow { display:block; font:600 16px/1.2 var(--fd); letter-spacing:.4px; text-transform:uppercase; margin-bottom:14px; }
.mc-head p { font:400 20px/30px var(--fb); margin:18px 0 0; }
.mc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.mc-grid-3 { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.mc-card { background:#fff; background-clip:padding-box; border:8px solid rgba(255,255,255,.35); border-radius:12px; padding:22px 22px 24px; }
.mc-card .no { display:block; font:700 40px/1 var(--fd); color:var(--cta); }
.mc-card h3 { margin:12px 0 10px; } .mc-card p { font:400 14px/21px var(--fb); color:var(--grey); margin:0; }
.mc-tag { display:inline-block; font:600 12px/1 var(--fd); letter-spacing:.4px; text-transform:uppercase; color:var(--cta); background:#e8f6fd; border-radius:48px; padding:6px 12px; }
.mc-sub { text-align:center; font:600 16px/1.2 var(--fd); text-transform:uppercase; letter-spacing:.4px; margin:48px 0 20px; }
.mc-calc { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:stretch; } @media (max-width:900px) { .mc-calc { grid-template-columns:1fr; } }
.mc-panel { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.5); border-radius:16px; padding:24px; }
.mc-panel h3 { font:600 14px/1.2 var(--fd); text-transform:uppercase; letter-spacing:.4px; margin-bottom:14px; }
.mc-opts { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.mc-opt { position:relative; } .mc-opt input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.mc-opt label { display:block; background:#fff; border:2px solid transparent; border-radius:8px; padding:14px 16px; cursor:pointer; }
.mc-opt label b { display:block; font:600 17px/1.2 var(--fd); } .mc-opt label span { font:400 13px/1.3 var(--fb); color:var(--grey); }
.mc-opt input:checked + label { border-color:var(--cta); } .mc-opt input:focus-visible + label { outline:3px solid #000; outline-offset:2px; }
.mc-dinner { display:flex; gap:12px; align-items:center; margin-top:18px; font:400 15px/1.3 var(--fb); cursor:pointer; } .mc-dinner input { width:20px; height:20px; accent-color:var(--cta); }
.mc-result { background:#fff; border-radius:16px; padding:28px; display:flex; flex-direction:column; justify-content:center; box-shadow:0 4px 16px rgba(0,0,0,.12); }
.mc-result .lbl { font:600 13px/1 var(--fd); letter-spacing:.4px; text-transform:uppercase; color:var(--cta); }
.mc-result .total { font:700 clamp(38px,4.6vw,56px)/1.05 var(--fd); margin-top:8px; } .mc-result .total small { font:600 16px/1 var(--fd); color:var(--grey); }
.mc-result .per { margin-top:6px; font:600 17px/1.2 var(--fd); color:var(--cta); }
.mc-result .note { margin-top:18px; padding-top:16px; border-top:1px solid rgba(0,0,0,.1); font:400 14px/21px var(--fb); color:var(--grey); }
.mc-fine { text-align:center; font:400 14px/21px var(--fb); margin-top:20px; }
.mc-letter-wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:start; } @media (max-width:980px) { .mc-letter-wrap { grid-template-columns:1fr; } }
.mc-letter-wrap > div:first-child { position:sticky; top:110px; } @media (max-width:980px) { .mc-letter-wrap > div:first-child { position:static; } }
.mc-letter-wrap h2 { text-align:left; }
.mc-steps { list-style:none; counter-reset:s; display:flex; flex-direction:column; gap:20px; margin:28px 0 0; padding:0; }
.mc-steps li { counter-increment:s; display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:start; }
.mc-steps li::before { content:counter(s); width:44px; height:44px; border-radius:50%; background:#000; color:#fff; display:flex; align-items:center; justify-content:center; font:600 18px/1 var(--fd); }
.mc-steps b { display:block; font:600 18px/1.2 var(--fd); margin-bottom:3px; } .mc-steps span { font:400 15px/22px var(--fb); }
.mc-tip { margin-top:18px; font:400 14px/21px var(--fb); }
.mc-letter { background:#fff; border-radius:16px; box-shadow:0 4px 16px rgba(0,0,0,.12); overflow:hidden; }
.mc-letter-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; padding:16px 22px; background:#f1f7fc; border-bottom:1px solid rgba(0,0,0,.08); }
.mc-letter-bar .subj { font:400 14px/1.3 var(--fb); }
.mc-letter-btns { display:flex; gap:10px; flex-wrap:wrap; } .mc-letter-btns .btn { padding:10px 16px; font-size:13px; }
.mc-letter-body { white-space:pre-wrap; padding:26px 28px 30px; font:400 15.5px/1.6 var(--fb); color:#1b2733; }
.mc-letter-body mark { background:#fff2b8; color:inherit; border-radius:4px; padding:0 3px; }
.mc-faq { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.mc-faq details { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:.5px solid rgba(255,255,255,.5); border-radius:8px; padding:0 22px; }
.mc-faq summary { cursor:pointer; list-style:none; padding:18px 30px 18px 0; position:relative; font:600 18px/1.25 var(--fd); }
.mc-faq summary::-webkit-details-marker { display:none; } .mc-faq summary::after { content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:26px; font-weight:500; }
.mc-faq details[open] summary::after { content:"–"; } .mc-faq details p { padding:0 0 20px; margin:0; font:400 16px/24px var(--fb); }

/* personvern */
.legal-card { max-width:960px; margin:0 auto; }
.legal { background:#fff; border-radius:8px; padding:36px 40px 44px; color:#1b2733; font:400 16px/26px var(--fb); }
.legal .updated { font-size:14px; color:var(--grey); margin:0 0 8px; }
.legal h2 { text-align:left; font:600 22px/1.2 var(--fd); margin:36px 0 12px; }
.legal p { margin:0 0 12px; } .legal ul { margin:0 0 14px; padding-left:22px; } .legal li { margin:4px 0; } .legal a { color:var(--cta); font-weight:700; } .legal code { font-size:13px; background:#eef3f7; padding:1px 5px; border-radius:5px; }
.legal-table { display:flex; flex-direction:column; border:1px solid rgba(0,0,0,.1); border-radius:8px; overflow:hidden; margin:8px 0 18px; font-size:14px; line-height:21px; }
.lt-row { display:grid; grid-template-columns:1.1fr 1.3fr 2fr 1fr; gap:16px; padding:14px 16px; border-top:1px solid rgba(0,0,0,.08); } .lt-row:first-child { border-top:0; } .lt-row.lt-3 { grid-template-columns:1.2fr 2fr 1fr; }
.lt-head { background:#f1f7fc; font:600 12px/1.2 var(--fd); text-transform:uppercase; letter-spacing:.4px; }
@media (max-width:760px) { .legal { padding:24px 20px 30px; } .lt-row, .lt-row.lt-3 { grid-template-columns:1fr; gap:6px; } .lt-head { display:none; } }

/* one-pager */
.need { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; align-items:start; } @media (max-width:900px) { .need { grid-template-columns:1fr; } }
.need h2, .bank-copy h2 { text-align:left; } .need h2 .w { display:block; }
.tags { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; } .tags .tag { background:#e8f6fd; border-radius:48px; padding:7px 14px; font:600 13px/1 var(--fd); }
.inner p + p, .inner .tags + p { margin-top:12px; }
.pull { margin-top:16px; padding:16px; background:#f1f7fc; border-radius:8px; font:600 18px/1.3 var(--fd); color:#000; } .pull small { display:block; margin-top:6px; font:400 14px/21px var(--fb); color:var(--grey); }
.bank-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:40px; align-items:center; } @media (max-width:900px) { .bank-grid { grid-template-columns:1fr; } }
.bank-copy p { font:400 18px/28px var(--fb); margin:18px 0 0; }
.flow { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; margin-top:24px; } .flow span { background:var(--glass); border:.5px solid rgba(255,255,255,.5); border-radius:48px; padding:9px 16px; font:600 13px/1 var(--fd); } .flow i { font-style:normal; font-weight:600; }
.bank-photo { margin:0; } .bank-photo img { width:100%; border-radius:6px; aspect-ratio:4/3; object-fit:cover; } .bank-photo figcaption { font:400 13px/1.3 var(--fb); color:var(--grey); padding:10px 8px 6px; }
.gains { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.how-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.how-item { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:.5px solid rgba(255,255,255,.5); border-radius:8px; padding:24px; }
.how-item .k { font:700 36px/1 var(--fd); color:#000; } .how-item h3 { margin:12px 0 8px; font-size:20px; } .how-item p { margin:0; font:400 15px/22px var(--fb); }
.pillrow { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:900px; margin:0 auto; } .pillrow .pill { background:#fff; border-radius:48px; padding:12px 20px; font:600 15px/1 var(--fd); }
.photostrip { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; } .photostrip .glass img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.contact-tile { display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; justify-content:space-between; }
.contact-tile .org { font:600 20px/1.2 var(--fd); } .contact-tile .org span { font-weight:400; }
.contact-tile .ask { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; font:400 15px/1.3 var(--fb); }
.promise { text-align:center; font:700 20px/30px var(--fb); margin:0 0 18px; }
@media (max-width:640px) { .photostrip { grid-template-columns:1fr; } }
.phero h1.h1-long { font-size:clamp(28px,6vw,72px); }
.phero h1.h1-md { font-size:clamp(30px,4.2vw,56px); text-transform:none; line-height:1.05; }
html:not(.show-dummy) [data-dummy] { display:none !important; }
.sf-field textarea { height:auto; min-height:110px; resize:vertical; }
.exh-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }

/* påmelding: status, steg og åpen/lukket-visning (styres av registrationOpen i supabase-config.js) */
html:not(.reg-open) .reg-open-only, html.reg-open .reg-closed-only { display:none !important; }
.reg-grid { align-items:center; }
.reg-pill { display:inline-flex; align-items:center; gap:10px; margin:0 0 20px; padding:9px 16px; background:#fff; border-radius:48px; font:600 13px/1 var(--fd); text-transform:uppercase; letter-spacing:.4px; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.reg-pill i { width:10px; height:10px; border-radius:50%; background:#f5a623; }
html.reg-open .reg-pill i { background:#1fa463; }
.reg-h { margin:0 0 8px; text-align:left; }
.steps { list-style:none; counter-reset:step; margin:28px 0 0; padding:0; display:grid; gap:18px; max-width:520px; }
.steps li { counter-increment:step; display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:start; }
.steps li::before { content:counter(step); width:44px; height:44px; border-radius:50%; background:#000; color:#fff; display:grid; place-items:center; font:700 18px/1 var(--fd); }
.steps b { display:block; font:600 18px/24px var(--fd); }
.steps span { display:block; margin-top:4px; font:400 16px/24px var(--fb); }
.form-card .rf-fine a { color:#000; text-underline-offset:2px; }
@media (max-width:1000px) { .reg-grid { align-items:start; } }
@media (max-width:640px) { .nav-links { gap:8px; } .nav-links a { font-size:13px; } }
@media (max-width:380px) { .nav-links { flex-wrap:wrap; justify-content:flex-start; gap:2px 14px; } .nav-links a { font-size:13px; } }
.reg-card .reg-pill { display:flex; width:fit-content; margin:0 auto 16px; }
.reg-card .checks { margin:0 0 20px; }
.card-body p.credit { margin-top:auto; padding-top:12px; font-size:12px; line-height:16px; color:rgba(0,0,0,.45); }


.hero .cta-row.hero-cta { justify-content:flex-start; margin-top:28px; }

/* legg til i kalender */
.cal-wrap { margin:20px 0 0; }
.cal { display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px 18px; }
.cal .btn { display:inline-flex; align-items:center; gap:8px; }
.cal-alt { font:700 14px/1 var(--fb); color:#000; text-underline-offset:3px; }
.hero .cal-wrap { margin-top:14px; }
.phero .cal-wrap { margin-top:24px; }

/* kalenderknapper: små og diskrete */
.cal { gap:8px 14px; }
.cal .btn.btn-sm { padding:6px 12px; font-size:11px; line-height:1; border-width:1.5px; gap:6px; }
.cal .btn svg { width:13px; height:13px; }
.cal-alt { font-size:12px; }
.cal-wrap { margin-top:14px; }
.hero .cal-wrap { margin-top:12px; }

/* program: kvelden før og dagshode */
.eve-lead { margin:0 12px 14px; font:400 15px/22px var(--fb); }
.dayhead-main { padding:12px 4px 14px; }
.prog-eve { margin-bottom:32px; }

/* kode for foreløpig program */
.code-form { margin-top:20px; padding-top:16px; border-top:1px solid rgba(0,0,0,.12); }
.code-form label { display:block; margin-bottom:8px; font:700 14px/20px var(--fb); }
.code-row { display:flex; gap:10px; flex-wrap:wrap; }
.code-row input { flex:1 1 160px; height:44px; padding:10px 14px; background:#f8f9fb; border:1px solid rgba(0,0,0,.12); border-radius:8px; font:400 16px/1.2 var(--fb); letter-spacing:.2em; }
.code-row .btn { flex:0 0 auto; height:44px; }

.nav .btn { white-space:nowrap; }

/* hero: venstrestilt tekst, slogan på én linje med ordvis innfading. Fjellkjeden er som før (full bredde og høyde bak innholdet), men tonet litt ned der teksten ligger */
.hero { padding:56px 0 76px; }
.hero-grid { display:block; }
.hero .eyebrow { margin-bottom:22px; }
/* slogan: små bokstaver, tre linjer som trapper seg oppover mot fjellet, punktumene i hvitt */
.hero h1 { font-size:clamp(46px,6.1vw,88px); line-height:.93; margin:0 0 26px; letter-spacing:-.035em; text-transform:none; }
.hero h1 span:not(.sr-only) { display:block; }
.hero h1 span:nth-of-type(3) { margin-left:.8em; } .hero h1 span:nth-of-type(4) { margin-left:1.6em; }
.hero h1 i { font-style:normal; color:#fff; text-shadow:0 1px 14px rgba(4,33,48,.25); }
.hero .lead { max-width:700px; }
.hero-label { margin-top:30px; }
.hero .peak { left:5%; -webkit-mask:linear-gradient(90deg,transparent 0,rgba(0,0,0,.14) 16%,rgba(0,0,0,.14) 28%,rgba(0,0,0,.4) 50%,#000 63%),linear-gradient(0deg,transparent 0,#000 7%); -webkit-mask-composite:source-in;
  mask:linear-gradient(90deg,transparent 0,rgba(0,0,0,.14) 16%,rgba(0,0,0,.14) 28%,rgba(0,0,0,.4) 50%,#000 63%),linear-gradient(0deg,transparent 0,#000 7%); mask-composite:intersect; }
@media (max-width:1200px) { .hero .peak { left:0; } }
.phero .peak { -webkit-mask:linear-gradient(0deg,transparent 0,#000 8%); mask:linear-gradient(0deg,transparent 0,#000 8%); }
@media (max-width:720px) {
  .hero h1 { font-size:clamp(46px,14vw,66px); line-height:.98; }
  .hero h1 span:nth-of-type(3) { margin-left:.55em; } .hero h1 span:nth-of-type(4) { margin-left:1.1em; }
}
@keyframes wordIn { from { opacity:0; transform:translateY(.32em); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) {
  .hero h1 span:not(.sr-only) { animation:wordIn .9s cubic-bezier(.22,.8,.24,1) both; }
  .hero h1 span:nth-of-type(3) { animation-delay:.14s; } .hero h1 span:nth-of-type(4) { animation-delay:.28s; }
}

/* hero: det ytterste (lengst til høyre) fjellet er fjernet; fjellet som da står lengst til høyre er fullt synlig og kraftig i farger, resten ligger dempet i bakgrunnen */
.hero .peak .pk-far { display:none; }
.hero .peak .pk-front polygon:nth-child(n+6):nth-child(-n+11) { stroke-opacity:1; stroke-width:1.4; }
.hero .peak .pk-front .pk-w:nth-child(n+6) { fill-opacity:.98; } .hero .peak .pk-front .pk-l:nth-child(n+6) { fill-opacity:.82; }
.hero .peak .pk-front .pk-m:nth-child(n+6) { fill:#a9d4f5; fill-opacity:.95; } .hero .peak .pk-front .pk-d:nth-child(n+6) { fill:#1f64b4; fill-opacity:.9; }

/* hero: navn og dato øverst i hvitt */
.hero .eyebrow { color:#fff; margin-bottom:6px; text-shadow:0 1px 14px rgba(4,33,48,.35); }
.hero-date { margin:0 0 26px; font:600 16px/1.3 var(--fd); letter-spacing:.4px; text-transform:uppercase; color:#fff; text-shadow:0 1px 14px rgba(4,33,48,.35); }
@media (max-width:640px) { .hero-date { font-size:14px; } }

/* rolige, eksklusive knapper: vanlig skrivemåte, lettere skrift, tynn kontur, dyp marine i stedet for rent svart */
.btn { text-transform:none; font-weight:500; font-size:15.5px; letter-spacing:.01em; padding:15px 28px; transition:background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .35s ease, transform .15s ease; }
.btn:active { transform:scale(.98); }
.btn-black { background:#07202f; color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 8px 22px -12px rgba(4,33,48,.6); }
.btn-black:hover { background:#0d2f44; box-shadow:0 1px 0 rgba(255,255,255,.14) inset, 0 12px 26px -12px rgba(4,33,48,.7); }
.btn-cta { font-weight:500; }
.btn-line { border:1px solid rgba(4,33,48,.5); color:#07202f; padding:14px 27px; background:rgba(255,255,255,.18); }
.btn-line:hover { background:#fff; color:#07202f; border-color:#07202f; }
.btn-sm { font-size:14px; font-weight:500; padding:12px 14px; }
.nav .btn { padding:10px 20px; font-size:14px; }
.cal .btn.btn-sm { font-size:12.5px; padding:7px 14px; font-weight:500; border-width:1px; }
.hero .cta-row.hero-cta { gap:12px; }
.hero-cta .btn-black::after { content:"→"; margin-left:12px; font-weight:400; transition:transform .3s ease; }
.hero-cta .btn-black:hover::after { transform:translateX(4px); }

/* sammenslåtte seksjoner på forsiden */
.stories { margin-top:48px; }
.stories .stories-in { background:#fff; border-radius:8px; padding:36px 32px 28px; }
.stories h3 { text-align:center; font-size:26px; margin:0; }
.stories-lead { text-align:center; max-width:640px; margin:12px auto 28px; font:400 16px/24px var(--fb); color:var(--grey); }
.story-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.story-list li { padding:4px 28px; border-left:1px solid rgba(0,0,0,.1); } .story-list li:first-child { border-left:0; padding-left:0; } .story-list li:last-child { padding-right:0; }
.story-list b { display:block; font:600 18px/1.25 var(--fd); } .story-list span { display:block; margin-top:6px; font:400 14px/21px var(--fb); color:var(--grey); }
.stories-note { margin:26px 0 0; text-align:center; font:400 14px/21px var(--fb); color:var(--grey); }
@media (max-width:760px) { .story-list { grid-template-columns:1fr; } .story-list li, .story-list li:first-child, .story-list li:last-child { padding:16px 0; border-left:0; border-top:1px solid rgba(0,0,0,.1); } .story-list li:first-child { border-top:0; padding-top:0; } .stories .stories-in { padding:28px 22px 24px; } }
.card-body .lbl { margin-top:18px; }
.roles { list-style:none; margin:4px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.roles li { background:#e8f6fd; border-radius:48px; padding:6px 12px; font:500 13px/1.2 var(--fb); color:#042130; }
#pamelding.final .peak { width:48%; right:-3%; height:380px; }
@media (max-width:900px) { #pamelding.final .peak { width:90%; right:-20%; opacity:.6; } }

/* dato og sted under logoen i menyen */
.nav .logo { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.logo-meta { font:500 12.5px/1 var(--fd); letter-spacing:.2px; color:rgba(0,0,0,.62); white-space:nowrap; }

/* flere skyer bak sloganet */
.hero-clouds { position:absolute; left:0; top:0; width:min(72%,1050px); height:100%; z-index:0; pointer-events:none; }
.hero-clouds ellipse { fill:#fff; filter:url(#cloud); }
.hero-clouds .hc { opacity:.62; } .hero-clouds .hc-b { opacity:.5; }
@media (prefers-reduced-motion:no-preference) { .hero-clouds .hc-a { animation:clDrift 44s ease-in-out infinite alternate; } .hero-clouds .hc-b { animation:clDrift 58s ease-in-out infinite alternate-reverse; } }
@media (max-width:720px) { .hero-clouds { width:100%; } .hero-clouds .hc { opacity:.5; } }
.nav .logo, .nav .logo:hover { text-decoration:none; }

/* datolinjen i menyen står på linje med teksten i logoen (teksten starter 108/82 av logohøyden fra venstre kant) */
.nav .logo { --lh:46px; }
.nav .logo img { height:var(--lh); }
.logo-meta { margin-left:calc(var(--lh) * 1.317); }
@media (max-width:900px) { .nav .logo { --lh:34px; } }

/* ---------- hamburgermeny (≤ 1180 px: under det får ikke logo, meny og knapp plass på én rad) ---------- */
.nav-toggle { display:none; }
.nav-links .nav-mobile-only { display:none; }
@media (max-width:1180px) {
  .nav .wrap { flex-wrap:wrap; }
  .nav .logo { order:1; }
  .nav .wrap > .btn { order:2; margin-left:auto; }
  .nav-toggle { order:3; margin-left:0; display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:46px; height:46px; padding:0; background:transparent; border:0; border-radius:12px; cursor:pointer; }
  .nav-toggle span { display:block; width:24px; height:2px; background:#000; border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
  .nav.open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav.open .nav-toggle span:nth-child(2) { opacity:0; }
  .nav.open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .nav-links { order:4; flex:0 0 100%; }
  .js .nav-links { display:none; }
  .js .nav.open .nav-links { display:flex; flex-direction:column; justify-content:flex-start; gap:0; flex:0 0 100%; padding:4px 0 10px; border-top:1px solid rgba(0,0,0,.08); }
  .js .nav-links li { display:block; }
  .js .nav-links a { display:block; padding:15px 2px; font:500 16px/1.2 var(--fb); border-bottom:1px solid rgba(0,0,0,.07); }
  .js .nav-links li:last-child a { border-bottom:0; }
  .nav-links .nav-mobile-only { display:block; }
}
/* nettbrett (901–1180 px): knappen står ved siden av hamburgerknappen */
@media (min-width:901px) and (max-width:1180px) {
  .nav .wrap { gap:20px; }
  .nav .wrap > .btn { margin-left:auto; }
  .nav-links .nav-mobile-only, .js .nav-links li.nav-mobile-only { display:none; }
}
/* mobil: knappen skjules, «Påmelding» ligger i menyen i stedet */
@media (max-width:900px) {
  .nav .wrap > .btn { display:none; }
  .nav-toggle { margin-left:auto; }
  .nav .wrap { padding-top:8px; padding-bottom:8px; }
}

/* ---------- horisontal sveip på mobil: Gjennomføringen i fokus og Tre perspektiver ---------- */
.dots { display:none; }
@media (max-width:760px) {
  #praktisk > .wrap > .cards, #keynotes > .wrap > .cards, #utbytte > .wrap > .cards, #pamelding > .wrap > .cards { display:flex; gap:14px; overflow-x:auto; overflow-y:hidden; margin:0 -20px; padding:4px 20px 14px; scroll-snap-type:x mandatory; scroll-padding-left:20px; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:none; }
  #praktisk > .wrap > .cards::-webkit-scrollbar, #keynotes > .wrap > .cards::-webkit-scrollbar, #utbytte > .wrap > .cards::-webkit-scrollbar, #pamelding > .wrap > .cards::-webkit-scrollbar { display:none; }
  #praktisk > .wrap > .cards > .cell, #keynotes > .wrap > .cards > .cell, #utbytte > .wrap > .cards > .cell, #pamelding > .wrap > .cards > .cell { flex:0 0 80%; max-width:340px; scroll-snap-align:start; }
  .dots { display:flex; justify-content:center; align-items:center; gap:12px; margin:10px 0 0; }
  .dots button { position:relative; width:16px; height:16px; padding:0; border:0; border-radius:16px; background:rgba(255,255,255,.62); box-shadow:0 0 0 1px rgba(4,33,48,.1); cursor:pointer; transition:width .3s ease, background-color .3s ease; }
  .dots button::before { content:""; position:absolute; inset:-14px -6px; }
  .dots button.on { width:44px; background:#fff; }
}
@media (prefers-reduced-motion:reduce) { .dots button { transition:none; } }

/* «Historiene vi vil lære av»: bred bildeflate med tittelen lagt over, historiene under */
.stories .stories-in { padding:0; overflow:hidden; }
.stories-hero { position:relative; height:clamp(300px,34vw,430px); background:#16222c; }
.stories-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 38%; }
.stories-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,18,28,0) 22%,rgba(4,18,28,.72) 72%,rgba(4,18,28,.9) 100%); }
.stories-cap { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:0 36px 28px; color:#fff; text-align:left; }
.stories-cap h3 { text-align:left; font-size:clamp(26px,3vw,36px); color:#fff; margin:0; letter-spacing:-.02em; }
.stories-cap .stories-lead { text-align:left; max-width:640px; margin:10px 0 0; color:rgba(255,255,255,.88); }
.stories .story-list { padding:28px 32px 4px; }
.stories .stories-note { padding:0 32px 26px; }
@media (max-width:760px) { .stories-hero { height:340px; } .stories-hero img { object-position:42% 40%; } .stories-cap { padding:0 22px 22px; } .stories .story-list { padding:22px 22px 0; } .stories .stories-note { padding:0 22px 22px; } }

/* dato og sted i menyen: nøyaktig like bred som teksten i logoen (4,774 × logohøyden), jevnt fordelt */
.logo-meta { display:block; width:calc(var(--lh) * 4.774); box-sizing:content-box; text-align:justify; text-align-last:justify; white-space:nowrap; font-size:calc(var(--lh) * .245); letter-spacing:0; }
@media (max-width:900px) { .nav .logo { --lh:clamp(35px,11.2vw,46px); } }

/* ---------- undersider: samme uttrykk som forsiden ---------- */
.phero h1 { text-transform:none; letter-spacing:-.035em; line-height:.98; }
.phero .eyebrow { letter-spacing:.4px; }
.phero .hero-clouds { z-index:0; width:min(76%,1100px); }
.phero .wrap { position:relative; z-index:1; }
.kicker span { text-transform:none; letter-spacing:0; }

/* horisontalt sveip med prikker på mobil (data-swipe) */
@media (max-width:760px) {
  [data-swipe] { display:flex !important; gap:14px; overflow-x:auto; overflow-y:hidden; margin-left:-20px; margin-right:-20px; padding:4px 20px 14px; scroll-snap-type:x mandatory; scroll-padding-left:20px; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:none; }
  [data-swipe]::-webkit-scrollbar { display:none; }
  [data-swipe] > * { flex:0 0 80%; max-width:340px; scroll-snap-align:start; }
}
.card-body > ul.checks { margin-bottom:24px; }
@media (max-width:760px) { [data-swipe] > .glass.cell { height:auto; } }
.price-panel p:last-of-type { margin-bottom:22px; }
@media (max-width:760px) { [data-swipe].tiles > .tile { display:flex; flex-direction:column; justify-content:center; } }

/* CAPTCHA-widget (usynlig med mindre Cloudflare trenger en utfordring) */
.cf-slot { margin:0; }
.cf-slot.cf-visible { margin:12px 0; }                                  /* tar bare plass når Cloudflare viser en boks */
.soon-form { gap:0 12px; }
.soon-form .cf-slot { flex:1 1 100%; margin:0; }
.soon-form .cf-slot.cf-visible { margin:12px 0 0; }

/* ---------- luft: rettelser etter gjennomgang av undersidene ---------- */
/* påmelding: trinn til venstre og skjema til høyre igjen (forsidens enkolonne-hero skal ikke gjelde her) */
.reg-grid { display:grid; grid-template-columns:minmax(0,1fr) 460px; gap:56px; align-items:center; }
@media (max-width:1000px) { .reg-grid { grid-template-columns:minmax(0,1fr); gap:40px; align-items:start; } }
/* avsnitt rett over en overskrift (one-pager) */
.sec-head .promise { margin:0 0 20px; }
/* knapper som manglet stil (utstillingsskjemaet og «Kopier brevet») */
.btn-blue { background:var(--cta); color:#fff; } .btn-blue:hover { background:#1c8ac3; }
/* tittel i firekolonners kort på «Få sjefen med» får plass ved smalere kolonner */
.mc-card h3 { font-size:clamp(18px,1.55vw,22px); overflow-wrap:anywhere; hyphens:auto; }

/* =====================================================================================================
   HVITE SEKSJONER (veksler med blå): hero blå → hvit → blå → hvit → blå avslutning.
   Legg klassen «w» på <section class="sec"> for hvit bakgrunn. Komponentene under er tegnet for blå bunn og får her kontur/skygge/lys fyll.
   ===================================================================================================== */
/* hero og underside-hero går myk over i hvitt */
.hero::after, .phero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:96px; background:linear-gradient(180deg,rgba(255,255,255,0),#fff); z-index:0; pointer-events:none; }
.sec.w { background:#fff; padding-bottom:104px; }
@media (max-width:640px) { .sec.w { padding-bottom:72px; } }
.sec.w .sec-head p, .sec.w .mc-head p, .sec.w .mc-lead p, .sec.w .stories-lead, .sec.w .soon-lead { color:#4f5b66; }
.sec.w .note, .sec.w .stories-note, .sec.w .footnote, .sec.w .contact-line, .sec.w .mc-fine, .sec.w .spk-note, .sec.w .spk-empty { color:#5d6975; }
.sec.w .stories-cap .stories-lead { color:rgba(255,255,255,.9); }

/* glassrammer og kort */
.sec.w .glass, .sec.w .glass.cell { background:none; border:0; padding:0; -webkit-backdrop-filter:none; backdrop-filter:none; }
.sec.w .card { border-radius:14px; box-shadow:0 0 0 1px rgba(11,22,32,.09), 0 16px 34px -20px rgba(11,22,32,.28); }
.sec.w .card.feat { box-shadow:0 0 0 2px var(--cta), 0 16px 34px -20px rgba(36,158,220,.5); }
.sec.w .card .ph { border-radius:12px 12px 0 0; margin:0; width:100%; }
.sec.w .stories .stories-in { border-radius:14px; box-shadow:0 0 0 1px rgba(11,22,32,.09), 0 16px 34px -20px rgba(11,22,32,.28); }
.sec.w .story-list li { border-color:rgba(11,22,32,.1); }
.sec.w .mc-card, .sec.w .spk, .sec.w .exh, .sec.w .plogo { border:0; border-radius:14px; box-shadow:0 0 0 1px rgba(11,22,32,.09), 0 16px 34px -20px rgba(11,22,32,.28); }
.sec.w .inner { box-shadow:0 0 0 1px rgba(11,22,32,.09); }

/* bokser som var gjennomsiktige på blå bunn: lys fyll og tynn kontur */
.sec.w .tile, .sec.w .mc-fact, .sec.w .how-item, .sec.w .mc-panel, .sec.w .panel, .sec.w .contact-tile, .sec.w .flow span, .sec.w .addons > *, .sec.w .map-block {
  background:#f3f8fc; border:1px solid rgba(11,22,32,.08); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; }
.sec.w .panel { padding:16px; }
.sec.w .panel .inner { background:#fff; }
.sec.w .pillrow .pill { background:#f3f8fc; box-shadow:0 0 0 1px rgba(11,22,32,.08); }
.sec.w .reg-pill { background:#eef5fa; box-shadow:none; }
.sec.w .mc-faq details { background:#f3f8fc; border:1px solid rgba(11,22,32,.08); -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; }
.sec.w .mc-opt label { background:#fff; border-color:rgba(11,22,32,.1); }
.sec.w .mc-opt input:checked + label { border-color:var(--cta); }

/* skjema- og resultatkort */
.sec.w .form-card, .sec.w .stand-form-card { background:#f3f8fc; border:1px solid rgba(11,22,32,.08); box-shadow:0 18px 40px -24px rgba(11,22,32,.3); }
.sec.w .form-card input, .sec.w .stand-form-card input, .sec.w .stand-form-card textarea, .sec.w .soon-form input, .sec.w .code-row input { background:#fff; }
.sec.w .mc-result, .sec.w .mc-letter, .sec.w .legal { box-shadow:0 0 0 1px rgba(11,22,32,.09), 0 18px 40px -24px rgba(11,22,32,.3); }
.sec.w .mc-letter-bar { background:#f3f8fc; }
.sec.w .legal { border-radius:14px; }
.sec.w .ses { box-shadow:0 0 0 1px rgba(11,22,32,.08); }
.sec.w .daychip, .sec.w .printbtn { box-shadow:none; background:#f3f8fc; }

/* prikker (mobil-sveip) på lys bunn */
.sec.w .dots button { background:#cfe4f2; box-shadow:none; }
.sec.w .dots button.on { background:#0b1620; }

/* kontrast (WCAG AA): lyseblå #249edc har bare 3:1 mot hvit. Hvit tekst på blå knapper og blå tekst på hvit bunn bruker en dypere blåtone. */
.btn-cta, .btn-blue { background:#0b78b3; } .btn-cta:hover, .btn-blue:hover { background:#095f8e; }
.sec.w .lbl, .sec.w .inner .lbl, .sec.w .mc-result .lbl, .sec.w .count, .sec.w .tag, .legal a, .sec.w .exh .web { color:#0a6fa5; }
.sec.w .note a, .sec.w .lead a, .sec.w .inner a { color:#0b1620; }

/* lengre hero med tydelig bunn: fjellkjeden beholder samme størrelse og står nederst, ekstra høyde gir luft over teksten; ingen utfasing mot hvitt, heroen ender i en klar kant */
.hero { padding:88px 0 164px; }
.hero .peak { height:585px; min-height:0; top:auto; bottom:0; -webkit-mask:linear-gradient(90deg,transparent 0,rgba(0,0,0,.14) 16%,rgba(0,0,0,.14) 28%,rgba(0,0,0,.4) 50%,#000 63%); mask:linear-gradient(90deg,transparent 0,rgba(0,0,0,.14) 16%,rgba(0,0,0,.14) 28%,rgba(0,0,0,.4) 50%,#000 63%); }
.hero::after { display:none; }
.hero { box-shadow:inset 0 -1px 0 rgba(255,255,255,.55); }
@media (max-width:1000px) { .hero .peak { height:450px; } }
@media (max-width:640px) { .hero { padding:64px 0 130px; } .hero .peak { height:504px; } }
/* skyene fades ut mot høyre, så svg-kanten ikke synes som en loddrett strek */
.hero-clouds, .phero .hero-clouds { overflow:visible; -webkit-mask:linear-gradient(90deg,#000 0,#000 70%,transparent 100%); mask:linear-gradient(90deg,#000 0,#000 70%,transparent 100%); }

/* hero: litt lavere enn forrige justering (ca. halvveis mellom opprinnelig og lengre), med samme tydelige bunn og samme fjellstørrelse */
.hero { padding:72px 0 112px; }
@media (max-width:640px) { .hero { padding:56px 0 104px; } }

/* =====================================================================================================
   DESIGNGJENNOMGANG FORSIDE (oktober 2026): tettere seksjoner, én kortstil, større brødtekst, overskrifter på én linje på desktop,
   lavere historie-panel. Gjelder hele nettstedet der komponentene brukes.
   ===================================================================================================== */
/* 3) mindre luft mellom seksjonene: ca. 136 px fra forrige innhold til neste overskrift (før: 208 px). Blå seksjoner får også bunnluft, så kortene ikke ligger inntil kanten. */
.sec { padding-top:76px; }
.sec.w { padding-bottom:60px; }
.sec:not(.w):not(.final) { padding-bottom:76px; }
.sec-head { margin-bottom:40px; }
@media (max-width:640px) { .sec { padding-top:60px; } .sec.w { padding-bottom:48px; } .sec:not(.w):not(.final) { padding-bottom:56px; } .sec-head { margin-bottom:32px; } }

/* 4) én kortstil: hvitt kort med myk skygge overalt, ingen lyseblå glassramme rundt kortene på blå bunn */
.glass.cell { background:none; border:0; padding:0; -webkit-backdrop-filter:none; backdrop-filter:none; border-radius:14px; }
.card { border-radius:14px; box-shadow:0 0 0 1px rgba(11,22,32,.06), 0 18px 36px -22px rgba(4,33,48,.38); }
.card.feat { box-shadow:0 0 0 2px #0b78b3, 0 18px 36px -22px rgba(4,33,48,.38); }
.card .ph { border-radius:12px 12px 0 0; margin:0; width:100%; }
.sec.w .card { box-shadow:0 0 0 1px rgba(11,22,32,.09), 0 16px 34px -20px rgba(11,22,32,.28); }
.sec.w .card.feat { box-shadow:0 0 0 2px #0b78b3, 0 16px 34px -20px rgba(36,158,220,.5); }

/* 5) større og mørkere brødtekst i kort og lister (14 px → 15,5 px) */
.card-body p, .card .per, .story-list span, .mc-card p, .exh p, .price-panel p, .inner p, .spk-info .role { font-size:15.5px; line-height:24px; color:#4a5560; }
.card-body p { margin-top:10px; }
.card-body .lbl, .lbl { font-size:13px; line-height:20px; }

/* 6) overskrifter brytes bare på mobil; på desktop står de på én linje der det er plass */
@media (min-width:641px) { h2 .w { display:inline; } }

/* 2) lavere historie-panel: bildet omtrent halvert, fraskrivelsen som liten tekst */
.stories-hero { height:clamp(200px,17vw,230px); }
.stories-hero img { object-position:50% 30%; }
.stories-cap { padding:0 32px 22px; }
.stories-cap h3 { font-size:clamp(24px,2.4vw,30px); }
.stories-cap .stories-lead { margin-top:6px; font-size:15.5px; line-height:23px; }
.stories .story-list { padding:24px 32px 0; }
.stories-note, .sec.w .stories-note { margin-top:16px; font-size:12.5px; line-height:18px; color:#7a8690; }
.stories .stories-note { padding:0 32px 20px; }
@media (max-width:760px) { .stories-hero { height:250px; } .stories-hero img { object-position:42% 35%; } .stories-cap { padding:0 22px 20px; } .stories-cap .stories-lead { font-size:15px; line-height:22px; } .stories .story-list { padding:20px 22px 0; } .stories .stories-note { padding:0 22px 20px; } }

/* 1) hero: kortere ingress (to linjer). Høyden holdes rundt 650 px på desktop med litt mer luft under knappene. */
.hero { padding:96px 0 148px; }
@media (max-width:640px) { .hero { padding:56px 0 104px; } }

/* 7) (tatt tilbake) menyknappen vises alltid, også mens heroen er synlig */

/* 8) praktisk-stripe under heroen: dato, sted, tid, format og kalenderknapper */
.factbar { background:#fff; border-bottom:1px solid rgba(11,22,32,.08); }
.factbar .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px 32px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; }
.facts { display:flex; flex-wrap:wrap; gap:8px 0; margin:0; }
.facts > div { padding:0 28px; border-left:1px solid rgba(11,22,32,.12); }
.facts > div:first-child { padding-left:0; border-left:0; }
.facts dt { font:600 11px/16px var(--fd); letter-spacing:.08em; text-transform:uppercase; color:#0a6fa5; margin:0; }
.facts dd { font:600 15px/22px var(--fb); color:#0b1620; margin:2px 0 0; white-space:nowrap; }
.facts dd a { color:inherit; text-decoration:none; } .facts dd a:hover { text-decoration:underline; text-underline-offset:3px; }
.factbar .cal { gap:8px; flex-wrap:nowrap; }
.factbar .cal .btn.btn-sm { font-size:12.5px; padding:8px 14px; border-width:1px; gap:6px; }
.factbar + .sec.w { padding-top:68px; }
@media (max-width:1000px) { .factbar .wrap { justify-content:center; } .facts { justify-content:center; } }
@media (max-width:640px) {
  .factbar .wrap { padding-top:14px; padding-bottom:16px; gap:14px; }
  .facts { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
  .facts > div, .facts > div:first-child { padding:0; border-left:0; }
  .facts dd { white-space:normal; font-size:14px; line-height:20px; }
  .factbar .cal { flex-wrap:wrap; justify-content:center; }
  .factbar + .sec.w { padding-top:56px; }
}

/* 9) bildetekst under konferansebildene */
.photo-credit { margin:22px 0 0; text-align:center; font:400 13px/19px var(--fb); color:#7a8690; }
@media (max-width:760px) { .photo-credit { margin-top:6px; } }

/* 10) etikett på det anbefalte passet */
.card.feat { position:relative; overflow:visible; }
.card .badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); white-space:nowrap; background:#0b78b3; color:#fff; font:600 11px/1 var(--fd); letter-spacing:.06em; text-transform:uppercase; padding:7px 12px; border-radius:48px; box-shadow:0 4px 12px -4px rgba(4,33,48,.4); }
@media (max-width:760px) { [data-swipe]:has(.card.feat) { padding-top:16px; } }

/* 11) mobil: rollelisten som én tekstlinje i stedet for piller */
@media (max-width:760px) {
  #keynotes .roles { display:block; font:400 14px/22px var(--fb); color:#4a5560; }
  #keynotes .roles li { display:inline; background:none; padding:0; margin:0; border-radius:0; box-shadow:none; font:inherit; color:inherit; }
  #keynotes .roles li:not(:last-child)::after { content:" · "; color:#9aa6b0; }
}

/* 12) mobil: i prisseksjonen er bare hovedknappen en knapp, de to andre blir tekstlenker */
@media (max-width:640px) {
  #pamelding .cta-row { flex-direction:column; align-items:center; gap:10px; }
  #pamelding .cta-row .btn-line { background:none; border:0; padding:6px 4px; font:600 15px/1.2 var(--fb); text-transform:none; color:#0b1620; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(11,22,32,.35); }
  #pamelding .cta-row .btn-line:hover { color:#000; text-decoration-color:currentColor; }
  #pamelding .cta-row .btn-black { margin-bottom:6px; }
}

/* 13) mobil: klistret bunnknapp når heroen er rullet forbi */
.sticky-cta { display:none; }
@media (max-width:760px) {
  .sticky-cta { display:block; position:fixed; left:0; right:0; bottom:0; z-index:40; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 -8px 24px -16px rgba(4,33,48,.35); transform:translateY(110%); transition:transform .3s ease; }
  .sticky-cta.show { transform:none; }
  .sticky-cta .btn { width:100%; }
  html.has-sticky-cta .nav.open .nav-links { padding-bottom:80px; }
}
@media print { .sticky-cta, .factbar .cal { display:none !important; } }

/* =====================================================================================================
   DESIGNGJENNOMGANG UNDERSIDER (oktober 2026)
   ===================================================================================================== */
/* 1) én kortstil også for nummerkort, utstillerkort og «slik fungerer dagen»-kort (ingen lyseblå glassramme) */
.mc-card, .exh { border:0; border-radius:14px; box-shadow:0 0 0 1px rgba(11,22,32,.06), 0 18px 36px -22px rgba(4,33,48,.38); }
.mc-card { padding:24px 24px 26px; }
.how-item { background:#fff; border:0; -webkit-backdrop-filter:none; backdrop-filter:none; border-radius:14px; box-shadow:0 0 0 1px rgba(11,22,32,.06), 0 18px 36px -22px rgba(4,33,48,.38); }
.how-item p { color:#4a5560; }

/* 2) fakta-fliser: hvite med tynn kontur i stedet for gjennomsiktig gradient; 2×2 på mobil */
.tile, .mc-fact { background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none; border:1px solid rgba(11,22,32,.08); border-radius:14px; box-shadow:0 12px 28px -22px rgba(4,33,48,.35); }
.tile b { font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#0a6fa5; }
.tile span { color:#0b1620; font:600 15.5px/22px var(--fb); }
.tile .num { color:#0b1620; } .tile .num + span { color:#4a5560; font-weight:400; }
.mc-fact span { color:#4a5560; }
@media (max-width:640px) {
  .tiles:not([data-swipe]), .mc-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .tile, .mc-fact { padding:18px 14px; }
  .tile span, .mc-fact span { font-size:14px; line-height:20px; }
  .mc-fact b { font-size:26px; }
}

/* 3) undersidenes hero slutter i en skarp kant som forsiden; fjellene står helt nede */
.phero::after { display:none; }
.phero { box-shadow:inset 0 -1px 0 rgba(255,255,255,.55); }
.phero .peak { -webkit-mask:none; mask:none; }

/* 6) foredragsholdere: plassholdere for de tre perspektivene + varslingsskjema */
.spk-soon .spk-soon-cards .card-body { padding:22px 22px 26px; }
.spk-soon .card-body .lbl { margin:0 0 8px; }
.spk-soon .card-body h3 { color:#4a5560; font-weight:600; }
.spk-soon .form-card { max-width:640px; margin:40px auto 0; }
.spk-soon .form-card h3, .program-soon .form-card h3 { text-transform:none; font-size:26px; line-height:1.15; letter-spacing:-.02em; margin-bottom:10px; }
.spk-soon .soon-form .btn { text-transform:none; font-size:15px; }
@media (max-width:760px) { .spk-soon .spk-soon-cards { grid-template-columns:1fr; } }

/* 7) program: tilgangskoden ligger bak en lenke, og knappen i skjemaet er rolig */
.code-details { margin-top:22px; padding-top:18px; border-top:1px solid rgba(11,22,32,.1); }
.code-details summary { cursor:pointer; list-style:none; text-align:center; font:600 14px/20px var(--fb); color:#0b1620; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(11,22,32,.35); }
.code-details summary::-webkit-details-marker { display:none; }
.code-details summary:hover { text-decoration-color:currentColor; }
.code-details[open] summary { margin-bottom:14px; }
.code-details .code-form { text-align:left; }
.program-soon .soon-form .btn, .soon-form .btn-cta { text-transform:none; font-size:15px; }

/* 8) utstilling: tall, «hvorfor» og «inkludert» i én seksjon */
#hvorfor .tiles { margin-top:0; }
.incl-after-tiles { margin-top:24px; }
@media (max-width:760px) { .incl-after-tiles { margin-top:20px; } }

/* 10) deltakerpass: «Godt å vite» som én flate, uten boks i boks */
.panel.flat { background:none; border:0; padding:0; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; gap:16px; }
.panel.flat .inner { background:#fff; border-radius:14px; padding:24px 26px; box-shadow:0 0 0 1px rgba(11,22,32,.06), 0 18px 36px -22px rgba(4,33,48,.38); }
.panel.flat .addons .tile { text-align:left; padding:18px 22px; }
.panel.flat .cal-wrap { margin-top:4px !important; }

/* 11) påmelding: lenkelinje under prisnoten */
.note-links { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 12px; margin-top:10px; }
.note-links a { font-weight:600; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(11,22,32,.35); }
.note-links a:hover { text-decoration-color:currentColor; }
.note-links span { color:rgba(11,22,32,.4); }

/* kalender: «Google Kalender» som knapp lik «Legg til i kalender» overalt */
.cal-alt { display:inline-flex; align-items:center; gap:6px; border:1px solid #000; border-radius:48px; padding:7px 14px; font:500 12.5px/1 var(--fd); text-decoration:none; color:#000; }
.cal-alt:hover { background:#000; color:#fff; }

/* 13) footer med logo, dato og sted og knapp */
.foot { padding:44px 0 36px; }
.foot-top { display:flex; align-items:center; justify-content:space-between; gap:20px 32px; flex-wrap:wrap; padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid rgba(255,255,255,.14); text-align:left; }
.foot-brand { display:flex; flex-direction:column; gap:8px; }
.foot-brand img { height:40px; width:auto; display:block; }
.foot-brand span { font:400 13px/18px var(--fb); color:rgba(255,255,255,.72); }
.foot .btn.foot-btn { background:#fff; color:#0b1620; text-transform:none; font-size:15px; padding:14px 24px; }
.foot .btn.foot-btn:hover { background:#e8f3fa; color:#0b1620; text-decoration:none; }
@media (max-width:640px) {
  .foot-top { flex-direction:column; align-items:flex-start; }
  .foot .btn.foot-btn { width:100%; }
}
@media (max-width:760px) { html.has-sticky-cta .foot { padding-bottom:36px; } }

/* 9) «Seks grunner»: tre kolonner og to fulle rader på desktop */
@media (min-width:900px) { .mc-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* program: forhåndsvisningsbanner for innloggede / kode når programmet ikke er publisert */
.preview-note { margin:0 0 20px; padding:12px 16px; border-radius:12px; background:#fff6e0; border:1px solid #f0d9a0; color:#5a4300; font:400 14px/21px var(--fb); text-align:center; }
.preview-note b { font-weight:700; }
@media print { .preview-note { display:none !important; } }

/* hero: lavere på desktop etter kortere ingress (ca. 600 px); bunnluften reduseres, toppen og fjellstørrelsen holdes; mobil uendret */
.hero { padding:96px 0 100px; }
@media (max-width:640px) { .hero { padding:56px 0 104px; } }

/* hero: enda lavere på desktop (ca. 540 px); mobil uendret */
.hero { padding:72px 0 64px; }
@media (max-width:640px) { .hero { padding:56px 0 104px; } }

/* historie-panelet uten fraskrivelse: litt luft under listen */
.stories .story-list { padding-bottom:26px; }
@media (max-width:760px) { .stories .story-list { padding-bottom:16px; } }

/* foredragsholdere: bare tekst og varslingsskjema mens listen er tom */
.spk-soon-head { margin-bottom:0; }
.spk-soon .form-card { margin-top:36px; }

/* historie-panelet: tittel og ingress står under bildet, ikke oppå det */
.stories-hero::after { display:none; }
.stories-cap { position:static; padding:26px 32px 0; color:inherit; }
.stories-cap h3 { color:#0b1620; }
.stories-cap .stories-lead, .sec.w .stories-cap .stories-lead { color:#4a5560; margin-top:8px; }
.stories .story-list { padding-top:22px; }
@media (max-width:760px) { .stories-cap { padding:20px 22px 0; } .stories .story-list { padding-top:16px; } }

/* praktisk-stripe under heroen: lys blåtone i stedet for hvit med strek */
.factbar { background:#eaf4fb; border-bottom:0; }
.facts dd { color:#0b1620; }

/* praktisk-stripe også på undersidene: samme avstand til første seksjon */
.factbar + .sec { padding-top:68px; }
@media (max-width:640px) { .factbar + .sec { padding-top:56px; } }

/* =====================================================================================================
   FRA TESTDESIGNET (oktober 2026): menyfont, nøkkeltall nederst i hero, seksjonshoder med etikett og lett tittel,
   «Én felles samtale» som tre kort med store tall. Farger og fjell som før.
   ===================================================================================================== */
/* meny: samme font og størrelse som i forslagene */
.nav-links { gap:30px; }
.nav-links a { font:600 13px/1 var(--fd); letter-spacing:.1em; text-transform:uppercase; }
.nav-links a.active, .nav-links a[aria-current="page"] { border-bottom:2px solid var(--cta); padding-bottom:4px; text-decoration:none; }
@media (max-width:900px) { .nav-links a { font-size:14px; letter-spacing:.08em; } }

/* nøkkeltall nederst i heroen */
.hero { padding-bottom:0; display:flex; flex-direction:column; }
.hero > .hero-grid { padding-bottom:56px; }
.hero-stats { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; border-top:1px solid rgba(255,255,255,.45); padding-top:24px; padding-bottom:34px; }
.hero-stats b { display:block; font:800 clamp(34px,3.8vw,52px)/1 var(--fd); letter-spacing:-.03em; color:#fff; text-shadow:0 1px 14px rgba(4,33,48,.2); }
.hero-stats span { display:block; margin-top:8px; font:600 12.5px/1.3 var(--fd); letter-spacing:.08em; text-transform:uppercase; color:#042130; }
@media (max-width:900px) { .hero-stats { grid-template-columns:1fr 1fr; gap:18px 16px; padding-top:20px; padding-bottom:28px; } }
@media (max-width:640px) { .hero { padding-bottom:0; } .hero > .hero-grid { padding-bottom:40px; } .hero-stats b { font-size:32px; } .hero-stats span { font-size:11.5px; } }

/* seksjonshoder: etikett + lett tittel, venstrestilt */
.sec-head.left { text-align:left; max-width:820px; margin-left:0; }
.sec-head.left .lbl { margin:0 0 12px; font:600 13px/1.2 var(--fd); letter-spacing:.14em; text-transform:uppercase; color:#0a6fa5; }
.sec:not(.w) .sec-head.left .lbl { color:#042130; }
.sec-head.left h2.h-light { text-align:left; font:300 clamp(32px,3.8vw,52px)/1.08 var(--fd); letter-spacing:-.025em; }
.sec-head.left p { margin-top:14px; text-align:left; }
@media (max-width:640px) { .sec-head.left h2.h-light { font-size:30px; } }

/* «Én felles samtale»: tre kort med store tall, det midterste mørkt og løftet */
.persp-grid { gap:20px; align-items:stretch; }
.persp { background:#fff; border-radius:18px; padding:28px 26px 28px; box-shadow:0 0 0 1px rgba(11,22,32,.06), 0 18px 36px -22px rgba(4,33,48,.38); display:flex; flex-direction:column; gap:10px; height:100%; }
.persp.dark { background:#042130; color:#fff; }
.persp .big-no { font:800 64px/1 var(--fd); letter-spacing:-.05em; color:#0b78b3; }
.persp.dark .big-no { color:#7dd3fc; }
.persp h3 { margin:6px 0 0; font:600 23px/1.15 var(--fd); letter-spacing:-.015em; }
.persp p { margin:0; font:400 15.5px/24px var(--fb); color:#4a5560; }
.persp.dark p { color:rgba(255,255,255,.8); }
.persp .lbl { margin:14px 0 2px; font-size:12px; color:#0a6fa5; }
.persp.dark .lbl { color:#7dd3fc; }
.persp .roles { margin-top:auto; }
.persp.dark .roles li { background:rgba(255,255,255,.12); color:#fff; }
@media (min-width:901px) { .persp-grid .cell:nth-child(2) { transform:translateY(-22px); } .persp-grid { padding-top:22px; } }
@media (max-width:760px) { #keynotes .persp.dark .roles { color:rgba(255,255,255,.85); } #keynotes .persp.dark .roles li:not(:last-child)::after { color:rgba(255,255,255,.5); } }
.hero > .wrap { width:100%; }

/* nøkkeltall: eget mørkt bånd under heroen i stedet for hvite tall oppå skyene */
.stats-band { background:#042130; color:#fff; }
.stats-band .hero-stats { border-top:0; padding-top:30px; padding-bottom:32px; gap:0; }
.stats-band .hero-stats > div { padding:0 28px; border-left:1px solid rgba(255,255,255,.14); }
.stats-band .hero-stats > div:first-child { padding-left:0; border-left:0; }
.stats-band .hero-stats b { text-shadow:none; color:#fff; }
.stats-band .hero-stats span { color:#7dd3fc; }
.hero > .hero-grid { padding-bottom:64px; }
@media (max-width:900px) { .stats-band .hero-stats { gap:18px 0; padding-top:22px; padding-bottom:24px; } .stats-band .hero-stats > div { padding:0 18px; } .stats-band .hero-stats > div:nth-child(odd) { padding-left:0; border-left:0; } }
@media (max-width:640px) { .hero > .hero-grid { padding-bottom:44px; } }
