/* ---------- Fonter (selvhostet, ingen tredjepart) ----------
   ITF Free Font License + Personal Use (fonnts.com): Balboa er ikke lisensiert for kommersiell levering. Se assets/fonts/
   ---------------------------------------------------------- */
@font-face{font-family:'Rowan';src:url('../assets/fonts/rowan-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Rowan';src:url('../assets/fonts/rowan-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Bevellier';src:url('../assets/fonts/bevellier-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Balboa';src:url('../assets/fonts/balboa-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Author';src:url('../assets/fonts/author-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Author';src:url('../assets/fonts/author-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Tanker';src:url('../assets/fonts/tanker-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* ---------- Tokens ----------
   Oppsett: campcody.com (verktøylinje, foto-hero med sentrert slab-tittel, fotoruter 2 + 3).
   Hero 2 og detaljer: greatwalstead.co.uk (marine + rosa, merker, bølgestrek, pilleknapper).
   P1-fargene er kundens egne: logoens blå og rosa fra rideleir-t-skjortene. */
:root{
  /* P1 Vestmarka: marine og rosa */
  --c-papir:#F7F2E9; --c-sand:#EDE5D6; --c-ink:#1F3366; --c-ink-dyp:#172747;
  --c-tekst:#1A2747; --c-dempet:#5A6380; --c-dempet-mork:#B9C1D6;
  --c-aksent:#C42667; --c-paa-aksent:#FFFFFF; --c-aksent-lys:#F7A3C3; --c-aksent-mork:#B3245C;

  --f-display:'Rowan',Georgia,serif; --display-w:700; --display-lh:1; --display-ls:-.02em; --display-skala:1;
  --f-etikett:'Tanker','Arial Narrow',sans-serif;
  --f-brod:'Author',system-ui,sans-serif; --f-sitat:'Rowan',Georgia,serif;

  --t-hero:calc(clamp(2.9rem,7.2vw,6.6rem)*var(--display-skala));
  --t-hero-stor:calc(clamp(3.4rem,9.6vw,9rem)*var(--display-skala));
  --t-h2:calc(clamp(2.2rem,4.4vw,4rem)*var(--display-skala));
  --t-h3:calc(clamp(1.35rem,1.8vw,1.7rem)*var(--display-skala));
  --t-etikett:clamp(1.5rem,3.2vw,3rem);
  --t-brod:1.125rem; --t-liten:.9375rem; --t-mikro:.8125rem;

  --s-seksjon:clamp(80px,9vw,140px); --s-kant:clamp(16px,3.5vw,50px); --s-gap:clamp(16px,2.2vw,30px);
  --maks:1340px; --kant-x:max(var(--s-kant),calc((100% - var(--maks))/2)); --tekstbredde:34rem; --topp:80px;
  --r:10px; --r-pille:999px;
  --ease:cubic-bezier(.33,1,.68,1); --ease-ut:cubic-bezier(.16,1,.3,1);

  --z-dekor:1; --z-sticky:100; --z-dokk:200; --z-overlay:300; --z-panel:400; --z-varsel:500;

  /* kontekst: lys flate */
  --bg:var(--c-papir); --fg:var(--c-tekst); --muted:var(--c-dempet);
  --line:color-mix(in srgb,var(--c-tekst) 16%,transparent);
  --aks-tekst:var(--c-aksent-mork); --c-fokus:var(--c-aksent-mork);
}
/* P2 Granskog: furugrønn og oransje */
[data-palett="2"]{
  --c-papir:#F4EFE4; --c-sand:#EAE2D2; --c-ink:#16352B; --c-ink-dyp:#102820;
  --c-tekst:#16352B; --c-dempet:#55625B; --c-dempet-mork:#B4C3BA;
  --c-aksent:#B8441C; --c-paa-aksent:#FFFFFF; --c-aksent-lys:#F4A27F; --c-aksent-mork:#A9441D;
}
/* P3 Sommer: mørk brun, krem og solgult */
[data-palett="3"]{
  --c-papir:#FBF7F4; --c-sand:#F1E9E1; --c-ink:#2B1A1A; --c-ink-dyp:#1E1212;
  --c-tekst:#2B1A1A; --c-dempet:#6B5A55; --c-dempet-mork:#C9BAB4;
  --c-aksent:#F2B634; --c-paa-aksent:#2B1A1A; --c-aksent-lys:#F5C65E; --c-aksent-mork:#8A5A00;
}
/* Skrift 2: grov, tung sans (Walstead). Skrift 3: Balboa, smal (demoOnly). */
[data-font="2"]{--f-display:'Bevellier','Arial Narrow',sans-serif;--display-w:800;--display-lh:.92;--display-ls:-.03em;--display-skala:1.02}
[data-font="3"]{--f-display:'Balboa','Arial Narrow',sans-serif;--display-w:400;--display-lh:.94;--display-ls:0;--display-skala:1.16}

.mork{
  --bg:var(--c-ink); --fg:var(--c-papir); --muted:var(--c-dempet-mork);
  --line:color-mix(in srgb,var(--c-papir) 18%,transparent);
  --aks-tekst:var(--c-aksent-lys); --c-fokus:var(--c-aksent-lys);
}

/* ---------- Grunnlag ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topp) + 12px)}
body{margin:0;background:var(--c-papir);color:var(--c-tekst);font-family:var(--f-brod);font-size:var(--t-brod);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3,p,ul,dl,dd,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--c-fokus);outline-offset:3px;border-radius:2px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.vis-skjermleser{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hopp{position:absolute;left:var(--s-kant);top:-60px;z-index:var(--z-varsel);background:var(--c-papir);color:var(--c-tekst);padding:12px 18px;border-radius:var(--r)}
.hopp:focus{top:12px}
.ikon{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

section{background:var(--bg);color:var(--fg)}
.display{font-family:var(--f-display);font-weight:var(--display-w);font-size:var(--t-h2);line-height:calc(var(--display-lh) + .06);letter-spacing:var(--display-ls);text-wrap:balance}
.seksjon__topp{max-width:var(--maks);margin:0 auto;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 60px;margin-bottom:clamp(32px,4vw,56px)}
.seksjon__ingress{max-width:var(--tekstbredde);color:var(--muted);text-wrap:pretty}
.seksjon__topp .seksjon__ingress{flex:0 1 28rem}

/* ---------- Knapper (pille, sporet versal: Walstead) ---------- */
.knapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 26px;border-radius:var(--r-pille);font-family:var(--f-brod);font-size:var(--t-mikro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .2s var(--ease)}
.knapp:active{transform:scale(.97)}
.knapp .ikon{width:18px;height:18px}
.knapp--fylt{background:var(--c-aksent);color:var(--c-paa-aksent)}
.knapp--kontur{border-color:currentColor;background:transparent}
.knapp--lys{background:var(--c-papir);color:var(--c-tekst)}
.knapp--lenke{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding-inline:8px;color:var(--fg)}
@media (hover:hover){
  .knapp--fylt:hover{background:var(--c-papir);color:var(--c-tekst)}
  .knapp--kontur:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
  .knapp--lys:hover{background:var(--c-ink);color:var(--c-papir)}
}

/* ---------- Stjerner ---------- */
.stjerner{position:relative;display:inline-block;font-size:1rem;letter-spacing:.12em;line-height:1;color:color-mix(in srgb,currentColor 30%,transparent)}
.stjerner__fylt{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:var(--aks-tekst)}
.stjerner--liten{color:var(--aks-tekst);font-size:.95rem}
.stjerner--stor{font-size:1.6rem}

/* ---------- Toppen: verktøylinje (Cody) ---------- */
.topp{position:sticky;top:0;z-index:var(--z-sticky);height:var(--topp);display:flex;align-items:stretch;background:var(--c-ink);color:var(--c-papir);--c-fokus:var(--c-aksent-lys)}
.topp__logo{display:flex;align-items:center;padding:0 var(--s-kant);flex:none}
.topp__logo img{height:54px;width:auto}
.topp__nav{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.4vw,40px)}
.topp__nav a{font-size:var(--t-mikro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 0;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 6px)/0 2px no-repeat;transition:background-size .3s var(--ease)}
.topp__nav a:hover{background-size:100% 2px}
.topp__verktoy{display:flex}
.verktoy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:76px;border-left:1px solid color-mix(in srgb,var(--c-papir) 16%,transparent);text-decoration:none;font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center;transition:background-color .3s var(--ease)}
.verktoy .ikon{width:22px;height:22px}
.verktoy:hover{background:color-mix(in srgb,var(--c-papir) 8%,transparent)}
.verktoy--aksent{background:var(--c-aksent);color:var(--c-paa-aksent);border-left:0}
.verktoy--aksent:hover{background:var(--c-aksent-mork)}
.topp__meny{display:none;align-items:center;justify-content:center;width:64px;background:none;border:0;border-left:1px solid color-mix(in srgb,var(--c-papir) 16%,transparent)}
.topp__meny .ikon{width:26px;height:26px}

/* ---------- Hero 1: foto i full bredde ---------- */
.hero{position:relative;overflow:hidden}
.hero--foto{min-height:min(calc(100svh - var(--topp)),900px);display:grid;place-items:center;background:var(--c-ink);color:var(--c-papir);--aks-tekst:var(--c-aksent-lys);--c-fokus:var(--c-aksent-lys)}
.hero--foto .hero__media{position:absolute;inset:0}
.hero--foto .hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.hero--foto .hero__media::after{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 60% 55% at 50% 52%,color-mix(in srgb,var(--c-ink-dyp) 62%,transparent),transparent 100%),
  linear-gradient(180deg,color-mix(in srgb,var(--c-ink-dyp) 58%,transparent),color-mix(in srgb,var(--c-ink-dyp) 40%,transparent) 50%,color-mix(in srgb,var(--c-ink-dyp) 72%,transparent))}
.hero__innhold{position:relative;z-index:var(--z-dekor);width:100%;max-width:1240px;padding:clamp(48px,7vw,96px) var(--s-kant);display:flex;flex-direction:column;align-items:center;text-align:center}
.hero__tittel{display:flex;flex-direction:column;align-items:center;font-family:var(--f-display);font-weight:var(--display-w);font-size:var(--t-hero);line-height:calc(var(--display-lh) + .02);letter-spacing:var(--display-ls);margin:22px 0 0}
/* Maske fra website-intelligence Phase 5, ordrett. Flex på tittelen hindrer margin-kollaps (LAERDOMMER 16.10). */
.hero .hero__tittel .hero__line{display:block;overflow:hidden;padding:.2em .25em .26em;margin:-.2em -.25em -.26em}
.hero .hero__tittel .hero__line-in{display:block}
.hero__sted{margin-top:26px;font-family:var(--f-display);font-weight:500;font-size:clamp(.95rem,1.4vw,1.25rem);letter-spacing:.16em;text-transform:uppercase}
.hero__ingress{margin-top:18px;max-width:36rem;font-size:clamp(1.05rem,1.3vw,1.2rem);text-wrap:pretty}
.hero__knapper{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.hero--foto .knapp--fylt{background:var(--c-aksent)}
.hero__vurdering{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:var(--t-liten);font-weight:600;text-decoration:none;text-underline-offset:4px}
.hero__vurdering:hover span:last-child{text-decoration:underline}

/* ---------- Hero 2: marine flate, stor type, film i skjev ramme (Walstead) ---------- */
.hero--merke{min-height:min(calc(100svh - var(--topp)),900px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center;gap:clamp(24px,5vw,80px);padding:clamp(48px,6vw,90px) var(--kant-x);
  background-color:var(--c-ink);background-image:radial-gradient(color-mix(in srgb,var(--c-papir) 7%,transparent) 1px,transparent 1.4px);background-size:7px 7px;color:var(--c-papir);--aks-tekst:var(--c-aksent-lys);--c-fokus:var(--c-aksent-lys)}
.hero__merke-tekst{max-width:860px;width:100%}
.hero__tittel--stor{align-items:flex-start;font-size:var(--t-hero-stor);line-height:calc(var(--display-lh) - .06);margin-top:18px}
.bolge{display:block;width:min(420px,70%);height:16px;margin-top:22px;fill:none;stroke:var(--c-aksent-lys);stroke-width:3;stroke-linecap:round}
.hero--merke .hero__ingress{max-width:32rem}
.hero--merke .hero__knapper{justify-content:flex-start}
.hero__ramme{position:relative;justify-self:start;width:min(100%,380px);transform:rotate(2.5deg)}
.hero__film{width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--c-ink-dyp);
  clip-path:polygon(2% 1%,22% 0,47% 1.6%,73% .3%,99% 1.4%,100% 24%,98.6% 52%,100% 78%,98.8% 99%,74% 100%,49% 98.6%,24% 100%,.6% 98.8%,1.6% 74%,0 49%,1.4% 23%)}
.hero__filmtekst{position:absolute;left:-18px;bottom:28px;transform:rotate(-4deg);background:var(--c-papir);color:var(--c-tekst);font-family:var(--f-display);font-weight:var(--display-w);font-size:1.05rem;line-height:1.2;padding:10px 16px;border-radius:4px;max-width:15rem}
.merke{position:absolute;display:grid;place-items:center;text-align:center;text-decoration:none;z-index:var(--z-dekor)}
.merke--rund{right:clamp(16px,4vw,60px);bottom:clamp(20px,4vw,56px);width:132px;height:132px;padding:14px;border-radius:50%;background:var(--c-aksent);color:var(--c-paa-aksent);transform:rotate(-10deg);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;transition:transform .5s var(--ease)}
.merke--rund strong,.merke--rund b{display:block;font-family:var(--f-display);font-weight:var(--display-w);font-size:1.3rem;letter-spacing:0;text-transform:none;line-height:1}
.merke--rund:hover{transform:rotate(-2deg) scale(1.04)}

/* ---------- Skjul-tilstand før intro (bare heroen) ---------- */
.anim-hero .hero__line-in{transform:translateY(150%)}
.anim-hero .hero__sub{opacity:0}
.anim-hero .hero__media{opacity:.4}

/* ---------- Aktuelt ---------- */
.aktuelt{background:var(--c-sand);border-bottom:1px solid var(--line)}
.aktuelt{padding:0 var(--s-kant)}
.aktuelt__liste{max-width:var(--maks);margin:0 auto;padding:22px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 40px}
.aktuelt__liste li{display:flex;align-items:center;gap:14px;font-size:var(--t-liten)}
.aktuelt__liste .ikon{width:24px;height:24px;color:var(--aks-tekst)}
.aktuelt__liste strong,.aktuelt__liste b{font-weight:700}

/* ---------- Tilbud: fotoruter (Cody 2 + 3) ---------- */
.tilbud{padding:var(--s-seksjon) var(--s-kant)}
.ruter{max-width:var(--maks);margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s-gap)}
.rute{position:relative;grid-column:span 2;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--c-ink);color:var(--c-papir)}
.rute--stor,.rute--halv{grid-column:span 3;aspect-ratio:1.93}
.rute img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.rute::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 75% 65% at 50% 50%,color-mix(in srgb,var(--c-ink-dyp) 42%,transparent),transparent 100%),linear-gradient(color-mix(in srgb,var(--c-ink-dyp) 42%,transparent),color-mix(in srgb,var(--c-ink-dyp) 42%,transparent))}
.rute__tekst{position:absolute;inset:0;z-index:var(--z-dekor);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.rute__tekst .ikon{display:none}
.rute__navn{font-family:var(--f-etikett);font-weight:400;font-size:var(--t-etikett);line-height:1;letter-spacing:.01em;text-transform:uppercase}
.rute__navn::after{content:"";display:block;width:32px;height:2px;margin:16px auto 14px;background:currentColor}
.rute__tekst p{font-size:var(--t-liten);font-weight:600;max-width:26rem;padding:6px 14px;border-radius:var(--r-pille);background:color-mix(in srgb,var(--c-ink-dyp) 84%,transparent)}
.rute__lenke{position:absolute;inset:0;z-index:2}
@media (hover:hover){.rute:hover img{transform:scale(1.04)}}
.rute--sitat{background:var(--c-sand);color:var(--c-tekst);padding:14px}
.rute--sitat::after{display:none}
.rute--sitat figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;background:var(--c-papir);border-radius:6px}
.rute__sitatikon{width:34px;height:34px;color:var(--aks-tekst)}
.rute__etikett{font-family:var(--f-etikett);font-size:1.35rem;letter-spacing:.12em;text-transform:uppercase}
.rute--sitat blockquote{font-style:italic;font-weight:400;font-size:1.1rem;line-height:1.45;max-width:20rem;font-family:var(--f-sitat)}
.rute--sitat figcaption{font-size:var(--t-mikro);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.rute--sitat .stjerner{color:var(--c-aksent-mork)}

/* ---------- Kursvelger ---------- */
.velger-seksjon{padding:var(--s-seksjon) var(--kant-x);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start;max-width:none}
.velger-seksjon__tekst{max-width:520px}
.velger-seksjon .seksjon__ingress{margin-top:22px}
.fakta{display:grid;gap:14px;margin-top:30px}
.fakta li{display:flex;gap:14px;align-items:flex-start;font-size:var(--t-liten)}
.fakta .ikon{width:22px;height:22px;margin-top:1px;color:var(--aks-tekst)}
.velger{background:color-mix(in srgb,var(--c-papir) 7%,var(--c-ink));border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3.2vw,44px);min-height:520px;display:flex;flex-direction:column}
.velger__topp{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.velger__nr{font-size:var(--t-mikro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.velger__spor{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.velger__spor span{display:block;height:100%;background:var(--c-aksent-lys);transform:scaleX(.25);transform-origin:0 50%;transition:transform .5s var(--ease)}
.velger__steg{border:0;margin:0;padding:0;display:grid;gap:12px}
.velger__steg legend{font-family:var(--f-display);font-weight:var(--display-w);font-size:var(--t-h3);line-height:1.15;letter-spacing:var(--display-ls);margin-bottom:18px;padding:0}
.velger__steg label{display:block;position:relative}
.velger__steg input[type=radio]{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.val__rad{display:flex;align-items:center;gap:16px;min-height:60px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--r);font-weight:600;transition:background-color .25s var(--ease),border-color .25s var(--ease)}
.val__rad b{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid currentColor;font-size:var(--t-mikro);font-weight:700}
.velger__steg input:hover+.val__rad{background:color-mix(in srgb,var(--c-papir) 7%,transparent)}
.velger__steg input:checked+.val__rad{border-color:var(--c-aksent-lys);background:color-mix(in srgb,var(--c-aksent-lys) 14%,transparent)}
.velger__steg input:checked+.val__rad b{background:var(--c-aksent-lys);border-color:var(--c-aksent-lys);color:var(--c-ink)}
.velger__steg input:focus-visible+.val__rad{outline:2px solid var(--c-fokus);outline-offset:3px}
.velger__etikett{font-size:var(--t-mikro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--aks-tekst)}
.velger__kurs{font-family:var(--f-display);font-weight:var(--display-w);font-size:calc(var(--t-h3)*1.3);line-height:1.1;letter-spacing:var(--display-ls);margin-top:8px}
.velger__resultat:focus{outline:none}
.velger__detaljer{display:grid;gap:10px;margin:18px 0}
.velger__detaljer li{display:flex;gap:12px;font-weight:600}
.velger__detaljer .ikon{width:22px;height:22px;color:var(--aks-tekst)}
.velger__beskrivelse{color:var(--muted)}
.velger__notis{margin-top:14px;font-size:var(--t-liten);color:var(--muted);padding-left:14px;border-left:1px solid var(--line)}
.velger__kontakt{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px}
.velger__kontakttittel{grid-column:1/-1;font-weight:700}
.felt{display:grid;gap:6px}
.felt label{font-size:var(--t-liten);font-weight:600}
.felt input{min-height:50px;padding:10px 14px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--c-papir) 6%,transparent);color:var(--fg);font:inherit}
.felt input[aria-invalid=true]{border-color:var(--c-aksent-lys);box-shadow:0 0 0 1px var(--c-aksent-lys)}
.samtykke{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:var(--t-liten);min-height:44px;cursor:pointer}
.samtykke input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--c-aksent-lys);flex:none}
.velger__feil{margin-top:16px;font-weight:600;color:var(--c-aksent-lys)}
.velger__knapper{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:28px}
.velger__knapper [data-neste],.velger__knapper [data-send]{margin-left:auto}
.mork .knapp--fylt{background:var(--c-aksent-lys);color:var(--c-ink)}
.mork .knapp--fylt:hover{background:var(--c-papir);color:var(--c-ink)}
.velger__kvittering{display:grid;gap:12px;align-content:center;flex:1}
.velger__kvittering>.ikon{width:44px;height:44px;color:var(--aks-tekst)}
.velger__kvittering:focus{outline:none}

.timeplan{grid-column:1/-1;max-width:var(--maks);width:100%;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.timeplan summary{display:flex;align-items:center;gap:14px;min-height:64px;cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none}
.timeplan summary::-webkit-details-marker{display:none}
.timeplan summary::after{content:"+";margin-left:auto;font-size:1.6rem;font-weight:400;transition:transform .3s var(--ease)}
.timeplan[open] summary::after{transform:rotate(45deg)}
.timeplan summary .ikon{color:var(--aks-tekst)}
.timeplan__dager{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:10px 0 36px}
.timeplan__dager h3{font-family:var(--f-display);font-weight:var(--display-w);font-size:1.4rem}
.timeplan__instr{font-size:var(--t-mikro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:4px 0 12px}
.timeplan__dager li{display:grid;grid-template-columns:3.4rem 1fr;gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:var(--t-liten)}
.priser{padding:0 0 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 60px;align-items:start}
.priser h3{grid-column:1/-1;font-family:var(--f-display);font-weight:var(--display-w);font-size:1.4rem}
.priser dl div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-top:1px solid var(--line);font-size:var(--t-liten)}
.priser dd{font-weight:700;text-align:right}
.priser p{font-size:var(--t-liten);color:var(--muted)}
.priser a{display:inline-block;padding:10px 0;font-weight:700;color:var(--fg)}

/* ---------- Rideleir (aksentflate, Walstead) ---------- */
.leir{--bg:var(--c-aksent);--fg:var(--c-paa-aksent);--muted:var(--c-paa-aksent);--aks-tekst:var(--c-paa-aksent);--c-fokus:var(--c-paa-aksent);--line:color-mix(in srgb,var(--c-paa-aksent) 26%,transparent);
  padding:var(--s-seksjon) var(--kant-x);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;overflow:hidden}
.leir__tekst{max-width:580px}
.leir .seksjon__ingress{margin-top:22px}
.leir .fakta li{border-top:1px solid var(--line);padding-top:12px}
.leir__knapper{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.leir__bilder{position:relative;justify-self:end;max-width:620px;aspect-ratio:1/1.02;width:100%}
.leir__bilde{position:absolute;object-fit:cover;border-radius:4px}
.leir__bilde--1{left:0;top:0;width:62%;aspect-ratio:3/4;transform:rotate(-3deg);clip-path:polygon(1% 1%,30% 0,62% 1.2%,99% 0,100% 33%,98.8% 70%,100% 99%,64% 100%,31% 98.8%,0 100%,1.2% 64%,0 30%)}
.leir__bilde--2{right:0;bottom:0;width:52%;aspect-ratio:1;transform:rotate(4deg);clip-path:polygon(0 1%,35% 0,70% 1.4%,100% 0,98.6% 36%,100% 68%,99% 100%,62% 98.6%,30% 100%,1% 99%,0 62%,1.4% 30%)}
.merke--lapp{position:absolute;left:46%;top:58%;transform:rotate(-6deg);background:var(--c-papir);color:var(--c-tekst);font-family:var(--f-display);font-weight:var(--display-w);font-size:1.15rem;padding:10px 18px;border-radius:4px;white-space:nowrap}

/* ---------- Skolehestene ---------- */
.hester{padding:var(--s-seksjon) var(--s-kant)}
.hester__rad{max-width:var(--maks);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px var(--s-gap)}
.hest img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}
.hest h3{font-family:var(--f-display);font-weight:var(--display-w);font-size:var(--t-h3);line-height:1.1;letter-spacing:var(--display-ls);margin-top:16px}
.hest p{font-size:var(--t-liten);color:var(--muted);margin-top:4px}

/* ---------- Utleie og bursdag ---------- */
.utleie{padding:var(--s-seksjon) var(--s-kant)}
.utleie__tekst{margin-bottom:48px}
.utleie__tekst .utleie__hoyre{flex:0 1 30rem;display:grid;gap:14px}
.utleie__kontakt{font-size:var(--t-liten)}
.utleie__kontakt a{display:inline-block;padding:10px 0;font-weight:700;text-underline-offset:4px}
.lokaler{max-width:var(--maks);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-gap)}
.lokale img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.lokale h3{font-family:var(--f-etikett);font-weight:400;font-size:1.9rem;line-height:1;text-transform:uppercase;letter-spacing:.01em;margin-top:18px}
.lokale p{font-size:var(--t-liten);color:var(--muted);margin-top:6px}

/* ---------- Omtaler ---------- */
.omtaler{padding:var(--s-seksjon) var(--kant-x);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px)}
.omtaler__tall{font-size:var(--t-liten);color:var(--muted);margin-top:28px}
.omtaler__tall span{font-family:var(--f-display);font-weight:var(--display-w);font-size:clamp(4rem,8vw,7rem);line-height:1;color:var(--fg);margin-right:6px}
.omtaler__snitt .stjerner{margin-top:10px}
.omtaler__kilde{font-size:var(--t-liten);color:var(--muted);margin:10px 0 26px}
.omtale{padding:28px 0;border-top:1px solid var(--line)}
.omtale:first-child{border-top:0;padding-top:0}
.omtale blockquote{font-family:var(--f-sitat);font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.45;margin-top:12px;text-wrap:pretty}
.omtale__navn{margin-top:12px;font-size:var(--t-mikro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* ---------- Instagram ---------- */
.folg{padding:0 var(--s-kant) var(--s-seksjon)}
.folg__topp{max-width:var(--maks);margin:0 auto 36px;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;padding-top:clamp(56px,6vw,90px);border-top:1px solid var(--line)}
.folg__konto{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;text-underline-offset:4px}
.reels{max-width:var(--maks);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,300px));justify-content:start;gap:var(--s-gap)}
.reel{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:var(--c-ink);aspect-ratio:9/16}
.reel img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--c-ink-dyp) 80%,transparent))}
.reel__spill{position:absolute;left:50%;top:50%;z-index:var(--z-dekor);display:grid;place-items:center;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:var(--c-papir);color:var(--c-tekst)}
.reel__spill .ikon{width:24px;height:24px;margin-left:3px}
.reel__tekst{position:absolute;left:16px;right:16px;bottom:16px;z-index:var(--z-dekor);color:var(--c-papir);text-align:left;font-weight:700;font-size:var(--t-liten);line-height:1.3}
@media (hover:hover){.reel:hover img{transform:scale(1.04)}}
.folg__notis{max-width:var(--maks);margin:18px auto 0;font-size:var(--t-mikro);color:var(--muted)}
.innebygd{width:min(420px,92vw);height:min(760px,88svh);padding:0;border:0;border-radius:var(--r);background:var(--c-ink);overflow:visible}
.innebygd::backdrop{background:color-mix(in srgb,var(--c-ink-dyp) 82%,transparent)}
.innebygd__ramme,.innebygd__ramme iframe{width:100%;height:100%;border:0;border-radius:var(--r);display:block}
.innebygd__lukk{position:absolute;right:-8px;top:-56px;width:48px;height:48px;border-radius:50%;border:0;background:var(--c-papir);color:var(--c-tekst);display:grid;place-items:center}

