/* ---------- Fonter (selvhostet, ingen tredjepart) ----------
   ITF Free Font License + SIL Open Font License 1.1. Se assets/fonts/lisenser/
   Variable filer: én per stil dekker hele vektaksen 100-900.
   ---------------------------------------------------------- */
@font-face{
  font-family:'Gambetta';
  src:url('../assets/fonts/gambetta-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Gambetta';
  src:url('../assets/fonts/gambetta-italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Schibsted Grotesk';
  src:url('../assets/fonts/schibsted-grotesk-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Schibsted Grotesk';
  src:url('../assets/fonts/schibsted-grotesk-italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Fraunces';
  src:url('../assets/fonts/fraunces-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Fraunces';
  src:url('../assets/fonts/fraunces-italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap;
}
@font-face{
  font-family:'Bricolage Grotesque';
  src:url('../assets/fonts/bricolage-grotesque-normal.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}

/* ---------- Design DNA (research/notat.md, <design_system>) ---------- */
:root{
  /* Palett 1: merkevare. Navy fra logoen, korall fra dagens side */
  --c-paper:#F4EFE6; --c-ink:#344464; --c-muted:#5B6478;
  --c-deep:#1F2A40; --c-on-deep:#F4EFE6; --c-on-deep-muted:#C9CCD6;
  --c-accent:#FAADA0; --c-on-accent:#1F2A40; --c-accent-ink:#A84A3A;
  --logo-paper:none; --logo-deep:brightness(0) invert(.95);

  --font-display:'Gambetta', Georgia, serif;
  --font-body:'Schibsted Grotesk', system-ui, sans-serif;
  --display-w:300; --display-lh:.94; --display-ls:-.025em;

  --fs-body:1.0625rem; --fs-small:.9375rem; --fs-lead:clamp(1.1875rem, 1.6vw, 1.375rem);
  --fs-h1:clamp(3.6rem, 9vw, 8.25rem); --fs-h1-type:clamp(4.6rem, 12.5vw, 11rem);
  --fs-h2:clamp(2.5rem, 5vw, 4.5rem); --fs-h3:clamp(1.25rem, 1.9vw, 1.75rem);

  --max:80rem; --gutter:clamp(1rem, 4vw, 3.5rem); --col-text:36rem;
  --section:clamp(4.5rem, 9vw, 8rem); --gap:clamp(1.25rem, 2.8vw, 2.5rem);
  --radius:0;
  --ease:cubic-bezier(.22,1,.36,1);
  --z-dekor:1; --z-sticky:100; --z-dokk:200; --z-overlay:300; --z-panel:400; --z-varsel:500;
}
/* Palett 2: kveld i stallen (mørk) */
[data-palette="2"]{
  --c-paper:#141B2B; --c-ink:#EDE6DA; --c-muted:#9AA3B8;
  --c-deep:#0B101A; --c-on-deep:#EDE6DA; --c-on-deep-muted:#9AA3B8;
  --c-accent:#FAADA0; --c-on-accent:#141B2B; --c-accent-ink:#FAADA0;
  --logo-paper:brightness(0) invert(.92); --logo-deep:brightness(0) invert(.92);
}
/* Palett 3: beite (grønn) */
[data-palette="3"]{
  --c-paper:#ECEEE6; --c-ink:#1F2A22; --c-muted:#5C6559;
  --c-deep:#1F2A22; --c-on-deep:#ECEEE6; --c-on-deep-muted:#BFC6B8;
  --c-accent:#C8D5A4; --c-on-accent:#1F2A22; --c-accent-ink:#4A6640;
  --logo-paper:brightness(0) saturate(0) opacity(.85); --logo-deep:brightness(0) invert(.93);
}
[data-font="2"]{ --font-display:'Fraunces', Georgia, serif; }
[data-font="3"]{ --font-display:'Bricolage Grotesque', system-ui, sans-serif; --display-ls:-.035em; }

/* Kontekster: seksjonene bytter tokenverdier, ikke regler (regel 4) */
body, .on-paper{ --bg:var(--c-paper); --fg:var(--c-ink); --mut:var(--c-muted); --hl:var(--c-accent-ink); --fokus:var(--c-accent-ink); --logo-f:var(--logo-paper); }
.on-deep{ --bg:var(--c-deep); --fg:var(--c-on-deep); --mut:var(--c-on-deep-muted); --hl:var(--c-accent); --fokus:var(--c-accent); --logo-f:var(--logo-deep); }
.on-accent{ --bg:var(--c-accent); --fg:var(--c-on-accent); --mut:var(--c-on-accent); --hl:var(--c-on-accent); --fokus:var(--c-on-accent); }
body, .on-deep, .on-accent, .on-paper{ --line:color-mix(in srgb, var(--fg) 20%, transparent); }

/* ---------- Grunn ---------- */
*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ margin:0; background:var(--bg); color:var(--fg); font:400 var(--fs-body)/1.55 var(--font-body); -webkit-font-smoothing:antialiased; }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
p{ margin:0 0 1em; }
h1,h2,h3{ margin:0; font-family:var(--font-display); font-weight:var(--display-w); line-height:var(--display-lh); letter-spacing:var(--display-ls); }
em{ font-style:italic; }
:focus-visible{ outline:2px solid var(--fokus); outline-offset:3px; border-radius:2px; }
.skip{ position:absolute; left:var(--gutter); top:-4rem; z-index:var(--z-varsel); background:var(--c-deep); color:var(--c-on-deep); padding:.75rem 1rem; }
.skip:focus{ top:1rem; }
.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gutter); }
.section{ padding:var(--section) 0; background:var(--bg); color:var(--fg); }
.h2{ font-size:var(--fs-h2); margin-bottom:.45em; }
.lead{ font-size:var(--fs-lead); line-height:1.45; }

.btn{ display:inline-flex; align-items:center; min-height:48px; padding:.8rem 1.6rem; border:1px solid currentColor; font:500 1rem/1.2 var(--font-body); text-decoration:none; border-radius:var(--radius); transition:background-color .2s var(--ease), color .2s var(--ease); }
.btn:hover{ background:var(--fg); color:var(--bg); }
.btn--fill{ background:var(--hl); border-color:var(--hl); color:var(--bg); }
.btn--fill:hover{ background:transparent; color:var(--fg); border-color:var(--fg); }
.btn--ink{ background:var(--fg); color:var(--bg); border-color:var(--fg); }
.btn--ink:hover{ background:transparent; color:var(--fg); }
.arrow{ display:inline-flex; align-items:center; gap:.5em; min-height:44px; font-weight:500; text-decoration:none; border-bottom:1px solid var(--line); }
.arrow::after{ content:"→"; transition:transform .2s var(--ease); }

/* ---------- Topp ---------- */
.top{ position:absolute; inset:0 0 auto; z-index:var(--z-sticky); display:flex; align-items:center; justify-content:space-between; padding:1.25rem var(--gutter); color:var(--c-on-deep); }
.top__logo{ display:block; }
.top__logo img{ height:clamp(52px, 5.4vw, 76px); width:auto; filter:var(--logo-deep); }
.top__nav{ display:flex; gap:clamp(1rem, 2.4vw, 2.25rem); align-items:center; font-size:var(--fs-small); font-weight:500; }
.top__nav a{ text-decoration:none; padding:.75rem 0; }
.top__nav a:not(.top__cta):hover{ text-decoration:underline; text-underline-offset:.3em; }
.top__nav a.top__cta{ border:1px solid currentColor; padding:.7rem 1.2rem; }
html[data-hero-active="2"] .top{ color:var(--c-ink); }
html[data-hero-active="2"] .top__logo img{ filter:var(--logo-paper); }

/* ---------- Hero 1: foto ---------- */
/* Desktop: foto til venstre, navyflate til høyre (grepet fra rsflyinge.se sin visningsdager-blokk).
   Teksten ligger aldri over hestens hode eller rytterens hånd. */
.hero{ position:relative; overflow:hidden; }
.hero--foto{ min-height:100svh; display:grid; grid-template-columns:7fr 5fr; background:var(--c-deep); color:var(--c-on-deep); }
.hero__media{ position:relative; min-height:100%; }
.hero__media picture, .hero__media img{ display:block; width:100%; height:100%; }
.hero__media img{ position:absolute; inset:0; object-fit:cover; object-position:32% 40%; }
.hero__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to bottom, color-mix(in srgb, var(--c-deep) 70%, transparent) 0%, color-mix(in srgb, var(--c-deep) 25%, transparent) 16%, transparent 30%); }
.hero__inner{ position:relative; z-index:var(--z-dekor); padding-top:8rem; padding-bottom:clamp(2.5rem, 6vw, 4.5rem); }
.hero--foto .hero__inner{ align-self:end; max-width:none; margin:0; padding:8rem clamp(1.5rem, 3.6vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); }
.hero--foto .hero__h{ font-size:clamp(3.4rem, 6.6vw, 7.25rem); }
.hero--foto .hero__foot{ grid-template-columns:1fr; }
.hero__h{ font-size:var(--fs-h1); }
.hero__h .line{ display:block; overflow:hidden; padding:.12em .16em .12em 0; margin:-.12em -.16em -.12em 0; }
.hero__h .line-in{ display:block; }
.hero--foto .hero__h em{ color:var(--c-accent); }
.hero__foot{ display:grid; grid-template-columns:minmax(0, 30rem) auto; justify-content:space-between; align-items:end; gap:var(--gap); margin-top:clamp(1.75rem, 3.5vw, 3rem); }
.hero__sub{ font-size:var(--fs-lead); line-height:1.45; margin:0; }
.hero__cta{ display:flex; gap:.75rem; flex-wrap:wrap; }

/* ---------- Hero 2: typografisk ---------- */
.hero--type{ background:var(--c-paper); color:var(--c-ink); }
.hero--type .hero__inner{ padding-top:clamp(8rem, 14vw, 11rem); padding-bottom:clamp(2rem, 4vw, 3.5rem); }
.hero__place{ font-size:var(--fs-small); font-weight:500; margin-bottom:1.5rem; color:var(--c-muted); }
.hero--type .hero__h{ font-size:var(--fs-h1-type); }
.hero--type .hero__h .line:last-child .line-in{ font-style:italic; color:var(--c-accent-ink); }
.hero__rule{ height:1px; background:color-mix(in srgb, var(--c-ink) 25%, transparent); margin-top:clamp(1.5rem, 3vw, 2.5rem); }
.hero__proof{ list-style:none; margin:0; padding:0; display:flex; gap:clamp(1.25rem, 3vw, 3rem); }
.hero__proof li{ display:flex; flex-direction:column; font-size:var(--fs-small); color:var(--c-muted); }
.hero__proof b{ font:var(--display-w) clamp(1.75rem, 3vw, 2.75rem)/1 var(--font-display); color:var(--c-ink); letter-spacing:var(--display-ls); margin-bottom:.3rem; }
.hero__band{ display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:.5rem; height:clamp(9rem, 34vh, 22rem); }
.hero__band img{ width:100%; height:100%; object-fit:cover; background:color-mix(in srgb, var(--c-ink) 10%, transparent); }

/* ---------- Om oss ---------- */
.om__grid{ display:grid; grid-template-columns:5fr 7fr; gap:clamp(2rem, 6vw, 6rem); align-items:center; }
.om__text p{ max-width:var(--col-text); }
.om__quote{ margin:2rem 0 0; padding:0; }
.om__quote p{ font:var(--display-w) italic clamp(1.5rem, 2.4vw, 2.1rem)/1.15 var(--font-display); color:var(--hl); margin-bottom:.6rem; }
.om__quote footer{ font-size:var(--fs-small); color:var(--mut); }
.collage{ position:relative; aspect-ratio:7/6; }
.collage figure{ position:absolute; margin:0; overflow:hidden; }
.collage img{ width:100%; height:100%; object-fit:cover; }
.collage__a{ left:0; top:0; width:44%; aspect-ratio:4/5; }
.collage__b{ right:0; top:20%; width:54%; aspect-ratio:4/3; z-index:var(--z-dekor); }
.collage__c{ left:14%; bottom:0; width:32%; aspect-ratio:4/5; z-index:2; }

/* ---------- Tilbud ---------- */
.tilbud__head{ display:grid; grid-template-columns:1fr minmax(0, 28rem); gap:var(--gap); align-items:end; margin-bottom:clamp(2rem, 4vw, 3.5rem); }
.tilbud__head p{ margin:0; }
.tilbud__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(1rem, 2vw, 1.75rem); }
.tilbud__img{ aspect-ratio:4/5; overflow:hidden; margin-bottom:1rem; }
.tilbud__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.tilbud__item h3{ font-size:var(--fs-h3); margin-bottom:.35rem; }
.tilbud__item p{ font-size:var(--fs-small); margin:0; }
.tilbud__links{ display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap; margin-top:clamp(2rem, 4vw, 3rem); }

/* ---------- Drift ---------- */
.drift__grid{ display:grid; grid-template-columns:5fr 7fr; gap:clamp(2rem, 6vw, 6rem); }
.drift__statement{ font:var(--display-w) italic clamp(1.5rem, 2.6vw, 2.25rem)/1.15 var(--font-display); color:var(--hl); max-width:26rem; }
.drift__list{ margin:0; }
.drift__row{ display:grid; grid-template-columns:11rem 1fr; gap:var(--gap); padding:1.4rem 0; border-top:1px solid var(--line); }
.drift__row:last-child{ border-bottom:1px solid var(--line); }
.drift__row dt{ font:var(--display-w) var(--fs-h3)/1.1 var(--font-display); letter-spacing:var(--display-ls); }
.drift__row dd{ margin:0; color:var(--mut); }

/* ---------- Hestene ---------- */
.hestene__head{ display:grid; grid-template-columns:1fr minmax(0, 28rem); gap:var(--gap); align-items:end; margin-bottom:clamp(1.5rem, 3vw, 2.5rem); }
.hestene__head p{ margin:0; }
.strip{ display:flex; gap:.75rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 var(--gutter); scrollbar-width:thin; }
.strip__item{ flex:0 0 auto; margin:0; height:clamp(16rem, 34vw, 30rem); scroll-snap-align:start; }
.strip__item img{ height:100%; width:auto; object-fit:cover; }
.hestene__links{ display:flex; gap:1.5rem; margin-top:1.5rem; }

/* ---------- Samarbeid ---------- */
.stott{ border-top:1px solid var(--line); }
.stott__grid{ display:grid; grid-template-columns:5fr 3.5fr 3.5fr; gap:clamp(1.5rem, 4vw, 4rem); align-items:start; }
.stott__grid > div p{ max-width:28rem; }
.stott__box summary{ list-style:none; cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:space-between; font:var(--display-w) var(--fs-h3)/1.1 var(--font-display); letter-spacing:var(--display-ls); border-bottom:1px solid var(--line); padding-bottom:.6rem; }
.stott__box summary::-webkit-details-marker{ display:none; }
.stott__box summary::after{ content:"+"; font-family:var(--font-body); font-size:1.25rem; transition:transform .25s var(--ease); }
.stott__box[open] summary::after{ transform:rotate(45deg); }
.stott__box ul{ list-style:none; margin:0; padding:0; }
.stott__box li{ padding:.7rem 0; border-bottom:1px solid var(--line); font-size:var(--fs-small); }

/* ---------- Kontakt ---------- */
.kontakt__grid{ display:grid; grid-template-columns:5fr 7fr; gap:clamp(2rem, 6vw, 6rem); }
.kontakt__grid p{ max-width:26rem; color:var(--mut); }
.kontakt__news{ margin-top:.5rem; }
.kontakt__list{ list-style:none; margin:0; padding:0; }
.kontakt__list li{ display:grid; grid-template-columns:8rem 1fr; gap:1rem; align-items:center; border-top:1px solid var(--line); }
.kontakt__list li:last-child{ border-bottom:1px solid var(--line); }
.kontakt__label{ font-size:var(--fs-small); color:var(--mut); }
.kontakt__list a{ display:flex; align-items:center; min-height:64px; font:var(--display-w) clamp(1.25rem, 2.2vw, 2rem)/1.1 var(--font-display); text-decoration:none; overflow-wrap:anywhere; }
.kontakt__list a:hover{ color:var(--hl); }

/* ---------- Bunn ---------- */
.foot{ background:var(--bg); color:var(--fg); padding:clamp(2.5rem, 5vw, 4rem) 0 2rem; border-top:1px solid var(--line); }
.foot__grid{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; }
.foot__logo{ height:56px; width:auto; filter:var(--logo-f); }
.foot__nav{ display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; font-size:var(--fs-small); }
.foot__nav a{ text-decoration:none; color:var(--mut); padding:.7rem 0; }
.foot__nav a:hover{ color:var(--fg); }
.foot__copy{ margin:0; font-size:var(--fs-small); color:var(--mut); }
.footer__credit{ max-width:var(--max); margin:2.5rem auto 0; padding:1.5rem var(--gutter) 0; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem; font-size:.8125rem; color:var(--mut); }
.footer__credit-logo{ position:relative; display:inline-flex; align-items:baseline; gap:.2em; min-height:44px; align-items:center; font:700 .95rem/1 var(--font-body); letter-spacing:-.01em; color:var(--fg); text-decoration:none; padding-right:1.1em; transition:opacity .2s var(--ease), transform .2s var(--ease); }
.footer__credit-logo:hover{ opacity:.85; }
.footer__credit-dot{ color:var(--hl); }
.footer__credit-fag{ font-weight:400; color:var(--mut); margin-left:.2em; }
.footer__credit-spark{ position:absolute; right:0; top:.9em; width:.85em; height:.85em; color:var(--hl); }

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

/* ---------- Design Lab ---------- */
.lab{ position:fixed; left:20px; bottom:20px; z-index:var(--z-panel); font-family:var(--font-body); color:var(--c-ink); }
.lab__toggle, .lab__panel{ background:rgba(255,255,255,.38); -webkit-backdrop-filter:blur(30px) saturate(210%); backdrop-filter:blur(30px) saturate(210%); border:.5px solid rgba(255,255,255,.45);
  box-shadow:0 8px 32px 0 rgba(0,0,0,.08), inset 0 1.5px .5px rgba(255,255,255,.65), inset 0 -1px 2px rgba(0,0,0,.05), inset 0 10px 20px rgba(255,255,255,.3); }
[data-palette="2"] .lab{ color:#EDE6DA; }
[data-palette="2"] .lab__toggle, [data-palette="2"] .lab__panel{ background:rgba(15,20,25,.45); border-color:rgba(255,255,255,.12); box-shadow:0 8px 32px 0 rgba(0,0,0,.2), inset 0 1.5px .5px rgba(255,255,255,.25), inset 0 -1px 2px rgba(255,255,255,.05), inset 0 10px 20px rgba(255,255,255,.05); }
.lab__toggle{ display:inline-flex; align-items:center; gap:.4rem; min-height:44px; padding:.55rem 1rem; border-radius:100px; font:500 .875rem/1 var(--font-body); color:inherit; cursor:pointer; transition:transform .2s cubic-bezier(.16,1,.3,1); }
.lab__panel{ position:absolute; left:0; bottom:calc(100% + 10px); width:15.5rem; padding:1rem; border-radius:24px; }
.lab__row{ display:flex; align-items:center; gap:.4rem; margin-bottom:.55rem; }
.lab__row > span{ width:1.75rem; font-size:1.05rem; }
.lab__row button{ width:44px; height:44px; border-radius:100px; border:.5px solid currentColor; background:transparent; color:inherit; font:600 .9rem/1 var(--font-body); cursor:pointer; transition:transform .16s cubic-bezier(.16,1,.3,1), background-color .16s ease-out, color .16s ease-out; }
.lab__row button:active{ transform:scale(.96); }
.lab__row button[aria-pressed="true"]{ background:var(--c-ink); color:var(--c-paper); border-color:var(--c-ink); }
[data-palette="2"] .lab__row button[aria-pressed="true"]{ background:#EDE6DA; color:#141B2B; }
.design-lab__credit{ display:flex; align-items:center; justify-content:center; gap:.4rem; margin-top:.75rem; padding-top:.7rem; border-top:.5px solid color-mix(in srgb, currentColor 25%, transparent); font-size:.75rem; opacity:.8; }
.design-lab__credit-logo{ position:relative; display:inline-flex; align-items:center; font-weight:700; text-decoration:none; padding-right:1em; transition:transform .2s cubic-bezier(.16,1,.3,1); }
.design-lab__credit-dot{ color:var(--c-accent-ink); }
.design-lab__credit-spark{ position:absolute; right:0; top:-.1em; width:.8em; height:.8em; color:var(--c-accent-ink); }
@keyframes glimt{ 50%{ transform:rotate(90deg) scale(1.3); opacity:.6; } }

/* ---------- Skjul-tilstander: bare når JS har satt klassene ---------- */
.anim-hero .hero .line-in{ transform:translateY(125%); }
.anim-hero .hero :is(.hero__foot, .hero__place, .hero__rule, .hero__band){ opacity:0; }
.anim-reveal .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.anim-reveal .reveal.is-in{ opacity:1; transform:none; }

/* ---------- Mobil: ruter, ikke ramse opp (regel 2) ---------- */
@media (max-width:760px){
  :root{ --section:3.5rem; }
  .top{ padding:1rem var(--gutter); }
  .top__nav{ display:none; }
  .top__logo img{ height:44px; }
  .hero--foto{ min-height:88svh; display:flex; align-items:flex-end; }
  .hero__media{ position:absolute; inset:0; z-index:0; }
  .hero__media img{ object-position:50% 30%; }
  .hero--foto .hero__inner{ padding:6rem var(--gutter) 2rem; }
  .hero__media::after{ background:linear-gradient(to top, color-mix(in srgb, var(--c-deep) 92%, transparent) 0%, color-mix(in srgb, var(--c-deep) 72%, transparent) 45%, color-mix(in srgb, var(--c-deep) 20%, transparent) 75%, color-mix(in srgb, var(--c-deep) 45%, transparent) 100%); }
  .hero__inner{ padding-top:6rem; padding-bottom:2rem; }
  .hero__foot{ grid-template-columns:1fr; gap:1.25rem; margin-top:1.25rem; }
  .hero__sub{ font-size:1.0625rem; }
  .hero__cta .btn:last-child{ display:none; }
  .hero--type .hero__inner{ padding-top:6.5rem; }
  .hero__proof{ gap:1.25rem; }
  .hero__proof li{ font-size:.8125rem; }
  .hero__band{ height:9.5rem; gap:.35rem; }

  .om__grid, .drift__grid, .kontakt__grid, .stott__grid, .tilbud__head, .hestene__head{ grid-template-columns:1fr; gap:1.25rem; }
  .om__text > p:not(.lead){ display:none; }
  .om__quote{ margin-top:1rem; }
  .collage{ aspect-ratio:auto; height:17rem; }
  .collage__a{ width:46%; }
  .collage__b{ width:56%; top:12%; }
  .collage__c{ width:34%; left:10%; }

  .tilbud__list{ grid-template-columns:1fr 1fr; gap:1rem .75rem; }
  .tilbud__img{ aspect-ratio:1/1; margin-bottom:.5rem; }
  .tilbud__item h3{ font-size:1.25rem; }
  .tilbud__item p{ font-size:.8125rem; line-height:1.35; }

  .drift__statement{ font-size:1.375rem; margin-bottom:0; }
  .drift__row{ grid-template-columns:1fr; gap:.2rem; padding:.85rem 0; }
  .drift__row dd{ font-size:.875rem; line-height:1.4; }

  .strip__item{ height:13rem; }
  .stott__box ul{ padding-bottom:.5rem; }
  .kontakt__list li{ grid-template-columns:5.5rem 1fr; }
  .kontakt__list a{ min-height:52px; font-size:1.0625rem; }

  .foot{ padding-bottom:5.5rem; }
  .foot__nav{ display:none; }
  .dock{ position:fixed; inset:auto 0 0; z-index:var(--z-dokk); display:grid; grid-template-columns:1fr 1fr; background:var(--c-deep); color:var(--c-on-deep); border-top:1px solid color-mix(in srgb, var(--c-on-deep) 15%, transparent); }
  .dock a{ display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:56px; text-decoration:none; font-weight:500; font-size:.9375rem; }
  .dock a + a{ border-left:1px solid color-mix(in srgb, var(--c-on-deep) 15%, transparent); }
  .dock svg{ width:20px; height:20px; }
  .lab{ left:auto; right:12px; bottom:68px; }
  .lab__panel{ left:auto; right:0; }
  .lab__toggle span{ display:none; }
}
/* Hover-bevegelse bare med mus, og bare når brukeren tåler bevegelse */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .arrow:hover::after{ transform:translateX(4px); }
  .tilbud__item:hover .tilbud__img img{ transform:scale(1.03); }
  .footer__credit-logo:hover{ transform:translateY(-1px); }
  .lab__toggle:hover{ transform:translateY(-2px); }
  .lab__row button:hover{ transform:scale(1.06); }
  .design-lab__credit-logo:hover{ transform:scale(1.04); }
  .design-lab__credit-logo:hover .design-lab__credit-spark{ animation:glimt .8s cubic-bezier(.16,1,.3,1); }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .anim-reveal .reveal{ transform:none; }
}
