/* ==========================================================================
   Pandekagekompagniet — Design System 2026
   Mørk premium: espresso, guld og cremet lys.
   ========================================================================== */

/* ---------- Fonts (self-hosted, GDPR-venligt) ---------- */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/fraunces-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/fraunces-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Tokens ---------- */
:root{
  --ink-950:#080706;
  --ink-900:#0C0A09;
  --ink-850:#12100E;
  --ink-800:#181513;
  --ink-750:#1F1B18;
  --ink-700:#262119;
  --ink-600:#332B22;

  --cream:#F7F1E7;
  --cream-2:#E6DCCC;
  --muted:#B3A796;
  --muted-2:#8B8073;

  --gold:#D9A441;
  --gold-light:#F2CE86;
  --gold-deep:#9C6E1C;
  --ember:#E0533A;

  --line:rgba(247,241,231,.10);
  --line-strong:rgba(247,241,231,.18);
  --gold-line:rgba(217,164,65,.32);

  --radius-s:8px;
  --radius:16px;
  --radius-l:24px;
  --radius-xl:34px;

  --shadow-s:0 2px 12px rgba(0,0,0,.35);
  --shadow:0 18px 50px -18px rgba(0,0,0,.75);
  --shadow-l:0 40px 90px -30px rgba(0,0,0,.85);

  --wrap:1200px;
  --wrap-narrow:840px;
  --gutter:clamp(20px,5vw,48px);
  --sec:clamp(72px,10vw,136px);

  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ink-900);color:var(--cream);
  font-family:var(--font-body);font-size:17px;line-height:1.72;
  font-weight:400;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
figure,blockquote,dl,dd{margin:0}   /* browserens 40px sidemargen paa <figure> skubbede galleriet ud */
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--font-display);font-weight:600;line-height:1.06;letter-spacing:-.022em;font-optical-sizing:auto}
p{margin:0 0 1.1em}
ul{margin:0;padding:0}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold);color:#17120A}

/* ---------- Type scale ---------- */
.h-display{font-size:clamp(2.7rem,7.4vw,5.6rem);line-height:.98;letter-spacing:-.032em}
.h1{font-size:clamp(2.3rem,5.4vw,4rem)}
.h2{font-size:clamp(1.95rem,4vw,3.1rem)}
.h3{font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.18}
.h4{font-size:clamp(1.1rem,1.6vw,1.28rem);line-height:1.28}
.lead{font-size:clamp(1.06rem,1.55vw,1.3rem);line-height:1.66;color:var(--cream-2)}
.small{font-size:.9rem;line-height:1.6}
.tiny{font-size:.79rem;letter-spacing:.02em}
.muted{color:var(--muted)}
.gold{color:var(--gold-light)}
.serif-em{font-family:var(--font-display);font-style:italic;font-weight:400}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:.735rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1.1rem;
}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow.centered::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{width:100%;max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--sec);position:relative}
.section-tight{padding-block:clamp(52px,7vw,88px)}
.page-hero+.section-tight{padding-top:clamp(26px,3.4vw,44px)}
.page-hero+.section .wrap>[data-reveal]:first-child{margin-top:0}
.center{text-align:center}
.stack-sm>*+*{margin-top:.75rem}
.grid{display:grid;gap:clamp(18px,2.4vw,30px)}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.g-3,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}

/* Warm section backgrounds */
.bg-800{background:var(--ink-850)}
.bg-750{background:var(--ink-800)}
.bg-grad{background:
  radial-gradient(120% 90% at 50% 0%,rgba(217,164,65,.09),transparent 60%),
  var(--ink-850);}
.hairline{border-top:1px solid var(--line)}

/* Filmic grain */
.grain::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* ---------- Buttons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:1rem 1.75rem;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:.97rem;letter-spacing:-.005em;cursor:pointer;
  transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .3s,color .3s,border-color .3s;
  overflow:hidden;isolation:isolate;text-align:center;
}
.btn svg{flex:0 0 auto;transition:transform .35s var(--ease-out)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.btn-primary{
  background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 46%,#C08B2C 100%);
  color:#1A1206;box-shadow:0 12px 34px -12px rgba(217,164,65,.7),inset 0 1px 0 rgba(255,255,255,.45);
}
.btn-primary::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.75) 48%,transparent 66%);
  transform:translateX(-130%);transition:transform .85s var(--ease-out);
}
.btn-primary:hover::before{transform:translateX(130%)}
.btn-primary:hover{box-shadow:0 18px 44px -12px rgba(217,164,65,.85),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-primary:hover svg{transform:translateX(3px)}

.btn-ghost{border-color:var(--line-strong);color:var(--cream);background:rgba(247,241,231,.03)}
.btn-ghost:hover{border-color:var(--gold-line);background:rgba(217,164,65,.09);color:var(--gold-light)}

.btn-dark{background:var(--ink-950);color:var(--cream);border-color:var(--line-strong)}
.btn-dark:hover{border-color:var(--gold-line);color:var(--gold-light)}

.btn-lg{padding:1.15rem 2.15rem;font-size:1.03rem}
.btn-sm{padding:.68rem 1.15rem;font-size:.88rem}
.btn-block{display:flex;width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.btn-row.centered{justify-content:center}

.link-arrow{
  display:inline-flex;align-items:center;gap:.5em;color:var(--gold-light);
  font-weight:600;font-size:.95rem;border-bottom:1px solid var(--gold-line);padding-bottom:2px;
  transition:gap .3s var(--ease-out),border-color .3s,color .3s;
}
.link-arrow:hover{gap:.85em;border-color:var(--gold-light)}

/* ---------- Trust pills ---------- */
.pill{
  display:inline-flex;align-items:center;gap:.5em;
  padding:.44em 1em;border-radius:999px;border:1px solid var(--line);
  background:rgba(247,241,231,.045);backdrop-filter:blur(8px);
  font-size:.815rem;font-weight:500;letter-spacing:.01em;color:var(--cream-2);
}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(217,164,65,.2)}
.pill-gold{border-color:var(--gold-line);background:rgba(217,164,65,.1);color:var(--gold-light)}
.pill-ember{border-color:rgba(224,83,58,.4);background:rgba(224,83,58,.13);color:#F6A995}
.pill-row{display:flex;flex-wrap:wrap;gap:.55rem}

/* ---------- Cards ---------- */
.card{
  position:relative;background:linear-gradient(180deg,rgba(247,241,231,.045),rgba(247,241,231,.015));
  border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(24px,3vw,36px);
  transition:transform .45s var(--ease-out),border-color .45s,box-shadow .45s,background .45s;
  overflow:hidden;
}
.card::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:radial-gradient(80% 120% at 50% -10%,rgba(217,164,65,.16),transparent 60%);
  opacity:0;transition:opacity .45s var(--ease-out);
}
.card:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:var(--shadow)}
.card:hover::after{opacity:1}
.card h3{margin-bottom:.45rem}
.card p:last-child{margin-bottom:0}
.card-icon{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.15rem;
  background:linear-gradient(140deg,rgba(217,164,65,.22),rgba(217,164,65,.05));
  border:1px solid var(--gold-line);color:var(--gold-light);
}
.card-num{
  font-family:var(--font-display);font-size:2.6rem;line-height:1;color:transparent;
  -webkit-text-stroke:1px var(--gold-line);margin-bottom:.9rem;display:block;font-weight:700;
}

