/* Elin Enger, utkast. Fonter selvhostet, ingen tredjepart.
   Referanser: dipseastories.com (lett serif 300, lh 1,05, plomme-flate, krem tekst, pilleknapper)
   og esalen.org (fullbredde natur, kort serif-tittel, foto øverst og tekst på mørk bunn på mobil).
   Aksent: vinrødt fra Elins egen logo (#A81917). */
@font-face{font-family:'Boska';src:url('../assets/fonts/boska-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Boska';src:url('../assets/fonts/boska-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'GT Sectra';src:url('../assets/fonts/gt-sectra-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'GT Sectra';src:url('../assets/fonts/gt-sectra-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@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:'Switzer';src:url('../assets/fonts/switzer-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Switzer';src:url('../assets/fonts/switzer-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}

:root{
  /* Palett 1: vin. Logoens røde på varm krem, plomme som mørk flate */
  --c-papir:#F5EDE6; --c-papir2:#EDE1D6; --c-blekk:#2A1519; --c-dempet:#68525A; --c-linje:rgba(42,21,25,.16);
  --c-aksent:#A81917; --c-pa-aksent:#FFF6F1; --c-fokus:#A81917; --c-input:#FBF7F3;
  --c-dyp:#2A1220; --c-dyp2:#3A1B2C; --c-dyp-tekst:#F5E6DE; --c-dyp-dempet:#D3BBB7; --c-dyp-linje:rgba(245,230,222,.22);
  --c-lys:#F2B8A8; --c-pa-lys:#2A1220;
  /* Skrift 1: Boska, lett */
  --f-display:'Boska',Georgia,serif; --w-display:300; --lh-display:1.05; --sp-display:-.01em; --skala:1; --em-stil:italic;
  --f-tekst:'Switzer',Arial,sans-serif;
  --topp-h:76px; --t-tekst:17px; --gutter:clamp(16px,4vw,48px); --maks:1320px;
  --z-dekor:1; --z-sticky:100; --z-dokk:200; --z-overlay:300; --z-panel:400; --z-varsel:500;
  --ease:cubic-bezier(.23,1,.32,1);
}
/* Palett 2: skog ved Mjøsa */
html[data-pal="2"]{
  --c-papir:#EFEEE6; --c-papir2:#E2E3D7; --c-blekk:#1C2420; --c-dempet:#55605A; --c-linje:rgba(28,36,32,.16);
  --c-aksent:#9A3A1D; --c-fokus:#9A3A1D; --c-input:#F7F7F2;
  --c-dyp:#1E2C25; --c-dyp2:#283A31; --c-dyp-tekst:#EFEDE3; --c-dyp-dempet:#C3CCC2; --c-dyp-linje:rgba(239,237,227,.22);
  --c-lys:#E9C9A0; --c-pa-lys:#1E2C25;
}
/* Palett 3: kveld, plomme og korall (Dipsea) */
html[data-pal="3"]{
  --c-papir:#F4ECEF; --c-papir2:#E9DCE2; --c-blekk:#24142A; --c-dempet:#634F67; --c-linje:rgba(36,20,42,.16);
  --c-aksent:#B4302A; --c-fokus:#B4302A; --c-input:#FBF7F9;
  --c-dyp:#26122F; --c-dyp2:#361C42; --c-dyp-tekst:#F3E3DA; --c-dyp-dempet:#CFB8C6; --c-dyp-linje:rgba(243,227,218,.22);
  --c-lys:#F6A58F; --c-pa-lys:#26122F;
}
html[data-font="2"]{--f-display:'GT Sectra',Georgia,serif; --w-display:400; --lh-display:1.06; --sp-display:-.015em; --skala:.92; --em-stil:normal}
html[data-font="3"]{--f-display:'Melodrama',Georgia,serif; --w-display:300; --lh-display:1.02; --sp-display:-.005em; --skala:1.04; --em-stil:normal}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--topp-h)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--c-papir);color:var(--c-blekk);font:400 var(--t-tekst)/1.6 var(--f-tekst);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--c-fokus);outline-offset:3px;border-radius:2px}
.vis-skjermleser{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hopp{position:absolute;left:12px;top:-60px;z-index:var(--z-varsel);background:var(--c-aksent);color:var(--c-pa-aksent);padding:12px 16px;font-weight:600}
.hopp:focus{top:12px}
.wrap{width:100%;max-width:var(--maks);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Topp ---------- */
.topp{position:sticky;top:0;z-index:var(--z-sticky);background:var(--c-dyp);color:var(--c-dyp-tekst);--c-fokus:var(--c-lys)}
.topp__rad{height:var(--topp-h);display:flex;align-items:center;gap:20px}
.merke{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font:var(--w-display) calc(1.625rem * var(--skala))/1 var(--f-display);letter-spacing:var(--sp-display)}
.merke img{height:34px;width:auto}
.meny{margin-left:auto;display:flex;gap:2px}
.meny a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;font-size:.9375rem;font-weight:500}
@media (hover:hover) and (pointer:fine){.meny a:hover{text-decoration:underline;text-underline-offset:5px}}
.topp__cta{min-height:44px;padding:0 20px}
.topp__ring{display:none}
.topp__ring svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Typografi ---------- */
.h1,.h2,.h3{font-family:var(--f-display);font-weight:var(--w-display);letter-spacing:var(--sp-display);text-wrap:balance}
.h1 em,.h2 em{font-style:var(--em-stil)}
.h2{font-size:calc(clamp(2.5rem,4.6vw,4.5rem) * var(--skala));line-height:calc(var(--lh-display) + .03)}
.h3{font-size:calc(clamp(1.625rem,2.2vw,2.125rem) * var(--skala));line-height:1.12}
.ingress{max-width:30em;font-size:1.1875rem;line-height:1.55}

/* ---------- Knapper: piller (Dipsea, Esalen) ---------- */
.knapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border:1px solid transparent;border-radius:999px;font:500 1rem/1 var(--f-tekst);text-decoration:none;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .12s var(--ease)}
.knapp--aksent{background:var(--c-aksent);color:var(--c-pa-aksent)}
.knapp--strek{border-color:currentColor;color:inherit}
@media (hover:hover) and (pointer:fine){
  .knapp--aksent:hover{background:var(--c-blekk);color:var(--c-papir)}
  .topp .knapp--aksent:hover,.hero .knapp--aksent:hover{background:var(--c-lys);color:var(--c-pa-lys)}
  .knapp--strek:hover{background:var(--c-blekk);color:var(--c-papir);border-color:var(--c-blekk)}
  .hero .knapp--strek:hover,.sek--dyp .knapp--strek:hover,.sek--flate .knapp--strek:hover{background:var(--c-dyp-tekst);color:var(--c-dyp);border-color:var(--c-dyp-tekst)}
}
.knapp:active{transform:scale(.97)}

