/* ===========================================================
   Tactive Games — delat designsystem
   Varm, luftig, självsäker premiumkänsla. Byggkvalitets-DNA
   (blueprint-skiss-motiv, Space Mono-etiketter) bevarat från
   tidigare version, men om till en storbilds-, sektionsdriven
   struktur med tydlig hyra/köp-segmentering.
   =========================================================== */

/* Self-hosted Archivo / Libre Franklin / Space Mono (latin + latin-ext).
   Downloaded from Google Fonts — no runtime requests to fonts.googleapis.com/fonts.gstatic.com. */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/libre-franklin-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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/space-mono-400-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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/space-mono-400-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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/space-mono-700-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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/space-mono-700-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;
}

:root{
  /* --- Neutral bas: vitt/grått/svart. Amber kvarstår som enda accentfärg --- */
  --paper:#F7F7F8; --paper-2:#ECECEF; --paper-3:#F4F4F6;
  --white:#FFFFFF;
  --ink:#131316; --ink-dim:#5B5B66;
  --amber:#C6551E; --amber-dim:#8F3B12; --amber-tint:#FBEAE0;
  --gray:#8A8A94;

  /* --- Semantiska token (golfstugan-inspirerad struktur, egna färger) --- */
  --bg-light: var(--paper);
  --bg-warm: #F0F0F2;
  --bg-white: var(--white);
  --bg-dark: #0E0E10;
  --fg: var(--ink);
  --fg-dim: var(--ink-dim);
  --fg-on-dark: #FFFFFF;
  --fg-on-dark-dim: #A3A3AD;
  --accent: var(--amber);
  --accent-dim: var(--amber-dim);
  --accent-tint: var(--amber-tint);
  --line: #D6D6DB;
  --line-soft: #E6E6EA;
  --line-soft-dark: #2A2A2E;
  --shadow-sm: 0 1px 2px rgba(20,20,25,.05), 0 4px 12px rgba(20,20,25,.06);
  --shadow-md: 0 4px 10px rgba(20,20,25,.06), 0 12px 32px rgba(20,20,25,.10);
  --shadow-lift: 0 10px 24px rgba(20,20,25,.10), 0 24px 56px rgba(20,20,25,.16);
  --shadow-btn: 0 2px 6px rgba(20,20,25,.14), 0 6px 16px rgba(20,20,25,.10);
  --shadow-btn-hover: 0 4px 10px rgba(20,20,25,.18), 0 12px 28px rgba(20,20,25,.14);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --ease: cubic-bezier(.2,.8,.2,1);
  --container: 1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
body{margin:0;padding:0;color:var(--fg);background:var(--bg-light);
  font-family:'Libre Franklin',sans-serif;font-size:16.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;}
img,video{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}

.wrap{max-width:var(--container);margin:0 auto;padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

h1,h2,h3,h4{font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:-0.01em;
  line-height:1.08;margin:0;color:var(--fg);}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--fg-on-dark);}
h2{font-size:clamp(1.9rem,3.2vw,2.7rem);}
h3{font-size:clamp(1.25rem,1.8vw,1.6rem);}
p{margin:0;}

.kick{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:.14em;color:var(--accent-dim);display:flex;align-items:center;gap:8px;}
.section-dark .kick{color:#E3A87C;}
.eyebrow-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;}

/* ===========================================================
   Sektioner: ljus/varm/vit/mörk växling
   =========================================================== */
section{padding:96px 0;position:relative;}
section.tight{padding:64px 0;}
@media (max-width:900px){ section{padding:64px 0;} section.tight{padding:44px 0;} }
.section-light{background:var(--bg-light);}
.section-warm{background:var(--bg-warm);}
.section-white{background:var(--bg-white);}
.section-dark{background:var(--bg-dark);color:var(--fg-on-dark);}
.section-dark p{color:var(--fg-on-dark-dim);}
.section-border-top{border-top:1.5px solid var(--line-soft);}
.section-dark.section-border-top{border-top-color:var(--line-soft-dark);}

.section-head{max-width:640px;margin:0 0 48px;}
.section-head .kick{margin-bottom:16px;}
.section-head p{margin-top:16px;color:var(--fg-dim);font-size:1.05rem;line-height:1.6;}
.section-dark .section-head p{color:var(--fg-on-dark-dim);}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .kick{justify-content:center;}

/* deco: bevarat blueprint-skiss-motiv, används sparsamt */
.deco{position:absolute;z-index:0;pointer-events:none;opacity:.14;color:var(--ink-dim);}
.deco.amber{color:var(--amber-dim);opacity:.18;}
.section-dark .deco{color:#4A4A52;opacity:.16;}
@media (prefers-reduced-motion:no-preference){
  .sketch-line{stroke-dasharray:1;stroke-dashoffset:1;animation:sketch-draw 2.4s var(--ease) forwards;}
}
@keyframes sketch-draw{to{stroke-dashoffset:0;}}
@media (max-width:900px){ .deco{display:none;} }

/* reveal-on-scroll, bevarat mönster — progressiv förbättring: utan JS (eller om
   scriptet av någon anledning inte kör) syns allt innehåll direkt, ostyled.
   .js sätts av en liten inline-script i <head> innan något annat laddar. */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.js .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ .js .reveal{opacity:1;transform:none;transition:none;} }

/* ===========================================================
   Knappar
   =========================================================== */
