/* =========================================================
   GYMNASIESPIL.DK - editorial / cinematic (Tulumcu-stil)
   Fonte: Fraunces (display serif) · Mulish (sans)
   Palette: Creme #F2EEE7 · Navy #0E1B29 · Guld #D5AF7F · Taupe #A7988A
   ========================================================= */

:root{
  --creme:#F2EEE7;
  --creme-deep:#E7DFD2;
  --navy:#0E1B29;
  --ink:#0E1B29;
  --ink-70:rgba(14,27,41,.7);
  --ink-55:rgba(14,27,41,.55);
  --gold:#D5AF7F;
  --gold-deep:#bd9559;
  --taupe:#A7988A;
  --line:rgba(14,27,41,.14);
  --line-light:rgba(242,238,231,.16);

  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --maxw:1280px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--creme);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.7;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.015em;margin:0;font-optical-sizing:auto;}
em{font-style:italic;color:var(--gold-deep);font-weight:500;}
::selection{background:var(--gold);color:var(--navy);}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 40px;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 18px;z-index:300;}
.skip-link:focus{left:0;}

/* ---------- Buttons & links ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-weight:700;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;
  padding:17px 32px;border-radius:0;border:1px solid transparent;cursor:pointer;
  transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s;white-space:nowrap;
}
.btn--solid{background:var(--gold);color:var(--navy);}
.btn--solid:hover{background:var(--gold-deep);transform:translateY(-2px);}
.btn--line{border-color:var(--line);color:var(--ink);}
.btn--line:hover{border-color:var(--navy);transform:translateY(-2px);}
.btn--line-light{border-color:rgba(242,238,231,.45);color:var(--creme);}
.btn--line-light:hover{border-color:var(--creme);background:rgba(242,238,231,.08);transform:translateY(-2px);}
.btn--block{width:100%;}

.link-arrow{font-weight:600;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:3px;transition:color .25s,border-color .25s;}
.link-arrow:hover{color:var(--gold-deep);}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:linear-gradient(180deg,rgba(14,27,41,.5) 0%,rgba(14,27,41,.18) 55%,rgba(14,27,41,0) 100%);transition:background .4s,box-shadow .4s,backdrop-filter .4s;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:96px;gap:24px;}
.site-header.is-scrolled{background:rgba(242,238,231,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);}

.logo{display:flex;align-items:center;gap:12px;}
.logo{gap:14px;}
.logo__mark{position:relative;width:50px;height:51px;flex:0 0 auto;}
.logo__svg{display:block;width:100%;height:100%;}
.logo__mark .logo__svg{position:absolute;inset:0;transition:opacity .4s;}
.logo__svg--onlight{opacity:0;}
.logo__svg--ondark{opacity:1;}
.site-header.is-scrolled .logo__svg--onlight{opacity:1;}
.site-header.is-scrolled .logo__svg--ondark{opacity:0;}
.logo__word{font-family:var(--serif);font-weight:600;font-size:1.8rem;letter-spacing:-.02em;color:var(--creme);line-height:1;transition:color .4s;}
.logo__accent{font-style:italic;color:var(--gold);font-weight:600;}
.site-header .logo__word{perspective:700px;}
.site-header .logo__accent{display:inline-block;padding:0 .1em;margin:0 -.1em;}
.site-header .logo__accent.is-spinning{animation:spilFlip 1.8s cubic-bezier(.42,0,.2,1);}
.site-header .logo__mark.is-spinning{animation:markPop 1.8s cubic-bezier(.42,0,.2,1);transform-origin:center;}
.m-play,.m-cap{transform-box:fill-box;transform-origin:center;}
.site-header .logo__mark.is-spinning .m-play{animation:playPress 1.6s cubic-bezier(.34,.7,.28,1);}
.site-header .logo__mark.is-spinning .m-cap{animation:capBob 1.6s cubic-bezier(.36,.6,.3,1) .1s;}
@keyframes spilFlip{0%{transform:rotateY(0deg) scale(1);}50%{transform:rotateY(180deg) scale(1.03);}100%{transform:rotateY(360deg) scale(1);}}
@keyframes markPop{0%{transform:scale(1) rotate(0deg);}16%{transform:scale(.9) rotate(-2deg);}44%{transform:scale(1.12) rotate(5deg);}66%{transform:scale(1) rotate(-3deg);}100%{transform:scale(1) rotate(0deg);}}
@keyframes playPress{0%{transform:scale(1);}22%{transform:scale(.66);}48%{transform:scale(1.3);}70%{transform:scale(.92);}100%{transform:scale(1);}}
@keyframes capBob{0%{transform:translateY(0) rotate(0deg);}26%{transform:translateY(-2px) rotate(-12deg);}54%{transform:translateY(0) rotate(9deg);}76%{transform:translateY(0) rotate(-4deg);}100%{transform:translateY(0) rotate(0deg);}}
.logo__dk{color:rgba(242,238,231,.6);font-weight:500;transition:color .4s;}
.site-header.is-scrolled .logo__word{color:var(--navy);}
.site-header.is-scrolled .logo__dk{color:var(--taupe);}
.site-header .logo__text{gap:5px;}
.site-header .logo__tagline{font-size:11.5px;letter-spacing:.03em;color:rgba(242,238,231,.74);transition:color .4s;}
.site-header.is-scrolled .logo__tagline{color:var(--taupe);}
@media (max-width:640px){.site-header .logo__tagline{display:none;}}
.logo--footer{gap:13px;align-items:center;}
.logo--footer .logo__mark{width:42px;height:43px;}
.logo--footer .logo__svg{position:static;opacity:1;}
.logo__text{display:flex;flex-direction:column;gap:7px;}
.logo__tagline{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.04em;color:var(--taupe);}
.logo__rule{width:26px;height:1px;background:var(--gold);display:inline-block;flex:0 0 auto;}

.main-nav{display:flex;gap:34px;margin-left:auto;}
.main-nav a{font-size:.95rem;font-weight:600;color:rgba(242,238,231,.86);position:relative;transition:color .3s;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1.5px;background:var(--gold);transition:width .35s var(--ease);}
.main-nav a:hover::after{width:100%;}
.site-header.is-scrolled .main-nav a{color:var(--ink-70);}
.site-header.is-scrolled .main-nav a:hover{color:var(--navy);}

.header-actions{display:flex;align-items:center;gap:16px;}
.header-social{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(242,238,231,.32);color:var(--creme);transition:color .3s,border-color .3s,background .3s,transform .3s;}
.header-social svg{width:17px;height:17px;}
.header-social:hover{color:var(--gold);border-color:var(--gold);background:rgba(213,175,127,.1);transform:translateY(-2px);}
.site-header.is-scrolled .header-social{color:var(--navy);border-color:rgba(14,27,41,.2);}
.site-header.is-scrolled .header-social:hover{color:var(--gold-deep);border-color:var(--gold-deep);background:rgba(189,143,89,.08);}

.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:46px;height:46px;background:none;border:none;cursor:pointer;padding:11px;z-index:260;}
.menu-toggle span{display:block;height:1.6px;width:100%;background:var(--creme);transition:transform .4s var(--ease),opacity .25s,background .4s;}
.site-header.is-scrolled .menu-toggle span{background:var(--navy);}
body.menu-open .menu-toggle span{background:var(--creme);}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(3.8px) rotate(45deg);}
body.menu-open .menu-toggle span:nth-child(2){transform:translateY(-3.8px) rotate(-45deg);}

/* ---------- Overlay menu (mobil) ---------- */
.overlay-menu{position:fixed;inset:0;z-index:190;background:var(--navy);color:var(--creme);
  display:flex;flex-direction:column;justify-content:center;padding:120px 40px 60px;
  opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility .45s;}
