/* ============================================================================
   CARE FOR U — delt stylesheet
   Layout, geometry and section rhythm: measured from https://www.pilorum.dk/
   Colour: verified from Klinik Nude's own Elementor global kit (elementor-kit-8)
           and from computed styles on www.kliniknude.dk.
   Type:   Cormorant Garamond + Sora, per the supplied design tokens.
   Every deviation is marked DEVIATION and listed in the delivery notes.
   ========================================================================== */

:root{
  /* --- VERIFIED Care for U colours, from the site's own Elementor global kit --
     This client is the only one of the four with a real custom palette
     defined in the kit rather than stock Elementor defaults:
     #000000  --e-global-color-primary / text   ink
     #B28F71  --e-global-color-secondary        warm tan — the brand accent
     #E3BC9A  hardcoded on every live page      THE dominant brand beige.
                                                NOT in the Elementor global kit —
                                                found by sampling the rendered site
                                                (6.9M px² of painted area). Use this.
     #D8CCBF  --e-global-color-accent           declared in the kit but barely painted
     #D4C6BC  --e-global-color-0a4844b          greige
     #F5EFEE  --e-global-color-a3b7fb9          blush
     #F8F1E8  rendered                          cream
     #707070  --e-global-color-08e489a          grey — 3.14:1 on their own sand,
                                                REJECTED for body text */
  --white:#FFFFFF;
  --offwhite:#F8F1E8;
  --band:#E3BC9A;
  --sand:#B28F71;
  --ink:#000000;
  --ink-2:#000000;
  --body:#4A443F;

  /* --- DERIVED --------------------------------------------------------- */
  --on-dark:#F5EFEE;
  --on-dark-muted:rgba(245,239,238,.76);
  --hairline:#D4C6BC;
  --hairline-strong:#B28F71;
  --hairline-dark:rgba(245,239,238,.22);
  --sand-tint:rgba(227,188,154,.45);
  /* readable form of the brand tan #B28F71 (same 28° hue, darkened).
     The tan itself is only 2.97:1 even on white — fill/stroke only, never text. */
  --tan-ink:#634B36;      /* white 8.11:1 · cream 7.23:1 · beige 4.60:1 */
  /* open/closed pill. Was used twice but never defined after the port from the
     earlier build — the dot rendered hollow. The pulse shadow already implied it. */
  --open:#3E6B4B;         /* white 6.16:1 AA · cream 5.50:1 AA. The pill always sits on white. */
  --header-blur:rgba(248,241,232,.90);
  --footer-bg:#E3BC9A;   /* ink 11.93:1 AAA, body 5.45:1 AA, deep 8.60:1 AAA */
  /* warm espresso pulled down from their own tan #B28F71 */
  --deep:#2E241D;
  --deep-soft:#413427;

  /* --- geometry measured on pilorum.dk ---------------------------------- */
  --shell:1280px;          /* .primary-container max-width */
  --shell-pad:20px;        /* .primary-container padding-inline */
  --header-h:72px;         /* .navbar height */
  --section-y:96px;        /* section padding-block */
  --hero-h:862px;          /* .hero-section height at 1440–1512px */
  --intro-w:744px;         /* .div-block heading column */
  --card-gap:20px;         /* .columns-2-cards gutter */
  --grid-gap:16px;         /* .grid-7 gap */

  /* --- spacing scale 8…96 (design tokens) ------------------------------- */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:40px;
  --s6:48px; --s7:64px; --s8:72px; --s9:80px; --s10:96px;

  /* --- radii (design tokens; Pilorum uses 4 / 6 / 10) ------------------- */
  --r-sm:4px; --r-card:6px; --r-md:10px; --r-lg:14px; --r-xl:16px; --r-pill:100px;

  /* --- motion (200ms baseline) ------------------------------------------ */
  --dur:200ms; --ease:ease;

  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}

body{
  margin:0;
  background:var(--offwhite);
  color:var(--body);
  font-family:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;                 /* DEVIATION: tokens say 14px desktop; 16px keeps Danish copy readable */
  font-weight:400;                /* DEVIATION: tokens say 500; 500 Sora is too heavy for paragraphs */
  line-height:1.6;
  letter-spacing:.28px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (min-width:768px){body{font-size:15px}}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0}
ul{margin:0;padding:0;list-style:none}

/* ---------- shared type ---------- */
.display,h1,h2,h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:300;
  margin:0;
  color:var(--ink);
  letter-spacing:-.004em;
}
h1{font-size:clamp(40px,5.56vw,80px);line-height:1.0;margin-bottom:var(--s3)}
h2{font-size:clamp(34px,3.89vw,56px);line-height:1.1}
h3{font-size:clamp(24px,1.95vw,28px);line-height:1.2}
.accent{font-style:italic;font-weight:300;color:inherit}

p{margin:0}
.lead{font-size:clamp(15px,1.15vw,17px);line-height:1.7;color:var(--body)}

.eyebrow{
  font-family:"Sora",sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;line-height:1.4;
  color:var(--ink);margin:0 0 var(--s2);
}
.eyebrow--ondark{color:var(--on-dark-muted)}

.pill{
  display:inline-block;padding:9px 20px;border-radius:var(--r-pill);
  border:1px solid var(--hairline-strong);
  font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);
}

