@font-face {
  font-family: Archivo;
  src: url('/assets/archivo.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Archivo;
  src: url('/assets/archivo-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root {
  --bg: #161616;
  --surface: #202020;
  --line: #3b3b3b;
  --text: #f3f3f3;
  --muted: #bcbcbc;
  --gold: #bf9c42;
  --gutter: max(28px, calc((100vw - 1440px) / 2));
  font-family: Archivo, Arial, sans-serif;
  font-synthesis: none;
  color-scheme: dark;
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
  scrollbar-color: #777 #202020;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
a, button, summary { -webkit-tap-highlight-color: #bf9c4240; }
::selection { background: var(--gold); color: #151515; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
[hidden] { display: none !important; }
img { max-width: 100%; display: block; }
p, h1, h2, h3, figure { margin: 0; }
p { color: var(--muted); }
p + p { margin-top: 14px; }
h1, h2, h3 { line-height: 1.14; font-weight: 600; letter-spacing: -.035em; }
h1 { font-size: clamp(34px, 4vw, 58px); }
h2 { font-size: 32px; }
h3 { font-size: 20px; letter-spacing: -.02em; }
.section { padding: 44px var(--gutter); border-top: 1px solid var(--line); }
.eyebrow { font-size: 11px; font-weight: 500; color: var(--gold); letter-spacing: .06em; margin-bottom: 16px; }
.icon { width: 18px; height: 18px; flex: 0 0 18px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 17px; border: 1px solid #d4b15b; border-radius: 4px; background: #c7a348; color: #141414; font-size: 13px; font-weight: 600; letter-spacing: .005em; box-shadow: none; transition: background .18s, border-color .18s, color .18s; }
.button:hover { background: #dfbd67; border-color: #e7cc87; }
.button:active { background: #b5913d; }
.button-outline { background: #ffffff04; color: #eee; border-color: #68604d; }
.button-outline:hover { background: #c7a34812; border-color: #c7a348; color: #efd38c; }
.button-outline .icon { color: #d4b15b; }
.button-contact { background: #32302b; border-color: #595241; color: #f4f1e9; }
.button-contact:hover { background: #403a2d; border-color: #b99b52; }
.button-contact .icon { color: #d4b15b; }
.text-link { display: inline-flex; padding: 6px 0; color: #d4b45d; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.text-link:hover { color: #f3d890; }
.skip { position: fixed; top: 8px; left: 8px; padding: 10px 16px; background: var(--gold); color: #151515; z-index: 500; transform: translateY(-180%); }
.skip:focus { transform: none; }
.preview-label { display: none; }
.header { position:sticky; top:0; z-index:100; height:72px; padding:0 var(--gutter); display:flex; align-items:center; gap:28px; border-bottom:1px solid #37352e; background:#111110f5; backdrop-filter:blur(16px); }
.logo { width:147px; flex-shrink:0; margin-left:16px; }
.logo img, .footer img { width:100%; height:auto; }
.primary-nav { display:flex; align-items:center; justify-content:center; gap:26px; margin-left:auto; font-size:13px; }
.primary-nav>a { display:flex; align-items:center; min-height:44px; white-space:nowrap; }
.header a:not(.button):hover { color:#e6c46b; }
.nav-actions { display:flex; align-items:center; gap:24px; margin-left:auto; font-size:13px; }
.nav-actions .shop { display:flex; align-items:center; gap:10px; min-height:44px; white-space:nowrap; }
.shop .icon { color:#cfab4d; width:21px; height:21px; }
.nav-disclosure { position:relative; border:0; }
.nav-disclosure>summary { font-size:inherit; display:flex; align-items:center; gap:8px; min-height:44px; padding:0; color:#d9d7d1; cursor:pointer; list-style:none; white-space:nowrap; }
.nav-disclosure>summary::-webkit-details-marker { display:none; }
.nav-disclosure>summary .icon { width:14px; height:14px; flex-basis:14px; color:#b9b6ac; transition:transform .15s; }
.nav-disclosure[open]>summary { color:#edce7e; }
.nav-disclosure[open]>summary .icon { transform:rotate(180deg); }
.nav-dropdown { position:absolute; top:calc(100% + 13px); left:-18px; z-index:110; min-width:255px; max-width:340px; padding:10px; border:1px solid #4e4839; border-radius:5px; background:#1c1c19; box-shadow:0 15px 35px #0007; max-height:calc(100svh - 110px); overflow-y:auto; overscroll-behavior:contain; }
.nav-dropdown a { display:block; padding:10px 12px; font-size:13px; line-height:1.5; border-radius:3px; }
.nav-dropdown a:hover, .nav-dropdown a:focus-visible { color:#eed28c; background:#302c21; }
.nav-dropdown .language-nav { display:block; }
.language-switch .nav-dropdown { left:auto; right:0; min-width:130px; }
.language-nav a[aria-current="true"] { color:#e6c46b; }
.menu-toggle { display: none; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 7px 0; border: 0; background: transparent; color: #e7e2d8; }
.menu-glyph { position: relative; width: 17px; height: 12px; }
.menu-glyph::before, .menu-glyph::after { content: ''; position: absolute; left: 0; width: 17px; height: 1px; background: #d4b15b; transition: transform .15s; }
.menu-glyph::before { top: 3px; }
.menu-glyph::after { bottom: 3px; }
.menu-toggle[aria-expanded='true'] .menu-glyph::before { transform: translateY(2.5px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] .menu-glyph::after { transform: translateY(-2.5px) rotate(-45deg); }
.mobile-menu { position: fixed; top: 72px; left: 12px; right: 12px; z-index: 101; padding: 8px 16px 14px; background: #20201ff7; backdrop-filter: blur(16px); border: 1px solid #665638; border-radius: 5px; box-shadow: 0 18px 36px #0008; }
.mobile-menu > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 45px; padding: 8px 0; font-size: 14px; border-bottom: 1px solid #ffffff13; }
.mobile-menu > a .icon { width: 15px; height: 15px; color: #c6aa69; }
.mobile-menu > a:hover { color: #edcf83; }
.mobile-menu .mobile-shop { display: flex; justify-content: flex-start; min-height: 42px; margin-top: 10px; padding: 8px 12px; border: 1px solid #716448; border-radius: 3px; background: #343027; font-size: 13px; }
.mobile-shop .icon:last-child { margin-left: auto; }
.section-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 24px; }
.section-intro p { font-size: 13px; }
.location-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.location-card { min-width:0; padding:20px; border:1px solid #3b3a35; border-radius:8px; background:#1e1e1b; scroll-margin-top:90px; }
.location-heading { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.location-heading h3 { font-size:25px; line-height:1.2; font-weight:650; }
.location-hours { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#d4d1c8; white-space:nowrap; }
.location-hours .icon { width:17px; height:17px; }
.location-address { display:flex; flex-direction:column; margin-top:10px; font-style:normal; font-size:13px; line-height:1.6; color:#dedad0; }
.location-map { height: 270px; margin: 16px 0; background: #626262; position: relative; isolation: isolate; overflow: hidden; border: 1px solid var(--line); }
.map-loading { padding: 20px; color: #f3f3f3; }
.location-map .leaflet-tile-pane { filter: grayscale(1) brightness(.78) contrast(1.15); }
.map-wheel-toggle { position: absolute; z-index: 700; top: 10px; right: 10px; max-width: calc(100% - 64px); padding: 8px 10px; border: 1px solid #716448; border-radius: 3px; background: #252525f2; color: #e2d4ad; font: 11px/1.4 'Archivo', sans-serif; }
.map-wheel-toggle:hover, .map-wheel-toggle[aria-pressed='true'] { border-color: var(--gold); color: #f2d98f; }
.location-map.wheel-active { border-color: var(--gold); }
@media (pointer: coarse) { .map-wheel-toggle { display: none; } }
.map-status { position: absolute; z-index: 700; bottom: 22px; left: 12px; right: 12px; background: #202020ef; border: 1px solid #5d5033; padding: 9px 12px; font-size: 11px; color: #e2d4ad; }
.map-status button { margin-left: 12px; padding: 4px 8px; background: #353129; border: 1px solid #b39345; border-radius: 3px; }
.location-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.phone { font-size: 17px; }
.phone:hover { color: var(--gold); }
.location-map a { color: #e1c475 !important; }
.location-map .leaflet-control-attribution { background: #202020ed !important; color: #ccc !important; font-size: 9px !important; }
.location-map .leaflet-control-zoom a { background: #202020; color: #e1c475 !important; border-color: #555; }
.location-map .leaflet-control-zoom a:hover { background: #373737; }
.location-map .leaflet-control-zoom a:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.vagen-map-pin { background: transparent; border: 0; }
.vagen-map-pin img { display: block; width: 50px; height: 50px; filter: drop-shadow(0 2px 4px #0009); }
.location-contact { display:flex; flex-direction:column; align-items:flex-start; gap:7px; margin-top:14px; }
.location-contact>a { display:inline-flex; align-items:center; gap:11px; min-height:26px; }
.location-contact .icon { width:18px; height:18px; color:#d8b653; flex-shrink:0; }
.location-contact .phone { font-size:25px; line-height:1.2; font-weight:500; white-space:nowrap; }
.location-email { color:#dfbc58; font-size:15px; text-underline-offset:4px; }
.location-email:hover { text-decoration:underline; }
@media (min-width:1101px) {
  .location-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:24px; }
  .location-summary .location-contact { margin-top:2px; }
}
.location-call { display: inline-flex; align-items: center; gap: 8px; color: #d9c38b; font-size: 13px; min-height: 40px; }
.location-request { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; padding-top: 24px; border-top: 1px solid #76603a; }
.location-request h3 { font-size: 22px; }
.location-request p { font-size: 13px; color: #bbb; margin-top: 5px; }
.footer { padding-top:36px; padding-bottom:24px; background:#111; font-size:12px; }
.footer-main { display:grid; grid-template-columns:1.35fr 1fr 1.1fr 1.2fr; gap:clamp(25px,4vw,70px); }
.footer-brand { min-width:0; }
.footer-logo { display:block; width:160px; margin-bottom:16px; }
.footer-brand>p { font-size:12px; line-height:1.7; color:#b8b4a9; }
.footer-email { display:inline-flex; align-items:center; gap:9px; color:#dfc174; margin-top:16px; min-height:30px; }
.footer-email .icon { width:16px; height:16px; }
.footer-contacts { display:flex; flex-direction:column; gap:5px; margin-top:10px; max-width:240px; }
.footer-contacts>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; }
.footer-contacts a { display:inline-flex; align-items:center; min-height:28px; }
.footer-contacts a:first-child { color:#bcb6a9; }
.footer-group { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.footer-group h2 { font-size:13px; font-weight:550; color:#dfc174; margin-bottom:10px; letter-spacing:.015em; }
.footer-group>a { display:flex; align-items:center; gap:12px; min-height:30px; font-size:12px; line-height:1.5; color:#cfccc3; }
.footer-group .footer-shop { color:#dfc174; margin-top:5px; }
.footer-shop .icon { width:16px; }
.footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:12px 24px; margin-top:28px; padding-top:16px; border-top:1px solid #35332c; color:#b5b0a3; font-size:11px; }
.footer-copyright { white-space:nowrap; }
.footer .footer-credit { display:flex; align-items:center; justify-content:center; gap:15px; min-height:44px; color:#bcb8ad; text-decoration:none; }
.footer-credit>span { font-size:13px; }
.footer-credit img { display:block; width:132px; height:auto; flex:none; }
.footer-credit>.icon { width:14px; height:14px; color:#c6ad78; transform:rotate(-45deg); flex:none; }
.footer-credit:focus-visible { outline:2px solid #dfbd62; outline-offset:5px; border-radius:2px; }
.footer-legal { justify-self:end; }
@media (max-width:1100px) {
 .footer-bottom { grid-template-columns:minmax(0,1fr) auto; }
 .footer-legal { grid-column:2; grid-row:1; }
 .footer .footer-credit { grid-column:1 / -1; grid-row:2; border-top:1px solid #35332c; padding-top:18px; }
}
.footer-bottom>div { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; }
.footer-bottom button { border:0; padding:4px 0; background:transparent; font:inherit; color:inherit; cursor:pointer; }
.footer a:hover { color: var(--gold); }
.footer-note, .image-credit { font-size:10px; line-height:1.6; color:#a19b8e; margin:8px 0 0; }
.article-hero { padding-top: 24px; padding-bottom: 24px; background: #202020; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 11px; color: var(--muted); margin-bottom: 16px; }
.article-hero h1 { font-size: clamp(26px, 2.7vw, 36px); }
.article-hero .lead { max-width: 800px; margin-top: 12px; font-size: 15px; }
.article-hero .eyebrow { display: none; }
.article-hero .button { margin-top: 16px; }
.article-layout { display: grid; grid-template-columns: 210px minmax(0, 850px); gap: 5vw; }
.article-layout aside { position: sticky; top: 100px; align-self: start; display: flex; flex-direction: column; gap: 12px; font-size: 12px; }
.article-layout aside p { color: var(--gold); font-size: 10px; margin-bottom: 6px; }
.article-layout aside a:hover { color: var(--gold); }
.article-copy > section + section { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
.article-copy h2 { font-size: 27px; margin-bottom: 18px; }
.article-copy p { font-size: 15px; line-height: 1.75; }
.article-tag { display: block; margin-bottom: 10px; font-size: 10px; color: var(--gold); }
.related, .article-callout { display: flex; flex-direction: column; gap: 10px; padding: 18px; background: #252525; margin-top: 20px; border-left: 2px solid #806b36; }
.related > span { font-size: 12px; color: var(--muted); }
.related strong { color: #d4b45d; font-size: 15px; font-weight: 500; }
.article-callout p { margin-top: 0; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { list-style: none; cursor: pointer; padding: 16px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 15px; }
summary::-webkit-details-marker { display: none; }
.faq-list summary > span { color: var(--gold); font-size: 22px; }
.faq-list details[open] summary > span { transform: rotate(45deg); }
details p { padding-bottom: 18px; font-size: 14px; }
.closing { display: flex; justify-content: space-between; align-items: center; gap: 30px; background: #242424; }
.closing h2 { font-size: 28px; }
.closing p { font-size: 14px; margin-top: 12px; max-width: 600px; }
.closing .button { flex-shrink: 0; }
@media (min-width:1201px) and (max-width:1450px) { .header { gap:20px; } .primary-nav { gap:18px; font-size:12px; } .nav-actions { gap:18px; font-size:12px; } }
@media (max-width: 900px) {
  :root { --gutter: 22px; }
  .header { gap: 20px; height: 64px; }
  .logo { margin-left:0; }
  .header .primary-nav, .nav-actions .shop { display: none; }
  .nav-actions { margin-left: auto; }
  .menu-toggle { display: flex; font-size: 12px; }
  .section { padding-top: 32px; padding-bottom: 32px; }
  .section-intro { align-items: start; flex-direction: column; gap: 10px; }
  .article-layout { grid-template-columns: 1fr; gap: 25px; }
  .article-layout aside { position: static; flex-direction: row; flex-wrap: wrap; padding-bottom: 20px; border-bottom: 1px solid var(--line); gap: 10px 20px; }
  .article-layout aside p { width: 100%; }
}
@media (max-width: 600px) {
  :root { --gutter: 18px; }
  .header { height: 60px; gap: 10px; }
  .logo { width: 112px; }
  .header .button { font-size: 11px; min-height: 34px; padding: 7px 10px; }
  .mobile-menu { top: 68px; }
  h2 { font-size: 27px; }
  .location-grid { grid-template-columns:1fr; gap:18px; }
  .location-card { padding:18px; }
  .location-heading h3 { font-size:24px; }
  .location-map { height: 240px; }
  .location-request { align-items: flex-start; flex-direction: column; gap: 15px; margin-top: 22px; padding-top: 20px; }
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 22px; }
  .footer-brand { grid-column:auto; }
  .footer-logo { width:min(140px,100%); }
  .footer-contacts { max-width:290px; }
  .footer-contacts>div { display:block; }
  .footer-contacts a { display:flex; min-height:24px; }
  .footer-group>a { font-size:11px; min-height:32px; overflow-wrap:anywhere; }
  .closing { flex-direction: column; align-items: start; gap: 18px; }
}
@media (max-width: 360px) { .menu-label { display: none; } .menu-toggle { min-width: 32px; } }
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .button, .menu-toggle { border: 1px solid ButtonText; }
  :focus-visible { outline-color: Highlight; }
  .vagen-map-pin { background: Canvas; color: CanvasText; border-color: CanvasText; }
}

/* Dropdowns become inline sections in the compact menu. */
.mobile-menu { max-height:calc(100dvh - 90px); overflow-y:auto; overscroll-behavior:contain; }
.mobile-menu .nav-disclosure { border-bottom:1px solid #ffffff13; }
.mobile-menu .nav-disclosure>summary { min-height:48px; justify-content:space-between; font-size:14px; }
.mobile-menu .nav-dropdown { position:static; max-width:none; min-width:0; max-height:none; border:0; border-left:1px solid #74623a; border-radius:0; padding:0 0 6px 10px; margin:0 0 12px 3px; box-shadow:none; background:transparent; overflow:visible; }
.mobile-menu .language-nav { display:flex; gap:22px; padding:12px 0 0; }
.mobile-menu .language-nav a { font-size:13px; padding:8px 0; }
@media(max-width:1200px) {
 .header { gap:18px; height:64px; }
 .header .primary-nav, .nav-actions .shop, .language-switch { display:none; }
 .nav-actions { margin-left:auto; }
 .menu-toggle { display:flex; font-size:12px; }
 .mobile-menu { top:72px; }
}
@media(max-width:600px) { .header { height:60px; gap:10px; } .mobile-menu { top:68px; } }

.website-announcement{padding:12px var(--gutter);background:#302b20;border-bottom:1px solid #907844;color:#f1ddb1;font-size:14px;text-align:center}.website-announcement[hidden]{display:none}