/* ---------- Om gården ---------- */
.om{padding:var(--s-seksjon) var(--kant-x);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.om__bilde{width:100%}
.om__bilde img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.om__tekst{max-width:var(--tekstbredde)}
.om__tekst p{margin-top:18px;color:var(--muted)}
.om__tekst h2+p{margin-top:28px}
.om__visjon{font-family:var(--f-display);font-weight:var(--display-w);font-style:italic;font-size:var(--t-h3);line-height:1.2;color:var(--aks-tekst)!important;margin-top:30px!important}

/* ---------- Kontakt og kart ---------- */
.kontakt{padding:var(--s-seksjon) var(--kant-x);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px);align-items:start}
.kontakt .seksjon__ingress{margin-top:18px}
.kontaktliste{margin-top:30px}
.kontaktliste li{display:flex;gap:14px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.kontaktliste .ikon{width:22px;height:22px;color:var(--aks-tekst)}
.kontaktliste span{display:flex;flex-direction:column}
.kontaktliste small{font-size:var(--t-mikro);color:var(--muted)}
.kontaktliste a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:1.15rem;text-decoration:none}
.kontaktliste a:hover{text-decoration:underline;text-underline-offset:4px}
.kart__ramme{position:relative;border-radius:var(--r);overflow:hidden}
.kart__bilde{width:100%;height:clamp(300px,34vw,460px);object-fit:cover}
.kart__nal{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:inline-flex;align-items:center;gap:6px;background:var(--c-ink);color:var(--c-papir);font-weight:700;font-size:var(--t-liten);padding:8px 14px 8px 10px;border-radius:var(--r-pille);white-space:nowrap}
.kart__nal .ikon{color:var(--c-aksent-lys)}
.kart__nal::after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-7px;border:7px solid transparent;border-bottom:0;border-top-color:var(--c-ink)}
.kart__adresse{display:flex;gap:10px;align-items:center;margin-top:18px;font-weight:700}
.kart__adresse .ikon{color:var(--aks-tekst)}
.kart__veier{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:6px}
.kart__veier a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;text-underline-offset:4px}
.kart__kreditt{font-size:var(--t-mikro);color:var(--muted)}
.kart__kreditt a{display:inline-block;padding:13px 0}

