/* Stavanger Terapihus, demo. Fonter selvhostet fra ~/.claude/assets/fonts */
@font-face{font-family:'Baskervville';src:url('../assets/fonts/baskervville-normal.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Baskervville';src:url('../assets/fonts/baskervville-italic.woff2') format('woff2');font-weight:400 700;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:'Bespoke Serif';src:url('../assets/fonts/bespoke-serif-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Bespoke Serif';src:url('../assets/fonts/bespoke-serif-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'General Sans';src:url('../assets/fonts/general-sans-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  /* Palett 1: kundens egen. Blekk og blush målt på terapihusene.no, salvie og oliven fra logoen */
  --c-paper:#FAF6F2;
  --c-ink:#3B3937;
  --c-muted:#6B6560;
  --c-line:#E6DCD4;
  --c-blush:#F4E2DC;
  --c-sage:#CDC5B2;
  --c-olive:#928B75;
  --c-mist:#EEEBE6;
  --c-accent:#8E5E52;
  --c-deep:#5E5A47;
  --c-on-deep:#FAF6F2;
  --c-on-deep-muted:#D9D2BF;
  --c-fokus:#8E5E52;
  --c-veil:rgba(42,40,38,.48);
  --c-on-photo:#F4E2DC;

  --f-display:'Baskervville',Georgia,serif;
  --f-body:'General Sans',system-ui,sans-serif;
  --display-w:400;
  --display-track:-.025em;
  --display-lh:.96;

  --t-xs:.8125rem; --t-sm:.9375rem; --t-base:1.0625rem; --t-lg:1.25rem;
  --t-h3:clamp(1.4rem,1.1rem + .9vw,1.85rem);
  --t-h2:clamp(2.4rem,1.6rem + 3.4vw,4.5rem);
  --t-hero:clamp(3.6rem,1.8rem + 8.4vw,9.5rem);

  --s-1:.5rem; --s-2:1rem; --s-3:1.5rem; --s-4:2rem; --s-5:3rem; --s-6:4.5rem;
  --s-sek:clamp(4.5rem,3rem + 6vw,8rem);
  --gutter:clamp(1rem,.5rem + 2.5vw,2.5rem);
  --maks:80rem;
  --tekst:37.5rem;
  --r-knapp:4px; --r-kort:8px; --r-pille:160px;

  --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 */
:root[data-palette="2"]{
  --c-paper:#2A2826; --c-ink:#F4E2DC; --c-muted:#B8B0A8; --c-line:#46413D;
  --c-blush:#3A3532; --c-sage:#57513F; --c-olive:#8A8470; --c-mist:#33302D;
  --c-accent:#E8C9BE; --c-deep:#1E1C1B; --c-on-deep:#F4E2DC; --c-on-deep-muted:#B8B0A8;
  --c-fokus:#E8C9BE; --c-veil:rgba(20,18,17,.6);
}
/* Palett 3: salvie */
:root[data-palette="3"]{
  --c-paper:#F3F2EC; --c-ink:#2F3329; --c-muted:#5D6355; --c-line:#DCDDD2;
  --c-blush:#E4E3D6; --c-sage:#B9BFA6; --c-olive:#7F8A6A; --c-mist:#E9EAE2;
  --c-accent:#6E5040; --c-deep:#46503D; --c-on-deep:#F3F2EC; --c-on-deep-muted:#D6DAC8;
  --c-fokus:#6E5040; --c-veil:rgba(36,40,32,.5);
}
:root[data-font="2"]{--f-display:'Fraunces',Georgia,serif;--display-w:300;--display-track:-.03em}
:root[data-font="3"]{--f-display:'Bespoke Serif',Georgia,serif;--display-w:300;--display-track:-.03em}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;background:var(--c-paper);color:var(--c-ink);font:400 var(--t-base)/1.6 var(--f-body);-webkit-font-smoothing:antialiased;transition:background-color .4s var(--ease),color .4s var(--ease)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,.h3{font-family:var(--f-display);font-weight:var(--display-w);letter-spacing:var(--display-track);margin:0;color:var(--c-ink)}
h2{font-size:var(--t-h2);line-height:var(--display-lh)}
h3,.h3{font-size:var(--t-h3);line-height:1.1}
p{margin:0 0 var(--s-2)}
p:last-child{margin-bottom:0}
em{font-style:italic}
b,strong{font-weight:600}
:focus-visible{outline:2px solid var(--c-fokus);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--s-2);top:-4rem;background:var(--c-ink);color:var(--c-paper);padding:var(--s-1) var(--s-2);z-index:var(--z-varsel)}
.skip:focus{top:var(--s-2)}
.wrap{max-width:var(--maks);margin:0 auto;padding:0 var(--gutter)}
.lede{font-size:var(--t-lg);line-height:1.5;color:var(--c-muted);max-width:var(--tekst)}
.lenke{font-weight:500;text-underline-offset:.25em;display:inline-flex;min-height:44px;align-items:center}

/* ---------- Knapper ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;border-radius:var(--r-knapp);font:500 var(--t-sm)/1 var(--f-body);text-decoration:none;border:1px solid transparent;transition:background-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.btn:active{transform:scale(.97);transition-duration:.12s}
.btn--ink{background:var(--c-ink);color:var(--c-paper)}
.btn--blush{background:var(--c-on-photo);color:#3B3937}
.btn--ghost{border-color:var(--c-ink);color:var(--c-ink)}
.btn--ghost-light{border-color:rgba(255,255,255,.7);color:#fff}
@media (hover:hover) and (pointer:fine){
  .btn--ink:hover{background:var(--c-accent);color:var(--c-paper)}
  .btn--blush:hover{background:#fff}
  .btn--ghost:hover{background:var(--c-ink);color:var(--c-paper)}
  .btn--ghost-light:hover{background:rgba(255,255,255,.14)}
}

/* ---------- Navigasjon ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:var(--z-sticky);background:color-mix(in srgb,var(--c-paper) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background-color .35s var(--ease),box-shadow .35s var(--ease),transform .4s var(--ease)}
.nav__in{max-width:var(--maks);margin:0 auto;padding:.5rem var(--gutter);display:flex;align-items:center;gap:var(--s-4)}
.nav__logo img{width:auto;height:68px}
.nav__links{display:flex;gap:var(--s-4);margin-left:auto}
.nav__links a{text-decoration:none;font-size:var(--t-sm);font-weight:500;display:inline-flex;align-items:center;min-height:44px;position:relative}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:.6rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
@media (hover:hover) and (pointer:fine){.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}}
.nav__act{display:flex;align-items:center;gap:var(--s-2)}
.nav__tel{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-size:var(--t-sm);font-weight:500;min-height:44px}
.nav__tel svg{width:18px;height:18px}
.nav.is-solid{background:color-mix(in srgb,var(--c-paper) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--c-line)}
.nav.is-hidden{transform:translateY(-100%)}

/* ---------- Hero, felles ---------- */
/* Bunnpolstring tar med underlengder (g, j, y) også i kursiv. Lik negativ margin holder linjeavstanden */
.hero__line{display:block;overflow:hidden;padding:.12em .16em .32em 0;margin:-.12em -.16em -.32em 0}
.hero__line-in{display:block}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}
.anim-hero .hero__line-in{transform:translateY(150%)}
.anim-hero .hero__fade{opacity:0}

/* Hero 1: foto */
.hero--foto{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero__frame{position:absolute;inset:0;overflow:hidden}
.hero__img{position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;object-position:30% 50%}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,40,38,.7) 0%,rgba(42,40,38,.55) 45%,rgba(42,40,38,0) 80%),linear-gradient(180deg,rgba(42,40,38,0) 40%,var(--c-veil) 100%)}
.hero__in{position:relative;width:100%;padding-top:8rem;padding-bottom:clamp(3rem,6vw,5.5rem)}
.hero__title{font-size:var(--t-hero);line-height:.9;color:#fff;letter-spacing:var(--display-track)}
.hero__kicker{font-family:var(--f-display);font-size:clamp(1.35rem,1rem + 1.4vw,2.3rem);line-height:1.2;margin:var(--s-3) 0 var(--s-2);display:flex;flex-wrap:wrap;gap:0 .3em;align-items:baseline}
.ord{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.06em .12em .32em 0;margin:-.06em -.12em -.32em 0}
.ord__in{display:inline-block;font-style:italic;color:var(--c-on-photo)}
:root[data-palette="2"] :is(.nav__logo img,.foot__logo){filter:invert(.92) hue-rotate(180deg)}
.hero__sub{max-width:34rem;font-size:var(--t-lg);line-height:1.5;color:rgba(255,255,255,.9)}

/* Hero 2: typografisk */
.hero--type{padding-top:7rem;overflow:hidden}
.hero2{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--s-5);align-items:center;min-height:calc(88svh - 7rem)}
.hero2__brand{font-size:var(--t-sm);font-weight:500;color:var(--c-muted);margin-bottom:var(--s-3)}
.hero2__title{font-family:var(--f-display);font-weight:var(--display-w);letter-spacing:var(--display-track);font-size:clamp(3rem,1.4rem + 6.4vw,7.6rem);line-height:.94;margin:0}
.hero2__title em{color:var(--c-accent)}
.hero2__rule{height:1px;background:var(--c-ink);width:min(22rem,60%);margin:var(--s-5) 0 var(--s-3);transform-origin:left}
.hero2__proof{font-size:var(--t-sm);color:var(--c-muted);max-width:30rem}
.hero2__art{position:relative;aspect-ratio:1}
.hero2__art .blobs{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero2__fig{position:absolute;left:22%;top:12%;width:56%;mix-blend-mode:multiply;opacity:.92}
:root[data-palette="2"] .hero2__fig{mix-blend-mode:normal;filter:invert(.92) hue-rotate(180deg)}
.hero2__band{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2);padding:var(--s-5) var(--gutter) 0;max-width:var(--maks);margin:0 auto}
.hero2__band img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--r-kort);background:var(--c-mist)}