body.menu-open .overlay-menu{opacity:1;visibility:visible;transform:none;}
.overlay-menu__nav{display:flex;flex-direction:column;gap:6px;}
.overlay-menu__nav a{font-family:var(--serif);font-size:clamp(2.2rem,9vw,3.4rem);font-weight:500;color:var(--creme);display:flex;align-items:baseline;gap:18px;padding:8px 0;transition:color .3s;}
.overlay-menu__nav a:hover{color:var(--gold);}
.overlay-menu__num{font-family:var(--sans);font-size:.85rem;font-weight:700;color:var(--gold);letter-spacing:.1em;}
.overlay-menu__foot{margin-top:48px;display:flex;flex-direction:column;gap:6px;font-size:1.05rem;color:rgba(242,238,231,.75);}
.overlay-menu__foot a:hover{color:var(--gold);}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:var(--creme);overflow:hidden;background:var(--navy);}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero__overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(14,27,41,.55) 0%,rgba(14,27,41,.25) 40%,rgba(14,27,41,.78) 100%);}
.hero__inner{position:relative;z-index:2;padding-bottom:108px;padding-top:140px;}
.hero__eyebrow{display:inline-flex;align-items:center;gap:18px;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:26px;}
.hero__eyebrow::before{content:"";width:48px;height:1px;background:var(--gold);flex:0 0 auto;}
.hero__title{font-size:clamp(2.9rem,7.4vw,6rem);font-weight:500;letter-spacing:-.03em;line-height:.98;max-width:16ch;}
.hero__lead{margin-top:28px;max-width:54ch;font-size:1.15rem;color:rgba(242,238,231,.85);}
.hero__lead--cont{margin-top:14px;}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px;}

.hero__scroll{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:16px;}
.hero__scroll-label{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(242,238,231,.82);padding-left:.34em;}
.hero__scroll-line{position:relative;width:2px;height:66px;border-radius:2px;overflow:hidden;
  background:linear-gradient(180deg,rgba(242,238,231,.85) 0%,rgba(242,238,231,.35) 38%,var(--gold) 100%);}