/* ---------- Bunn ---------- */
.bunn{background:var(--c-ink-dyp);color:var(--c-papir);padding:56px var(--s-kant) 40px;--muted:var(--c-dempet-mork)}
.bunn__rad{max-width:var(--maks);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px}
.bunn__logo{width:150px;height:auto}
.bunn__rad p{font-size:var(--t-liten);color:var(--muted)}
.bunn__some{display:flex;gap:4px;margin-left:auto}
.bunn__some a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line)}
.bunn__kreditt{max-width:var(--maks);margin:36px auto 0;padding-top:22px;border-top:1px solid var(--line);font-size:var(--t-mikro);color:var(--muted)}
.bunn__kreditt a{display:inline-block;padding:13px 0;color:var(--c-papir);text-underline-offset:3px}

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

/* ---------- Designvalg ---------- */
.lab{position:fixed;left:16px;bottom:16px;z-index:var(--z-panel);font-family:var(--f-brod);color:var(--c-papir)}
.lab__veksle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:var(--r-pille);border:1px solid color-mix(in srgb,var(--c-papir) 30%,transparent);background:color-mix(in srgb,var(--c-ink-dyp) 72%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--c-papir);font-size:var(--t-mikro);font-weight:700}
.lab__panel{position:absolute;left:0;bottom:56px;display:grid;gap:8px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--c-papir) 24%,transparent);background:color-mix(in srgb,var(--c-ink-dyp) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-width:228px}
.lab__gruppe{display:flex;align-items:center;gap:6px}
.lab__merke{width:28px;text-align:center}
.lab__gruppe button{width:44px;height:44px;border-radius:10px;border:1px solid color-mix(in srgb,var(--c-papir) 24%,transparent);background:transparent;color:var(--c-papir);font-weight:700}
.lab__gruppe button[aria-pressed=true]{background:var(--c-papir);color:var(--c-ink)}
.lab__kreditt{display:flex;gap:6px;justify-content:flex-end;font-size:.6875rem;opacity:.8;padding-top:4px}
.lab__kreditt a{color:var(--c-papir);font-weight:700;text-decoration:none}
.lab__prikk{color:var(--c-aksent-lys)}