.btn{-webkit-appearance:none;appearance:none;margin:0;font:inherit;line-height:1.2;
  font-family:'Libre Franklin',sans-serif;font-weight:700;font-size:15px;
  padding:16px 30px;cursor:pointer;border:1.5px solid transparent;text-decoration:none;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;background:none;
  position:relative;overflow:hidden;border-radius:var(--radius-md);max-width:100%;text-align:center;
  box-shadow:var(--shadow-btn);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),
    transform .18s var(--ease),box-shadow .2s var(--ease);}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-btn-hover);}
.btn:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm);}
.btn-lg{padding:19px 36px;font-size:16px;border-radius:var(--radius-lg);}
.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink);}
.btn-primary::after{content:'';position:absolute;top:0;left:-60%;width:35%;height:100%;pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-20deg);
  transition:left .55s ease;}
.btn-primary:hover::after{left:130%;}
.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-accent:hover{background:var(--amber-dim);border-color:var(--amber-dim);}
.btn-ghost{background:var(--bg-white);color:var(--fg);border-color:var(--line);box-shadow:var(--shadow-sm);}
.btn-ghost:hover{background:var(--paper);border-color:var(--gray);}
.section-dark .btn-ghost{background:transparent;color:var(--fg-on-dark);border-color:#3A3A40;box-shadow:none;}
.section-dark .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#55555C;}
.btn-ghost-invert{background:rgba(14,14,16,.28);color:#fff;border-color:rgba(255,255,255,.6);box-shadow:none;backdrop-filter:blur(2px);}
.btn-ghost-invert:hover{background:rgba(14,14,16,.44);border-color:#fff;}
.section-dark .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;}
.section-dark .btn-primary:hover{background:var(--amber-dim);border-color:var(--amber-dim);}
.btn.is-loading{pointer-events:none;opacity:.85;}
.btn.is-loading::before{content:'';width:14px;height:14px;border:2px solid rgba(255,255,255,.4);
  border-top-color:currentColor;border-radius:50%;display:inline-block;animation:btn-spin .6s linear infinite;}
@keyframes btn-spin{to{transform:rotate(360deg);}}
.btn-arrow{transition:transform .2s var(--ease);}
.btn:hover .btn-arrow{transform:translateX(4px);}

/* ===========================================================
   Site-banner — tillfälligt, säsongsbundet meddelande överst
   =========================================================== */
.site-banner{background:var(--accent);color:#fff;text-align:center;font-size:13.5px;
  font-weight:600;line-height:1.5;padding:11px 46px;position:relative;}
.site-banner a{color:#fff;text-decoration:underline;text-underline-offset:2px;font-weight:800;}
.site-banner-close{position:absolute;right:6px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:#fff;opacity:.75;cursor:pointer;width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,opacity .15s;}
.site-banner-close:hover{opacity:1;background:rgba(255,255,255,.15);}
.site-banner-close svg{width:15px;height:15px;}
@media (max-width:640px){
  .site-banner{padding:10px 40px 10px 14px;font-size:12.5px;text-align:left;}
}

/* ===========================================================
   Header / Nav
   =========================================================== */
nav.site-nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);border-bottom:1.5px solid transparent;transition:box-shadow .25s var(--ease),border-color .25s var(--ease),padding .25s var(--ease);}
nav.site-nav .wrap{padding-left:44px;padding-right:44px;}
@media (max-width:700px){ nav.site-nav .wrap{padding-left:32px;padding-right:32px;} }
nav.site-nav.scrolled{border-bottom-color:var(--line-soft);box-shadow:var(--shadow-sm);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;
  transition:padding .25s var(--ease);}
nav.site-nav.scrolled .nav-inner{padding-top:13px;padding-bottom:13px;}
.brand{display:flex;align-items:center;flex-shrink:0;}
.brand img{height:34px;width:auto;display:block;}
.navlinks{display:flex;align-items:center;justify-content:center;flex:1;gap:56px;font-size:14px;font-weight:600;
  font-family:'Libre Franklin',sans-serif;}
.navlinks a{text-decoration:none;color:var(--fg);position:relative;padding:4px 0;}
.navlinks a::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--accent);transition:right .25s var(--ease);}
.navlinks a:hover::after,.navlinks a.active::after{right:0;}
.nav-cta{flex-shrink:0;}
.navlinks .nav-cta-mobile{display:none;}
.nav-toggle{display:none;background:var(--bg-white);border:1.5px solid var(--line);width:44px;height:44px;
  align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);}
.nav-toggle svg{width:20px;height:20px;}
.nav-toggle svg line{transition:transform .25s var(--ease),opacity .2s var(--ease);}
.nav-toggle svg line:nth-child(1){transform-origin:12px 6px;}
.nav-toggle svg line:nth-child(3){transform-origin:12px 18px;}
.nav-toggle[aria-expanded="true"] svg line:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] svg line:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] svg line:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.nav-scrim{display:none;position:fixed;inset:0;z-index:39;background:rgba(20,17,10,.6);opacity:0;
  transition:opacity .2s var(--ease);}