.hero__scroll-line::after{content:"";position:absolute;left:0;top:0;width:100%;height:42%;border-radius:2px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.95));animation:scrollDown 2.2s var(--ease) infinite;}
@keyframes scrollDown{0%{transform:translateY(-110%);opacity:0;}28%{opacity:1;}100%{transform:translateY(175%);opacity:0;}}

/* ---------- Section base ---------- */
.section{padding:92px 0;}
.eyebrow{display:inline-flex;align-items:center;gap:18px;font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:22px;}
.eyebrow::before{content:"";width:44px;height:1px;background:var(--gold-deep);flex:0 0 auto;}
.section-head{max-width:760px;margin-bottom:50px;}
.section-head--center{margin-inline:auto;text-align:center;}
.section-title{font-size:clamp(2.1rem,4.8vw,3.6rem);font-weight:500;letter-spacing:-.02em;line-height:1.04;}
.section-lead{margin-top:24px;font-size:1.1rem;color:var(--ink-70);max-width:58ch;}
.section-lead--cont{margin-top:16px;}
.section-list{list-style:none;margin:14px 0 6px;padding:0;display:grid;gap:9px;max-width:58ch;}
.section-list li{position:relative;padding-left:26px;font-size:1.06rem;color:var(--ink-70);}
.section-list li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--gold-deep);}
.section--navy .section-list li,.about .section-list li,.contact .section-list li{color:rgba(242,238,231,.82);}
.section-head--center .section-lead{margin-inline:auto;}

/* ---------- WORK / SPIL ---------- */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;}
.case{cursor:default;}
.case__media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:0;background:var(--navy);}
.case__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s;}
.case:hover .case__media img{transform:scale(1.05);}
.case__badge{position:absolute;top:14px;left:14px;background:var(--navy);color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:0;}
.case__body{border-left:3px solid var(--gold-deep);padding-left:18px;margin-top:20px;transition:border-color .35s var(--ease);}
.case:hover .case__body{border-color:var(--gold);}
.case__meta{margin:0 0 7px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--taupe);}
.case__title{font-size:1.6rem;font-weight:500;}
.work-cta{margin-top:64px;text-align:center;}

/* ---------- VORES SPIL (hover-reveal) ---------- */
.games-reveal{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.gr-list{list-style:none;margin:0;padding:0;}
.gr-list li{border-top:1px solid var(--line);}
.gr-list li:last-child{border-bottom:1px solid var(--line);}
.gr-name{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 4px;display:flex;align-items:baseline;gap:16px;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;color:var(--navy);opacity:.42;transition:opacity .35s,padding-left .35s var(--ease);}
.gr-name:hover,.gr-name:focus-visible,.gr-name.is-active{opacity:1;padding-left:18px;outline:none;}
.gr-num{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--gold-deep);}
.gr-stage{position:relative;}
.gr-media{position:relative;aspect-ratio:7/5;overflow:hidden;box-shadow:0 0 0 1px rgba(213,175,127,.5);background:#e7ddcc;}
.gr-media img,.gr-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s var(--ease);}
.gr-media img.is-active,.gr-media video.is-active{opacity:1;}
.gr-media::after{content:"";position:absolute;inset:18px;border:1px solid rgba(213,175,127,.85);pointer-events:none;z-index:2;}
.gr-badge{position:absolute;top:26px;left:26px;z-index:3;display:none;align-items:center;gap:9px;background:rgba(14,27,41,.82);border:1px solid rgba(213,175,127,.55);backdrop-filter:blur(3px);color:var(--creme);font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;box-shadow:0 6px 18px rgba(14,27,41,.3);pointer-events:none;}
.gr-media.has-video .gr-badge{display:inline-flex;}
.gr-badge::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold);animation:grBadgePulse 1.7s ease-out infinite;}
@keyframes grBadgePulse{0%{box-shadow:0 0 0 0 rgba(213,175,127,.6);}70%{box-shadow:0 0 0 9px rgba(213,175,127,0);}100%{box-shadow:0 0 0 0 rgba(213,175,127,0);}}
@media (prefers-reduced-motion:reduce){.gr-badge::before{animation:none;}}
.gr-texts{margin-top:26px;min-height:165px;}
.gr-text{display:none;}
.gr-text.is-active{display:block;animation:grFade .5s var(--ease);}
@keyframes grFade{from{opacity:0;}to{opacity:1;}}
.gr-cat{display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--taupe);margin-bottom:14px;}
.gr-text p{margin:0 0 14px;color:var(--ink-70);font-size:1.02rem;line-height:1.7;}
.gr-text p:last-child{margin:0;}
@media(max-width:860px){.games-reveal{grid-template-columns:1fr;gap:30px;}.gr-stage{max-width:560px;}.gr-texts{min-height:0;}}