/* ---------- Media ---------- */
.media{position:relative;border-radius:var(--radius-l);overflow:hidden;border:1px solid var(--line);background:var(--ink-800)}
.media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.media:hover img{transform:scale(1.045)}
.media-tall{aspect-ratio:4/5}
.media-wide{aspect-ratio:16/10}
.media-square{aspect-ratio:1}
.media::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(8,7,6,.55) 100%);
}
.media-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem 1.5rem;
  font-size:.9rem;color:var(--cream-2);
}
.media-flat::before{display:none}

/* Glow behind images */
.glow-wrap{position:relative}
.glow-wrap::before{
  content:"";position:absolute;inset:8% -6% -10% -6%;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(217,164,65,.30),transparent 72%);filter:blur(48px);
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.topbar{
  background:linear-gradient(90deg,var(--ink-950),var(--ink-800),var(--ink-950));
  border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted);
  position:relative;z-index:60;
}
.topbar .wrap{display:flex;align-items:center;justify-content:center;gap:1.6rem;
  min-height:40px;flex-wrap:wrap;padding-block:.4rem;text-align:center}
.topbar b{color:var(--cream-2);font-weight:600}
.topbar a{color:var(--gold-light);border-bottom:1px solid transparent;transition:border-color .25s}
.topbar a:hover{border-color:var(--gold-line)}
.topbar .sep{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.6}
@media (max-width:720px){.topbar .sep{display:none}.topbar .wrap{gap:.35rem 1rem;font-size:.74rem}}

.site-header{position:sticky;top:0;z-index:70;
  transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(12,10,9,.72);backdrop-filter:blur(16px) saturate(150%);
  opacity:0;transition:opacity .4s var(--ease)}
.site-header.scrolled::before{opacity:1}
/* haarlinjen laves med box-shadow, ikke border: ingen layout-hop og intet hvidt glimt */
.site-header.scrolled{box-shadow:0 1px 0 0 var(--line),0 12px 40px -22px rgba(0,0,0,.9)}
.nav{display:flex;align-items:center;gap:1.4rem;min-height:92px;transition:min-height .4s var(--ease)}
.site-header.scrolled .nav{min-height:74px}
.brand{display:flex;align-items:center;gap:.75rem;margin-right:auto;flex:0 0 auto}
.brand img{width:auto;height:58px;transition:height .4s var(--ease)}
.site-header.scrolled .brand img{height:46px}

.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none}
.nav-links a{
  position:relative;display:block;padding:.6rem .78rem;border-radius:10px;
  font-size:.925rem;font-weight:500;color:var(--cream-2);transition:color .25s,background .25s;
}
.nav-links a::after{
  content:"";position:absolute;left:.78rem;right:.78rem;bottom:.34rem;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out);
}
.nav-links a:hover{color:var(--cream)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-links a[aria-current="page"]{color:var(--gold-light)}

.has-sub{position:relative}
.has-sub>button{
  display:flex;align-items:center;gap:.38em;background:none;border:0;cursor:pointer;
  padding:.6rem .78rem;border-radius:10px;font-size:.925rem;font-weight:500;color:var(--cream-2);
  transition:color .25s;
}
.has-sub>button:hover,.has-sub[data-open="true"]>button{color:var(--gold-light)}
.has-sub>button svg{transition:transform .3s var(--ease)}
.has-sub[data-open="true"]>button svg{transform:rotate(180deg)}
.submenu{
  position:absolute;top:calc(100% + 10px);left:-6px;min-width:274px;list-style:none;
  background:rgba(18,16,14,.97);backdrop-filter:blur(18px);
  border:1px solid var(--line-strong);border-radius:var(--radius);padding:.5rem;
  box-shadow:var(--shadow-l);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
}
.has-sub[data-open="true"] .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{padding:.62rem .8rem;border-radius:10px;font-size:.9rem;color:var(--cream-2);display:block}
.submenu a::after{display:none}
.submenu a:hover{background:rgba(217,164,65,.12);color:var(--gold-light)}
.submenu .sub-desc{display:block;font-size:.76rem;color:var(--muted-2);margin-top:.1rem;line-height:1.4}

.nav-cta{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.nav-phone{
  display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.92rem;
  color:var(--cream);padding:.55rem .8rem;border-radius:999px;transition:color .25s,background .25s;
}
.nav-phone:hover{color:var(--gold-light);background:rgba(217,164,65,.09)}

.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line-strong);
  background:rgba(247,241,231,.04);cursor:pointer;padding:0;place-items:center}