/* ---------- Stjerner: fylles til den ekte verdien ---------- */
.stjerner{position:relative;display:inline-block;width:5.4em;height:1em;font-size:16px;line-height:1;flex:none;
  background:var(--stj-tom,rgba(104,82,90,.3));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 20'%3E%3Cg%3E%3Cpath id='s' d='M10 1l2.7 5.8 6.3.7-4.7 4.3 1.3 6.2L10 14.9 4.4 18l1.3-6.2L1 7.5l6.3-.7z'/%3E%3Cuse href='%23s' x='22'/%3E%3Cuse href='%23s' x='44'/%3E%3Cuse href='%23s' x='66'/%3E%3Cuse href='%23s' x='88'/%3E%3C/g%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 20'%3E%3Cg%3E%3Cpath id='s' d='M10 1l2.7 5.8 6.3.7-4.7 4.3 1.3 6.2L10 14.9 4.4 18l1.3-6.2L1 7.5l6.3-.7z'/%3E%3Cuse href='%23s' x='22'/%3E%3Cuse href='%23s' x='44'/%3E%3Cuse href='%23s' x='66'/%3E%3Cuse href='%23s' x='88'/%3E%3C/g%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
}
.stjerner__fylt{position:absolute;inset:0 auto 0 0;background:var(--stj,var(--c-aksent))}
.stjerner--stor{font-size:22px}