/* ---------- Levende logo-markør ---------- */
.cursor{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;will-change:transform;opacity:0;transition:opacity .2s var(--ease);}
.cursor.is-hover{opacity:1;}
.cursor__inner{transform:translate(-50%,-50%) scale(.55);transition:transform .25s var(--ease);}
.cursor.is-hover .cursor__inner{transform:translate(-50%,-50%) scale(1);}
.cursor svg{display:block;filter:drop-shadow(0 1px 3px rgba(14,27,41,.35));}
body.cursor-on a,body.cursor-on button,body.cursor-on summary,body.cursor-on label,body.cursor-on .gr-name{cursor:none;}
@media (prefers-reduced-motion:reduce),(pointer:coarse){.cursor{display:none!important;}}

/* ---------- SERVICES ---------- */
.services{background:var(--creme-deep);}
.service{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:46px 0;border-top:1px solid var(--line);}
.service:first-of-type{border-top:none;}
.service--reverse .service__visual{order:2;}
.service__visual{position:relative;}
.service__media{aspect-ratio:5/4;overflow:hidden;border-radius:0;}
.service__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.service:hover .service__media img{transform:scale(1.04);}
.service__media video{display:block;width:100%;height:100%;object-fit:cover;}
.service__num{position:absolute;top:-30px;left:-20px;z-index:3;font-family:var(--serif);font-size:clamp(3.4rem,6vw,5.2rem);color:var(--gold-deep);font-weight:500;line-height:.85;letter-spacing:-.02em;}
.service__body h3{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500;margin:0 0 18px;}
.service__body p{color:var(--ink-70);margin:0 0 24px;}
.service__list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.service__list li{position:relative;padding-left:26px;font-size:.98rem;color:var(--ink-70);}
.service__list li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:9px;border-radius:50%;background:var(--gold);}
.service__list strong{color:var(--ink);font-weight:700;}

/* ---------- ABOUT ---------- */
.about{background:var(--navy);color:var(--creme);}
.about .eyebrow{color:var(--gold);}
.about .section-title{color:var(--creme);}
.about__inner{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center;}
.about__media{aspect-ratio:4/5;overflow:hidden;border-radius:0;}
/* Premium billed-ramme: tynd guld-kant + hvid inderstreg */
.about__media,.service__media{position:relative;box-shadow:0 0 0 1px rgba(213,175,127,.55);}
.about__media::after,.service__media::after{content:"";position:absolute;inset:16px;border:1px solid rgba(213,175,127,.85);pointer-events:none;z-index:2;}
.case__media{box-shadow:0 0 0 1px rgba(213,175,127,.5);}
.about__media img{width:100%;height:100%;object-fit:cover;}
.about__body p{color:rgba(242,238,231,.8);margin:0 0 20px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:38px 0 36px;}
.stat strong{display:block;font-family:var(--serif);font-size:2.7rem;font-weight:500;color:var(--gold);line-height:1;}
.stat span{display:block;margin-top:10px;font-size:.85rem;color:rgba(242,238,231,.7);max-width:18ch;}
.about .btn--line{border-color:rgba(242,238,231,.4);color:var(--creme);}
.about .btn--line:hover{border-color:var(--creme);background:rgba(242,238,231,.08);}

/* Om os - to-spaltet (kidk-stil) */
.about__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
.about__lead .section-title{margin-top:16px;}
.about__text{padding-top:6px;}
.about__text p{color:rgba(242,238,231,.8);margin:0 0 20px;font-size:1.05rem;line-height:1.78;}
.about__text .about__signature{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.08rem;line-height:1.05;margin:24px 0 0;}
.about__metrics{margin-top:72px;padding-top:52px;border-top:1px solid var(--line-light);display:flex;flex-direction:column;align-items:flex-start;gap:38px;}
.about__metrics .stats{margin:0;width:100%;max-width:760px;}

/* Team - egen sektion */
.team-section{background:var(--creme);}
.team-head .eyebrow{color:var(--gold-deep);}