.burger span{display:block;width:19px;height:1.5px;background:var(--cream);margin:3.5px auto;
  transition:transform .35s var(--ease),opacity .25s}
body.menu-open .burger span:nth-child(1){transform:translateY(5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

@media (max-width:1080px){
  .nav-links,.nav-phone{display:none}
  .burger{display:grid}
  .nav{min-height:72px}
}
@media (max-width:560px){.nav-cta .btn{display:none}}

/* Mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:80;background:var(--ink-950);
  padding:calc(84px + 2rem) var(--gutter) 2rem;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .38s var(--ease),transform .38s var(--ease),visibility .38s;
}
body.menu-open .drawer{opacity:1;visibility:visible;transform:none}
body.menu-open{overflow:hidden}
.drawer ul{list-style:none}
.drawer>ul>li{border-bottom:1px solid var(--line)}
.drawer a{display:block;padding:1.05rem .2rem;font-family:var(--font-display);
  font-size:1.45rem;font-weight:600;letter-spacing:-.02em}
.drawer a:hover,.drawer a[aria-current="page"]{color:var(--gold-light)}
.drawer .sub{padding-left:1rem;margin-bottom:.6rem}
.drawer .sub a{font-family:var(--font-body);font-size:1rem;font-weight:500;
  color:var(--muted);padding:.55rem .2rem;border:0}
.drawer-cta{margin-top:2rem;display:grid;gap:.7rem}
.drawer-luk{
  position:absolute;top:1.15rem;right:var(--gutter);z-index:2;
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:rgba(247,241,231,.06);border:1px solid var(--line-strong);color:var(--cream-2);
  cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s;
}
.drawer-luk:hover,.drawer-luk:focus-visible{background:rgba(217,164,65,.14);
  border-color:var(--gold-line);color:var(--gold-light);transform:rotate(90deg)}
.drawer-luk svg{width:20px;height:20px}
@media (min-width:1081px){.drawer-luk{display:none}}

.footer-credit{
  margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line);
  font-size:.72rem;letter-spacing:.02em;color:var(--muted-2,rgba(162,152,138,.75));text-align:center;
}
.footer-credit a{color:var(--muted);border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.footer-credit a:hover{color:var(--gold-light);border-color:var(--gold-line)}

/* Cookiebanner — vises kun naar der er noget at samtykke til */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  background:rgba(12,10,9,.94);backdrop-filter:blur(18px) saturate(140%);
  border-top:1px solid var(--gold-line,rgba(217,164,65,.28));
  box-shadow:0 -18px 50px -24px rgba(0,0,0,.95);
  animation:cookie-ind .45s var(--ease) both;
}
.cookie-banner[hidden]{display:none}
@keyframes cookie-ind{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cookie-inner{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;
  padding-block:1.05rem calc(1.05rem + env(safe-area-inset-bottom))}
.cookie-tekst{flex:1 1 320px;min-width:0}
.cookie-h{font-family:var(--font-display);font-size:1.02rem;font-weight:600;
  color:var(--cream-2);margin:0 0 .25rem}
.cookie-tekst p:last-child{margin:0;font-size:.85rem;line-height:1.6;color:var(--muted)}
.cookie-tekst a{color:var(--gold-light);border-bottom:1px solid var(--gold-line)}
.cookie-knapper{display:flex;gap:.6rem;flex-wrap:wrap;flex:0 0 auto}
@media (max-width:560px){
  .cookie-inner{gap:.75rem;padding-block:.9rem calc(.9rem + env(safe-area-inset-bottom))}
  .cookie-h{font-size:.96rem}
  .cookie-tekst p:last-child{font-size:.79rem;line-height:1.55}
  .cookie-knapper{width:100%;gap:.5rem}
  .cookie-knapper .btn{flex:1 1 46%;justify-content:center;text-align:center;white-space:nowrap}
}
/* mens banneret staar, skjules den nederste handlingsbjaelke, saa de ikke ligger oven i hinanden */
body.har-cookiebanner .mobile-bar{display:none!important}

/* knap der ser ud som et link — bruges til "Cookieindstillinger" i footeren */
.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;
  border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.linkish:hover,.linkish:focus-visible{color:var(--gold-light);border-color:var(--gold-line)}

/* Sticky mobile action bar */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:65;display:none;gap:.6rem;padding:.7rem var(--gutter)
    calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(12,10,9,.9);backdrop-filter:blur(16px);border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .45s var(--ease-out);
}
.mobile-bar.show{transform:none}
.mobile-bar .btn{flex:1;padding:.9rem 1rem;font-size:.93rem}
@media (max-width:760px){.mobile-bar{display:flex}body{padding-bottom:0}}
body.menu-open .mobile-bar{transform:translateY(110%)}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;min-height:clamp(600px,92svh,940px);display:flex;align-items:flex-end;
  overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 58%;
  animation:kenburns 26s var(--ease) infinite alternate}