@media (max-width:860px){
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    flex-direction:column;align-items:stretch;gap:0;border-bottom:1.5px solid var(--line);
    box-shadow:var(--shadow-md);padding:8px 0;}
  .navlinks.nav-open{display:flex;}
  .navlinks a{padding:16px 24px;border-top:1px solid var(--line-soft);}
  .navlinks a:first-child{border-top:none;}
  .navlinks a::after{display:none;}
  .navlinks a:active{background:var(--amber-tint);}
  .navlinks .nav-cta-mobile{display:inline-flex;padding:16px 24px;border-top:1px solid var(--line-soft);}
  .nav-toggle{display:flex;}
  .nav-cta.desktop-only{display:none;}
  .nav-scrim.show{display:block;opacity:1;}
}

/* ===========================================================
   Hero — fullskärms video dominerar första intrycket
   =========================================================== */
.hero{position:relative;height:max(min(100svh,940px),min(62.5vw,1040px));min-height:560px;overflow:hidden;
  display:flex;align-items:flex-end;color:#fff;}
.hero-media{position:absolute;inset:0;z-index:0;background:var(--ink);overflow:hidden;}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
@media (min-width:701px){
  .hero-media{display:flex;align-items:center;justify-content:center;}
  .hero-media::before{content:'';position:absolute;inset:-5%;background-image:var(--hero-bg);
    background-size:cover;background-position:center;filter:blur(32px) brightness(.6) saturate(1.15);
    transform:scale(1.1);}
  .hero-media video{position:relative;z-index:1;height:min(96%,920px);width:auto;max-width:97%;
    object-fit:cover;box-shadow:0 30px 80px rgba(0,0,0,.45);border-radius:var(--radius-lg);}
}
.hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(14,14,16,.10) 0%, rgba(14,14,16,.20) 45%, rgba(14,14,16,.82) 100%);}
.hero-copy{position:relative;z-index:2;max-width:680px;padding-bottom:8vh;}
@media (min-width:1024px){
  .hero{align-items:center;}
  .hero::after{background:linear-gradient(180deg, rgba(14,14,16,.12) 0%, rgba(14,14,16,.1) 40%, rgba(14,14,16,.55) 100%);}
  .hero-media video{max-width:min(50vw,640px);}
  .hero-copy{max-width:none;width:100%;display:flex;justify-content:space-between;align-items:center;
    gap:24px;padding-bottom:0;}
  .hero-copy-left{max-width:clamp(170px,calc(45vw - 317px),400px);flex-shrink:0;}
  .hero-copy-right{max-width:clamp(150px,calc(45vw - 317px),360px);flex-shrink:0;text-align:left;}
  .hero-copy-right .hero-ctas{flex-wrap:wrap;}
}
.hero-copy .kick{color:#FFD9AE;margin-bottom:18px;}
.hero-copy .kick.eyebrow-dot::before{background:var(--accent);}
.hero h1{font-size:clamp(2.35rem,5vw,4.3rem);line-height:1.05;color:#fff;}
.hero-sub{margin-top:20px;font-size:clamp(1.02rem,1.35vw,1.22rem);line-height:1.6;color:rgba(255,255,255,.88);max-width:50ch;}
.hero-ctas{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
.hero-scroll-hint{position:absolute;z-index:2;left:50%;bottom:26px;transform:translateX(-50%);
  color:rgba(255,255,255,.75);opacity:.85;}
.hero-scroll-hint svg{width:22px;height:22px;}
@media (prefers-reduced-motion:no-preference){
  .hero-scroll-hint{animation:hero-bounce 2.2s ease-in-out infinite;}
}
@keyframes hero-bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(8px);}}
@media (max-width:900px){
  .hero{min-height:520px;}
  .hero-copy{padding-bottom:64px;}
}

/* ===========================================================
   Page-hero — kortare bildhero för undersidor (hyra/köpa/produkter)
   =========================================================== */
.page-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;}
.page-hero-media{position:absolute;inset:0;z-index:0;background:var(--ink);overflow:hidden;}
.page-hero-media::before{content:'';position:absolute;inset:-5%;background-image:var(--hero-bg);
  background-size:cover;background-position:center;filter:blur(32px) brightness(.6) saturate(1.15);
  transform:scale(1.1);}
.page-hero-media img,.page-hero-media video{position:relative;z-index:1;display:block;height:100%;width:auto;
  max-width:min(100%,1100px);margin:0 auto;object-fit:cover;box-shadow:0 30px 80px rgba(0,0,0,.45);}