.team-wrap{margin-top:84px;padding-top:60px;border-top:1px solid var(--line-light);}
.team-head{text-align:center;max-width:1060px;margin:0 auto 52px;}
.team-head .section-title{color:var(--navy);}
.team-head .section-lead{color:var(--ink-70);margin:24px auto 0;line-height:1.55;font-size:1.08rem;max-width:none;}
.team-head .section-lead--second{margin-top:8px;}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 26px;}
.member__photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:0;background:#e2d9ca;box-shadow:0 0 0 1px rgba(189,143,89,.55);}
.member__photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.member:hover .member__photo img{transform:scale(1.05);}
.member__photo::after{content:"";position:absolute;inset:12px;border:1px solid rgba(213,175,127,.9);pointer-events:none;}
.member__name{font-family:var(--serif);font-size:1.18rem;font-weight:500;color:var(--navy);margin:16px 0 3px;}
.member__role{font-size:.85rem;color:var(--taupe);margin:0;}
@media (max-width:1024px){.team{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.team{grid-template-columns:repeat(2,1fr);gap:24px 18px;}}

/* ---------- KUNDER (stats-bånd + logo-hjul) ---------- */
.trust{background:var(--creme);}
.stat-band{display:flex;justify-content:center;flex-wrap:wrap;max-width:980px;margin:0 auto 88px;}
.stat-band__item{flex:1 1 0;min-width:170px;text-align:center;padding:8px 28px;}
.stat-band__item + .stat-band__item{border-left:1px solid var(--line);}
.stat-band__item strong{display:block;font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.2rem);font-weight:500;color:var(--gold-deep);line-height:1;}
.stat-band__item span{display:block;margin-top:12px;font-size:.8rem;color:var(--taupe);line-height:1.4;}
.trust__head{margin-bottom:46px;}
.marquee{position:relative;overflow:hidden;width:100%;cursor:grab;touch-action:pan-y;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.marquee.grabbing,.marquee.grabbing .marquee__item{cursor:grabbing;}
.marquee__track{display:flex;align-items:center;width:max-content;will-change:transform;user-select:none;-webkit-user-select:none;}
.marquee__item{flex:0 0 auto;margin-right:80px;display:flex;align-items:center;height:84px;cursor:pointer;-webkit-user-drag:none;user-drag:none;}
.marquee__item img{max-height:54px;max-width:150px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .35s,opacity .35s,transform .35s var(--ease);-webkit-user-drag:none;user-select:none;pointer-events:none;}
.marquee__item:hover img{filter:grayscale(0);opacity:1;transform:scale(1.18);}
/* Logo-baand: brug native grab/peg-cursor (ikke logo-markoeren) */
body.cursor-on .marquee{cursor:grab;}
body.cursor-on .marquee__item{cursor:pointer;}
body.cursor-on .marquee.grabbing,body.cursor-on .marquee.grabbing .marquee__item{cursor:grabbing;}
@media (max-width:560px){.stat-band__item{flex:1 1 100%;padding:14px 0;}.stat-band__item + .stat-band__item{border-left:none;border-top:1px solid var(--line);}}

/* ---------- QUOTES ---------- */
.quotes{background:var(--creme-deep);}
.faq{background:var(--creme-deep);}
.quotes-slider{position:relative;}
.quotes-viewport{overflow:hidden;}
.quotes-track{display:flex;gap:28px;transition:transform .6s var(--ease);}
.quotes-track .quote{flex:0 0 calc((100% - 56px)/3);}
.quotes-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:38px;}
.quotes-controls.is-hidden{display:none;}
.quotes-arrow{width:46px;height:46px;border:1px solid var(--line);background:none;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.quotes-arrow:hover{background:var(--navy);color:var(--creme);border-color:var(--navy);}
.quotes-arrow svg{width:20px;height:20px;}
.quotes-dots{display:flex;gap:9px;}
.quotes-dots button{width:9px;height:9px;border-radius:50%;border:none;background:var(--line);cursor:pointer;padding:0;transition:background .25s,transform .25s;}
.quotes-dots button.is-active{background:var(--gold-deep);transform:scale(1.25);}
@media (max-width:980px){.quotes-track .quote{flex-basis:calc((100% - 28px)/2);}}
@media (max-width:640px){.quotes-track .quote{flex-basis:100%;}}
.quote{margin:0;background:var(--creme);border:1px solid var(--line);border-radius:0;padding:38px 32px;position:relative;}
.quote::before{content:"\201C";position:absolute;top:6px;left:24px;font-family:var(--serif);font-size:5rem;color:var(--gold);opacity:.35;line-height:1;}
.quote blockquote{font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.45;color:var(--ink);margin:24px 0 24px;}
.quote figcaption{display:flex;flex-direction:column;gap:2px;font-size:.9rem;color:var(--taupe);}
.quote figcaption strong{color:var(--ink);font-weight:700;}

/* ---------- HEADER CTA (premium, framed) ---------- */
.header-cta{position:relative;display:inline-flex;padding:5px;background:var(--gold);--fr:rgba(14,27,41,.42);box-shadow:0 10px 26px rgba(14,27,41,.22);transition:background .35s,transform .3s var(--ease),box-shadow .3s,opacity .4s var(--ease),visibility .4s;}
.header-cta__ring{position:relative;display:inline-flex;overflow:hidden;}
.header-cta__ring::before{content:"";position:absolute;left:50%;top:50%;width:300%;aspect-ratio:1;z-index:0;background:conic-gradient(var(--fr) 0deg,var(--fr) 288deg,rgba(255,250,240,.95) 330deg,var(--fr) 360deg);animation:ctaSpin 3.6s linear infinite;}
.header-cta__label{position:relative;z-index:1;display:inline-flex;align-items:center;margin:1px;background:var(--gold);color:var(--navy);font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:7px 18px;transition:background .35s,color .35s;}
.header-cta:hover{transform:translateY(-2px);background:linear-gradient(158deg,#16283e 0%,#0E1B29 72%);--fr:rgba(213,175,127,.72);}
.header-cta:hover .header-cta__label{background:linear-gradient(158deg,#16283e 0%,#0E1B29 72%);color:var(--creme);}
@keyframes ctaSpin{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.header-cta__ring::before{animation:none;background:var(--fr);}}

/* ---------- METODE / SÅDAN KOMMER I I GANG ---------- */
.method{background:var(--navy);color:var(--creme);}
.method .eyebrow{color:var(--gold);}
.method .eyebrow::before{background:var(--gold);}
.method .section-title{color:var(--creme);}
.method .section-lead{color:rgba(242,238,231,.78);}
.method-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
.method-step{position:relative;padding-top:26px;border-top:1px solid rgba(242,238,231,.18);transition:border-color .35s var(--ease);}
.method-step:hover{border-color:var(--gold);}
.method-step__num{display:block;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.1em;color:var(--gold);margin-bottom:20px;}
.method-step__title{font-family:var(--serif);font-size:1.4rem;font-weight:500;color:var(--creme);margin-bottom:12px;letter-spacing:-.01em;}
.method-step p{color:rgba(242,238,231,.72);font-size:1rem;line-height:1.6;margin:0;}
@media (max-width:900px){.method-steps{grid-template-columns:1fr 1fr;gap:34px 30px;}}
@media (max-width:520px){.method-steps{grid-template-columns:1fr;gap:0;}.method-step{padding:24px 0;border-top:none;border-left:2px solid rgba(242,238,231,.18);padding-left:22px;}.method-step__num{margin-bottom:10px;}}

/* ---------- PRIS / LICENS ---------- */
.pricing{background:var(--creme);}
.pricing__grid{display:grid;grid-template-columns:1.32fr 1fr;gap:56px;align-items:end;}
.pricing__eyebrow{margin-bottom:26px;}
.pricing__copy .section-title{margin-top:0;}
.pricing__free{margin-top:20px;}
.pricing__hl{color:var(--gold-deep);font-weight:600;font-size:1.1rem;}
.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:38px 0 0;}
.pricing__actions{margin-top:38px;}
.price-card{background:var(--creme-deep);border-left:3px solid var(--gold-deep);padding:22px 26px;transition:border-color .35s var(--ease),transform .35s var(--ease);}
.price-card:hover{border-color:var(--gold);transform:translateY(-3px);}
.price-card strong{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--navy);letter-spacing:-.01em;}
.price-card span{display:block;margin-top:7px;font-size:.92rem;color:var(--ink-70);}
.pricing__actions{display:flex;gap:14px;flex-wrap:wrap;}

.price-media{display:block;width:100%;position:relative;aspect-ratio:16/10;overflow:hidden;padding:0;border:none;background:var(--navy);box-shadow:0 0 0 1px var(--gold-deep),0 18px 40px rgba(14,27,41,.16);cursor:pointer;}
.price-media::after{content:"";position:absolute;inset:10px;border:1px solid rgba(213,175,127,.85);pointer-events:none;z-index:2;}
.price-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease),filter .4s;}
.price-media:hover img{transform:scale(1.04);filter:brightness(.92);}
.price-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;background:var(--gold);display:grid;place-items:center;z-index:3;pointer-events:none;box-shadow:0 10px 30px rgba(14,27,41,.3);transition:transform .3s var(--ease),background .3s;}
.price-play svg{width:30px;height:30px;margin-left:3px;}
.price-media:hover .price-play{background:var(--gold-deep);transform:scale(1.07);}