/* ---------- Hero ---------- */
html:not([data-hero="2"]) .hero:not([data-hero="1"]),html[data-hero="2"] .hero:not([data-hero="2"]){display:none}
.hero{position:relative;overflow:hidden;background:var(--c-dyp);color:var(--c-dyp-tekst);--c-fokus:var(--c-lys);--stj:var(--c-lys);--stj-tom:rgba(245,230,222,.3)}
.hero .h1 .hero__line{display:block;overflow:hidden;padding:.2em .25em .26em;margin:-.2em -.25em -.26em;white-space:nowrap}
.hero .h1 .hero__line-in{display:block}
.hero .h1 em{color:var(--c-lys)}
.anim-hero .hero__line-in{transform:translateY(150%)}
.anim-hero :is(.hero__sted,.hero__vurdering,.hero__sub,.hero__cta,.hero__film){opacity:0}
.h1{display:flex;flex-direction:column;line-height:var(--lh-display);margin-bottom:clamp(20px,2.2vw,30px)}
.hero__vurdering{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-bottom:6px;font-size:.9375rem;font-weight:500;text-decoration:none;color:var(--c-dyp-tekst)}
@media (hover:hover) and (pointer:fine){.hero__vurdering:hover span:last-child{text-decoration:underline;text-underline-offset:4px}}
.hero__sted{font-size:.9375rem;font-weight:500;margin-bottom:22px;color:var(--c-dyp-tekst)}
.hero__sub{max-width:28em;font-size:1.1875rem;line-height:1.5;margin-bottom:32px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__innhold{position:relative;z-index:var(--z-dekor);container-type:inline-size}

/* Hero 1: Elin til venstre i bildet, teksten til høyre bak slør */
.hero--bilde{min-height:clamp(620px,calc(100svh - var(--topp-h)),900px);display:flex;align-items:center}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:28% 40%}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(42,18,32,.92) 0%,rgba(42,18,32,.82) 38%,rgba(42,18,32,.5) 52%,rgba(42,18,32,0) 66%),linear-gradient(0deg,rgba(42,18,32,.5) 0%,rgba(42,18,32,0) 36%)}
html[data-pal="2"] .hero__bg::after{background:linear-gradient(270deg,rgba(30,44,37,.92) 0%,rgba(30,44,37,.82) 38%,rgba(30,44,37,.5) 52%,rgba(30,44,37,0) 66%),linear-gradient(0deg,rgba(30,44,37,.5) 0%,rgba(30,44,37,0) 36%)}
html[data-pal="3"] .hero__bg::after{background:linear-gradient(270deg,rgba(38,18,47,.92) 0%,rgba(38,18,47,.82) 38%,rgba(38,18,47,.5) 52%,rgba(38,18,47,0) 66%),linear-gradient(0deg,rgba(38,18,47,.5) 0%,rgba(38,18,47,0) 36%)}
.hero--bilde .hero__innhold{display:flex;flex-direction:column;align-items:flex-start;padding-left:max(var(--gutter),calc(50% + 40px));padding-block:64px}
.hero--bilde .h1{font-size:calc(min(14.6cqi,104px) * var(--skala))}

/* Hero 2: filmen i hele bakgrunnen, typografien størst */
.hero--typo{min-height:clamp(620px,calc(100svh - var(--topp-h)),900px);display:flex;align-items:center}
.hero__film{position:absolute;inset:0}
.hero__film video{width:100%;height:100%;object-fit:cover;object-position:20% 50%}
.hero__film::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(42,18,32,.88) 0%,rgba(42,18,32,.72) 40%,rgba(42,18,32,0) 68%),linear-gradient(0deg,rgba(42,18,32,.6) 0%,rgba(42,18,32,0) 40%)}
html[data-pal="2"] .hero__film::after{background:linear-gradient(270deg,rgba(30,44,37,.88) 0%,rgba(30,44,37,.72) 40%,rgba(30,44,37,0) 68%),linear-gradient(0deg,rgba(30,44,37,.6) 0%,rgba(30,44,37,0) 40%)}
html[data-pal="3"] .hero__film::after{background:linear-gradient(270deg,rgba(38,18,47,.88) 0%,rgba(38,18,47,.72) 40%,rgba(38,18,47,0) 68%),linear-gradient(0deg,rgba(38,18,47,.6) 0%,rgba(38,18,47,0) 40%)}
.hero--typo .hero__innhold{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-block:64px;padding-left:max(var(--gutter),calc(46% + 24px))}
.hero--typo .h1{font-size:calc(min(17cqi,128px) * var(--skala));align-items:flex-end}
.hero--typo .hero__sub{max-width:25em}
.hero--typo .hero__cta{justify-content:flex-end}