/* ---------- layout ---------- */
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--shell-pad)}
.section{padding-block:var(--section-y)}
.section--white{background:var(--white)}
.section--sand{background:var(--band)}
.section--offwhite{background:var(--offwhite)}
.section--dark{background:var(--deep);color:var(--on-dark)}
.section--dark h2,.section--dark h3{color:var(--on-dark)}
.section--dark .lead{color:var(--on-dark-muted)}
.intro{max-width:var(--intro-w)}
.intro>*+*{margin-top:var(--s3)}
.intro--center{margin-inline:auto;text-align:center}
.brk{display:inline}
@media (max-width:991px){.brk{display:none}}

/* ---------- buttons (Pilorum geometry, Klinik Nude colour) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;padding:12px 24px;border-radius:var(--r-sm);
  font-family:"Sora",sans-serif;font-size:14px;font-weight:500;line-height:1.2;
  letter-spacing:.28px;border:1px solid transparent;cursor:pointer;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
/* verified action treatment on kliniknude.dk: sand fill, black label */
.btn--primary{background:var(--sand);color:var(--ink);border-color:var(--sand)}
.btn--primary:hover{background:var(--deep);color:var(--sand);border-color:var(--deep)}
/* on a sand ground the sand fill has no edge — invert, same two verified tones */
.section--sand .btn--primary,.btn--primary.on-sand{background:var(--deep);color:var(--sand);border-color:var(--deep)}
.section--sand .btn--primary:hover,.btn--primary.on-sand:hover{background:transparent;color:var(--deep);border-color:var(--deep)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}
.btn--ghost:hover{background:var(--deep);color:var(--sand);border-color:var(--deep)}
.btn--ghost-light{background:transparent;color:var(--on-dark);border-color:rgba(244,244,245,.55)}
.btn--ghost-light:hover{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
@media (max-width:767px){.btn{min-height:48px}}   /* tap target */

a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--ink);outline-offset:3px;border-radius:2px;
}
.section--dark a:focus-visible,.section--dark button:focus-visible,
.hero a:focus-visible,.hero button:focus-visible,
.cta a:focus-visible,.cta button:focus-visible{
  outline-color:var(--sand);
}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--deep);color:var(--sand);padding:12px 20px;border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{left:0}

/* ============================ HEADER ============================ */
/* pilorum: position:fixed, height 72px, inner padding 16px 40px,
   transparent over the hero, rgba(255,255,255,.7) once scrolled */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);
  /* pilorum: backdrop-filter blur(25px) over a fully transparent ground */
  -webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.site-header__inner{
  max-width:var(--shell);margin-inline:auto;height:100%;
  padding:12px 40px;display:flex;align-items:center;gap:var(--s4);
}
.site-header.is-stuck{background:var(--header-blur);backdrop-filter:saturate(1.1) blur(10px);
  box-shadow:0 1px 0 var(--hairline)}
.brand{flex:0 0 auto;display:flex;align-items:center}
.brand img{height:38px;width:auto;filter:brightness(0) invert(1)}
   /* mark unchanged, tone inverted for the dark hero */
.site-header.is-stuck .brand img{filter:brightness(0)}

.nav{flex:1 1 auto;display:flex;justify-content:center}
.nav ul{display:flex;gap:28px;align-items:center}
.nav a{
  font-size:14px;font-weight:500;letter-spacing:.28px;position:relative;padding:6px 0;
  color:var(--on-dark);transition:color var(--dur) var(--ease);
}
.site-header.is-stuck .nav a{color:var(--ink-2)}
.site-header.is-stuck .btn--primary{background:var(--deep);color:var(--band);border-color:var(--deep)}
.nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease);
}
.nav a:hover::after{transform:scaleX(1)}

.header-actions{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:12px}
.header-actions .btn{min-height:36px;padding:10px 20px;font-size:13px}
.hero-top .btn--ghost{color:var(--on-dark);border-color:rgba(244,244,245,.55)}
.hero-top .btn--ghost:hover{background:var(--on-dark);color:var(--ink)}

.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer;margin-right:-8px}
.burger span{display:block;width:22px;height:1px;background:currentColor;position:relative}
.burger span::before,.burger span::after{
  content:"";position:absolute;left:0;width:22px;height:1px;background:currentColor;
  transition:transform var(--dur) var(--ease),top var(--dur) var(--ease);
}
.burger span::before{top:-7px}.burger span::after{top:7px}
.hero-top .burger{color:var(--on-dark)}
.site-header.is-stuck .burger{color:var(--ink)}

/* mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:150;background:var(--band);
  padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(28px + env(safe-area-inset-bottom,0px));
  display:none;flex-direction:column;overflow-y:auto;
}
.drawer.is-open{display:flex}
.drawer__top{display:flex;align-items:center;justify-content:space-between;
  height:40px;flex:0 0 auto;margin-bottom:var(--s5)}
.drawer__logo{height:32px;width:auto;filter:brightness(0)}
.drawer__close{
  width:44px;height:44px;margin-right:-8px;border-radius:var(--r-pill);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;color:var(--deep);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.drawer__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.drawer__close:hover{background:var(--deep);color:var(--sand)}
.drawer__nav{display:flex;flex-direction:column}
.drawer__nav a{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:29px;font-weight:300;color:var(--ink);
  line-height:1.2;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.13);
}
.drawer__cta{margin-top:var(--s5);min-height:54px;font-size:15px}
.drawer__foot{
  margin-top:auto;padding-top:var(--s5);display:flex;flex-direction:column;gap:8px;
  font-size:13px;color:var(--body);
}
.drawer__foot a{color:var(--ink);width:max-content}
.drawer__foot p{margin:0}

/* ============================ HERO ============================ */
.hero{position:relative;height:var(--hero-h);min-height:560px;display:flex;color:var(--on-dark);isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__media img,.hero__video{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.hero__overlay{position:absolute;inset:0;z-index:-1;
  /* pilorum uses a flat .35 scrim over an already-dark video; this photograph is
     bright, so the same legibility needs a slightly heavier, top/bottom-weighted scrim */
  /* Oct 2026: the client's own salon photo is bright and busy. Measured on the
     rendered page, the brightest 5% behind the H1 gave only 2.37:1 against the
     white type. A left-weighted scrim is added so the text column is reliably
     dark while the right-hand side of the room stays open and light. */
  background:
    linear-gradient(90deg,rgba(29,24,21,.74) 0%,rgba(29,24,21,.60) 40%,rgba(29,24,21,0) 70%),
    linear-gradient(rgba(29,24,21,.70),rgba(29,24,21,.40) 30%,rgba(29,24,21,.36) 62%,rgba(29,24,21,.54));}
@media (max-width:900px){
  /* no room for a side scrim on a phone — go back to a flat, heavier wash */
  .hero__overlay{background:linear-gradient(rgba(29,24,21,.72),rgba(29,24,21,.64) 30%,rgba(29,24,21,.66) 70%,rgba(29,24,21,.70))}
  /* the lead runs at 76% opacity, which costs real contrast over a photo;
     on a phone there is no side scrim to help it, so it goes fully opaque */
  .hero .lead{color:var(--on-dark)}
}
.hero__inner{
  width:100%;max-width:var(--shell);margin-inline:auto;
  padding:80px 40px;display:flex;flex-direction:column;justify-content:center;
}
.hero h1{color:var(--on-dark);max-width:1010px}      /* measured H1 box on pilorum */
.hero .lead{color:var(--on-dark-muted);max-width:520px;margin-bottom:var(--s5)}
.hero__eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:var(--s3)}
.hero__eyebrow span{
  font-family:"Cormorant Garamond",serif;font-size:19px;font-weight:300;
  letter-spacing:.5px;color:var(--on-dark);font-style:italic;
}
.hero__rule{width:56px;height:1px;background:rgba(244,244,245,.6)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}

/* trust strip — pinned to the hero's lower edge, as on the reference */
.trust{
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  -webkit-backdrop-filter:blur(12px) saturate(1.05);
          backdrop-filter:blur(12px) saturate(1.05);
  /* pilorum's plate is fully transparent over a dark video; this clip is
     brighter, so a light tint keeps the uppercase labels legible */
  background:rgba(29,24,21,.24);
}
.trust__inner{
  max-width:var(--shell);margin-inline:auto;padding:22px 40px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);align-items:center;
}
.trust li{display:flex;align-items:center;gap:10px;
  font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--on-dark);line-height:1.45}
.trust svg{flex:0 0 auto;width:15px;height:15px;stroke:var(--on-dark);fill:none;stroke-width:1.4}

/* ============================ TREATMENT CARDS ============================ */
/* pilorum: 2 columns, 20px gutter, card radius 6, image 320px radius 10, body padding 20 */
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap);margin-top:var(--s6)}
.card{background:var(--white);border-radius:var(--r-card);overflow:hidden;
  border:1px solid var(--hairline);display:flex;flex-direction:column}
.card__img{height:320px;border-radius:var(--r-md);overflow:hidden;margin:0;background:var(--sand)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease)}
.card:hover .card__img img{transform:scale(1.03)}
.card__body{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1 1 auto}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{
  display:inline-flex;align-items:center;min-height:22px;padding:5px 14px;border-radius:var(--r-pill);
  background:var(--sand);color:var(--ink);
  font-size:12px;font-weight:600;letter-spacing:.84px;text-transform:uppercase;line-height:1.2;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.tag:hover{background:var(--deep);color:var(--sand)}
.card__eyebrow{font-size:14px;font-weight:600;color:var(--ink-2);letter-spacing:.28px;margin:0}
.card p{font-size:14px;line-height:1.65}
.card__foot{margin-top:auto;padding-top:6px;display:flex;gap:10px;flex-wrap:wrap}

/* ============================ RESULTS MARQUEE ============================ */
.marquee{margin-top:var(--s7);overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee__track{display:flex;gap:16px;width:max-content;animation:slide 72s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee figure{margin:0;width:300px;flex:0 0 auto}
.marquee img{width:300px;height:300px;object-fit:cover;border-radius:var(--r-md)}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
.results-note{margin-top:var(--s4);text-align:center;font-size:13px;color:var(--body)}



/* ---------- open / closed status ---------- */
.open-status{
  display:inline-flex;align-items:center;gap:9px;margin:18px 0 0;
  padding:7px 15px 7px 13px;border-radius:var(--r-pill);
  border:1px solid var(--hairline);background:var(--white);
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--body);
}
.open-dot{width:9px;height:9px;border-radius:50%;background:var(--body);flex:0 0 auto}
.open-status.is-open{color:var(--open);border-color:rgba(62,107,75,.38)}
.open-status.is-open .open-dot{
  background:var(--open);
  box-shadow:0 0 0 0 rgba(62,107,75,.5);
  animation:openpulse 2.4s ease-out infinite;
}
@keyframes openpulse{
  0%{box-shadow:0 0 0 0 rgba(62,107,75,.5)}
  70%{box-shadow:0 0 0 7px rgba(62,107,75,0)}
  100%{box-shadow:0 0 0 0 rgba(62,107,75,0)}
}
@media (prefers-reduced-motion:reduce){.open-status.is-open .open-dot{animation:none}}
.loc-hours>div.is-today dt{color:var(--ink)}
.loc-hours>div.is-today dd{color:var(--ink)}
.loc-hours>div.is-today dt::after{
  content:" · i dag";letter-spacing:.1em;
}

/* ============================ PRICES ============================ */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:var(--card-gap);margin-top:var(--s6)}
.price-card{
  background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-card);
  padding:32px 28px;display:flex;flex-direction:column;
}
.price-card h3{font-size:clamp(23px,1.75vw,26px);margin-bottom:var(--s3)}
.price-list{margin:0;display:flex;flex-direction:column}
.price-list>div{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:13px 0;border-bottom:1px solid var(--hairline);
}
.price-list>div:first-child{padding-top:0}
.price-list dt{font-size:14px;line-height:1.45;color:var(--body)}
.price-list dd{
  margin:0;flex:0 0 auto;font-family:"Cormorant Garamond",Georgia,serif;
  font-size:20px;font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums;
}
.price-note{margin:14px 0 0;font-size:13px;line-height:1.55;color:var(--body)}
.price-more{
  margin-top:auto;padding-top:var(--s3);align-self:flex-start;
  font-size:13px;font-weight:500;color:var(--ink);
  border-bottom:1px solid var(--hairline-strong);
  transition:border-color var(--dur) var(--ease);
}
.price-more:hover{border-bottom-color:var(--ink)}
.price-foot{margin-top:var(--s6);display:flex;justify-content:center}
@media (max-width:900px){
  .price-grid{grid-template-columns:1fr 1fr}
  .price-card:last-child{grid-column:1 / -1}
}
@media (max-width:620px){
  .price-grid{grid-template-columns:1fr}
  .price-card{padding:28px 24px}
  .price-card:last-child{grid-column:auto}
  .price-foot .btn{width:100%}
}