.page-hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(14,14,16,.15) 0%, rgba(14,14,16,.35) 45%, rgba(14,14,16,.86) 100%);}
.page-hero-copy{position:relative;z-index:2;max-width:640px;padding-top:64px;padding-bottom:56px;}
@media (min-width:1024px){
  .page-hero{align-items:center;}
  .page-hero::after{background:linear-gradient(180deg, rgba(14,14,16,.12) 0%, rgba(14,14,16,.1) 40%, rgba(14,14,16,.5) 100%);}
  .page-hero-media img,.page-hero-media video{max-width:min(44vw,620px);}
  .page-hero-copy{max-width:none;width:100%;display:flex;justify-content:space-between;align-items:center;
    gap:24px;padding-top:0;padding-bottom:0;}
  .page-hero-copy-left{max-width:clamp(150px,calc(45vw - 308px),380px);flex-shrink:0;}
  .page-hero-copy-right{max-width:clamp(130px,calc(45vw - 308px),340px);flex-shrink:0;text-align:left;}
}
.page-hero-copy .kick{color:#FFD9AE;margin-bottom:16px;}
.page-hero-copy .kick.eyebrow-dot::before{background:var(--accent);}
.page-hero-copy h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;color:#fff;}
.page-hero-copy p{margin-top:16px;font-size:1.05rem;line-height:1.6;color:rgba(255,255,255,.88);max-width:56ch;}
.page-hero-ctas{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
@media (max-width:700px){ .page-hero{min-height:44vh;} }

/* ===========================================================
   Trust-rad
   =========================================================== */
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.trust-item{display:flex;align-items:flex-start;gap:14px;padding:26px 8px;
  border-top:1.5px solid var(--line-soft);}
.trust-item svg{width:24px;height:24px;flex-shrink:0;color:var(--accent);margin-top:2px;}
.trust-item p{font-size:15.5px;font-weight:600;line-height:1.4;}
@media (max-width:760px){
  .trust-row{grid-template-columns:1fr;gap:0;}
}

/* ===========================================================
   Vad letar du efter? — självsegmentering
   =========================================================== */
.segment-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.segment-choice{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-lg);
  overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);
  transition:box-shadow .3s var(--ease),transform .3s var(--ease);background:var(--bg-white);}
button.segment-choice{border:1px solid var(--line-soft);font:inherit;width:100%;padding:0;cursor:pointer;}
.segment-choice:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px);}
.segment-choice-media{aspect-ratio:5/4;overflow:hidden;}
.segment-choice-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.segment-choice:hover .segment-choice-media img{transform:scale(1.045);}
.segment-choice-body{padding:32px;flex:1;display:flex;flex-direction:column;}
.segment-choice-body h3{font-size:clamp(1.4rem,2vw,1.8rem);}
.segment-choice-body p{margin-top:12px;color:var(--fg-dim);font-size:15px;line-height:1.6;flex:1;}
.segment-choice-cta{margin-top:20px;display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:14.5px;color:var(--accent-dim);}
.segment-choice-cta svg{width:16px;height:16px;transition:transform .2s var(--ease);}
.segment-choice:hover .segment-choice-cta svg{transform:translateX(4px);}
@media (max-width:760px){ .segment-choice-grid{grid-template-columns:1fr;} }

/* ===========================================================
   Aktivitetsrutnät
   =========================================================== */
.activities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.activity-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-white);box-shadow:var(--shadow-sm);
  border:1px solid var(--line-soft);
  transition:box-shadow .3s var(--ease),transform .3s var(--ease);}
.activity-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.activity-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--paper-3);}
.activity-card-media img,.activity-card-media video{width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--ease);}
.activity-card:hover .activity-card-media img,.activity-card:hover .activity-card-media video{transform:scale(1.06);}
.activity-card-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:#fff;
  font-family:'Space Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;
  padding:6px 12px;border-radius:999px;box-shadow:var(--shadow-sm);}
.activity-card-ph{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;color:var(--fg-dim);background:repeating-linear-gradient(135deg,var(--paper-2) 0 2px,var(--paper-3) 2px 14px);
  border-bottom:1.5px dashed var(--line-soft);}
.activity-card-ph svg{width:30px;height:30px;opacity:.6;}
.activity-card-ph span{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
.activity-card-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.activity-card-avail{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.avail-tag{font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);background:var(--bg-white);}
.activity-card-body h3{font-size:1.15rem;}
.activity-card-body p{margin-top:8px;color:var(--fg-dim);font-size:14px;line-height:1.55;flex:1;}
.activity-card-cta{margin-top:16px;display:inline-flex;align-items:center;gap:7px;font-weight:700;
  font-size:13.5px;color:var(--accent-dim);}
.activity-card-cta svg{width:14px;height:14px;transition:transform .2s var(--ease);}
.activity-card:hover .activity-card-cta svg{transform:translateX(4px);}
@media (max-width:980px){ .activities-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .activities-grid{grid-template-columns:1fr;} }

/* ===========================================================
   Experience / produktfokus — storbild + text, växlande sida
   =========================================================== */
.split-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;}
.split-feature > *{min-width:0;}
.split-feature.reverse{grid-template-columns:1fr 1.15fr;}
.split-feature.reverse .split-feature-media{order:2;}
.split-feature.reverse .split-feature-body{order:1;}
.split-feature-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:6/5;min-width:0;}
.split-feature-media img,.split-feature-media video{width:100%;height:100%;object-fit:cover;}
.split-feature-body .kick{margin-bottom:16px;}
.split-feature-body h2{margin-bottom:0;}
.split-feature-body p.lead{margin-top:20px;font-size:1.08rem;line-height:1.65;color:var(--fg-dim);}
.split-feature-facts{margin-top:28px;display:flex;flex-direction:column;gap:0;border-top:1.5px solid var(--line-soft);}
.section-dark .split-feature-facts{border-top-color:var(--line-soft-dark);}
.split-feature-fact{display:flex;justify-content:space-between;gap:16px;padding:14px 0;
  border-bottom:1.5px solid var(--line-soft);font-size:14.5px;}
.section-dark .split-feature-fact{border-bottom-color:var(--line-soft-dark);}
.split-feature-fact dt{color:var(--fg-dim);font-family:'Space Mono',monospace;font-size:11.5px;
  text-transform:uppercase;letter-spacing:.04em;}