/* ---------- Nettbrett ---------- */
@media (max-width:1180px){
  .topp__nav{display:none}
  .topp__meny{display:flex}
  .topp{justify-content:space-between}
  .topp__verktoy{margin-left:auto}
  .topp__nav.er-apen{display:flex;position:absolute;left:0;right:0;top:var(--topp);flex-direction:column;align-items:stretch;gap:0;background:var(--c-ink);padding:8px var(--s-kant) 20px;border-top:1px solid color-mix(in srgb,var(--c-papir) 16%,transparent)}
  .topp__nav.er-apen a{padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--c-papir) 12%,transparent);background:none}
  .timeplan__dager{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- Mobil: ruter, ikke ramse opp ---------- */
@media (max-width:767px){
  :root{--topp:64px;--t-brod:1.0625rem}
  .topp__logo img{height:42px}
  .topp__verktoy .verktoy:not(.verktoy--aksent){display:none}
  .verktoy{width:72px}
  .topp__meny{width:56px}

  .hero--foto{min-height:calc(100svh - var(--topp) - 8px)}
  .hero--foto .hero__media::after{background:linear-gradient(180deg,color-mix(in srgb,var(--c-ink-dyp) 70%,transparent),color-mix(in srgb,var(--c-ink-dyp) 80%,transparent) 22%,color-mix(in srgb,var(--c-ink-dyp) 80%,transparent) 70%,color-mix(in srgb,var(--c-ink-dyp) 62%,transparent))}
  .hero__innhold{padding:36px var(--s-kant) 40px}
  .hero__tittel{margin-top:14px}
  .hero__sted{margin-top:18px;font-size:.8rem;letter-spacing:.08em}
  .hero__ingress{margin-top:12px}
  .hero__knapper{margin-top:24px;width:100%;flex-direction:column;align-items:stretch;gap:10px}

  .hero--merke{grid-template-columns:1fr;gap:18px;padding:22px var(--s-kant) 72px;align-content:start}
  .hero__ramme{grid-row:1;justify-self:center;width:auto;height:min(30svh,260px);aspect-ratio:9/16}
  .hero__film{height:100%}
  .hero__filmtekst{display:none}
  .hero__merke-tekst{justify-self:stretch}
  .hero__tittel--stor{margin-top:6px;font-size:calc(3.1rem*var(--display-skala))}
  .hero--merke .hero__knapper{margin-top:20px}
  .hero--merke .hero__ingress{margin-top:10px}
  .merke--rund{width:96px;height:96px;font-size:.6rem;right:calc(50% - 150px);top:calc(min(30svh,260px) - 60px);bottom:auto}
  .merke--rund strong,.merke--rund b{font-size:.95rem}
  .bolge{margin-top:14px}

  .aktuelt__liste{grid-template-columns:1fr;gap:8px;padding:16px var(--s-kant)}

  .ruter{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .rute,.rute--stor,.rute--halv{grid-column:span 1;aspect-ratio:auto;background:none;color:var(--fg);overflow:visible;border-radius:0}
  .rute::after{display:none}
  .rute{display:flex;flex-direction:column}
  .rute img{position:static;height:auto;aspect-ratio:3/2;border-radius:var(--r)}
  .rute__tekst{position:static;padding:0;align-items:flex-start;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:8px;margin-top:10px}
  .rute__tekst .ikon{display:block;width:20px;height:20px;color:var(--aks-tekst);margin-top:2px}
  .rute__navn{font-size:1.45rem}
  .rute__navn::after{display:none}
  .rute__tekst p{grid-column:1/-1;font-size:var(--t-mikro);font-weight:500;color:var(--muted);margin-top:2px;line-height:1.4;padding:0;background:none;border-radius:0}
  .rute--sitat{display:none}

  .velger-seksjon{grid-template-columns:1fr;gap:26px;padding:64px var(--s-kant)}
  .velger-seksjon .fakta{display:none}
  .velger{min-height:0}
  .velger__kontakt{grid-template-columns:1fr}
  .val__rad{min-height:54px;padding:10px 14px}
  .timeplan__dager{grid-template-columns:1fr 1fr;gap:20px 16px}
  .priser{grid-template-columns:1fr}

  .leir{grid-template-columns:1fr;padding:64px var(--s-kant)}
  .leir__bilder{order:-1;justify-self:stretch;max-width:none;aspect-ratio:1.5}
  .leir__bilde--1{width:48%}
  .leir__bilde--2{width:46%}
  .leir .fakta li:nth-child(n+4){display:none}
  .merke--lapp{left:auto;right:4%;top:6%;font-size:.95rem}

  .hester{padding:64px 0}
  .hester .seksjon__topp{padding:0 var(--s-kant)}
  .hester__rad{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--s-kant);gap:12px;scrollbar-width:none;padding:0 var(--s-kant) 4px}
  .hester__rad::-webkit-scrollbar{display:none}
  .hest{flex:0 0 40%;scroll-snap-align:start}
  .hest h3{font-size:1.2rem;margin-top:10px}
  .hest p{font-size:var(--t-mikro)}

  .utleie{padding:64px var(--s-kant)}
  .utleie__tekst{grid-template-columns:1fr;margin-bottom:28px}
  .lokaler{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .lokale img{aspect-ratio:3/2}
  .lokale h3{font-size:1.4rem;margin-top:10px}
  .lokale p{font-size:var(--t-mikro)}

  .omtaler{grid-template-columns:1fr;padding:64px var(--s-kant);gap:28px}
  .omtaler__tall{margin-top:16px}
  .omtale:nth-child(3){display:none}
  .omtale{padding:20px 0}

  .folg{padding:0 var(--s-kant) 64px}
  .folg__topp{padding-top:56px;margin-bottom:22px}
  .reels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .reel__spill{width:44px;height:44px;margin:-22px 0 0 -22px}
  .reel__tekst{left:8px;right:8px;bottom:8px;font-size:.75rem}
  .folg__notis{display:none}

  .om{grid-template-columns:1fr;padding:64px var(--s-kant);gap:26px}
  .om__bilde img{aspect-ratio:16/9}
  .om__tekst p:nth-of-type(3){display:none}

  .kontakt{grid-template-columns:1fr;padding:64px var(--s-kant) 96px;gap:28px}
  .kart__bilde{height:240px}

  .bunn{padding:40px var(--s-kant) 110px}
  .bunn__some{margin-left:0}

  .dokk{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-dokk);display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:6px;padding:6px;border-radius:var(--r-pille);background:var(--c-ink);color:var(--c-papir);transform:translateY(140%);transition:transform .45s var(--ease-ut);--c-fokus:var(--c-aksent-lys)}
  .dokk-ute .dokk{transform:none}
  .dokk a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:var(--r-pille);text-decoration:none;font-weight:700;font-size:var(--t-liten)}
  .dokk__aksent{background:var(--c-aksent-lys);color:var(--c-ink)}

  .lab{left:auto;right:12px;bottom:12px;transition:bottom .45s var(--ease-ut)}
  .dokk-ute .lab{bottom:84px}
  .lab__panel{left:auto;right:0}
  .lab__veksle-tekst{display:none}
}

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

/* ---------- 404 ---------- */
.feilside{min-height:calc(100svh - var(--topp));padding:var(--s-seksjon) var(--s-kant);display:grid;align-content:center;gap:24px}