@keyframes kenburns{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-1.2%,-1.2%,0)}}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,7,6,.80) 0%,rgba(8,7,6,.30) 26%,rgba(8,7,6,.86) 74%,var(--ink-900) 100%),
    linear-gradient(100deg,rgba(8,7,6,.88) 0%,rgba(8,7,6,.62) 34%,rgba(8,7,6,.10) 66%,transparent 100%),
    radial-gradient(90% 80% at 16% 76%,rgba(8,7,6,.78),transparent 72%);
}
.hero-inner{padding-block:clamp(48px,10vh,110px);position:relative;z-index:3;width:100%}
.hero h1{margin-bottom:1.1rem;max-width:15ch;text-shadow:0 4px 40px rgba(0,0,0,.55)}
.hero .eyebrow,.page-hero .eyebrow{color:var(--gold-light);text-shadow:0 2px 14px rgba(0,0,0,.9)}
.hero .lead,.page-hero .lead{text-shadow:0 2px 22px rgba(0,0,0,.6)}
.hero .lead{max-width:52ch}
.hero-usp{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.6rem 0 2rem}
.hero-scroll{
  position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4;
  display:grid;place-items:center;gap:.5rem;color:var(--muted);font-size:.7rem;
  letter-spacing:.22em;text-transform:uppercase;
}
.hero-scroll .line{width:1px;height:42px;background:linear-gradient(180deg,var(--gold),transparent);
  animation:scrolldown 2.4s var(--ease) infinite}
@keyframes scrolldown{0%{transform:scaleY(.25);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(.05);transform-origin:bottom}}
@media (max-width:760px){.hero-scroll{display:none}}

/* Page hero (sub pages) */
.page-hero{position:relative;isolation:isolate;overflow:hidden;
  padding-block:clamp(116px,14vw,164px) clamp(44px,5.5vw,68px)}
.page-hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,7,6,.86),rgba(8,7,6,.58) 42%,var(--ink-900) 100%),
    linear-gradient(100deg,rgba(8,7,6,.82) 0%,rgba(8,7,6,.42) 42%,transparent 80%)}
.page-hero h1{max-width:20ch;margin-bottom:.75rem}
.page-hero .lead{max-width:60ch}

.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;font-size:.8rem;
  color:var(--muted-2);margin-bottom:1.4rem}
.crumbs li::after{content:"/";margin-left:.45rem;color:var(--muted-2);opacity:.5}
.crumbs li:last-child::after{display:none}
.crumbs a:hover{color:var(--gold-light)}

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.marquee{
  --dur:44s;overflow:hidden;position:relative;
  border-block:1px solid var(--line);background:var(--ink-850);padding-block:1.1rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{display:flex;gap:2.4rem;width:max-content;animation:marq var(--dur) linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.marquee-item{display:inline-flex;align-items:center;gap:.9rem;font-family:var(--font-display);
  font-size:clamp(1.05rem,1.9vw,1.5rem);font-weight:400;color:var(--cream-2);white-space:nowrap}
.marquee-item .star{color:var(--gold);font-size:.7em;opacity:.85}

/* ==========================================================================
   STATS
   ========================================================================== */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}
.stat{background:var(--ink-850);padding:clamp(22px,3vw,34px) clamp(16px,2vw,26px);text-align:center;
  transition:background .4s var(--ease)}
.stat:hover{background:var(--ink-800)}
.stat .num{font-family:var(--font-display);font-weight:700;line-height:1;
  font-size:clamp(2rem,3.8vw,3rem);
  background:linear-gradient(140deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:.4rem}
.stat .lbl{font-size:.83rem;color:var(--muted);letter-spacing:.02em;line-height:1.45}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ==========================================================================
   SPLIT SECTION
   ========================================================================== */
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,74px);align-items:center}
.split.reverse .split-media{order:2}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.reverse .split-media{order:0}}
.split-media{position:relative}
.split-badge{
  position:absolute;z-index:4;right:-14px;bottom:-18px;
  background:linear-gradient(150deg,var(--gold-light),var(--gold) 60%,#B9832A);
  color:#1A1206;border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow);
  max-width:262px;
}
.split-badge .big{font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1;display:block}
.split-badge .txt{font-size:.79rem;font-weight:600;line-height:1.35;margin-top:.25rem;display:block;opacity:.86}
@media (max-width:520px){.split-badge{right:8px;bottom:-14px;padding:.8rem 1rem}}

/* ==========================================================================
   MENU / PRIS
   ========================================================================== */
.menu-card{
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;
  background:linear-gradient(180deg,rgba(247,241,231,.05),rgba(247,241,231,.012));
}
.menu-card-head{padding:1.4rem clamp(20px,2.6vw,30px);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.menu-card-head h3{margin:0}
.menu-list{list-style:none;flex:0 0 auto;padding:clamp(14px,2vw,20px) clamp(20px,2.6vw,30px) clamp(22px,2.6vw,30px)}
.menu-list li{display:flex;align-items:baseline;gap:.75rem;padding:.7rem 0;border-bottom:1px dashed rgba(247,241,231,.09)}
.menu-list li:last-child{border-bottom:0;padding-bottom:0}
.menu-list .name{font-weight:500;color:var(--cream)}
.menu-list .dots{flex:1;height:1px;border-bottom:1px dotted rgba(247,241,231,.2);transform:translateY(-4px)}
.menu-list .add{font-size:.85rem;color:var(--gold-light);white-space:nowrap;font-weight:600}
.menu-note{margin-top:auto;padding:0 clamp(20px,2.6vw,30px) clamp(22px,2.6vw,30px);font-size:.87rem;color:var(--muted)}

.price-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius-l);
  padding:clamp(26px,3vw,38px);background:linear-gradient(180deg,rgba(247,241,231,.05),rgba(247,241,231,.012));
  display:flex;flex-direction:column;transition:transform .45s var(--ease-out),border-color .45s,box-shadow .45s;
}
.price-card:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:var(--shadow)}
.price-card.featured{border-color:var(--gold-line);
  background:linear-gradient(180deg,rgba(217,164,65,.13),rgba(217,164,65,.02));
  box-shadow:0 30px 70px -34px rgba(217,164,65,.5)}
.price-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1A1206;
  font-size:.73rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  padding:.35em 1em;border-radius:999px;white-space:nowrap}
.price-amount{font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,3.2rem);
  font-weight:700;line-height:1;color:var(--cream);margin:.4rem 0 .1rem}