/* ---------- Seksjoner ---------- */
.sek{padding-block:clamp(80px,8.4vw,120px)}
.sek--papir{background:var(--c-papir)}
.sek--papir2{background:var(--c-papir2)}
.sek--flate,.sek--dyp{background:var(--c-dyp);color:var(--c-dyp-tekst);--c-fokus:var(--c-lys);--c-dempet:var(--c-dyp-dempet);--c-linje:var(--c-dyp-linje);--c-blekk:var(--c-dyp-tekst);--stj:var(--c-lys)}
.sek--dyp{background:var(--c-dyp2)}
.sek p{max-width:36em}

/* Om Elin: portrett og tekst, smal spalte (44 % som Dipsea) */
.om__rad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,7vw,120px);align-items:center}
.om__bilde img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.om__tekst{display:flex;flex-direction:column;gap:22px}
.om__tekst > p:not(.ingress){color:var(--c-dempet)}
.om__sitat{padding-left:0;font:var(--w-display) calc(clamp(1.5rem,2vw,1.875rem) * var(--skala))/1.25 var(--f-display);letter-spacing:var(--sp-display);color:var(--c-aksent)}
.om__presse{font-size:.9375rem;color:var(--c-dempet);border-top:1px solid var(--c-linje);padding-top:18px}
.om__presse span:first-child{font-weight:600;color:var(--c-blekk);margin-right:8px}