/* ============================ REVIEW SLIDER ============================ */
.rev-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);flex-wrap:wrap}
.rev-head .intro{margin:0}
.rev-nav{display:flex;align-items:center;gap:12px}
.rev-count{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;color:var(--body);
  margin-right:6px;font-variant-numeric:tabular-nums}
.rev-count b{font-weight:400;color:var(--ink)}
.rev-count i{font-style:normal;opacity:.4;padding:0 2px}
.rev-btn{
  width:48px;height:48px;border:1px solid var(--hairline-strong);border-radius:var(--r-pill);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),opacity var(--dur) var(--ease);
}
.rev-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round}
.rev-btn:hover:not([disabled]){background:var(--deep);color:var(--sand);border-color:var(--deep)}
.rev-btn[disabled]{opacity:.28;cursor:default}

.rev-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--card-gap)) / 2);
  gap:var(--card-gap);margin-top:var(--s6);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding-bottom:4px;
}
.rev-track::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:reduce){.rev-track{scroll-behavior:auto}}

.rev{
  margin:0;scroll-snap-align:start;background:var(--sand);border-radius:var(--r-card);
  padding:40px;display:flex;flex-direction:column;gap:16px;position:relative;min-height:340px;
}
.rev-mark{
  font-family:"Cormorant Garamond",serif;font-size:96px;line-height:.62;font-weight:400;
  color:var(--ink);opacity:.18;display:block;height:46px;
}
.rev-title{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:400;color:var(--ink);line-height:1.25}
.rev blockquote{margin:0;font-size:15px;line-height:1.75;color:var(--ink-2)}
.rev figcaption{
  margin-top:auto;padding-top:20px;border-top:1px solid rgba(0,0,0,.14);
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.rev figcaption b{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:400;color:var(--ink)}
.rev figcaption span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--body)}

.rev-dots{display:flex;gap:8px;margin-top:var(--s4);justify-content:center}
.rev-dots button{
  width:26px;height:3px;border-radius:2px;background:rgba(0,0,0,.16);cursor:pointer;padding:0;
  transition:background-color var(--dur) var(--ease),width var(--dur) var(--ease);
}
.rev-dots button[aria-selected="true"]{background:var(--deep);width:44px}
.rev-track:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:var(--r-card)}

@media (max-width:860px){
  .rev-track{grid-auto-columns:88%}
  .rev{padding:32px;min-height:0}
  .rev-head{align-items:flex-start}
}

/* ============================ TEAM (editorial split) ============================ */
/* pilorum .fs-inner: two 528px columns inside the 1280 shell */
.split{display:grid;grid-template-columns:528px 528px;justify-content:space-between;
  gap:var(--s7);align-items:center}