/* indsigt-slideshow (punkt 3) */
.insight{cursor:pointer;background:var(--creme);}
.insight__viewport{position:absolute;inset:7%;overflow:hidden;}
.insight .insight__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;transform:scale(1.02);transform-origin:50% 0;opacity:0;transition:opacity 1.3s var(--ease),transform 5.5s linear;}
.insight .insight__img.is-active{opacity:1;transform:scale(1.09);}
@media (prefers-reduced-motion:reduce){.insight .insight__img{transition:opacity .3s;transform:none;}.insight .insight__img.is-active{transform:none;}}
.insight__open{position:absolute;inset:0;z-index:4;border:none;background:none;cursor:pointer;padding:0;}
.insight__hint{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(14,27,41,.8);color:var(--creme);font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;transition:background .3s,color .3s,transform .3s var(--ease);}
.insight__hint svg{width:15px;height:15px;}
.insight:hover .insight__hint{background:var(--gold);color:var(--navy);transform:translateY(-2px);}

/* galleri-modal (indsigt-lightbox) */
.gallery-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:4vw;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;}
.gallery-modal.is-open{opacity:1;visibility:visible;}
.gallery-modal__backdrop{position:absolute;inset:0;background:rgba(8,15,23,.9);backdrop-filter:blur(5px);}
.gallery-modal__dialog{position:relative;width:100%;max-width:940px;display:flex;flex-direction:column;align-items:center;gap:18px;transform:scale(.97);transition:transform .35s var(--ease);}
.gallery-modal.is-open .gallery-modal__dialog{transform:scale(1);}
.gallery-modal__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;}
.gallery-frame{background:var(--creme);padding:clamp(14px,2.2vw,28px);box-shadow:0 0 0 1px var(--gold-deep),0 36px 86px rgba(0,0,0,.55);max-width:100%;transition:opacity .25s var(--ease);}
.gallery-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:62vh;box-shadow:0 0 0 1px rgba(14,27,41,.12);}
.gallery-modal__count{margin:0;font-family:var(--sans);font-size:.8rem;letter-spacing:.12em;color:rgba(242,238,231,.7);}
.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:100%;}
.gallery-thumbs button{width:72px;height:54px;padding:0;border:none;cursor:pointer;overflow:hidden;background:#0b1722;opacity:.45;transition:opacity .25s,box-shadow .25s;}
.gallery-thumbs button img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-thumbs button:hover{opacity:.8;}
.gallery-thumbs button.is-active{opacity:1;box-shadow:0 0 0 2px var(--gold);}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:50px;height:50px;border:none;background:rgba(242,238,231,.14);color:var(--creme);display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s;}
.gallery-arrow:hover{background:var(--gold);color:var(--navy);}
.gallery-arrow svg{width:24px;height:24px;}
.gallery-arrow--prev{left:-6px;}
.gallery-arrow--next{right:-6px;}
.gallery-modal__close{position:absolute;top:-48px;right:0;width:44px;height:44px;border:none;background:var(--gold);color:var(--navy);display:grid;place-items:center;cursor:pointer;z-index:6;transition:background .25s,transform .25s var(--ease);}
.gallery-modal__close:hover{background:var(--gold-deep);transform:rotate(90deg);}
.gallery-modal__close svg{width:22px;height:22px;}
@media (max-width:600px){.gallery-arrow{width:42px;height:42px;}.gallery-arrow--prev{left:-2px;}.gallery-arrow--next{right:-2px;}.gallery-thumbs button{width:54px;height:40px;}}