/* Tilbud: produktkort med bilde, som på bookingsiden hennes */
.tilbud__topp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px clamp(32px,6vw,112px);align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.tilbud__topp > div{display:flex;flex-direction:column;gap:12px}
.tilbud__topp p{color:var(--c-dempet)}
.tilbud__samtale{font-size:.9375rem}
.tilbud__samtale a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--c-lys);text-underline-offset:4px}
.tilbud__kort{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.kort{display:flex;flex-direction:column;background:var(--c-dyp2);border-radius:20px;overflow:hidden}
.kort__bilde{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 25%}
.kort__tekst{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 24px 26px;flex:1}
.kort__type{font-size:.875rem;font-weight:500;color:var(--c-lys)}
.kort__navn{font:var(--w-display) calc(clamp(1.625rem,2.2vw,2.125rem) * var(--skala))/1.1 var(--f-display);letter-spacing:var(--sp-display)}
.kort__hva{font-size:.9375rem;color:var(--c-dempet)}
.kort__pris{font-weight:600;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:14px}
.kort__knapp{margin-top:14px;min-height:46px;padding:0 22px}

/* Velgeren */
.velger__rad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,112px);align-items:start}
.velger__intro{display:flex;flex-direction:column;gap:22px}
.velger__intro p{color:var(--c-dempet);font-size:1.125rem}
.velger__ring{display:flex;flex-direction:column;gap:2px}
.velger__ring a{display:inline-flex;align-items:center;min-height:44px;font:var(--w-display) calc(2.25rem * var(--skala))/1 var(--f-display);color:var(--c-aksent);text-decoration:none;width:fit-content}
.velger__kort{background:var(--c-input);border:1px solid var(--c-linje);border-radius:24px;padding:clamp(24px,3vw,44px)}
.sp{border:0;padding:0;margin:0;display:none;min-width:0}
.sp.er-aktiv{display:block}
.sp legend{font:var(--w-display) calc(clamp(1.75rem,2.6vw,2.375rem) * var(--skala))/1.1 var(--f-display);letter-spacing:var(--sp-display);margin-bottom:22px;padding:0}
.bef__topp{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.9375rem;font-weight:500;color:var(--c-dempet);margin-bottom:22px}
.bef__topp b{font-weight:600;color:var(--c-blekk)}
.bef__fremdrift{flex:1;max-width:180px;height:2px;background:var(--c-linje);overflow:hidden;border-radius:2px}
.bef__fremdrift i{display:block;height:100%;background:var(--c-aksent);transform-origin:left;transform:scaleX(.25);transition:transform .25s var(--ease)}
.valg{position:relative;display:flex;align-items:center;gap:14px;min-height:54px;padding:10px 18px 10px 12px;margin-bottom:8px;border:1px solid var(--c-linje);border-radius:999px;cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease)}
.valg input{position:absolute;opacity:0;width:1px;height:1px}
.valg__bokstav{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--c-linje);border-radius:50%;font-weight:600;font-size:.8125rem;flex:none}
@media (hover:hover) and (pointer:fine){.valg:hover{border-color:var(--c-blekk)}}
.valg:has(input:checked){border-color:var(--c-aksent);background:var(--c-aksent);color:var(--c-pa-aksent)}
.valg:has(input:checked) .valg__bokstav{border-color:var(--c-pa-aksent)}
.valg:has(input:focus-visible){outline:2px solid var(--c-fokus);outline-offset:3px}
.bef__nav{display:flex;justify-content:space-between;gap:12px;margin-top:14px}
.bef__tilbake,.bef__igjen{min-height:44px;background:none;border:0;padding:0 4px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-weight:500}
.bef__neste{margin-left:auto}
.res{outline:0}
.res__topp{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.res__bilde{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 22%;flex:none}
.res__merke{font-size:.9375rem;font-weight:500;color:var(--c-aksent);margin-bottom:4px}
.res__tittel{font:var(--w-display) calc(clamp(1.75rem,2.6vw,2.375rem) * var(--skala))/1.08 var(--f-display);letter-spacing:var(--sp-display);outline:0}
.res__pris{font-weight:500;margin-top:6px}
.res__tekst{margin-bottom:10px}
.res__neste{color:var(--c-dempet);margin-bottom:24px}
.bef__post{display:grid;gap:14px;max-width:32em}
.felt label:not(.samtykke){display:block;font-weight:500;margin-bottom:6px}
.felt input[type=text],.felt input[type=tel],.felt input[type=email]{width:100%;min-height:52px;padding:0 18px;border:1px solid var(--c-dempet);border-radius:999px;background:#fff;color:var(--c-blekk);font:inherit}
.felt input[aria-invalid="true"]{border-width:2px;border-color:var(--c-aksent)}
.samtykke{display:flex;gap:12px;align-items:flex-start;min-height:44px;cursor:pointer}
.samtykke input{width:24px;height:24px;margin:2px 0 0;flex:none;accent-color:var(--c-aksent)}
.liten{font-size:.875rem;color:var(--c-dempet);margin-top:4px}
.feil{color:var(--c-aksent);font-weight:600;font-size:.9375rem;margin-top:6px}
.kvittering{padding:22px 24px;border:1px solid var(--c-aksent);border-radius:20px;outline:0}
.kvittering__tittel{font:var(--w-display) calc(2rem * var(--skala))/1.08 var(--f-display);letter-spacing:var(--sp-display);margin-bottom:8px}
.bef__igjen{margin-top:18px}

/* Gården: bredt bilde til venstre, tekst og to små bilder */
.sek.garden{position:relative;padding-block:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.garden__bilde img{width:100%;height:100%;object-fit:cover;min-height:640px}
.garden__rad{max-width:none;margin:0;padding:clamp(56px,6vw,96px) var(--gutter) clamp(56px,6vw,96px) clamp(32px,5vw,80px);display:flex;flex-direction:column;gap:40px}
.garden__tekst{display:flex;flex-direction:column;gap:22px}
.garden__tekst > p{color:var(--c-dempet);max-width:30em}
.garden__fakta{display:flex;flex-wrap:wrap;gap:8px}
.garden__fakta li{border:1px solid var(--c-linje);border-radius:999px;padding:8px 16px;font-size:.9375rem}
.garden__sma{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.garden__sma img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}

/* Omtaler */
.omtaler__topp{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(36px,4vw,56px)}
.omtaler__snitt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--c-dempet);font-size:.9375rem}
.omtaler__snitt b{font:var(--w-display) calc(3rem * var(--skala))/1 var(--f-display);color:var(--c-blekk)}
.omtaler__liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);border-top:1px solid var(--c-linje);padding-top:32px}
.omtale{display:flex;flex-direction:column;gap:16px}
.omtale blockquote{font:var(--w-display) calc(1.375rem * var(--skala))/1.35 var(--f-display);letter-spacing:var(--sp-display)}
.omtale__hvem{font-size:.9375rem;color:var(--c-dempet)}
.deltakere{margin-top:clamp(56px,6vw,88px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,64px)}
.deltakere__liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,40px)}
.deltakere__liste blockquote{color:var(--c-dempet);font-size:1rem;line-height:1.55}
.deltakere__liste p{margin-top:10px;font-weight:600;font-size:.9375rem}
.omtaler__lenke{margin-top:32px}
.omtaler__lenke a{display:inline-flex;align-items:center;min-height:44px;font-weight:500;text-underline-offset:4px}