.blob{transform-box:fill-box;transform-origin:center}
.blob--a{fill:var(--c-blush)}
.blob--b{fill:var(--c-sage)}
.blob--c{fill:var(--c-mist)}
:root[data-palette="1"] .blob--a,:root:not([data-palette]) .blob--a{fill:#F0D9D1}

/* ---------- Seksjoner ---------- */
.sec{padding:var(--s-sek) 0;position:relative}
.sec__head{margin-bottom:var(--s-5)}
.sec__head h2{margin-bottom:var(--s-3)}
.sec__head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap}
.anim-reveal .reveal{opacity:0;transform:translateY(24px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease)}

/* Tilbud: figurene er navigasjonen */
.tjenester{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-2)}
.tjeneste__btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;width:100%;height:100%;padding:var(--s-3) var(--s-2) var(--s-3);border-radius:var(--r-kort);border:1px solid transparent;transition:background-color .2s var(--ease),border-color .2s var(--ease)}
.tjeneste__fig{display:block;width:100%;aspect-ratio:1.1;margin-bottom:var(--s-2)}
.tjeneste__fig img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .6s var(--ease)}
:root[data-palette="2"] .tjeneste__fig img{mix-blend-mode:normal;filter:invert(.92) hue-rotate(180deg)}
.tjeneste__navn{font-family:var(--f-display);font-size:var(--t-h3);line-height:1.1;letter-spacing:var(--display-track)}
.tjeneste__kort{font-size:var(--t-xs);color:var(--c-muted)}
.tjeneste__btn[aria-selected="true"]{background:var(--c-blush);border-color:var(--c-line)}
.tjeneste__btn:focus-visible{outline:2px solid var(--c-fokus);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.tjeneste__btn:hover .tjeneste__fig img{transform:translateY(-6px) rotate(-2deg)}}
.tjeneste-panel{display:grid;grid-template-columns:1fr auto;gap:var(--s-5);align-items:end;margin-top:var(--s-3);padding:var(--s-5);background:var(--c-blush);border-radius:var(--r-kort)}
.tjeneste-panel__tekst{max-width:46rem;columns:2;column-gap:var(--s-5)}
.tjeneste-panel__tekst p{break-inside:avoid}