.price-amount small{font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--muted)}
.price-feat{list-style:none;margin:1.4rem 0 1.8rem;display:grid;gap:.65rem;flex:1}
.price-feat li{display:flex;gap:.65rem;font-size:.93rem;line-height:1.5;color:var(--cream-2)}
.price-feat svg{flex:0 0 auto;margin-top:.28em;color:var(--gold)}

/* ==========================================================================
   PRISBEREGNER
   ========================================================================== */
.calc{
  border:1px solid var(--gold-line);border-radius:var(--radius-xl);overflow:hidden;
  background:linear-gradient(160deg,rgba(217,164,65,.1),rgba(247,241,231,.02) 55%);
  box-shadow:0 40px 90px -46px rgba(217,164,65,.5);
}
.calc-grid{display:grid;grid-template-columns:1.15fr .85fr}
@media (max-width:880px){.calc-grid{grid-template-columns:1fr}}
.calc-form{padding:clamp(24px,3.4vw,42px);display:grid;gap:1.2rem}
.calc-out{padding:clamp(24px,3.4vw,42px);background:rgba(8,7,6,.55);
  border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
@media (max-width:880px){.calc-out{border-left:0;border-top:1px solid var(--line)}}
.calc-total{font-family:var(--font-display);font-weight:700;line-height:1;
  font-size:clamp(2.6rem,6vw,3.9rem);
  background:linear-gradient(140deg,var(--gold-light),var(--gold) 60%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;margin:.3rem 0 .2rem}
.calc-lines{list-style:none;margin:1.3rem 0;border-top:1px solid var(--line);padding-top:1.1rem;display:grid;gap:.55rem}
.calc-lines li{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem;color:var(--muted)}
.calc-lines li span:last-child{color:var(--cream-2);font-weight:600;white-space:nowrap}

.field{display:grid;gap:.45rem}
.field label{font-size:.83rem;font-weight:600;letter-spacing:.03em;color:var(--cream-2)}
.field .hint{font-size:.76rem;color:var(--muted-2);line-height:1.45}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],select,textarea{
  width:100%;padding:.85rem 1rem;border-radius:12px;background:rgba(8,7,6,.55);
  border:1px solid var(--line-strong);color:var(--cream);font-size:.97rem;
  transition:border-color .25s,box-shadow .25s,background .25s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(217,164,65,.18);background:rgba(8,7,6,.75)}
input::placeholder,textarea::placeholder{color:var(--muted-2)}
select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23B3A796' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}
textarea{min-height:120px;resize:vertical;line-height:1.6}

.seg{display:grid;grid-auto-flow:column;gap:.4rem;padding:.32rem;border-radius:999px;
  background:rgba(8,7,6,.55);border:1px solid var(--line-strong)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:block;text-align:center;padding:.6rem .5rem;border-radius:999px;cursor:pointer;
  font-size:.88rem;font-weight:600;color:var(--muted);transition:background .3s var(--ease),color .3s}
.seg input:checked+label{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1A1206}
.seg input:focus-visible+label{outline:2px solid var(--gold-light);outline-offset:2px}

.switch{display:flex;align-items:center;gap:.8rem;cursor:pointer;user-select:none}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch .track{width:46px;height:26px;border-radius:999px;background:rgba(8,7,6,.7);
  border:1px solid var(--line-strong);position:relative;transition:background .3s,border-color .3s;flex:0 0 auto}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--muted);transition:transform .32s var(--ease-out),background .3s}
.switch input:checked+.track{background:rgba(217,164,65,.28);border-color:var(--gold-line)}
.switch input:checked+.track::after{transform:translateX(20px);background:var(--gold-light)}
.switch input:focus-visible+.track{outline:2px solid var(--gold-light);outline-offset:2px}

/* ==========================================================================
   PROCES / TIMELINE
   ========================================================================== */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);position:relative}
.steps::before{content:"";position:absolute;top:29px;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-line),var(--gold-line),transparent)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps::before{display:none}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative;text-align:center}
.step .ring{
  width:58px;height:58px;margin:0 auto 1.15rem;border-radius:50%;display:grid;place-items:center;
  background:var(--ink-900);border:1px solid var(--gold-line);color:var(--gold-light);
  font-family:var(--font-display);font-weight:700;font-size:1.2rem;position:relative;z-index:2;
  box-shadow:0 0 0 8px var(--ink-900),0 0 34px -8px rgba(217,164,65,.5);
  transition:transform .45s var(--ease-out),background .45s,color .45s;
}
.step:hover .ring{transform:translateY(-4px) scale(1.06);
  background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1A1206}
.step h3{font-size:1.08rem;margin-bottom:.4rem}
.step p{font-size:.92rem;color:var(--muted);margin:0}

/* ==========================================================================
   ANMELDELSER
   ========================================================================== */
.review{
  border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(24px,3vw,34px);
  background:linear-gradient(180deg,rgba(247,241,231,.045),rgba(247,241,231,.012));
  display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;
  transition:transform .45s var(--ease-out),border-color .45s;
}
.review:hover{transform:translateY(-5px);border-color:var(--gold-line)}
.review::before{content:"\201C";position:absolute;top:-24px;right:8px;font-family:var(--font-display);
  font-size:9rem;color:rgba(217,164,65,.09);line-height:1;pointer-events:none}
.stars{display:inline-flex;gap:2px;color:var(--gold);font-size:.95rem;letter-spacing:.08em}
.review blockquote{margin:0;font-size:.98rem;line-height:1.68;color:var(--cream-2)}
.review figcaption{display:flex;align-items:center;gap:.7rem;margin-top:auto;font-size:.88rem}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(140deg,rgba(217,164,65,.35),rgba(217,164,65,.1));
  border:1px solid var(--gold-line);color:var(--gold-light);font-weight:700;font-size:.9rem}