.split__media{border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3;background:var(--deep-soft)}
.split__media img{width:100%;height:100%;object-fit:cover;object-position:center 26%}
.split__text>*+*{margin-top:var(--s3)}
.team-list{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-top:var(--s4)}
.team-list li{border-left:1px solid var(--hairline-dark);padding-left:14px}
.team-list strong{display:block;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:400;color:var(--on-dark)}
.team-list span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.badge-line{display:inline-flex;align-items:center;gap:10px;margin-top:var(--s5);
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.badge-line svg{width:16px;height:16px;stroke:var(--sand);fill:none;stroke-width:1.4}

/* ============================ BANNER STRIP ============================ */
.strip-wrap{background:var(--offwhite);padding-block:var(--s9)}
.strip{
  background:var(--deep);color:var(--on-dark);border-radius:var(--r-md);
  padding:32px 40px;display:flex;align-items:center;justify-content:space-between;
  gap:var(--s5);flex-wrap:wrap;
}
.strip h3{color:var(--on-dark);font-size:clamp(22px,1.8vw,26px)}
.strip p{font-size:14px;color:var(--on-dark-muted);margin-top:6px;max-width:560px}

/* ============================ STUDIOS ============================ */
.loc-single{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:center;margin-top:var(--s6)}
.loc__img--lg{height:440px}
.loc-single .loc__body{padding:0}
.loc-hours{margin:var(--s4) 0 0;display:grid;gap:12px}
.loc-hours>div{display:flex;justify-content:space-between;gap:var(--s3);
  padding-bottom:10px;border-bottom:1px solid var(--hairline)}
.loc-hours dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--body);padding-top:4px}
.loc-hours dd{margin:0;font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:300;color:var(--ink)}
.loc-hours dd small{font-family:"Sora",sans-serif;font-size:11px;color:var(--body);letter-spacing:.06em}
.loc__img{height:440px;border-radius:var(--r-md);overflow:hidden;background:var(--sand)}
.loc__img img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.loc__body{padding:0}
.loc__body h3{margin-bottom:8px}
.loc__body p{font-size:14px}
.loc__links{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}
.loc__links a{font-size:13px;font-weight:500;border-bottom:1px solid var(--hairline-strong);padding-bottom:2px;color:var(--ink-2)}
.loc__links a:hover{border-bottom-color:var(--ink)}

/* ============================ PROCESS ============================ */
/* pilorum .grid-7: 3 columns, 16px gap, white cards radius 4, padding 32 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap);margin-top:var(--s6)}
.step{background:var(--white);border-radius:var(--r-sm);padding:28px 24px;display:flex;flex-direction:column;gap:11px}
.step__n{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:300;line-height:1;color:var(--sand)}
.step h3{font-family:"Sora",sans-serif;font-size:15px;font-weight:600;letter-spacing:.2px;color:var(--ink);line-height:1.3}
.step p{font-size:13.5px;line-height:1.6}
.step a{font-size:13px;font-weight:500;margin-top:auto;padding-top:8px;
  border-bottom:1px solid var(--hairline-strong);align-self:flex-start;color:var(--ink-2)}
.step a:hover{border-bottom-color:var(--ink)}

/* ============================ INSTAGRAM ============================ */
/* Instagram-karrusel (okt 2026)
   Egne klassenavne (.igc-*) — stilarket deler allerede 57 selektorer på tværs
   af fire klienter, så komponenten får sit eget navnerum frem for at genbruge
   .rev-* og risikere en kollision.
   Billederne ligger lokalt i img/ig-NN.jpg: Instagrams CDN-URL'er er signerede
   og udløber efter få dage, så hotlinking går i stykker uanset metode. */
.igc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.igc-nav{display:flex;gap:10px;flex:0 0 auto}
.igc-btn{
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(0,0,0,.22);
  background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,opacity .18s ease;
}
.igc-btn:hover:not([disabled]){background:rgba(255,255,255,.55);border-color:rgba(0,0,0,.4)}
.igc-btn[disabled]{opacity:.28;cursor:default}
.igc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}

.igc-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*var(--card-gap)) / 4);
  gap:var(--card-gap);margin-top:var(--s6);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding-bottom:4px;
}
.igc-track::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:reduce){.igc-track{scroll-behavior:auto}}
@media (max-width:1024px){.igc-track{grid-auto-columns:calc((100% - 2*var(--card-gap)) / 3)}}
@media (max-width:760px){.igc-track{grid-auto-columns:calc((100% - var(--card-gap)) / 2)}}
@media (max-width:480px){.igc-track{grid-auto-columns:78%}}

.igc-item{
  margin:0;scroll-snap-align:start;position:relative;display:block;
  border-radius:var(--r-card);overflow:hidden;background:var(--sand-tint);
  text-decoration:none;color:inherit;
}
/* height:auto er påkrævet: det globale img{max-width:100%} sætter ikke højden,
   så width/height-attributterne på <img> vinder over aspect-ratio og billedet
   bliver stående i sin egen pixelhøjde. */
.igc-item img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.igc-item:hover img,.igc-item:focus-visible img{transform:scale(1.045)}
@media (prefers-reduced-motion:reduce){.igc-item img{transition:none}
  .igc-item:hover img,.igc-item:focus-visible img{transform:none}}
.igc-item__meta{
  position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:linear-gradient(rgba(20,16,13,0),rgba(20,16,13,.72));
}
.igc-item__meta svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5}
.igc-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  margin-top:var(--s5);flex-wrap:wrap}
.igc-count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tan-ink)}

.ig-card{
  border:1px solid var(--hairline-dark);border-radius:var(--r-lg);
  padding:56px;display:grid;grid-template-columns:1fr 372px;gap:var(--s7);align-items:center;
}
.ig-card__text>*+*{margin-top:var(--s3)}
.ig-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ig-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-sm)}