.section-dark .split-feature-fact dt{color:var(--fg-on-dark-dim);}
.split-feature-fact dd{margin:0;text-align:right;font-weight:600;}
.split-feature-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
@media (max-width:900px){
  .split-feature,.split-feature.reverse{grid-template-columns:1fr;gap:32px;}
  .split-feature.reverse .split-feature-media{order:1;}
  .split-feature.reverse .split-feature-body{order:2;}
  .split-feature-media{aspect-ratio:4/3;}
}

/* ===========================================================
   Fördelar — stora siffror
   =========================================================== */
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
.benefit-item{border-top:1.5px solid var(--line-soft);padding-top:22px;}
.section-dark .benefit-item{border-top-color:var(--line-soft-dark);}
.benefit-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:2.6rem;color:var(--accent);
  line-height:1;}
.benefit-item h3{margin-top:14px;font-size:1.1rem;}
.benefit-item p{margin-top:10px;color:var(--fg-dim);font-size:14.5px;line-height:1.6;}
.section-dark .benefit-item p{color:var(--fg-on-dark-dim);}
@media (max-width:900px){ .benefits-grid{grid-template-columns:repeat(2,1fr);gap:28px;} }
@media (max-width:560px){ .benefits-grid{grid-template-columns:1fr;} }

/* ===========================================================
   Segment-editorial (verksamheter)
   =========================================================== */
.segments-editorial{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto;gap:24px;}
.segment-tile{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:260px;
  display:flex;align-items:flex-end;color:var(--paper);text-decoration:none;}
.segment-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.segment-tile::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(14,14,16,0) 30%,rgba(14,14,16,.82) 100%);}
.segment-tile-body{position:relative;z-index:2;padding:26px 28px;}
.segment-tile-body h3{color:var(--paper);font-size:1.25rem;}
.segment-tile-body p{color:#D4D4D8;margin-top:8px;font-size:13.5px;max-width:36ch;}
.segment-tile.large{grid-row:span 2;min-height:544px;}
@media (max-width:900px){
  .segments-editorial{grid-template-columns:1fr;grid-template-rows:none;}
  .segment-tile.large{grid-row:auto;min-height:280px;}
}

/* ===========================================================
   Så fungerar det
   =========================================================== */
.process-tracks{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.process-track h3{font-size:1.05rem;margin-bottom:28px;}
.process-steps-big{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.process-steps-big li{display:flex;gap:22px;padding:22px 0;border-top:1.5px solid var(--line-soft);}
.process-steps-big li:last-child{border-bottom:1.5px solid var(--line-soft);}
.process-step-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.7rem;color:var(--accent);
  flex-shrink:0;width:52px;}
.process-step-body h3{font-size:1rem;font-weight:700;}
.process-step-body p{margin-top:6px;color:var(--fg-dim);font-size:14px;line-height:1.55;}
@media (max-width:820px){ .process-tracks{grid-template-columns:1fr;gap:40px;} }

/* ===========================================================
   Hyra-highlight
   =========================================================== */
.hyra-highlight{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-lift);}
.hyra-highlight-media{position:relative;aspect-ratio:auto;min-height:360px;}
.hyra-highlight-media img,.hyra-highlight-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hyra-highlight-body{background:var(--ink);color:var(--paper);padding:52px;display:flex;flex-direction:column;
  justify-content:center;}
.hyra-highlight-body .kick{color:#E3A87C;margin-bottom:16px;}
.hyra-highlight-body h2{color:var(--paper);}
.hyra-highlight-body p{margin-top:18px;color:#A3A3AD;font-size:1.02rem;line-height:1.6;max-width:44ch;}
.hyra-highlight-ctas{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
@media (max-width:900px){
  .hyra-highlight{grid-template-columns:1fr;}
  .hyra-highlight-media{min-height:260px;}
  .hyra-highlight-body{padding:36px 28px;}
}

/* ===========================================================
   Instagram — asymmetrisk editorial-grid, inte ett insticksprogram
   =========================================================== */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:120px;
  grid-auto-flow:dense;gap:6px;}
.insta-tile{overflow:hidden;display:block;background:var(--paper-3);position:relative;
  border-radius:var(--radius-md);grid-column:span 2;grid-row:span 2;}
.insta-tile:nth-child(6n+1){grid-column:span 3;grid-row:span 3;}
.insta-tile:nth-child(6n+4){grid-column:span 3;}
.insta-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease);}
.insta-tile:hover img{transform:scale(1.06);}
.insta-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,14,16,.55));
  opacity:0;transition:opacity .25s var(--ease);}
.insta-tile:hover::after{opacity:1;}
.insta-empty{grid-column:1/-1;padding:36px;text-align:center;color:var(--fg-dim);
  font-family:'Space Mono',monospace;font-size:12.5px;}
.insta-tile.placeholder{background:linear-gradient(100deg,var(--paper-2) 35%,var(--paper) 50%,var(--paper-2) 65%);
  background-size:220% 100%;}
@media (prefers-reduced-motion:no-preference){
  .insta-tile.placeholder{animation:img-shimmer 3.2s ease-in-out infinite;}
}
@keyframes img-shimmer{0%{background-position:200% 0;}100%{background-position:-20% 0;}}
.insta-follow{margin-top:26px;text-align:center;}
@media (max-width:760px){
  .insta-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:90px;}
  .insta-tile:nth-child(6n+1){grid-column:span 4;grid-row:span 2;}
  .insta-tile:nth-child(6n+4){grid-column:span 2;}
}
@media (max-width:900px){ .insta-grid{grid-template-columns:repeat(4,1fr);} }
@media (max-width:560px){ .insta-grid{grid-template-columns:repeat(3,1fr);} }