/* Terapeutene */
.filter{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font:500 var(--t-sm)/1 var(--f-body);color:var(--c-ink);background:transparent;border:1px solid var(--c-line);border-radius:var(--r-pille);padding:0 1.1rem;min-height:44px;cursor:pointer;transition:background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.chip.is-on{background:var(--c-ink);color:var(--c-paper);border-color:var(--c-ink)}
@media (hover:hover) and (pointer:fine){.chip:not(.is-on):hover{border-color:var(--c-ink)}}
.folk{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5) var(--s-3)}
.person{display:flex;flex-direction:column}
.person.is-ute{display:none}
.person__foto{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-kort);background:var(--c-mist);margin-bottom:var(--s-2)}
.person__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform .9s var(--ease)}
@media (hover:hover) and (pointer:fine){.person:hover .person__foto img{transform:scale(1.04)}}
.person__merke{position:absolute;left:.75rem;top:.75rem;background:var(--c-paper);color:var(--c-ink);font-size:var(--t-xs);font-weight:500;padding:.35rem .7rem;border-radius:var(--r-pille)}
.person__rolle{font-size:var(--t-xs);font-weight:500;color:var(--c-muted);margin-bottom:.3rem}
.person__navn{font-size:clamp(1.3rem,1.1rem + .5vw,1.6rem);line-height:1.1;margin-bottom:.6rem}
.person__sitat{font-size:var(--t-sm);line-height:1.5;color:var(--c-muted);flex:1}
.person__book{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t-sm);font-weight:500;text-decoration:none;color:var(--c-ink);border-bottom:1px solid var(--c-line);align-self:flex-start;transition:border-color .25s var(--ease),color .25s var(--ease)}
@media (hover:hover) and (pointer:fine){.person__book:hover{border-color:var(--c-accent);color:var(--c-accent)}}
.student{margin-top:var(--s-6);display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--c-line)}
.student p{color:var(--c-muted);max-width:var(--tekst)}