.review .who{font-weight:600;color:var(--cream)}
.review .ctx{color:var(--muted-2);font-size:.8rem}

.rating-hero{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,54px);
  padding:clamp(22px,3vw,32px) clamp(24px,3.4vw,40px);border:1px solid var(--gold-line);
  border-radius:var(--radius-l);background:linear-gradient(140deg,rgba(217,164,65,.12),rgba(247,241,231,.02))}
.rating-block{display:flex;align-items:center;gap:1rem}
.rating-block .score{font-family:var(--font-display);font-size:2.6rem;font-weight:700;line-height:1;color:var(--cream)}
.rating-block .meta{display:block;font-size:.84rem;color:var(--muted);line-height:1.4}

/* ==========================================================================
   ACCORDION (FAQ)
   ========================================================================== */
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-btn{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.4rem;
  background:none;border:0;padding:1.35rem .25rem;cursor:pointer;text-align:left;
  font-family:var(--font-display);font-size:clamp(1.02rem,1.6vw,1.19rem);font-weight:600;
  line-height:1.35;letter-spacing:-.015em;color:var(--cream);transition:color .3s;
}
.acc-btn:hover{color:var(--gold-light)}
.acc-ico{position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);
  display:grid;place-items:center;margin-top:.1rem;transition:transform .4s var(--ease-out),border-color .3s,background .3s}
.acc-ico::before,.acc-ico::after{content:"";position:absolute;background:var(--gold);border-radius:2px}
.acc-ico::before{width:11px;height:1.5px}
.acc-ico::after{width:1.5px;height:11px;transition:transform .4s var(--ease-out),opacity .3s}
.acc-item[data-open="true"] .acc-ico{background:rgba(217,164,65,.14);border-color:var(--gold-line);transform:rotate(90deg)}
.acc-item[data-open="true"] .acc-ico::after{transform:scaleY(0);opacity:0}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.acc-item[data-open="true"] .acc-panel{grid-template-rows:1fr}
.acc-panel>div{overflow:hidden}
.acc-panel p{margin:0 0 1.25rem;padding-right:clamp(0px,6vw,90px);color:var(--muted);font-size:.98rem}
.acc-panel p:first-child{padding-top:.15rem}

.faq-search{position:relative;margin-bottom:2rem}
.faq-search input{padding-left:2.9rem}
.faq-search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted-2)}
.faq-empty{padding:2rem 0;color:var(--muted);display:none}

/* ==========================================================================
   GALLERI
   ========================================================================== */
.gal-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.2rem}
.gal-filter button{
  padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--line-strong);
  background:rgba(247,241,231,.03);color:var(--muted);font-size:.87rem;font-weight:600;cursor:pointer;
  transition:background .3s,color .3s,border-color .3s;
}
.gal-filter button:hover{color:var(--cream)}
.gal-filter button[aria-pressed="true"]{
  background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1A1206;border-color:transparent}
.gal-grid{columns:3;column-gap:clamp(12px,1.6vw,20px)}
@media (max-width:900px){.gal-grid{columns:2}}
@media (max-width:520px){.gal-grid{columns:1}}
.gal-item{break-inside:avoid;margin-bottom:clamp(12px,1.6vw,20px);position:relative;
  border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);cursor:zoom-in;
  display:block;width:100%;padding:0;background:var(--ink-800);
  transition:transform .5s var(--ease-out),border-color .4s,box-shadow .4s}
.gal-item img{width:100%;transition:transform 1s var(--ease-out),filter .5s}
.gal-item:hover{transform:translateY(-4px);border-color:var(--gold-line);box-shadow:var(--shadow)}
.gal-item:hover img{transform:scale(1.06)}
.gal-item figcaption{
  position:absolute;inset:auto 0 0 0;padding:2.6rem 1rem .9rem;font-size:.83rem;color:var(--cream);
  background:linear-gradient(180deg,transparent,rgba(8,7,6,.9));text-align:left;
  opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.gal-item:hover figcaption,.gal-item:focus-visible figcaption{opacity:1;transform:none}
.gal-item.hide{display:none}

.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,5,4,.95);backdrop-filter:blur(10px);
  display:grid;place-items:center;padding:clamp(16px,4vw,54px);
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:100%;max-height:82svh;border-radius:var(--radius);box-shadow:var(--shadow-l);
  transform:scale(.96);transition:transform .4s var(--ease-out)}
.lightbox.open img{transform:none}
.lb-cap{margin-top:1rem;font-size:.9rem;color:var(--muted);text-align:center;max-width:60ch}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-strong);
  background:rgba(18,16,14,.85);color:var(--cream);cursor:pointer;display:grid;place-items:center;
  transition:background .3s,border-color .3s,transform .3s}
.lb-btn:hover{background:rgba(217,164,65,.2);border-color:var(--gold-line);transform:scale(1.06)}
.lb-close{top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px)}
.lb-prev{left:clamp(10px,2.4vw,28px);top:50%;margin-top:-26px}
.lb-next{right:clamp(10px,2.4vw,28px);top:50%;margin-top:-26px}

/* ==========================================================================
   FORM / CTA
   ========================================================================== */
.form-card{
  border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(26px,3.6vw,46px);
  background:linear-gradient(170deg,rgba(247,241,231,.06),rgba(247,241,231,.015));
  box-shadow:var(--shadow);
}
.form-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid .full{grid-column:1/-1}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.form-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;color:var(--muted);line-height:1.55}
.form-consent input{width:18px;height:18px;margin-top:.18rem;accent-color:var(--gold);flex:0 0 auto}

.cta-band{position:relative;overflow:hidden;isolation:isolate;
  padding-block:clamp(64px,9vw,110px);text-align:center}
