/* ---------- Fonter (selvhostet, ingen tredjepart) ----------
   ITF Free Font License + OnlineWebFonts-konvertering (demo) – ikke lisensiert for kommersiell levering. Se assets/fonts/lisenser/
   Variable filer: én per stil dekker hele vektaksen 100-900.
   ---------------------------------------------------------- */
@font-face{
  font-family:'Melodrama';
  src:url('../assets/fonts/melodrama-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'General Sans';
  src:url('../assets/fonts/general-sans-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'General Sans';
  src:url('../assets/fonts/general-sans-italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Recia';
  src:url('../assets/fonts/recia-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Recia';
  src:url('../assets/fonts/recia-italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'GT Sectra Fine';
  src:url('../assets/fonts/gt-sectra-fine-300-normal.woff2') format('woff2');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'GT Sectra Fine';
  src:url('../assets/fonts/gt-sectra-fine-700-normal.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Suisse Intl';
  src:url('../assets/fonts/suisse-intl-300-normal.woff2') format('woff2');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Suisse Intl';
  src:url('../assets/fonts/suisse-intl-400-normal.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Suisse Intl';
  src:url('../assets/fonts/suisse-intl-600-normal.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Suisse Intl';
  src:url('../assets/fonts/suisse-intl-700-normal.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}

/* ---------- Tokens (Design DNA i research/notat.md) ---------- */
:root{
  --c-papir:#EEEFE9; --c-blekk:#1C261D; --c-dempet:#505B4F; --c-linje:rgba(28,38,29,.16);
  --c-aksent:#87B926; --c-aksent-tekst:#3D6611; --c-knapp:#87B926; --c-knapp-tekst:#1C261D;
  --c-mork:#151B16; --c-mork-tekst:#EEF0E8; --c-mork-dempet:#A9B3A3; --c-mork-linje:rgba(238,240,232,.18); --c-mork-aksent:#87B926;
  --c-slor:21,27,22; --c-stjerne-film:#B5DC6E;
  --c-stjerne:var(--c-aksent-tekst); --c-fokus:#3D6611; --c-feil:#A1321B;
  --f-display:'Melodrama','Times New Roman',serif; --w-display:300;
  --f-tung:'General Sans',system-ui,sans-serif; --w-tung:600;
  --f-tekst:'General Sans',system-ui,sans-serif;
  --d-skala:1; --t-skala:1; /* display-ordene er ulikt brede per font (HAGEDRØMMER ved 100 px: Melodrama 572, Recia 844, GT Sectra Fine 783) */
  --kant:clamp(16px,4.4vw,64px); --ramme:1312px;
  --rom:clamp(72px,10vw,136px); --topp:72px;
  --ease:cubic-bezier(.23,1,.32,1);
  --z-dekor:1; --z-sticky:100; --z-dokk:200; --z-overlay:300; --z-panel:400; --z-varsel:500;
}
html[data-pal="2"]{
  --c-papir:#F0EFEE; --c-blekk:#47271D; --c-dempet:#6E5A52; --c-linje:rgba(71,39,29,.16);
  --c-aksent:#B5562B; --c-aksent-tekst:#9A4520; --c-knapp:#B5562B; --c-knapp-tekst:#FFFFFF;
  --c-mork:#2B1C16; --c-mork-tekst:#F0EFEE; --c-mork-dempet:#BBA99F; --c-mork-linje:rgba(240,239,238,.18); --c-mork-aksent:#E08A5E;
  --c-slor:43,28,22; --c-fokus:#9A4520; --c-stjerne-film:#F0B48F;
}
html[data-pal="3"]{
  --c-papir:#131814; --c-blekk:#EEF0E8; --c-dempet:#A9B3A3; --c-linje:rgba(238,240,232,.16);
  --c-aksent-tekst:#A6D45A; --c-mork:#0B0F0C; --c-mork-tekst:#EEF0E8; --c-mork-dempet:#A9B3A3;
  --c-slor:11,15,12; --c-fokus:#A6D45A; --c-feil:#F4B7A6;
}
html[data-font="2"]{ --f-display:'Recia','Times New Roman',serif; --w-display:300; --d-skala:.7; }
html[data-font="3"]{ --f-display:'GT Sectra Fine','Times New Roman',serif; --w-display:300; --f-tung:'Suisse Intl',system-ui,sans-serif; --f-tekst:'Suisse Intl',system-ui,sans-serif; --w-tung:700; --d-skala:.76; --t-skala:.94; }

/* Mørke flater bytter tokenverdiene, ikke reglene (regel 4) */
.mork{
  --c-blekk:var(--c-mork-tekst); --c-dempet:var(--c-mork-dempet); --c-linje:var(--c-mork-linje);
  --c-aksent-tekst:var(--c-mork-aksent); --c-stjerne:var(--c-mork-aksent); --c-fokus:var(--c-mork-aksent); --c-feil:#F4B7A6;
  background:var(--c-mork); color:var(--c-blekk);
}

/* ---------- Grunnlag ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--c-papir);color:var(--c-blekk);font:400 16px/1.5 var(--f-tekst);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,figure,blockquote,legend{margin:0;padding:0}
ul{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--c-fokus);outline-offset:3px;border-radius:2px}
.ikon{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vis-skjermleser{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hopp{position:absolute;left:12px;top:-60px;z-index:var(--z-varsel);padding:12px 16px;background:var(--c-blekk);color:var(--c-papir);text-decoration:none}
.hopp:focus{top:12px}
.ramme{width:min(var(--ramme),100% - 2*var(--kant));margin-inline:auto}
.seksjonstittel{font:400 clamp(32px,3.2vw,46px)/1.08 var(--f-tekst);letter-spacing:-.01em}

/* Knapper: Montarville (13 px, 600, versal, radius 2). Sekundær: tekstlenke med pil (Atmosphera). */
.knapp{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:2px;background:transparent;font:var(--w-tung) 13px/1 var(--f-tung);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .16s var(--ease)}
.knapp--aksent{background:var(--c-knapp);color:var(--c-knapp-tekst)}
.knapp--linje{border-color:var(--c-linje);color:var(--c-blekk)}
.knapp--lys{border-color:var(--c-mork-linje);color:var(--c-mork-tekst)}
.pil-lenke{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 15px/1.2 var(--f-tekst);text-decoration:none;border-bottom:1px solid var(--c-linje)}
.pil-lenke .ikon{transition:transform .25s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .knapp--aksent:hover{background:color-mix(in srgb,var(--c-knapp) 86%,var(--c-blekk))}
  .knapp--linje:hover{border-color:var(--c-blekk)}
  .knapp--lys:hover{border-color:var(--c-mork-tekst)}
  .pil-lenke:hover .ikon{transform:translateX(4px)}
}
.knapp:active{transform:scale(.97)}

/* ---------- Stjerner: fylt til ekte snitt ---------- */
.stjerner{position:relative;display:inline-block;width:5.4em;height:1em;font-size:14px;line-height:1;--stjerne:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E")}
.stjerner::before,.stjerner__fylt{position:absolute;inset:0;-webkit-mask:var(--stjerne) 0 0/1.08em 1em repeat-x;mask:var(--stjerne) 0 0/1.08em 1em repeat-x;content:''}
.stjerner::before{background:var(--c-linje)}
.stjerner__fylt{width:var(--fylt,100%);background:var(--c-stjerne)}

/* ---------- Toppen ---------- */
.topp{position:relative;z-index:var(--z-sticky)}
.topp__rad{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--topp)}
.merke{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.merke__symbol{width:38px;height:auto}
.merke__mork{fill:#4B7733}
html[data-pal="3"] .merke__mork{fill:#A6D45A}
.merke__navn{font:600 16px/1 var(--f-tung);letter-spacing:-.01em}
.merke__navn em{font-style:normal;font-weight:400;color:var(--c-dempet)}
.meny{display:flex;gap:28px}
.meny a,.topp__tlf{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 13px/1 var(--f-tekst);letter-spacing:.02em;text-decoration:none}
.meny a{text-transform:uppercase}
@media (hover:hover) and (pointer:fine){.meny a:hover,.topp__tlf:hover{color:var(--c-aksent-tekst)}}

/* ---------- Hero, felles ---------- */
html[data-hero="1"] .hero[data-hero="2"],html[data-hero="2"] .hero[data-hero="1"]{display:none}
.hero__over{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font:500 13px/1.3 var(--f-tekst)}
.hero__sted{letter-spacing:.02em;text-transform:uppercase}
.hero__vurdering{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.hero__vurdering span:last-child{border-bottom:1px solid var(--c-linje)}
.hero__knapper{display:flex;flex-wrap:wrap;gap:12px}
/* Masken holder blekket, ikke linjeboksen (Phase 5, ordrett) */
.hero__tittel .hero__line{display:block;overflow:hidden;padding:.2em .25em .26em;margin:-.2em -.25em -.26em}
.hero__tittel .hero__line-in{display:block}
.anim-hero .hero__line-in{transform:translateY(150%)}
.anim-hero .hero__sub{opacity:0}

/* Hero 1: tynn versal serif med innfelt foto (atmospheraitaly.com: 145 px, vekt 100, lh 0,97) */
.hero--ord{display:flex;min-height:calc(100svh - var(--topp));padding:clamp(8px,1.6vw,24px) 0 80px}
.hero--ord .hero__rad{display:flex;flex-direction:column;gap:clamp(28px,4vw,56px)}
.hero--ord .hero__tittel{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.2em;margin:auto 0;font:var(--w-display) calc(clamp(44px,10.2vw,148px)*var(--d-skala))/1.04 var(--f-display);letter-spacing:0;text-transform:uppercase}
.hero__line--a{grid-column:1/-1}
.hero__innfelt{width:2.7em;height:.8em;overflow:hidden}
.hero__innfelt img{width:100%;height:100%;object-fit:cover}
.hero__fot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px}
.hero__ingress{max-width:31em;font-size:clamp(16px,1.3vw,19px);line-height:1.5;color:var(--c-dempet)}

/* Hero 2: dronefilmen i hele bakgrunnen, tung grotesk (montarville.ca: 96 px, 600, lh 1,0) */
.hero--film{position:relative;display:flex;min-height:calc(100svh - var(--topp));overflow:hidden;background:var(--c-mork);color:var(--c-mork-tekst);--c-blekk:var(--c-mork-tekst);--c-dempet:var(--c-mork-dempet);--c-linje:var(--c-mork-linje);--c-stjerne:var(--c-stjerne-film);--c-fokus:var(--c-mork-aksent)}
.hero__film{position:absolute;inset:0}
.hero__film video{width:100%;height:100%;object-fit:cover}
.hero__film::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--c-slor),.55) 0%,rgba(var(--c-slor),.25) 45%,rgba(var(--c-slor),0) 72%),linear-gradient(180deg,rgba(var(--c-slor),.76) 0%,rgba(var(--c-slor),.66) 44%,rgba(var(--c-slor),.58) 64%,rgba(var(--c-slor),.7) 100%)}
.hero__film-rad{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr auto auto;column-gap:48px;row-gap:24px;padding:clamp(12px,1.6vw,24px) 0 80px}
.hero__film-rad .hero__over{grid-column:1/-1}
.hero__tittel--tung{grid-column:1/-1;align-self:start;margin-top:clamp(8px,2vw,32px);font:var(--w-tung) calc(clamp(58px,13.4vw,196px)*var(--t-skala))/.92 var(--f-tung);letter-spacing:-.03em;text-transform:none}
.hero__punktum::after{content:".";color:var(--c-mork-aksent)}
.hero__to{grid-column:1;grid-row:4;max-width:23em;font:500 clamp(18px,1.9vw,27px)/1.2 var(--f-tekst);color:var(--c-mork-dempet)}
.hero__to :is(strong,b){font-weight:500;color:var(--c-mork-tekst)}
.hero__film-rad .hero__knapper{grid-column:1;grid-row:5;align-items:center}
.hero__kort{grid-column:2;grid-row:3/6;align-self:end;width:clamp(170px,15vw,220px)}
.hero__kort img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hero__kort figcaption{margin-top:8px;font-size:13px;color:var(--c-mork-dempet)}

/* ---------- Påstand (Atmosphera: 68 px grotesk 400, lh 1,05, 58 % bredde) ---------- */
.pastand{padding:var(--rom) 0 calc(var(--rom)*.75)}
.pastand__tekst{max-width:15.5em;font:400 clamp(26px,3.9vw,56px)/1.08 var(--f-tekst);letter-spacing:-.015em}
.pastand__dempet{color:var(--c-dempet)}
.fakta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(40px,5vw,72px);padding-top:24px;border-top:1px solid var(--c-linje)}
.fakta li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.35}
.fakta .ikon{width:24px;height:24px;color:var(--c-aksent-tekst)}

/* ---------- Tjenester: fotoflater kant i kant med tynne ord over (Atmosphera OUTDOOR | INTERIOR) ---------- */
.tjenester{padding-bottom:var(--rom)}
.tjenester__topp{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 48px;margin-bottom:clamp(28px,3vw,44px)}
.tjenester__ingress{max-width:26em;color:var(--c-dempet)}
.flater{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.flate{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--c-mork);color:var(--c-mork-tekst)}
.flate img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.flate::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--c-slor),.78) 0%,rgba(var(--c-slor),.3) 38%,rgba(var(--c-slor),0) 62%);pointer-events:none}
.flate__tekst{position:absolute;left:clamp(20px,2.8vw,40px);right:clamp(20px,2.8vw,40px);bottom:clamp(20px,2.8vw,40px);z-index:var(--z-dekor);display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;row-gap:8px}
.flate__tekst .ikon{width:28px;height:28px;color:var(--c-mork-aksent)}
.flate__ord{font:var(--w-display) calc(clamp(28px,4.4vw,64px)*var(--d-skala))/1.04 var(--f-display);text-transform:uppercase;letter-spacing:0}
.flate__linje{grid-column:1/-1;max-width:30em;font-size:15px;line-height:1.45;color:var(--c-mork-tekst);opacity:.88}
.flate__lenke{position:absolute;inset:0;z-index:2}
@media (hover:hover) and (pointer:fine){.flate:hover img{transform:scale(1.03)}}

/* ---------- Velger (mørk, Montarvilles «Vous êtes…») ---------- */
.velger{padding:var(--rom) 0}
.velger__rad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(32px,6vw,96px);align-items:start}
.velger__intro p{max-width:26em;margin-top:20px;color:var(--c-dempet)}
.sjekk{display:grid;gap:20px}
.sjekk__topp{display:flex;align-items:center;justify-content:space-between;gap:16px;font:500 13px/1 var(--f-tekst);letter-spacing:.02em;text-transform:uppercase;color:var(--c-dempet)}
.sjekk__bar{position:relative;width:140px;height:2px;background:var(--c-linje);overflow:hidden}
.sjekk__bar span{position:absolute;inset:0;background:var(--c-mork-aksent);transform:scaleX(.2);transform-origin:0 50%;transition:transform .45s var(--ease)}
.sjekk fieldset{display:grid;gap:10px;margin:0;padding:0;border:0;min-width:0}
.sjekk legend{margin-bottom:12px;font:500 clamp(22px,2.2vw,30px)/1.2 var(--f-tekst);letter-spacing:-.01em}
.valg{position:relative;display:block;cursor:pointer}
.valg input{position:absolute;opacity:0;pointer-events:none}
.valg__rad{display:flex;align-items:center;gap:16px;min-height:58px;padding:12px 18px;border:1px solid var(--c-linje);border-radius:2px;font-size:16px;line-height:1.35;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.valg__bokstav{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--c-linje);border-radius:2px;font:600 13px/1 var(--f-tung)}
.valg input:checked + .valg__rad{border-color:var(--c-mork-aksent);background:color-mix(in srgb,var(--c-mork-aksent) 14%,transparent)}
.valg input:checked + .valg__rad .valg__bokstav{background:var(--c-mork-aksent);border-color:var(--c-mork-aksent);color:var(--c-mork)}
.valg input:focus-visible + .valg__rad{outline:2px solid var(--c-fokus);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.valg__rad:hover{border-color:var(--c-dempet)}}
.sjekk__svar{display:grid;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--c-linje)}
.sjekk__svar:focus{outline:none}
.sjekk__etikett{font:500 13px/1 var(--f-tekst);letter-spacing:.02em;text-transform:uppercase;color:var(--c-dempet)}
.sjekk__tjeneste{font:var(--w-display) calc(clamp(34px,4.2vw,58px)*var(--d-skala))/1.04 var(--f-display);text-transform:uppercase}
.sjekk__neste{display:flex;align-items:center;gap:10px;color:var(--c-dempet)}
.sjekk__neste :is(strong,b){font-weight:600;color:var(--c-blekk)}
.sjekk__felt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.felt{display:grid;gap:6px;font-size:13px;color:var(--c-dempet)}
.felt input{height:52px;padding:0 14px;border:1px solid var(--c-linje);border-radius:2px;background:transparent;color:var(--c-blekk);font:400 16px/1 var(--f-tekst)}
.felt input:focus-visible{outline:2px solid var(--c-fokus);outline-offset:2px}
.felt input[aria-invalid="true"]{border-color:var(--c-feil)}
.samtykke{display:flex;align-items:flex-start;gap:12px;margin-top:14px;font-size:14px;line-height:1.45;color:var(--c-dempet);cursor:pointer}
.samtykke input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--c-mork-aksent)}
.sjekk__takk{display:grid;gap:10px;justify-items:start}
.sjekk__takk:focus{outline:none}
.sjekk__hake{width:40px;height:40px;color:var(--c-mork-aksent)}
.sjekk__feil{font-size:15px;color:var(--c-feil)}
.sjekk__knapper{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Prosjekter (Atmosphera «Designed spaces») ---------- */
.prosjekter{padding:var(--rom) 0}
.prosjekter__topp{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(28px,3vw,44px)}
.kortrad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 20px}
.kort img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--c-linje)}
.kort__sted{margin-top:14px;font:500 12px/1 var(--f-tekst);letter-spacing:.04em;text-transform:uppercase;color:var(--c-aksent-tekst)}
.kort h3{margin-top:8px;font:500 18px/1.25 var(--f-tekst);letter-spacing:-.005em}
.kort__meta{margin-top:6px;font-size:14px;color:var(--c-dempet)}