/* video-modal (lightbox med lyd) */
.video-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;}
.video-modal.is-open{opacity:1;visibility:visible;}
.video-modal__backdrop{position:absolute;inset:0;background:rgba(8,15,23,.86);backdrop-filter:blur(4px);}
.video-modal__dialog{position:relative;width:100%;max-width:1040px;transform:scale(.96);transition:transform .35s var(--ease);}
.video-modal.is-open .video-modal__dialog{transform:scale(1);}
.video-modal__frame{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 1px rgba(213,175,127,.5),0 30px 80px rgba(0,0,0,.5);}
.video-modal__frame video{width:100%;height:100%;display:block;}
.video-modal__close{position:absolute;top:-14px;right:-14px;width:46px;height:46px;border-radius:50%;border:none;background:var(--gold);color:var(--navy);display:grid;place-items:center;cursor:pointer;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:background .25s,transform .25s var(--ease);}
.video-modal__close:hover{background:var(--gold-deep);transform:rotate(90deg);}
.video-modal__close svg{width:22px;height:22px;}
body.modal-open{overflow:hidden;}
@media (max-width:600px){.video-modal__close{top:-12px;right:8px;width:40px;height:40px;}}
.price-band{margin-top:20px;background:var(--creme-deep);border-left:3px solid var(--gold-deep);padding:26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.price-band__amount{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--navy);letter-spacing:-.02em;}
.price-band__per{margin-left:8px;font-size:.95rem;color:var(--ink-70);}
.price-band__note{margin:0;font-size:.82rem;line-height:1.45;color:var(--taupe);max-width:20ch;text-align:right;}

/* ---------- CONTACT ---------- */
.contact{background:var(--navy);color:var(--creme);}
.contact .eyebrow{color:var(--gold);}
.contact .section-title{color:var(--creme);}
.contact .section-lead{color:rgba(242,238,231,.78);}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.contact__details{list-style:none;margin:34px 0 28px;padding:0;display:grid;gap:10px;}
.contact__details li,.contact__details a{font-size:1.15rem;color:var(--creme);}
.contact__details a:hover{color:var(--gold);}
.contact__social{display:flex;gap:22px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line-light);}
.contact__social a{font-size:.9rem;font-weight:600;color:rgba(242,238,231,.7);transition:color .25s;}
.contact__social a:hover{color:var(--gold);}