/* Bok og kort */
.bok__rad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(36px,4vw,56px)}
.produkt{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.produkt img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:35% 40%;border-radius:2px;margin-bottom:8px}
.produkt__navn{font:var(--w-display) calc(clamp(1.5rem,2.2vw,2rem) * var(--skala))/1.15 var(--f-display);letter-spacing:var(--sp-display);max-width:20em}
.produkt__tekst{color:var(--c-dempet);max-width:30em}

/* Nyhetsbrev */
.brev{padding-block:clamp(56px,6vw,88px);border-top:1px solid var(--c-linje)}
.brev__rad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:end}
.brev__rad > div{display:flex;flex-direction:column;gap:12px}
.brev__rad > div p{color:var(--c-dempet)}
.brev__skjema{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.brev__svar{grid-column:1/-1;min-height:1.6em;font-weight:500;font-size:.9375rem}
.brev__svar.er-feil{color:var(--c-aksent)}

/* Kontakt og kart */
.kontakt__rad{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,112px);align-items:start}
.kontakt__liste{margin-top:36px;border-top:1px solid var(--c-linje)}
.kontakt__liste li{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px;min-height:60px;border-bottom:1px solid var(--c-linje)}
.kontakt__hva{color:var(--c-dempet);font-size:.9375rem}
.kontakt__liste a{display:inline-flex;align-items:center;min-height:44px;font-weight:500;text-underline-offset:4px;width:fit-content}
.kart__bilde{position:relative;aspect-ratio:1440/640;background:#ddd;overflow:hidden;border-radius:2px}
.kart__bilde img{width:100%;height:100%;object-fit:cover}
.kart__nal{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px}
.kart__nal svg{width:34px;height:46px;fill:var(--c-aksent);stroke:var(--c-blekk);stroke-width:1.5}
.kart__nal b{background:var(--c-blekk);color:var(--c-papir);padding:4px 12px;border-radius:999px;font-size:.8125rem;font-weight:600;white-space:nowrap}
.kart__fot{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:12px;font-size:.9375rem;color:var(--c-dempet)}
.kart__fot span{display:inline-flex;align-items:center;min-height:44px}
.kart__fot a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;color:var(--c-blekk)}
.kart__fot small{flex-basis:100%;font-size:.8125rem}
.kart__fot small a{min-height:0;display:inline}

/* Bunn */
.bunn{background:var(--c-dyp);color:var(--c-dyp-tekst);padding-block:32px 20px;--c-fokus:var(--c-lys)}
.bunn__rad{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px}
.bunn .merke{font-size:calc(1.375rem * var(--skala))}
.bunn .merke img{height:28px}
.bunn__info{font-size:.9375rem;color:var(--c-dyp-dempet)}
.bunn__kreditt{margin-left:auto;font-size:.875rem}
.bunn__kreditt a{display:inline-flex;align-items:center;min-height:44px;color:var(--c-dyp-dempet);text-underline-offset:4px}
.bunn__kilde{font-size:.8125rem;color:var(--c-dyp-dempet);margin-top:8px}