.cta-band-bg{position:absolute;inset:0;z-index:-2}
.cta-band-bg img{width:100%;height:100%;object-fit:cover}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(8,7,6,.9),rgba(8,7,6,.78)),
             radial-gradient(70% 90% at 50% 50%,rgba(217,164,65,.18),transparent 70%)}
.cta-band h2{max-width:20ch;margin-inline:auto}
.cta-band p{max-width:56ch;margin-inline:auto}

.contact-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,20px)}
@media (max-width:860px){.contact-tiles{grid-template-columns:1fr}}
.tile{display:flex;gap:1rem;align-items:flex-start;padding:1.35rem 1.5rem;border-radius:var(--radius);
  border:1px solid var(--line);background:rgba(247,241,231,.03);transition:border-color .35s,background .35s,transform .35s var(--ease-out)}
.tile:hover{border-color:var(--gold-line);background:rgba(217,164,65,.07);transform:translateY(-3px)}
.tile .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(217,164,65,.14);border:1px solid var(--gold-line);color:var(--gold-light)}
.tile .lbl{display:block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:.15rem}
.tile .val{display:block;font-weight:600;color:var(--cream);font-size:1.02rem;line-height:1.35}

/* ==========================================================================
   LOKALE SIDER / CHIPS
   ========================================================================== */
.chip-grid{display:flex;flex-wrap:wrap;gap:.6rem}
.chip{display:inline-flex;align-items:center;gap:.5em;padding:.62rem 1.05rem;border-radius:999px;
  border:1px solid var(--line);background:rgba(247,241,231,.03);font-size:.9rem;font-weight:500;
  color:var(--cream-2);transition:border-color .3s,background .3s,color .3s,transform .3s var(--ease-out)}
.chip:hover{border-color:var(--gold-line);background:rgba(217,164,65,.1);color:var(--gold-light);transform:translateY(-2px)}
.chip svg{color:var(--gold);opacity:.85}

.answer-box{
  border-left:2px solid var(--gold);padding:1.15rem 0 1.15rem 1.4rem;margin:0 0 1.8rem;
  background:linear-gradient(90deg,rgba(217,164,65,.08),transparent 70%);
  border-radius:0 var(--radius) var(--radius) 0;
}
.answer-box p{margin:0;font-size:1.04rem;line-height:1.65;color:var(--cream-2)}
.answer-box p+p{margin-top:.7rem}

.fact-table{width:100%;border-collapse:collapse;font-size:.94rem}

/* Tabeller i brødtekst — fx i politikkerne */
.prose table.facts{width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 1.4rem;font-size:.94rem}
.prose table.facts td{
  padding:.72rem .9rem .72rem 0;vertical-align:top;border-bottom:1px solid var(--line);
  overflow-wrap:anywhere;hyphens:auto;
}
.prose table.facts td:first-child{width:38%;color:var(--cream-2);font-weight:500;padding-right:1.1rem}
.prose table.facts td:last-child{color:var(--muted)}
.prose table.facts tr:last-child td{border-bottom:0}
@media (max-width:560px){
  .prose table.facts,.prose table.facts tbody,.prose table.facts tr,.prose table.facts td{display:block;width:auto}
  .prose table.facts td:first-child{padding:0;border:0}
  .prose table.facts td:last-child{padding:.15rem 0 .9rem}
}
.fact-table caption{text-align:left;font-size:.8rem;color:var(--muted-2);padding-bottom:.7rem}
.fact-table th,.fact-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.fact-table th{font-weight:600;color:var(--cream);width:42%;font-size:.9rem}
.fact-table td{color:var(--muted)}
.fact-table tr:hover td,.fact-table tr:hover th{background:rgba(247,241,231,.025)}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-l);padding:.3rem clamp(10px,1.6vw,18px)}