/* ============================ FAQ ============================ */
.faq-wrap{display:grid;grid-template-columns:432px 1fr;gap:var(--s7);margin-top:var(--s6);align-items:stretch}
.faq-media{border-radius:var(--r-md);overflow:hidden;background:var(--sand);min-height:100%}
.faq-media img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.faq{display:flex;flex-direction:column}
.faq details{background:var(--white);
  border-radius:var(--r-sm);margin-bottom:8px;border:1px solid var(--hairline)}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 56px 20px 24px;position:relative;
  font-family:"Cormorant Garamond",serif;font-size:clamp(18px,1.4vw,21px);font-weight:400;
  color:var(--ink);line-height:1.35;min-height:60px;display:flex;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:24px;top:50%;width:13px;height:13px;
  background:
    linear-gradient(var(--ink),var(--ink)) center/13px 1px no-repeat,
    linear-gradient(var(--ink),var(--ink)) center/1px 13px no-repeat;
  transform:translateY(-50%);transition:transform var(--dur) var(--ease);
}
.faq details[open] summary::after{
  background:linear-gradient(var(--ink),var(--ink)) center/13px 1px no-repeat;
}
.faq .answer{padding:0 24px 22px;font-size:14px;line-height:1.7}
.faq-help{
  margin-top:auto;background:var(--deep);color:var(--on-dark);
  border-radius:var(--r-sm);padding:28px 24px;
}
.faq-help h3{color:var(--on-dark);font-size:24px;margin-bottom:10px}
.faq-help p{font-size:14px;color:var(--on-dark-muted);margin-bottom:var(--s3)}
.faq-help .btn{width:100%}

/* ============================ FINAL CTA ============================ */
.cta{position:relative;isolation:isolate;color:var(--on-dark);text-align:center;
  padding-block:var(--s10);overflow:hidden}
.cta__media{position:absolute;inset:0;z-index:-2}
.cta__media img{width:100%;height:100%;object-fit:cover;object-position:22% 34%}
.cta__overlay{position:absolute;inset:0;z-index:-1;background:rgba(36,29,26,.91)} /* pilorum overlays its CTA plate at .96 */
.cta h2{color:var(--on-dark);max-width:760px;margin-inline:auto}
.cta .lead{color:var(--on-dark-muted);max-width:560px;margin:var(--s3) auto var(--s5)}
.cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hours{
  margin-top:var(--s9);padding-top:var(--s5);border-top:1px solid var(--hairline-dark);
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);text-align:center;
}
.hours dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:8px}
.hours dd{margin:0;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;color:var(--on-dark)}
.hours dd small{display:block;font-family:"Sora",sans-serif;font-size:11px;color:var(--on-dark-muted);letter-spacing:.06em;margin-top:4px}

/* ============================ FOOTER ============================ */
.site-footer{background:var(--footer-bg);color:var(--body);padding-block:var(--s9) var(--s5)}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:var(--s6) var(--s5)}

.f-mark{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:22px}
.f-mark__word{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;
  font-size:clamp(38px,5.2vw,62px);line-height:.95;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap}
.f-mark__rule{display:block;width:62px;height:1px;background:var(--deep);opacity:.45}
.f-mark__place{font-family:"Sora",sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;color:var(--deep)}  /* deep 8.60:1 on the beige; --sand would be 1.69:1 */
@media (max-width:900px){.f-mark__word{font-size:clamp(34px,8vw,46px)}}
.site-footer .f-intro{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:300;
  line-height:1.5;color:var(--ink);max-width:290px}
.site-footer p{font-size:13px;line-height:1.7;max-width:280px}
.site-footer h4{font-family:"Sora",sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);margin:0 0 16px}
.site-footer li+li{margin-top:10px}
.site-footer a{font-size:13px;transition:color var(--dur) var(--ease)}
.site-footer a:hover{color:var(--ink)}
.interior{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(16px,2.2vw,28px);
  margin-top:var(--s7);align-items:start}
.interior__fig{margin:0}
.interior__fig img{display:block;width:100%;height:clamp(340px,42vw,560px);object-fit:cover;
  border-radius:var(--r-md)}
.interior__fig--tall img{height:clamp(400px,50vw,660px);object-position:center 58%}
.interior figcaption{margin-top:14px;font-family:"Cormorant Garamond",serif;font-size:19px;
  font-weight:300;line-height:1.5;color:var(--body);max-width:40ch}
@media (max-width:820px){
  .interior{grid-template-columns:1fr;gap:18px}
  .interior__fig img,.interior__fig--tall img{height:clamp(300px,74vw,420px)}
}
.footer-bottom{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid rgba(0,0,0,.18);
  display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;font-size:12px}
.socials{display:flex;gap:14px}
.socials a{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,.22);border-radius:var(--r-pill)}
.socials svg{width:15px;height:15px;fill:currentColor}
.socials a:hover{border-color:var(--ink);color:var(--ink)}