/* ---------- Design Lab ---------- */
.lab{position:fixed;left:16px;bottom:16px;z-index:var(--z-panel);font-family:'Switzer',Arial,sans-serif;display:flex;flex-direction:column-reverse;align-items:flex-start;color:#2A1519}
.lab__veksle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:100px;border:.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(30px) saturate(210%);backdrop-filter:blur(30px) saturate(210%);color:#2A1519;font:600 .9375rem/1 'Switzer',Arial,sans-serif;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.12),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);transition:transform .2s var(--ease)}
.lab__panel{margin-bottom:10px;padding:14px;border-radius:24px;border:.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(30px) saturate(210%);backdrop-filter:blur(30px) saturate(210%);box-shadow:0 8px 32px rgba(0,0,0,.12),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)}
.lab__gruppe{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.lab__merke{width:28px;text-align:center}
.lab__gruppe button{width:44px;height:44px;border-radius:100px;border:1px solid rgba(42,21,25,.18);background:rgba(255,255,255,.55);color:#2A1519;font:600 1rem/1 'Switzer',Arial,sans-serif;cursor:pointer;transition:transform .2s var(--ease),background-color .15s var(--ease)}
.lab__gruppe button[aria-pressed="true"]{background:#2A1519;color:#fff}
.lab :focus-visible{outline-color:#2A1519}
.design-lab__credit{margin-top:10px;font-size:.8125rem;color:#5A4A4E;display:flex;gap:6px;align-items:center}
.design-lab__credit-logo{display:inline-flex;align-items:center;gap:2px;font-weight:700;color:#2A1519;text-decoration:none;transition:transform .2s var(--ease)}
.design-lab__credit-dot,.design-lab__credit-spark{color:#A81917}
.design-lab__credit-spark{width:12px;height:12px;transition:transform .3s var(--ease)}
@media (hover:hover) and (pointer:fine){.lab__veksle:hover{transform:translateY(-1px)}.lab__gruppe button:hover{transform:scale(1.04)}.design-lab__credit-logo:hover{transform:scale(1.04)}.design-lab__credit-logo:hover .design-lab__credit-spark{transform:rotate(90deg) scale(1.3)}}
.lab__gruppe button:active{transform:scale(.96)}
@media (prefers-reduced-motion:reduce){.knapp,.lab__veksle,.lab__gruppe button,.design-lab__credit-logo,.design-lab__credit-spark,.valg,.bef__fremdrift i{transition-property:background-color,color,border-color}.knapp:active,.lab__gruppe button:active{transform:none}}

/* ---------- Nettbrett ---------- */
@media (max-width:1100px){
  .tilbud__kort{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meny a{padding:0 9px}
  .garden{grid-template-columns:1fr}
  .garden__bilde img{min-height:0;aspect-ratio:16/9}
  .deltakere{grid-template-columns:1fr}
}
@media (max-width:900px){.meny{display:none}.topp__cta{margin-left:auto}}

/* ---------- Mobil: ruter, ramser ikke opp ---------- */
@media (max-width:760px){
  :root{--topp-h:64px;--t-tekst:16px}
  .merke{font-size:calc(1.375rem * var(--skala));gap:10px}
  .merke img{height:28px}
  .topp__rad{gap:10px}
  .topp__cta{min-height:44px;padding:0 16px;font-size:.9375rem}
  .topp__ring{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-dyp-linje);border-radius:50%;flex:none}
  .sek{padding-block:56px}
  .h2{font-size:calc(2.375rem * var(--skala))}
  .ingress{font-size:1.0625rem}

  /* Begge heroene: bildet øverst, teksten på mørk bunn under (Esalen) */
  .hero--bilde,.hero--typo{min-height:0;display:block}
  .hero__bg,.hero__film{position:absolute;inset:0 0 auto 0;height:min(50svh,420px)}
  .hero__bg img{object-position:24% 30%}
  .hero__film video{object-position:22% 40%}
  .hero__bg::after,.hero__film::after,
  html[data-pal] .hero__bg::after,html[data-pal] .hero__film::after{background:linear-gradient(0deg,var(--c-dyp) 0%,color-mix(in srgb,var(--c-dyp) 60%,transparent) 30%,transparent 60%)}
  .hero--bilde .hero__innhold,.hero--typo .hero__innhold{padding:min(41svh,340px) var(--gutter) 36px;align-items:flex-start;text-align:left}
  .hero--bilde .h1{font-size:calc(min(14.4cqi,60px) * var(--skala))}
  .hero--typo .h1{font-size:calc(min(14.4cqi,64px) * var(--skala));align-items:flex-start}
  .hero--typo .hero__cta{justify-content:flex-start}
  .hero__vurdering{font-size:.875rem;margin-bottom:2px}
  .hero__sted{margin-bottom:14px;font-size:.875rem}
  .hero__sub{font-size:1rem;margin-bottom:22px}
  .hero__cta .knapp{flex:1 1 auto}

  .om__rad{grid-template-columns:96px minmax(0,1fr);gap:14px 18px;align-items:start}
  .om__bilde img{aspect-ratio:1;border-radius:50%}
  .om__tekst{display:contents}
  .om__tekst .h2{grid-column:2;align-self:center}
  .om__tekst > :not(.h2){grid-column:1/-1}
  .om__tekst > p:not(.ingress):not(.om__presse){display:none}
  .om__sitat{font-size:calc(1.3125rem * var(--skala))}

  .tilbud__topp{grid-template-columns:1fr;gap:8px;margin-bottom:20px}
  .tilbud__topp .reveal:not(.tilbud__samtale){display:none}
  /* Mobil: kortene i én rad man sveiper, i stedet for seks under hverandre */
  .tilbud__kort{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) 6px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .tilbud__kort::-webkit-scrollbar{display:none}
  .kort{flex:0 0 78%;scroll-snap-align:start}
  .kort__tekst{padding:16px 18px 20px}
  .kort__navn{font-size:calc(1.5rem * var(--skala))}

  .velger__rad{grid-template-columns:1fr;gap:20px}
  .velger__intro{gap:12px}
  .velger__intro p{font-size:1rem}
  .velger__ring a{font-size:calc(1.75rem * var(--skala))}
  .velger__kort{padding:20px 16px;border-radius:20px;margin-inline:calc(var(--gutter) * -1 + 8px)}
  .sp legend{font-size:calc(1.5rem * var(--skala));margin-bottom:16px}
  .valg{min-height:50px;margin-bottom:6px;padding:8px 14px 8px 10px;font-size:.9375rem}

  .sek.garden{padding-block:0}
  .garden__bilde img{aspect-ratio:16/10}
  .garden__rad{padding:40px var(--gutter) 48px;gap:24px}
  .garden__sma{display:none}
  .garden__fakta li{font-size:.875rem;padding:6px 12px}

  .omtaler__topp{margin-bottom:20px}
  .omtaler__liste{grid-template-columns:1fr;gap:24px;padding-top:20px}
  .omtale--ekstra,.deltakere__ekstra{display:none}
  .omtale blockquote{font-size:calc(1.1875rem * var(--skala))}
  .deltakere{margin-top:40px;gap:16px}
  .deltakere__liste{grid-template-columns:1fr;gap:18px}
  .deltakere__liste blockquote{font-size:.9375rem}
  .omtaler__lenke{margin-top:16px}

  .bok__rad{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
  .produkt{gap:8px}
  .produkt img{aspect-ratio:1;margin-bottom:4px}
  .produkt__navn{font-size:calc(1.0625rem * var(--skala));line-height:1.2}
  .produkt__tekst{display:none}
  .produkt .knapp{min-height:44px;padding:0 16px;font-size:.875rem;width:100%}

  .sek.brev{padding-block:40px}
  .brev__rad{grid-template-columns:1fr;gap:16px}
  .brev__skjema{grid-template-columns:1fr}

  .kontakt__rad{grid-template-columns:1fr;gap:24px}
  .kontakt__liste{margin-top:20px}
  .kontakt__liste li{grid-template-columns:96px 1fr;min-height:52px}
  .kart__bilde{aspect-ratio:16/9}
  .bunn{padding-block:22px 76px}
  .bunn__kreditt{margin-left:0}
  .lab__veksle-tekst{display:none}
  .lab{left:auto;right:12px;bottom:auto;top:calc(var(--topp-h) + 12px);flex-direction:column;align-items:flex-end}
  .lab__panel{margin:10px 0 0}
  .lab__veksle{padding:0 14px}
}