.prose h2{margin-top:2.6rem}
.prose h3{margin-top:2rem;font-size:1.22rem}
.prose ul{margin:0 0 1.3rem;padding-left:1.15rem;list-style:none}
.prose ul li{position:relative;padding-left:1rem;margin-bottom:.6rem;color:var(--muted)}
.prose ul li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.prose a:not(.btn):not(.link-arrow){color:var(--gold-light);border-bottom:1px solid var(--gold-line);transition:border-color .25s}
.prose a:not(.btn):not(.link-arrow):hover{border-color:var(--gold-light)}
.prose strong{color:var(--cream);font-weight:600}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--ink-950);border-top:1px solid var(--line);padding-block:clamp(52px,7vw,84px) 0;position:relative}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(28px,3.4vw,50px)}
@media (max-width:940px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{font-family:var(--font-body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.1rem;font-weight:600}
.site-footer ul{list-style:none;display:grid;gap:.62rem}
.site-footer li a,.site-footer address a{color:var(--muted);font-size:.93rem;transition:color .25s;font-style:normal}
.site-footer li a:hover,.site-footer address a:hover{color:var(--gold-light)}
.site-footer address{font-style:normal;color:var(--muted);font-size:.93rem;line-height:1.85}
.footer-brand img{width:auto;height:62px;margin-bottom:1.1rem}
.footer-bottom{margin-top:clamp(34px,4.5vw,58px);border-top:1px solid var(--line);
  padding-block:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  font-size:.82rem;color:var(--muted-2)}
.footer-bottom a:hover{color:var(--gold-light)}
.socials{display:flex;gap:.55rem;margin-top:1.2rem}
.socials a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  border:1px solid var(--line);color:var(--muted);transition:all .3s var(--ease)}
.socials a:hover{border-color:var(--gold-line);color:var(--gold-light);background:rgba(217,164,65,.1);transform:translateY(-2px)}
.support-logos{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:.4rem}
.support-logos img{height:44px;width:auto;border-radius:8px;filter:grayscale(1) brightness(.85);opacity:.7;transition:filter .35s,opacity .35s}
.support-logos img:hover{filter:none;opacity:1}

.to-top{position:fixed;right:clamp(14px,2.2vw,26px);bottom:clamp(14px,2.2vw,26px);z-index:60;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);
  background:rgba(18,16,14,.9);backdrop-filter:blur(10px);color:var(--cream);cursor:pointer;
  display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .35s var(--ease)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{border-color:var(--gold-line);color:var(--gold-light);background:rgba(217,164,65,.15)}
@media (max-width:760px){.to-top{bottom:calc(76px + env(safe-area-inset-bottom))}}

/* ==========================================================================
   REVEAL / UTIL
   ========================================================================== */
[data-reveal]{opacity:0;transform:translateY(22px);
  transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.09s}
[data-reveal][data-delay="2"]{transition-delay:.18s}
[data-reveal][data-delay="3"]{transition-delay:.27s}
[data-reveal][data-delay="4"]{transition-delay:.36s}
[data-reveal][data-delay="5"]{transition-delay:.45s}

.skip{position:absolute;left:-9999px;top:0;z-index:200;padding:.9rem 1.3rem;background:var(--gold);
  color:#1A1206;border-radius:0 0 12px 0;font-weight:600}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.mt-1{margin-top:.6rem}.mt-2{margin-top:1.2rem}.mt-3{margin-top:2rem}.mt-4{margin-top:3rem}
.max-60{max-width:60ch}.max-52{max-width:52ch}.max-46{max-width:46ch}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
  .hero-bg img{animation:none}
}

@media print{
  .site-header,.mobile-bar,.to-top,.drawer,.marquee,.hero-scroll{display:none!important}
  body{background:#fff;color:#111}
  .card,.price-card{border-color:#ccc}
}


/* ---------- Trustpilot TrustBox ---------- */
.tp-box{
  border:1px solid var(--line);border-radius:var(--radius-l);padding:1.1rem clamp(14px,2vw,22px);
  background:rgba(247,241,231,.03);min-height:96px;display:grid;place-items:center;
}
.tp-box .trustpilot-widget{width:100%}
.tp-box iframe{border:0;width:100%}

/* ---------- Formularstatus ---------- */
.form-status{
  margin:.9rem 0 0;padding:.85rem 1.1rem;border-radius:12px;font-size:.92rem;line-height:1.55;
  border:1px solid var(--line-strong);background:rgba(247,241,231,.04);color:var(--cream-2);
}
.form-status.is-ok{border-color:var(--gold-line);background:rgba(217,164,65,.12);color:var(--gold-light)}
.form-status.is-err{border-color:rgba(224,83,58,.45);background:rgba(224,83,58,.12);color:#F6A995}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}

/* ---------- Formular: grupperede felter ---------- */
.fs{border:0;padding:0;margin:0 0 1.9rem;min-width:0}
.fs:last-of-type{margin-bottom:1.4rem}
.fs>legend{
  padding:0 0 .9rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);width:100%;
  border-bottom:1px solid var(--line);margin-bottom:1.1rem;
}
.fs-hint{margin:.85rem 0 0;font-size:.79rem;line-height:1.5;color:var(--muted-2)}
.field label .opt{font-weight:400;letter-spacing:0;color:var(--muted-2);text-transform:none;font-size:.78rem}
.form-card .form-consent{margin-top:.4rem}

/* kontaktfelter: lodret variant */
.contact-tiles.stacked{grid-template-columns:1fr}

/* punktliste med flueben */
.check-list{list-style:none;display:grid;gap:.8rem}
.check-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.96rem;line-height:1.55;color:var(--cream-2)}
.check-list svg{flex:0 0 auto;margin-top:.3em;color:var(--gold)}

/* ---------- Bookingsektion: tekst i toppen, følger med ved scroll ---------- */
.split-form{align-items:flex-start}
@media (min-width:901px){
  .split-form>div:first-child{position:sticky;top:112px}
}

/* ---------- Adresseforslag ---------- */
.field{position:relative}
.adr-forslag{
  position:absolute;z-index:30;left:0;right:0;top:calc(100% - 1.35rem);
  list-style:none;margin:.35rem 0 0;padding:.3rem;
  background:rgba(18,16,14,.98);backdrop-filter:blur(14px);
  border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-l);
  max-height:260px;overflow-y:auto;
}
.adr-forslag li{
  padding:.6rem .75rem;border-radius:8px;font-size:.9rem;color:var(--cream-2);cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.adr-forslag li:hover,.adr-forslag li.er-valgt{background:rgba(217,164,65,.16);color:var(--gold-light)}

/* ---------- Formular som sidens hovedelement ---------- */
.form-center{max-width:860px}
.form-stack{display:grid;gap:clamp(22px,3vw,34px)}
.form-intro{max-width:60ch;margin-inline:auto}
.form-intro .lead{margin-bottom:0}
.usp-strip{
  list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;
  margin:1.4rem 0 0;padding:0;
}
.usp-strip li{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted)}
.usp-strip svg{color:var(--gold);flex:0 0 auto}

/* kortet: blødere kanter og lidt mere nærvær */
.form-stack .form-card{
  border-color:var(--gold-line);
  background:linear-gradient(170deg,rgba(217,164,65,.07),rgba(247,241,231,.02) 46%);
  box-shadow:0 40px 90px -46px rgba(217,164,65,.42), var(--shadow);
}
.section-form{scroll-margin-top:110px}

/* venstrespaltens punktliste i split-varianten — luft og tydelig rytme */
.split-form .check-list{
  margin-top:1.6rem;padding:1.15rem 1.3rem;border-radius:var(--radius);
  border:1px solid var(--line);background:rgba(247,241,231,.03);
}
.split-form .check-list li{align-items:center}
.mb-2{margin-bottom:1.2rem}