.book-bar{display:none}
@media (max-width:767px){
  /* one booking CTA, thumb-height, never covering the page's own content */
  .book-bar{
    display:flex;gap:10px;align-items:center;
    position:fixed;left:0;right:0;bottom:0;z-index:120;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
    background:rgba(250,250,250,.94);
    -webkit-backdrop-filter:saturate(1.15) blur(12px);
            backdrop-filter:saturate(1.15) blur(12px);
    border-top:1px solid var(--hairline);
  }
  .book-bar .btn--book{
    flex:1 1 auto;min-height:52px;background:var(--deep);color:var(--sand);
    border-color:var(--deep);font-size:15px;letter-spacing:.4px;
  }
  .book-bar .btn--book:hover{background:var(--ink);border-color:var(--ink)}
  .book-bar__call{
    flex:0 0 auto;width:52px;height:52px;border:1px solid var(--hairline-strong);
    border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;
    color:var(--deep);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .book-bar__call svg{width:19px;height:19px;fill:currentColor}
  .book-bar__call:hover{background:var(--deep);color:var(--sand)}
  .book-bar a:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
  /* clear the bar so it never sits on the footer's last line */
  body{padding-bottom:80px}
  /* the drawer covers the page, so the bar stands down */
  .drawer.is-open ~ .book-bar{display:none}
}

/* ============================ RESPONSIVE ============================ */
/* reference breakpoints: 1060 (custom), 991, 767, 479 */
@media (max-width:1100px){
  .split{grid-template-columns:1fr 1fr;gap:var(--s6)}
  .faq-wrap{grid-template-columns:340px 1fr;gap:var(--s5)}
  .site-header__inner{padding:12px 24px}
  .nav ul{gap:20px}
}
@media (max-width:991px){
  .nav,.header-actions .btn--ghost{display:none}
  .burger{display:flex}
  .split{grid-template-columns:1fr;row-gap:var(--s5)}      /* .fs-inner → column */
  .split__media{aspect-ratio:16/10;order:-1}
  .ig-card{grid-template-columns:1fr;gap:var(--s5);padding:32px}
  .ig-grid{max-width:420px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .faq-wrap{grid-template-columns:1fr}
  .faq-media{aspect-ratio:16/10;max-height:340px;min-height:0}
  .trust__inner{grid-template-columns:1fr 1fr;gap:var(--s2) var(--s3);padding:18px 24px}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:767px){
  :root{--section-y:64px;--header-h:64px}
  /* the fixed booking bar is 80px; the hero stops short of it so the trust
     strip is never covered on the first screen */
  .hero{height:auto;min-height:calc(100vh - 80px)}
  @supports (height:100svh){ .hero{min-height:calc(100svh - 80px)} }
  .hero__inner{padding:104px 24px 140px}                    /* .hero-content padding-inline:30px */
  .hero .lead{max-width:none}
  .hero__cta .btn{flex:1 1 auto}
  .cards2,.loc-single{grid-template-columns:1fr}
  .loc-single{gap:var(--s4)}
  .card__img,.loc__img,.loc__img--lg{height:260px}
  .strip{padding:28px 24px}
  .strip .btn{width:100%}
  .hours{grid-template-columns:1fr 1fr;gap:var(--s4) var(--s3);margin-top:var(--s7)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .site-footer p{max-width:none}
  .marquee figure,.marquee img{width:240px}
  .marquee img{height:240px}
  .shell{padding-inline:24px}
  .site-header__inner{padding:12px 16px}
  .brand img{height:36px}
  .header-actions .btn{display:none}
}
@media (max-width:560px){
  .steps{grid-template-columns:1fr}
  .trust__inner{grid-template-columns:1fr;gap:12px}
  .footer-grid{grid-template-columns:1fr}
  .ig-grid{max-width:none}
  .hero__cta{flex-direction:column;align-items:stretch}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .marquee__track{animation:none;transform:none}
  .marquee{overflow-x:auto}
}

/* ==========================================================================
   SUBPAGES — shared components
   ========================================================================== */
.page-hero{background:var(--band);padding-block:calc(var(--header-h) + 72px) 72px;
  border-bottom:1px solid rgba(0,0,0,.08)}
.page-hero .shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--shell-pad)}
.crumb{font-family:"Sora",sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--deep);display:flex;gap:10px;align-items:center}
.crumb a{color:var(--deep);opacity:.72}
.crumb a:hover{opacity:1}
.page-hero h1{margin:18px 0 0;max-width:18ch}
.page-hero .lead{margin-top:18px;max-width:58ch;color:var(--body)}
@media (max-width:767px){.page-hero{padding-block:calc(var(--header-h) + 44px) 48px}}

/* price list ------------------------------------------------------------- */
.price-cat+.price-cat{margin-top:var(--s7)}
.price-cat__head{display:flex;align-items:baseline;justify-content:space-between;
  gap:20px;padding-bottom:16px;border-bottom:1px solid var(--hairline-strong)}
.price-cat__head h2{font-size:clamp(26px,3vw,36px);margin:0}
.price-cat__count{font-family:"Sora",sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--tan-ink);white-space:nowrap}
.price-rows{list-style:none;margin:0;padding:0}
.price-rows li{display:grid;grid-template-columns:1fr auto auto;gap:12px 28px;
  align-items:center;padding:18px 20px;border-bottom:1px solid var(--hairline)}
.price-rows li:nth-child(odd){background:var(--sand-tint)}
.price-rows .pr-name{font-size:16px;line-height:1.5;color:var(--ink)}
.price-rows .pr-time{font-family:"Sora",sans-serif;font-size:12px;color:var(--body);
  white-space:nowrap;opacity:.8}
.price-rows .pr-cost{font-family:"Sora",sans-serif;font-size:19px;font-weight:600;
  letter-spacing:-.01em;color:var(--ink);white-space:nowrap;
  min-width:7.5ch;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:620px){
  .price-rows li{grid-template-columns:1fr auto;padding:15px 14px}
  .price-rows .pr-time{grid-column:1;font-size:11px}
  .price-rows .pr-cost{font-size:18px;min-width:0}
}
.pg-price-note{margin-top:var(--s5);padding:22px 24px;background:var(--band);
  border-left:3px solid var(--deep);font-size:14px;line-height:1.7;max-width:70ch;color:var(--deep)}