/* Parterapi */
.par{background:var(--c-blush);overflow:hidden}
.par__blob{position:absolute;right:-8rem;top:-6rem;width:32rem;opacity:.55;pointer-events:none;z-index:0}
.par__blob .blob--a{fill:var(--c-sage)}
.par__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-6);position:relative;z-index:var(--z-dekor)}
.par__tekst h2{margin-bottom:var(--s-3)}
.par__tekst .lede{color:var(--c-ink)}
.par__tekst p:not(.lede){max-width:var(--tekst)}
.par__tema h3{font-size:var(--t-lg);margin-bottom:var(--s-3);font-family:var(--f-body);font-weight:500;letter-spacing:0}
.tema{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.tema li{background:var(--c-paper);border-radius:var(--r-pille);padding:.55rem 1rem;font-size:var(--t-sm)}
.faq{margin-top:var(--s-6);position:relative;z-index:var(--z-dekor)}
.faq__h{margin-bottom:var(--s-3)}
.faq__item{border-top:1px solid color-mix(in srgb,var(--c-ink) 18%,transparent)}
.faq__item:last-child{border-bottom:1px solid color-mix(in srgb,var(--c-ink) 18%,transparent)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);min-height:4.5rem;font-family:var(--f-display);font-size:var(--t-h3);letter-spacing:var(--display-track);line-height:1.15;padding:var(--s-2) 0}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform .25s var(--ease)}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__svar{padding:0 0 var(--s-4);max-width:46rem;columns:2;column-gap:var(--s-5)}

/* Tre råd */
.rad h2{margin-bottom:var(--s-5)}
.rad__liste{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}
.rad__liste{gap:var(--s-5)}
.rad__kort{padding-top:var(--s-3);border-top:1px solid var(--c-ink)}
.rad__kort h3{margin-bottom:var(--s-2)}
.rad__kort p{font-size:var(--t-sm);color:var(--c-muted)}

/* Mørk bånd: engelsk + veiledning. Tokenoverstyring, ikke duplikatregler */
.deep{background:var(--c-deep);--c-ink:var(--c-on-deep);--c-muted:var(--c-on-deep-muted);--c-line:rgba(255,255,255,.2);--c-fokus:var(--c-on-deep);color:var(--c-ink)}
.deep__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s-6);align-items:start}
.deep__en h2{margin-bottom:var(--s-3)}
.deep__en p{font-size:var(--t-lg);line-height:1.5;color:var(--c-muted);max-width:30rem}
.deep__veil{display:grid;grid-template-columns:.8fr 1fr;gap:var(--s-4);align-items:start}
.deep__foto{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-kort)}
.deep__foto img{width:100%;height:118%;object-fit:cover;margin-top:-9%}
.deep__veil .h3{margin-bottom:var(--s-2)}
.deep__veil p{font-size:var(--t-sm);color:var(--c-muted)}

/* Kontakt */
.kontakt__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);align-items:start}
.kontakt__info h2{margin-bottom:var(--s-3)}
.fakta{margin:var(--s-4) 0;display:grid;gap:0}
.fakta div{display:grid;grid-template-columns:7rem 1fr;gap:var(--s-2);padding:.6rem 0;border-top:1px solid var(--c-line);align-items:center}
.fakta dt{font-size:var(--t-xs);color:var(--c-muted);font-weight:500}
.fakta dd{margin:0}
.fakta a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.25em}
.kontakt__kart{margin:0}
.kontakt__foto{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-kort);background:var(--c-mist)}
.kontakt__foto img{width:100%;height:100%;object-fit:cover}
.kontakt__kart figcaption{display:grid;gap:.25rem;margin-top:var(--s-2);font-size:var(--t-sm);color:var(--c-muted);max-width:34rem}
.kontakt__kart strong,.kontakt__kart b{color:var(--c-ink);font-weight:500}