/* ===========================================================
   FAQ — inline accordion
   =========================================================== */
.faq-section-wrap{max-width:860px;margin:0 auto;}
.faq-list{border-top:1.5px solid var(--line-soft);}
.faq-item{border-bottom:1.5px solid var(--line-soft);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:none;border:none;text-align:left;padding:24px 4px;cursor:pointer;color:var(--fg);}
.faq-q span{font-size:1.05rem;font-weight:700;font-family:'Archivo',sans-serif;}
.faq-q-icon{width:22px;height:22px;flex-shrink:0;color:var(--accent);transition:transform .3s var(--ease);}
.faq-q[aria-expanded="true"] .faq-q-vert{transform:rotate(90deg);}
.faq-q-vert{transform-origin:center;transition:transform .3s var(--ease);}
.faq-a-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease);}
.faq-item.open .faq-a-wrap{grid-template-rows:1fr;}
.faq-a-inner{overflow:hidden;}
.faq-a-inner p{padding:0 4px 24px;color:var(--fg-dim);font-size:15px;line-height:1.65;max-width:66ch;}

/* Bevarad FAQ-FAB som snabbgenväg oavsett sida */
.faq-fab{position:fixed;bottom:26px;right:26px;z-index:35;width:52px;height:52px;border-radius:50%;
  background:var(--ink);color:var(--paper);border:none;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s var(--ease),background .2s var(--ease),bottom .25s var(--ease);}
.faq-fab:hover{transform:scale(1.06);background:var(--accent-dim);}
.faq-fab svg{width:24px;height:24px;}
@media (max-width:640px){
  .faq-fab{bottom:16px;right:16px;width:44px;height:44px;}
  .faq-fab svg{width:20px;height:20px;}
  .faq-fab.above-cookie-banner{bottom:172px;}
}

/* ===========================================================
   Slutlig CTA
   =========================================================== */