/* team ------------------------------------------------------------------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(20px,2.4vw,32px);margin-top:var(--s7)}
.team-card{background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--r-md);padding:clamp(26px,2.6vw,36px);display:flex;flex-direction:column}
.team-card__role{font-family:"Sora",sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--tan-ink)}
.team-card h2{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:400;
  margin:10px 0 0;color:var(--ink)}
.team-card__rule{width:48px;height:1px;background:var(--hairline-strong);margin:18px 0}
.team-card p{font-size:14px;line-height:1.75;color:var(--body);margin:0}
.team-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pg-tag{font-family:"Sora",sans-serif;font-size:11px;letter-spacing:.08em;
  padding:6px 12px;border-radius:999px;background:var(--band);color:var(--deep)}

/* prose ------------------------------------------------------------------ */
.prose{max-width:66ch}
.prose p{font-size:16px;line-height:1.85;color:var(--body)}
.prose p+p{margin-top:1.1em}
/* privatlivspolitikken indeholder en lang rå URL, der ellers skubber
   siden vandret ud på telefon */
.prose a{overflow-wrap:anywhere}
.prose h2{margin-top:2.2em}
.prose h3{margin-top:1.6em;font-family:"Cormorant Garamond",serif;
  font-size:21px;font-weight:400;color:var(--ink)}
.prose h3+p{margin-top:.5em}
.prose .drop{font-family:"Cormorant Garamond",serif;font-size:clamp(22px,2.4vw,27px);
  font-weight:300;line-height:1.5;color:var(--ink)}

/* split layout ----------------------------------------------------------- */
.pg-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,64px);
  align-items:start;margin-top:var(--s7)}
.pg-split__media img{width:100%;height:clamp(400px,46vw,620px);object-fit:cover;
  object-position:center 58%;border-radius:var(--r-md);display:block}
@media (max-width:860px){.pg-split{grid-template-columns:1fr}}

/* contact ---------------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(18px,2.2vw,26px);margin-top:var(--s7)}
.contact-card{background:var(--band);border-radius:var(--r-md);padding:clamp(24px,2.4vw,32px)}
.contact-card h2{font-family:"Sora",sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--deep);margin:0 0 14px}
.contact-card p,.contact-card a{font-family:"Cormorant Garamond",serif;font-size:21px;
  font-weight:300;line-height:1.5;color:var(--ink);margin:0}
.contact-card a:hover{color:var(--deep)}
.contact-card .small{font-family:"Sora",sans-serif;font-size:13px;color:var(--body)}

/* treatment index -------------------------------------------------------- */
.treat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(18px,2.2vw,26px);margin-top:var(--s7)}
.treat-item{background:var(--white);border:1px solid var(--hairline);
  border-radius:var(--r-md);padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column}
.treat-item h2{font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:400;
  margin:0 0 12px;color:var(--ink)}
.treat-item p{font-size:14px;line-height:1.7;color:var(--body);margin:0 0 20px}
.treat-item .from{margin-top:auto;font-family:"Sora",sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tan-ink)}


/* subpages: header sits on a light ground, so it is always in its solid state */
.site-header.is-solid{background:var(--header-blur);
  -webkit-backdrop-filter:saturate(1.1) blur(10px);backdrop-filter:saturate(1.1) blur(10px);
  border-bottom:1px solid var(--hairline)}
.site-header.is-solid .brand img{filter:brightness(0)}
.site-header.is-solid .nav a{color:var(--ink)}
.site-header.is-solid .btn--ghost{border-color:var(--hairline-strong);color:var(--ink)}
.site-header.is-solid .btn--primary{background:var(--deep);color:var(--band);border-color:var(--deep)}
.site-header.is-solid .burger span,
.site-header.is-solid .burger span::before,
.site-header.is-solid .burger span::after{background:var(--ink)}


/* ---------------------------------------------------------------------------
   Hero legibility over the client's own photography (Oct 2026)
   The hero eyebrow and lead were inheriting --on-dark-muted (76% alpha). Over a
   flat colour that is fine; over a bright, busy photograph it cost ~1 full step
   of contrast and both failed AA when measured on the rendered page. Over a
   photo they run fully opaque.
   --------------------------------------------------------------------------- */
.hero .lead,
.hero .hero__eyebrow,
.hero .hero__eyebrow span{color:var(--on-dark)}


/* ---------------------------------------------------------------------------
   Behandler-portrætter (okt 2026) — klientens egne sort/hvid-portrætter
   --------------------------------------------------------------------------- */
.team-card{padding:0;overflow:hidden}
.team-card__photo{margin:0;display:block;background:var(--band)}
/* Portrætterne er høje telefonbilleder (ca. 3:5). Et bredt billedfelt ville
   zoome hårdt ind og skære pande og hage af, så feltet er 4:5 og hvert portræt
   har sin egen object-position, målt på øjen-/mundhøjden i netop det billede. */
.team-card__photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;
  object-fit:cover;object-position:center 50%}
.team-card__photo img[src*="jane"]{object-position:center 68%}
.team-card__photo img[src*="linda"]{object-position:center 22%}
.team-card__photo img[src*="sofie"]{object-position:center 32%}
.team-card__inner{padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column;flex:1}

/* små runde portrætter i holdlisten på forsiden */
.team-list li{display:flex;align-items:center;gap:14px}
.team-list__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;
  object-position:center 50%;flex:0 0 auto;background:var(--band)}
.team-list__avatar[src*="jane"]{object-position:center 66%}
.team-list__avatar[src*="linda"]{object-position:center 34%}
.team-list__avatar[src*="sofie"]{object-position:center 45%}
.team-list li>div{display:flex;flex-direction:column}