/* ---------- Kompletthagen (Atmosphera: mørk fullbreddebanner med tynn serif) ---------- */
.kh{position:relative;display:flex;align-items:flex-end;min-height:clamp(560px,86vh,860px);overflow:hidden}
.kh__bilde{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kh::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--c-slor),.86) 0%,rgba(var(--c-slor),.62) 40%,rgba(var(--c-slor),.08) 78%),linear-gradient(0deg,rgba(var(--c-slor),.5) 0%,rgba(var(--c-slor),0) 40%)}
.kh__rad{position:relative;z-index:var(--z-dekor);display:grid;gap:18px;justify-items:start;padding:var(--rom) 0 clamp(40px,5vw,72px)}
.kh__kicker{font:500 13px/1 var(--f-tekst);letter-spacing:.04em;text-transform:uppercase;color:var(--c-mork-aksent)}
.kh__tittel{font:var(--w-display) calc(clamp(48px,9vw,132px)*var(--d-skala))/1.04 var(--f-display);text-transform:uppercase;letter-spacing:0}
.kh__tekst{max-width:31em;font-size:clamp(16px,1.3vw,18px);line-height:1.55;color:var(--c-dempet)}
.kh__lenker{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:8px}
.pil-lenke--lys{border-color:var(--c-mork-linje)}