.contact__form{background:var(--creme);color:var(--ink);border-radius:0;padding:40px;}
.hp{position:absolute;left:-9999px;opacity:0;}
.field{margin-bottom:18px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--ink-70);margin-bottom:8px;}
.field .opt{color:var(--taupe);font-weight:400;}
.field input,.field select,.field textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:0;background:#fff;
  font-family:var(--sans);font-size:1rem;color:var(--ink);transition:border-color .25s,box-shadow .25s;
}
.field input::placeholder,.field textarea::placeholder{color:#b3a9a0;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(213,175,127,.22);}
.field textarea{resize:vertical;}
.form-note{font-size:.82rem;color:var(--taupe);margin:16px 0 0;text-align:center;}
.field-hint{position:relative;margin:10px 0 0;padding-left:17px;font-size:.86rem;line-height:1.5;color:var(--ink-70);}
.field-hint:empty{display:none;}
.field-hint::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--gold-deep);}
.field-hint.is-updating{animation:hintFade .35s var(--ease);}
@keyframes hintFade{from{opacity:0;transform:translateY(-3px);}to{opacity:1;transform:none;}}
.form-note.is-ok{color:#2e7d4f;font-weight:600;}
.form-note.is-err{color:#c0392b;font-weight:600;}

/* ---------- FAQ ---------- */
.faq-list{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:0 60px;align-items:start;}
.faq-col{display:flex;flex-direction:column;}
@media (max-width:760px){.faq-list{grid-template-columns:1fr;}}
.faq-item{border-bottom:1px solid rgba(14,27,41,.13);transition:border-color .3s;}
.faq-item:hover{border-color:rgba(189,143,89,.55);}
.faq-item summary{list-style:none;cursor:pointer;padding:24px 4px 24px 0;font-family:var(--serif);font-size:1.08rem;font-weight:500;line-height:1.35;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:20px;transition:color .25s;}
.faq-item summary:hover,.faq-item[open] summary{color:var(--gold-deep);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:var(--sans);font-size:1.5rem;font-weight:300;line-height:1;color:var(--gold-deep);transition:transform .35s var(--ease);flex:0 0 auto;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-body{padding:0 34px 26px 0;}
.faq-item[open] .faq-body{animation:faqOpen .35s var(--ease);}
@keyframes faqOpen{from{opacity:0;transform:translateY(-7px);}to{opacity:1;transform:none;}}
.faq-body p{margin:0;color:var(--ink-70);}
.faq-body p+p,.faq-body ul+p{margin-top:13px;}
.faq-body ul{margin:13px 0 0;padding-left:20px;}
.faq-body li{margin:7px 0;color:var(--ink-70);}
.faq-body strong{color:var(--navy);font-weight:700;}
.faq-body a{color:var(--gold-deep);font-weight:600;border-bottom:1px solid rgba(189,143,89,.4);}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--navy);color:rgba(242,238,231,.66);padding:80px 0 30px;border-top:1px solid var(--line-light);}
.site-footer__top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:44px;}
.site-footer__brand p{margin:18px 0 0;max-width:34ch;font-size:.95rem;color:rgba(242,238,231,.58);}
.site-footer__col h4{font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;}
.site-footer__col a,.site-footer__col span{display:block;font-size:.95rem;padding:5px 0;color:rgba(242,238,231,.7);transition:color .25s;}
.site-footer__col a:hover{color:var(--gold);}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line-light);font-size:.84rem;color:var(--taupe);}
.site-footer__totop:hover{color:var(--gold);}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  .hero__video{display:none;}
  .hero__scroll-line::after{animation:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .work-grid{grid-template-columns:repeat(2,1fr);}
  .quotes-grid{grid-template-columns:1fr;max-width:600px;margin-inline:auto;}
}
@media (max-width:860px){
  .main-nav,.header-cta{display:none;}
  .menu-toggle{display:flex;}
  .service,.service--reverse{grid-template-columns:1fr;gap:30px;}
  .service--reverse .service__visual{order:0;}
  .service__num{top:-22px;left:-8px;font-size:3.1rem;}
  .about__inner{grid-template-columns:1fr;gap:44px;}
  .about__media{max-width:460px;}
  .about__grid{grid-template-columns:1fr;gap:18px;}
  .contact__grid{grid-template-columns:1fr;gap:44px;}
  .pricing__grid{grid-template-columns:1fr;gap:40px;}
  .pricing__visual{max-width:520px;}
  .site-footer__top{grid-template-columns:1fr 1fr;gap:34px;}
}
@media (max-width:600px){
  .container{padding:0 24px;}
  .section{padding:68px 0;}
  .work-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}
  .stats{grid-template-columns:1fr 1fr;}
  .price-cards{grid-template-columns:1fr;}
  .price-band__note{text-align:left;max-width:none;}
  .field-row{grid-template-columns:1fr;}
  .site-footer__top{grid-template-columns:1fr;}
  .contact__form{padding:28px 22px;}
}