.final-cta{text-align:center;max-width:720px;margin:0 auto;}
.final-cta h2{font-size:clamp(2rem,4vw,3.1rem);}
.final-cta p{margin-top:18px;font-size:1.08rem;color:#A3A3AD;}
.final-cta-ctas{display:flex;justify-content:center;gap:16px;margin-top:36px;flex-wrap:wrap;}
.final-cta-phone{margin-top:22px;font-family:'Space Mono',monospace;font-size:14px;color:#A3A3AD;}
.final-cta-phone a{color:var(--paper);text-decoration:none;border-bottom:1.5px solid var(--accent);}

/* ===========================================================
   Footer
   =========================================================== */
footer.site-footer{background:var(--ink);color:#A3A3AD;padding:72px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:56px;
  border-bottom:1px solid var(--line-soft-dark);}
.footer-grid > div{min-width:0;}
.footer-brand img{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.92;}
.footer-brand p{margin-top:16px;font-size:14px;line-height:1.6;max-width:32ch;color:#A3A3AD;}
.footer-col-head{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:.08em;color:#E3A87C;margin-bottom:16px;}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.footer-links a{color:#A3A3AD;text-decoration:none;font-size:14.5px;display:block;padding:13px 0;}
.footer-links a:hover{color:var(--paper);}
.footer-links li:not(:has(a)){padding:13px 0;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  padding-top:24px;padding-bottom:24px;font-size:13px;color:#6B6B75;}
.footer-bottom-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-bottom-links a{color:#6B6B75;text-decoration:none;display:inline-block;padding:13px 0;}
.footer-bottom-links a:hover{color:var(--paper);}
.footer-social{display:flex;gap:12px;margin-top:16px;}
.footer-social a{width:36px;height:36px;border:1.5px solid var(--line-soft-dark);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#A3A3AD;text-decoration:none;
  transition:border-color .2s,color .2s;}
.footer-social a:hover{border-color:var(--accent);color:var(--paper);}
.footer-social svg{width:16px;height:16px;}
@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr 1fr;row-gap:36px;}
  .footer-brand{grid-column:1/-1;}
}
@media (max-width:640px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}

/* ===========================================================
   Breadcrumb (produktsidor)
   =========================================================== */
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:'Space Mono',monospace;font-size:12px;
  text-transform:uppercase;letter-spacing:.04em;color:var(--fg-dim);flex-wrap:wrap;padding:22px 0;}
.breadcrumb a{color:var(--fg-dim);text-decoration:none;}
.breadcrumb a:hover{color:var(--accent-dim);}
.breadcrumb-sep{opacity:.5;}
.breadcrumb-current{color:var(--fg);}

/* ===========================================================
   Galleri / lightbox (bevarat drag-mönster, restylat)
   =========================================================== */
.activity-gallery{position:relative;}
.activity-gallery-imgs{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;
  aspect-ratio:4/3;}
.activity-gallery-imgs::-webkit-scrollbar{display:none;}
.activity-gallery-imgs.dragging{cursor:grabbing;scroll-snap-type:none;}
.activity-gallery-imgs .activity-img{flex:0 0 88%;width:88%;height:100%;object-fit:cover;
  scroll-snap-align:start;user-select:none;border-radius:var(--radius-lg);}
.activity-gallery-progress{position:relative;height:3px;background:var(--line-soft);border-radius:2px;margin-top:12px;overflow:hidden;}
.activity-gallery-progress-bar{position:absolute;top:0;left:0;height:100%;width:25%;background:var(--accent);border-radius:2px;}

.lightbox-overlay{position:fixed;inset:0;z-index:60;background:rgba(20,17,10,.94);
  display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;
  transition:opacity .25s var(--ease),visibility 0s linear .25s;}
.lightbox-overlay.open{opacity:1;visibility:visible;transition:opacity .25s var(--ease);}
.lightbox-content{position:relative;max-width:min(90vw,960px);max-height:85vh;width:min(90vw,960px);
  transform:scale(.94);transition:transform .25s var(--ease);}
.lightbox-overlay.open .lightbox-content{transform:scale(1);}
.lightbox-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;border-radius:var(--radius-lg);cursor:grab;}
.lightbox-track::-webkit-scrollbar{display:none;}
.lightbox-track img{flex:0 0 100%;width:100%;max-height:78vh;object-fit:contain;scroll-snap-align:start;
  background:#000;}
.lightbox-progress{height:3px;background:rgba(255,255,255,.2);border-radius:2px;margin-top:14px;overflow:hidden;}
.lightbox-progress-bar{height:100%;width:0%;background:var(--accent);border-radius:2px;}
.lightbox-close{position:absolute;top:-18px;right:-18px;width:44px;height:44px;border-radius:50%;
  border:none;background:var(--paper);display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:var(--shadow-sm);z-index:3;}
.lightbox-close svg{width:16px;height:16px;color:var(--ink);}

/* ===========================================================
   Konfigurator — "Hitta rätt aktivitet"
   Delad fullskärmsöverlägg, injiceras en gång per sida via JS och
   öppnas från valfri plats (nav, hero, produktsidor, slut-CTA) med
   valfri förifylld kontext. Ersätter det tidigare platta formuläret.
   =========================================================== */
body.cfg-lock{overflow:hidden;}
body.nav-lock{overflow:hidden;}
.cfg-overlay{position:fixed;inset:0;z-index:80;background:rgba(14,14,16,.6);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s linear .25s;}
.cfg-overlay.open{opacity:1;visibility:visible;transition:opacity .25s var(--ease);}
.cfg-panel{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);
  width:min(640px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;
  transform:scale(.96) translateY(8px);transition:transform .25s var(--ease);}
.cfg-overlay.open .cfg-panel{transform:none;}
.cfg-head{padding:22px 26px 0;flex-shrink:0;}
.cfg-progress{height:4px;background:var(--paper-2);border-radius:2px;overflow:hidden;}
.cfg-progress-bar{display:block;height:100%;width:20%;background:var(--accent);transition:width .35s var(--ease);}
.cfg-headrow{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-bottom:14px;}
.cfg-stepcount{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);}
.cfg-close{background:var(--paper-3);border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--fg-dim);transition:background .2s var(--ease),color .2s var(--ease);}
.cfg-close:hover{background:var(--paper-2);color:var(--fg);}
.cfg-close svg{width:16px;height:16px;}
.cfg-body{padding:6px 26px 26px;overflow-y:auto;flex:1;
  transition:opacity .16s var(--ease), transform .16s var(--ease);}
.cfg-body.cfg-step-hidden-fwd{opacity:0;transform:translateX(-10px);}
.cfg-body.cfg-step-hidden-back{opacity:0;transform:translateX(10px);}
.cfg-step-title{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:6px;}
.cfg-step-desc{color:var(--fg-dim);font-size:13.5px;margin:0 0 18px;}
.cfg-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cfg-choice{position:relative;display:flex;align-items:center;gap:12px;border:1.5px solid var(--line-soft);
  background:var(--bg-white);padding:16px 18px;cursor:pointer;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .18s var(--ease);}
.cfg-choice:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.cfg-choice input{position:absolute;opacity:0;width:1px;height:1px;}
.cfg-choice-check{flex-shrink:0;width:18px;height:18px;border:2px solid var(--line-soft);background:var(--bg-white);
  border-radius:6px;}
.cfg-choice input[type="radio"] ~ .cfg-choice-check{border-radius:50%;}
.cfg-choice.is-selected{background:var(--accent-tint);border-color:var(--accent);}
.cfg-choice.is-selected .cfg-choice-check{border-color:var(--accent);background:var(--accent);}
.cfg-choice-label{font-family:'Archivo',sans-serif;font-weight:700;font-size:14.5px;}
.cfg-recommend-row{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
.cfg-recommend-btn{padding:10px 18px;font-size:13.5px;}
.cfg-activities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cfg-activity-card{position:relative;display:block;cursor:pointer;border:1.5px solid var(--line-soft);
  border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--bg-white);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .18s var(--ease);}
.cfg-activity-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.cfg-activity-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint), var(--shadow-md);}
.cfg-activity-card input{position:absolute;opacity:0;width:1px;height:1px;}
.cfg-activity-media{position:relative;aspect-ratio:4/3;display:block;background:var(--paper-3);}
.cfg-activity-media img{width:100%;height:100%;object-fit:cover;}
.cfg-activity-ph{width:100%;height:100%;background:var(--paper-2);}
.cfg-activity-tag{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font-size:9.5px;
  font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:999px;}