/* ---------- Omtaler ---------- */
.omtaler{padding:var(--rom) 0 calc(var(--rom)*.6)}
.omtaler__rad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(32px,6vw,96px)}
.omtaler__snitt{display:grid;gap:20px;align-content:start;justify-items:start}
.snitt{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px;row-gap:4px}
.snitt__tall{grid-row:1/3;font:var(--w-display) clamp(64px,7vw,104px)/1 var(--f-display)}
.stjerner--stor{font-size:20px}
.snitt__antall{font-size:14px;color:var(--c-dempet)}
.omtaler__liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.omtale{display:grid;gap:14px;align-content:start;padding-top:20px;border-top:1px solid var(--c-linje)}
.omtale blockquote{font:400 clamp(18px,1.6vw,22px)/1.4 var(--f-tekst);letter-spacing:-.005em}
.omtale__navn{font-size:14px;color:var(--c-dempet)}

/* ---------- Instagram ---------- */
.folg{padding:calc(var(--rom)*.6) 0 var(--rom)}
.folg__rad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(32px,6vw,96px);align-items:end}
.folg__tekst{display:grid;gap:18px;justify-items:start}
.folg__tekst p{max-width:24em;color:var(--c-dempet)}
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.reel{position:relative;display:grid;gap:10px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}
.reel img{width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--c-mork)}
.reel__spill{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(var(--c-slor),.6);color:#fff;transition:transform .25s var(--ease)}
.reel__spill .ikon{width:18px;height:18px;margin-left:2px;fill:currentColor}
.reel__tekst{font-size:14px;line-height:1.35}
@media (hover:hover) and (pointer:fine){.reel:hover .reel__spill{transform:scale(1.08)}}
.reel-vindu{width:min(420px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:0;background:#000;color:#fff;overflow:visible}
.reel-vindu::backdrop{background:rgba(10,12,10,.82)}
.reel-vindu__ramme iframe{display:block;width:100%;height:min(760px,calc(100svh - 96px));border:0;background:#fff}
.reel-vindu__lukk{position:absolute;top:-52px;right:0;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}

/* ---------- Kontakt med kart (regel 19) ---------- */
.kontakt{padding:var(--rom) 0;border-top:1px solid var(--c-linje)}
.kontakt__rad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(32px,6vw,96px);align-items:start}
.kontakt__tekst > p{max-width:24em;margin-top:18px;color:var(--c-dempet)}
.kontakt__liste{display:grid;gap:4px;margin-top:28px}
.kontakt__liste a,.kontakt__adr{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:17px;text-decoration:none}
.kontakt__liste .ikon{width:22px;height:22px;color:var(--c-aksent-tekst)}
@media (hover:hover) and (pointer:fine){.kontakt__liste a:hover span{text-decoration:underline;text-underline-offset:4px}}
.kart__flate{position:relative;overflow:hidden}
.kart__bilde{width:100%;aspect-ratio:1440/640;object-fit:cover}
.kart__nal{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:6px;padding:8px 12px 8px 8px;border-radius:2px;background:var(--c-knapp);color:var(--c-knapp-tekst);font:600 13px/1 var(--f-tung);transform:translate(-14px,-100%);white-space:nowrap}
.kart__nal::after{content:'';position:absolute;left:10px;bottom:-7px;border:7px solid transparent;border-top-color:var(--c-knapp);border-bottom:0}
.kart__under{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:10px;font-size:14px}
.kart__under a{display:inline-flex;align-items:center;min-height:44px}
.kart__kreditt{color:var(--c-dempet)}

/* ---------- Bunn ---------- */
.bunn{padding:56px 0 40px;background:var(--c-mork);color:var(--c-mork-tekst);--c-dempet:var(--c-mork-dempet);--c-fokus:var(--c-mork-aksent)}
.bunn__rad{display:grid;grid-template-columns:minmax(0,2fr) auto auto;align-items:center;gap:24px 48px}
.bunn__merke{display:grid;gap:4px;font-size:14px;color:var(--c-dempet)}
.bunn__navn{font:600 16px/1.3 var(--f-tung);color:var(--c-mork-tekst)}
.bunn__sosial{display:flex;gap:4px}
.bunn__sosial a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-mork-linje);border-radius:50%}
.bunn__fyrtarn{width:64px;height:auto;padding:6px;background:#fff;border-radius:2px}
.bunn__kreditt{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--c-mork-linje);font-size:13px;color:var(--c-dempet)}
.bunn__kreditt a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}