/* Bunntekst */
.foot{background:var(--c-mist);padding:var(--s-5) 0 var(--s-4);font-size:var(--t-sm);color:var(--c-muted)}
.foot__in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4)}
.foot__logo{height:64px;width:auto;margin-right:auto}
.foot p{margin:0}
.foot a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.25em}
.footer__credit{max-width:var(--maks);margin:var(--s-4) auto 0;padding:var(--s-3) var(--gutter) 0;border-top:1px solid var(--c-line);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem;font-size:var(--t-xs);color:var(--c-muted)}
.footer__credit-logo{position:relative;display:inline-flex;align-items:center;gap:.2em;font-family:var(--f-body);font-weight:700;font-size:.95rem;letter-spacing:-.01em;color:var(--c-ink);text-decoration:none;padding-right:1.1em;min-height:44px;transition:opacity .25s,transform .25s}
@media (hover:hover) and (pointer:fine){.footer__credit-logo:hover{opacity:.85;transform:translateY(-1px)}}
.footer__credit-dot{color:var(--c-accent)}
.footer__credit-spark{position:absolute;right:0;top:.55em;width:.85em;height:.85em;color:var(--c-accent)}

/* Mobil handlingsdokk */
.dokk{display:none}

/* ---------- Design Lab ---------- */
.lab{position:fixed;left:16px;bottom:16px;z-index:var(--z-panel);font-family:var(--f-body)}
.lab__toggle,.lab__panel{background:rgba(255,255,255,.35);backdrop-filter:blur(30px) saturate(210%);-webkit-backdrop-filter:blur(30px) saturate(210%);border:.5px solid rgba(255,255,255,.4);box-shadow:0 8px 32px 0 rgba(0,0,0,.06),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)}
:root[data-palette="2"] .lab__toggle,:root[data-palette="2"] .lab__panel{background:rgba(15,20,25,.4);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{width:48px;height:48px;border-radius:100px;font-size:20px;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1)}
@media (hover:hover) and (pointer:fine){.lab__toggle:hover{transform:scale(1.06)}}
.lab__panel{position:absolute;left:0;bottom:58px;border-radius:24px;padding:14px 14px 10px;display:grid;gap:8px;min-width:220px;color:var(--c-ink)}
.lab__row{display:flex;align-items:center;gap:6px}
.lab__row>span:first-child{width:28px;font-size:17px}
.lab__row button{width:36px;height:36px;border-radius:100px;border:.5px solid rgba(0,0,0,.08);background:rgba(255,255,255,.5);color:#3B3937;font:600 13px/1 var(--f-body);cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s ease-out,color .2s ease-out}
@media (hover:hover) and (pointer:fine){.lab__row button:hover{transform:translateY(-1px)}}
.lab__row button.is-on{background:var(--c-ink);color:var(--c-paper);border-color:transparent}
.design-lab__credit{display:flex;align-items:center;justify-content:center;gap:.4rem;padding-top:8px;margin-top:2px;border-top:.5px solid rgba(0,0,0,.08);font-size:11px;color:var(--c-muted)}
.design-lab__credit-logo{position:relative;display:inline-flex;align-items:center;font-weight:700;font-size:12px;color:var(--c-ink);text-decoration:none;padding-right:1em;transition:transform .3s var(--ease)}
@media (hover:hover) and (pointer:fine){.design-lab__credit-logo:hover{transform:scale(1.04)}}
.design-lab__credit-dot{color:var(--c-accent)}
.design-lab__credit-spark{position:absolute;right:0;top:-.1em;width:.8em;height:.8em;color:var(--c-accent)}
.design-lab__credit-logo:hover .design-lab__credit-spark{animation:glimt .9s var(--ease)}
@keyframes glimt{0%{transform:rotate(0) scale(1)}50%{transform:rotate(90deg) scale(1.3);opacity:.6}100%{transform:rotate(180deg) scale(1)}}

/* ---------- Brytepunkter ---------- */
@media (max-width:1100px){
  .folk{grid-template-columns:repeat(3,1fr)}
  .nav__links{gap:var(--s-3)}
}
@media (max-width:900px){
  .nav__links{display:none}
  .nav__act{margin-left:auto}
  .tjenester{grid-template-columns:repeat(3,1fr)}
  .tjeneste-panel{grid-template-columns:1fr}
  .par__grid,.deep__grid,.kontakt__grid,.student{grid-template-columns:1fr;gap:var(--s-4)}
  .hero2{grid-template-columns:1fr;min-height:0;gap:var(--s-3)}
  .hero2__art{width:min(60%,18rem);order:-1;margin-left:auto}
}
@media (max-width:640px){
  :root{--s-sek:3.5rem;--t-h2:2.5rem}
  body{padding-bottom:76px}
  .nav__logo img{height:52px}
  .nav__tel span,.nav .btn{display:none}
  .nav__tel{width:44px;justify-content:center}
  .nav__tel svg{width:22px;height:22px}
  .hero--foto{min-height:88svh}
  .hero__veil{background:linear-gradient(180deg,rgba(42,40,38,.2) 0%,rgba(42,40,38,.5) 38%,rgba(42,40,38,.78) 100%)}
  .hero__in{padding-bottom:2.5rem}
  .hero__sub{font-size:var(--t-base)}
  .hero__cta .btn{flex:1}
  .hero2__band{grid-template-columns:repeat(2,1fr);gap:.5rem;padding-top:var(--s-4)}
  .hero2__band img:nth-child(n+3){display:none}
  .hero--type{padding-top:5rem}
  .hero2__rule{margin:var(--s-4) 0 var(--s-2)}
  .sec__head{margin-bottom:var(--s-4)}
  .sec__head h2{margin-bottom:var(--s-2)}
  .lede{font-size:var(--t-base)}

  /* Tilbud: ikonrutenett, tre per rad */
  .tjenester{gap:.4rem}
  .tjeneste__btn{padding:.6rem .3rem .8rem;gap:.15rem}
  .tjeneste__fig{margin-bottom:.3rem}
  .tjeneste__navn{font-size:1rem;line-height:1.15}
  .tjeneste__kort{display:none}
  .tjeneste-panel{padding:var(--s-3);gap:var(--s-3)}
  .tjeneste-panel__tekst{columns:1;font-size:var(--t-sm)}
  .tjeneste-panel__tekst p:nth-child(n+2){display:none}

  /* Terapeuter: sveipbar rad i stedet for 13 stablede kort */
  .filter{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter);scrollbar-width:none}
  .filter::-webkit-scrollbar{display:none}
  .chip{white-space:nowrap}
  .folk{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter) .5rem;scrollbar-width:none}
  .folk::-webkit-scrollbar{display:none}
  .person{flex:0 0 68%;scroll-snap-align:start}
  .person__sitat{display:none}
  .student{margin-top:var(--s-4);padding-top:var(--s-3)}

  .par__blob{width:18rem;right:-6rem;top:-4rem}
  .tema li{padding:.45rem .8rem;font-size:var(--t-xs)}
  .faq{margin-top:var(--s-5)}
  .faq__item summary{min-height:3.5rem;font-size:1.25rem}
  .faq__svar{columns:1;font-size:var(--t-sm)}
  .faq__svar p:nth-child(n+2){display:none}

  .rad__liste{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter);gap:.75rem;scrollbar-width:none}
  .rad__liste::-webkit-scrollbar{display:none}
  .rad__kort{flex:0 0 82%;scroll-snap-align:start}
  .rad h2{margin-bottom:var(--s-4)}

  .deep__veil{grid-template-columns:1fr}
  .deep__foto{display:none}
  .kontakt__grid{gap:var(--s-3)}
  .fakta{margin:var(--s-3) 0}
  .fakta div{grid-template-columns:5.5rem 1fr;padding:.2rem 0}
  .kontakt__foto{aspect-ratio:16/10}
  .foot__logo{height:48px}
  .foot__in{gap:0 var(--s-3)}

  .dokk{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-dokk);gap:.5rem;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--c-paper) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--c-line)}
  .dokk__tel{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--c-line);border-radius:var(--r-knapp);color:var(--c-ink)}
  .dokk__tel svg{width:22px;height:22px}
  .dokk__book{flex:1}
  .lab{bottom:84px;left:12px}
  .lab__toggle{width:44px;height:44px;font-size:18px}
}

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