.cfg-activity-name{display:block;padding:10px 12px;font-size:12.5px;font-weight:700;text-align:center;}
.cfg-nav{display:flex;gap:12px;padding:18px 26px;border-top:1px solid var(--line-soft);flex-shrink:0;}
.cfg-nav .btn{flex:1;justify-content:center;}
.cfg-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:30px 10px;}
.cfg-done-check{width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:6px;}
.cfg-done h3{font-size:1.6rem;}
.cfg-done p{margin-top:6px;color:var(--fg-dim);font-size:14.5px;max-width:38ch;}

/* Delade fältstilar (återanvänds av konfiguratorns detalj-/kontaktsteg) */
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--fg-dim);margin-bottom:6px;display:block;}
.field input,.field textarea{width:100%;background:var(--bg-white);border:1.5px solid var(--line-soft);
  color:var(--ink);padding:13px 16px;font-family:'Libre Franklin',sans-serif;font-size:16px;border-radius:var(--radius-md);
  box-shadow:inset 0 1px 2px rgba(20,20,25,.04), 0 1px 2px rgba(20,20,25,.03);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.field input::placeholder,.field textarea::placeholder{color:var(--fg-dim);opacity:.55;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(198,85,30,.14), 0 2px 6px rgba(20,20,25,.06);}
.field textarea{resize:vertical;min-height:70px;}
.field.invalid input,.field.invalid textarea{border-color:#a43b3b;box-shadow:0 0 0 4px rgba(164,59,59,.12);}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
.form-status{margin:0;font-size:13.5px;text-align:center;font-weight:700;padding:0 26px 16px;}
.form-status.ok{color:var(--ink);}
.form-status.err{color:var(--amber-dim);}
.form-fallback{margin:0;font-size:12.5px;color:var(--fg-dim);text-align:center;}
.form-fallback a{color:var(--accent-dim);}
@media (max-width:640px){
  .cfg-choice-grid,.row2{grid-template-columns:1fr;}
  .cfg-activities-grid{grid-template-columns:repeat(2,1fr);}
  .cfg-panel{max-height:94vh;}
}

/* ===========================================================
   Cookie banner (bevarad)
   =========================================================== */
.cookie-banner{position:fixed;left:20px;bottom:20px;z-index:50;max-width:380px;background:var(--bg-white);
  border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-lift);
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s linear .3s;}
.cookie-banner.show{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease);}
.cookie-banner p{font-size:13.5px;line-height:1.55;color:var(--fg-dim);}
.cookie-banner a{color:var(--accent-dim);}
.cookie-banner-actions{display:flex;gap:10px;margin-top:16px;}
.cookie-banner-actions button{flex:1;padding:10px 14px;border:1.5px solid var(--line);background:var(--bg-white);
  cursor:pointer;font-weight:700;font-size:13px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);
  transition:box-shadow .2s var(--ease),transform .18s var(--ease);}
.cookie-banner-actions button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}
#cookie-accept{background:var(--ink);color:#fff;border-color:var(--ink);}
@media (max-width:640px){ .cookie-banner{left:12px;right:12px;bottom:12px;max-width:none;} }

/* ===========================================================
   Juridiskt innehåll (köpvillkor m.fl.)
   =========================================================== */
.legal{padding-top:52px;padding-bottom:84px;max-width:900px;}
.legal h1{font-size:clamp(28px,4vw,38px);margin:0 0 10px;}
.legal .updated{font-family:'Space Mono',monospace;font-size:12px;color:var(--fg-dim);margin:0 0 36px;}
.legal-lede{color:var(--fg-dim);font-size:15px;line-height:1.7;max-width:70ch;margin:0 0 40px;}
.legal-toc{border:1.5px solid var(--line-soft);background:var(--paper-3);border-radius:var(--radius-lg);padding:24px 28px;margin:0 0 48px;max-width:64ch;}
.legal-toc .kick{margin-bottom:14px;}
.legal-toc ol{margin:0;padding-left:20px;font-size:14px;line-height:2.1;}
.legal-toc a{text-decoration:none;color:var(--fg);transition:color .15s,padding-left .15s;}
.legal-toc a:hover{color:var(--accent-dim);padding-left:4px;}
.legal-body{max-width:72ch;}
.legal-section{margin-bottom:44px;padding-top:8px;border-top:1.5px solid var(--line-soft);}
.legal-section:first-child{border-top:none;padding-top:0;}
.legal-section h2{font-size:19px;text-transform:uppercase;margin:0 0 14px;scroll-margin-top:88px;}
.legal-section h3{font-size:15px;font-weight:700;margin:24px 0 8px;}
.legal-section p{color:var(--fg-dim);font-size:14.5px;line-height:1.75;margin:0 0 14px;}
.legal-section p:last-child{margin-bottom:0;}
.legal-section a{color:var(--accent-dim);}
.legal-note{border:1.5px solid var(--accent);background:var(--accent-tint);border-radius:var(--radius-md);padding:16px 20px;font-size:13.5px;color:var(--fg);line-height:1.6;margin:0 0 16px;}
@media (max-width:900px){ .legal-toc ol{columns:1;} }

/* Utility */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;
  padding:12px 20px;border-radius:0 0 var(--radius-md) 0;font-weight:700;text-decoration:none;font-size:14px;}
.skip-link:focus{left:0;}