/* ---------- Dokk (mobil) ---------- */
.dokk{display:none}

/* ---------- Designvalg ---------- */
.lab{position:fixed;right:12px;bottom:12px;z-index:var(--z-panel);display:flex;flex-direction:column-reverse;align-items:flex-end;gap:8px;font:500 13px/1 var(--f-tekst)}
.lab__veksle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(21,27,22,.74);color:#EEF0E8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;font:inherit}
.lab__panel{display:grid;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(21,27,22,.8);color:#EEF0E8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.lab__gruppe{display:flex;align-items:center;gap:6px}
.lab__merke{width:26px;text-align:center}
.lab__gruppe button{width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;font:inherit;cursor:pointer}
.lab__gruppe button[aria-pressed="true"]{background:#EEF0E8;color:#151B16}
.lab__kreditt{font-size:11px;opacity:.75;text-align:right;padding-top:4px}
.lab__kreditt a{display:inline-flex;align-items:center;min-height:44px;color:inherit}

/* ---------- Nettbrett ---------- */
@media (max-width:1100px){
  .kortrad{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fakta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meny{gap:18px}
}

/* ---------- Mobil: rute, ikke ramse opp (regel 2) ---------- */
@media (max-width:760px){
  :root{--topp:64px}
  .meny{display:none}
  .merke__symbol{width:32px}
  .merke__navn{font-size:15px}
  .topp__tlf{padding:0 4px}

  .hero--ord{min-height:0;padding-bottom:36px}
  .hero__film-rad .hero__to,.hero__film-rad .hero__knapper{grid-row:auto}
  .hero--ord .hero__rad{gap:28px}
  .hero--ord .hero__tittel{grid-template-columns:minmax(0,1fr);font-size:calc(15vw*var(--d-skala))}
  .hero__innfelt{width:100%;height:auto;aspect-ratio:5/2;margin:.04em 0}
  .hero__over{flex-direction:column;gap:2px}
  .hero__knapper .knapp{flex:1 1 auto;justify-content:center}

  .hero--film{min-height:0}
  .hero__film{bottom:auto;height:min(50svh,420px)}
  .hero__film::after{background:linear-gradient(180deg,rgba(var(--c-slor),.8) 0%,rgba(var(--c-slor),.62) 20%,rgba(var(--c-slor),.12) 38%,rgba(var(--c-slor),.4) 62%,var(--c-mork) 100%)}
  .hero__film-rad{grid-template-columns:minmax(0,1fr);grid-template-rows:none;padding-top:12px;padding-bottom:36px}
  .hero__tittel--tung{margin-top:min(32svh,260px);font-size:calc(13.4vw*var(--t-skala))}
  .hero__kort{display:none}

  .fakta{gap:16px 12px}
  .fakta li{font-size:14px;align-items:flex-start}
  .fakta .ikon{width:20px;height:20px}

  .flater{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;width:min(var(--ramme),100% - 2*var(--kant));margin-inline:auto}
  .flate{aspect-ratio:auto;background:none;color:var(--c-blekk);overflow:visible}
  .flate img{aspect-ratio:3/2;height:auto}
  .flate::after{display:none}
  .flate__tekst{position:static;margin-top:10px;column-gap:8px}
  .flate__tekst .ikon{width:18px;height:18px;color:var(--c-aksent-tekst)}
  .flate__ord{font:600 15px/1.2 var(--f-tung);text-transform:none}
  .flate__linje{display:none}

  .velger__rad,.omtaler__rad,.folg__rad,.kontakt__rad{grid-template-columns:1fr}
  .sjekk__felt{grid-template-columns:1fr}
  .valg__rad{min-height:52px;padding:10px 14px;font-size:15px}

  .kortrad{gap:24px 12px}
  .kort h3{font-size:15px}
  .kort__meta{font-size:13px}
  .kun-bred{display:none}

  .kh{display:block;min-height:0;background:var(--c-mork)}
  .kh__bilde{position:static;aspect-ratio:4/3;height:auto}
  .kh::after{display:none}
  .kh__rad{padding:28px 0 48px}

  .omtaler__liste{grid-template-columns:1fr;gap:24px}
  .reels{gap:10px}
  .reel__tekst{font-size:12px}
  .reel__spill{top:8px;right:8px;width:36px;height:36px}
  .kart__bilde{aspect-ratio:4/3}

  .bunn{padding-bottom:104px}
  .bunn__rad{grid-template-columns:1fr auto}
  .bunn__sosial{grid-column:1}
  .bunn__fyrtarn{grid-column:2;grid-row:1/3}

  .dokk{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-dokk);display:grid;grid-template-columns:1fr 1.6fr;gap:8px;transform:translateY(140%);transition:transform .28s var(--ease)}
  .dokk-ute .dokk{transform:none}
  .dokk__knapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:2px;background:var(--c-mork);color:var(--c-mork-tekst);font:var(--w-tung) 13px/1 var(--f-tung);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;border:1px solid var(--c-mork-linje)}
  .dokk__knapp--aksent{background:var(--c-knapp);color:var(--c-knapp-tekst);border-color:transparent}
  .lab__veksle-tekst{display:none}
  .dokk-ute .lab{bottom:84px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
}
