/* ==========================================================================
   Fjelvik — design tokens, reset, primitives
   One file drives the whole template. Change a colour here, not in a page.
   ========================================================================== */

[data-khung="fjelvik"] {
  /* Ground + ink -------------------------------------------------------- */
  --fog:          #F3F4F1;   /* page ground — cool off-white               */
  --paper:        #FFFFFF;   /* cards, booking panel, inputs               */
  --fog-deep:     #E6E9E4;   /* hairlines on fog, tab track                */
  --line:         #DCE1DB;   /* input borders                              */
  --pine:         #101412;   /* headings, primary buttons (17.9:1 on fog)  */
  --pine-soft:    #3A423E;   /* body copy (10.2:1 on fog)                  */
  --pine-mute:    #66706B;   /* meta text (4.9:1 on fog)                   */
  --pine-night:   #0B1210;   /* footer / dark bands                        */

  /* The only colour: glacier melt, used as a FIELD not a mark ----------- */
  --glacier:      #D5E4E1;
  --glacier-hi:   #E6F0EE;
  --glacier-deep: #B9D0CB;

  /* Light ink that sits on photographs — never remap these in a dark band */
  --snow:         #FFFFFF;
  --snow-soft:    rgba(255, 255, 255, .82);
  --snow-line:    rgba(255, 255, 255, .34);

  /* Type ------------------------------------------------------------------ */
  --font-display: "SUSE", "Golos Text", system-ui, sans-serif;
  --font-body:    "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "Ubuntu Sans Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --text-xs:   .75rem;
  --text-sm:   .875rem;
  --text-base: 1rem;
  --text-md:   clamp(1.0625rem, 1rem + .25vw, 1.1875rem);
  --text-lg:   clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  --text-xl:   clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem);
  --text-2xl:  clamp(2rem, 1.5rem + 2vw, 3.25rem);
  --text-hero: clamp(2.6rem, 1.6rem + 3.6vw, 5rem);

  /* Space + shape --------------------------------------------------------- */
  --container: 1320px;
  --gutter:    clamp(1rem, .5rem + 2.4vw, 3rem);
  --section:   clamp(4rem, 3rem + 4vw, 7.5rem);

  --r-sm:   10px;
  --r-md:   18px;
  --r-lg:   28px;
  --r-pill: 999px;

  --shadow-card: 0 1px 2px rgba(16, 20, 18, .06), 0 18px 48px -18px rgba(16, 20, 18, .28);
  --shadow-lift: 0 30px 70px -30px rgba(16, 20, 18, .45);

  --ease:     cubic-bezier(.2, .7, .2, 1);
  --dur-fast: 160ms;
  --dur:      320ms;

  --z-header: 50;
  --z-menu:   60;
}

/* Reset ------------------------------------------------------------------- */
[data-khung="fjelvik"] *, [data-khung="fjelvik"]*, [data-khung="fjelvik"] *::before, [data-khung="fjelvik"]*::before, [data-khung="fjelvik"] *::after, [data-khung="fjelvik"]*::after { box-sizing: border-box; }
[data-khung="fjelvik"] { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
[data-khung="fjelvik"] {
  margin: 0;
  background: var(--fog);
  color: var(--pine-soft);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
[data-khung="fjelvik"] img, img[data-khung="fjelvik"], [data-khung="fjelvik"] svg, svg[data-khung="fjelvik"], [data-khung="fjelvik"] video, video[data-khung="fjelvik"] { display: block; max-width: 100%; }
[data-khung="fjelvik"] img, img[data-khung="fjelvik"] { height: auto; }
[data-khung="fjelvik"] h1, h1[data-khung="fjelvik"], [data-khung="fjelvik"] h2, h2[data-khung="fjelvik"], [data-khung="fjelvik"] h3, h3[data-khung="fjelvik"], [data-khung="fjelvik"] h4, h4[data-khung="fjelvik"] {
  margin: 0;
  color: var(--pine);
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
}
[data-khung="fjelvik"] p, p[data-khung="fjelvik"] { margin: 0; }
[data-khung="fjelvik"] a, a[data-khung="fjelvik"] { color: inherit; text-decoration: none; }
[data-khung="fjelvik"] button, button[data-khung="fjelvik"], [data-khung="fjelvik"] input, input[data-khung="fjelvik"], [data-khung="fjelvik"] select, select[data-khung="fjelvik"], [data-khung="fjelvik"] textarea, textarea[data-khung="fjelvik"] { font: inherit; color: inherit; }
[data-khung="fjelvik"] button, button[data-khung="fjelvik"] { cursor: pointer; }
[data-khung="fjelvik"] ul, ul[data-khung="fjelvik"], [data-khung="fjelvik"] ol, ol[data-khung="fjelvik"] { margin: 0; padding: 0; list-style: none; }
[data-khung="fjelvik"] :focus-visible, [data-khung="fjelvik"]:focus-visible { outline: 2px solid var(--pine); outline-offset: 3px; border-radius: 6px; }
[data-khung="fjelvik"] .on-photo :focus-visible, [data-khung="fjelvik"].on-photo :focus-visible { outline-color: var(--snow); }

@media (prefers-reduced-motion: reduce) {
  [data-khung="fjelvik"] { scroll-behavior: auto; }
  [data-khung="fjelvik"] *, [data-khung="fjelvik"]*, [data-khung="fjelvik"] *::before, [data-khung="fjelvik"]*::before, [data-khung="fjelvik"] *::after, [data-khung="fjelvik"]*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Layout primitives ------------------------------------------------------- */
[data-khung="fjelvik"] .container, [data-khung="fjelvik"].container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
[data-khung="fjelvik"] .section, [data-khung="fjelvik"].section { padding-block: var(--section); }
[data-khung="fjelvik"] .sr-only, [data-khung="fjelvik"].sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
[data-khung="fjelvik"] .skip, [data-khung="fjelvik"].skip {
  position: absolute; left: 1rem; top: -4rem; z-index: 100;
  background: var(--pine); color: var(--snow);
  padding: .7rem 1.1rem; border-radius: var(--r-pill);
  transition: top var(--dur-fast) var(--ease);
}
[data-khung="fjelvik"] .skip:focus, [data-khung="fjelvik"].skip:focus { top: 1rem; }

/* Labels ------------------------------------------------------------------ */
[data-khung="fjelvik"] .label, [data-khung="fjelvik"].label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--pine-mute);
}

/* Buttons ----------------------------------------------------------------- */
[data-khung="fjelvik"] .btn, [data-khung="fjelvik"].btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 48px; padding: .8rem 1.5rem;
  border: 1px solid transparent; border-radius: var(--r-pill);
  font-weight: 500; font-size: var(--text-base); line-height: 1;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
[data-khung="fjelvik"] .btn:active, [data-khung="fjelvik"].btn:active { transform: translateY(1px); }
[data-khung="fjelvik"] .btn--dark, [data-khung="fjelvik"].btn--dark  { background: var(--pine); color: var(--snow); }
[data-khung="fjelvik"] .btn--dark:hover, [data-khung="fjelvik"].btn--dark:hover { background: #26302B; }
[data-khung="fjelvik"] .btn--glacier, [data-khung="fjelvik"].btn--glacier { background: var(--glacier); color: var(--pine); }
[data-khung="fjelvik"] .btn--glacier:hover, [data-khung="fjelvik"].btn--glacier:hover { background: var(--glacier-deep); }
[data-khung="fjelvik"] .btn--ghost, [data-khung="fjelvik"].btn--ghost { border-color: var(--line); color: var(--pine); background: transparent; }
[data-khung="fjelvik"] .btn--ghost:hover, [data-khung="fjelvik"].btn--ghost:hover { border-color: var(--pine); }
[data-khung="fjelvik"] .btn--outline-snow, [data-khung="fjelvik"].btn--outline-snow { border-color: var(--snow-line); color: var(--snow); }
[data-khung="fjelvik"] .btn--outline-snow:hover, [data-khung="fjelvik"].btn--outline-snow:hover { background: var(--snow); color: var(--pine); border-color: var(--snow); }
[data-khung="fjelvik"] .btn--block, [data-khung="fjelvik"].btn--block { width: 100%; }

/* The tourex "pill + circle" call to action */
[data-khung="fjelvik"] .cta-orbit, [data-khung="fjelvik"].cta-orbit {
  display: inline-flex; align-items: center; gap: 0;
  border-radius: var(--r-pill);
  font-weight: 500;
}
[data-khung="fjelvik"] .cta-orbit__text, [data-khung="fjelvik"].cta-orbit__text {
  display: inline-flex; align-items: center;
  min-height: 60px; padding: 0 3.6rem 0 1.8rem;
  border-radius: var(--r-pill);
  background: var(--glacier); color: var(--pine);
  transition: background var(--dur-fast) var(--ease);
}
[data-khung="fjelvik"] .cta-orbit__dot, [data-khung="fjelvik"].cta-orbit__dot {
  display: grid; place-items: center;
  width: 60px; height: 60px; margin-left: -2.4rem;
  border-radius: 50%;
  background: var(--pine); color: var(--snow);
  box-shadow: 0 0 0 5px var(--glacier-hi);
  transition: transform var(--dur) var(--ease);
}
[data-khung="fjelvik"] .cta-orbit__dot svg, [data-khung="fjelvik"].cta-orbit__dot svg { width: 22px; height: 22px; }
[data-khung="fjelvik"] .cta-orbit:hover .cta-orbit__text, [data-khung="fjelvik"].cta-orbit:hover .cta-orbit__text { background: var(--glacier-deep); }
[data-khung="fjelvik"] .cta-orbit:hover .cta-orbit__dot, [data-khung="fjelvik"].cta-orbit:hover .cta-orbit__dot { transform: rotate(45deg); }

/* Form fields ------------------------------------------------------------- */
[data-khung="fjelvik"] .field, [data-khung="fjelvik"].field { display: grid; gap: .5rem; }
[data-khung="fjelvik"] .field__label, [data-khung="fjelvik"].field__label { font-size: var(--text-sm); color: var(--pine); font-weight: 500; }
[data-khung="fjelvik"] .input, [data-khung="fjelvik"].input {
  display: flex; align-items: center; gap: .65rem;
  width: 100%; min-height: 50px; padding: 0 1.1rem;
  background: var(--paper);
  border: 1px solid var(--line); border-radius: var(--r-pill);
  color: var(--pine); font-size: var(--text-sm);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
[data-khung="fjelvik"] .input svg, [data-khung="fjelvik"].input svg { width: 18px; height: 18px; flex: none; color: var(--pine-mute); }
[data-khung="fjelvik"] .input input, [data-khung="fjelvik"].input input, [data-khung="fjelvik"] .input select, [data-khung="fjelvik"].input select {
  flex: 1; min-width: 0; height: 48px;
  border: 0; background: transparent; outline: none;
  appearance: none; -webkit-appearance: none;
}
[data-khung="fjelvik"] .input:focus-within, [data-khung="fjelvik"].input:focus-within { border-color: var(--pine); box-shadow: 0 0 0 3px var(--glacier); }
[data-khung="fjelvik"] textarea.input, textarea[data-khung="fjelvik"].input { min-height: 140px; padding: 1rem 1.2rem; border-radius: var(--r-md); resize: vertical; }
/* ==========================================================================
   Fjelvik — site chrome + shared components
   header · menu · footer · section heads · destination tiles · tour cards ·
   chips · toast · reveal
   ========================================================================== */

/* Header ------------------------------------------------------------------ */
[data-khung="fjelvik"] .header, [data-khung="fjelvik"].header {
  position: absolute; inset: 0 0 auto; z-index: var(--z-header);
  padding-block: 1.4rem;
  color: var(--snow);
  transition: background var(--dur) var(--ease), padding var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);
}
[data-khung="fjelvik"] .header[data-header="photo"], [data-khung="fjelvik"].header[data-header="photo"] { position: fixed; }
/* Scrim so nav links stay legible over any photograph, bright rock included */
[data-khung="fjelvik"] .header[data-header="photo"]::before, [data-khung="fjelvik"].header[data-header="photo"]::before {
  content: ""; position: absolute; inset: 0 0 -40px; z-index: -1; pointer-events: none;
  background: linear-gradient(to bottom, rgba(6, 10, 8, .55), rgba(6, 10, 8, 0));
  transition: opacity var(--dur) var(--ease);
}
[data-khung="fjelvik"] .header[data-header="photo"].is-scrolled::before, [data-khung="fjelvik"].header[data-header="photo"].is-scrolled::before { opacity: 0; }
[data-khung="fjelvik"] .header__inner, [data-khung="fjelvik"].header__inner { position: relative; }
[data-khung="fjelvik"] .header[data-header="photo"].is-scrolled, [data-khung="fjelvik"].header[data-header="photo"].is-scrolled,
[data-khung="fjelvik"] .header[data-header="solid"], [data-khung="fjelvik"].header[data-header="solid"] {
  background: rgba(243, 244, 241, .92);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  color: var(--pine);
  box-shadow: 0 1px 0 var(--fog-deep);
}
[data-khung="fjelvik"] .header[data-header="photo"].is-scrolled, [data-khung="fjelvik"].header[data-header="photo"].is-scrolled { padding-block: .8rem; }
[data-khung="fjelvik"] .header[data-header="solid"], [data-khung="fjelvik"].header[data-header="solid"] { position: sticky; top: 0; }

[data-khung="fjelvik"] .header__inner, [data-khung="fjelvik"].header__inner { display: flex; align-items: center; gap: 2rem; }
[data-khung="fjelvik"] .brand, [data-khung="fjelvik"].brand { display: inline-flex; align-items: center; gap: .6rem; margin-right: auto; }
[data-khung="fjelvik"] .brand__mark, [data-khung="fjelvik"].brand__mark { width: 30px; height: 30px; }
[data-khung="fjelvik"] .brand__word, [data-khung="fjelvik"].brand__word {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1.55rem; letter-spacing: -.035em; line-height: 1;
}

[data-khung="fjelvik"] .nav, [data-khung="fjelvik"].nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.6vw, 2.75rem); }
[data-khung="fjelvik"] .nav a, [data-khung="fjelvik"].nav a {
  position: relative; padding-block: .4rem;
  font-size: var(--text-md); font-weight: 400;
}
[data-khung="fjelvik"] .nav a::after, [data-khung="fjelvik"].nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform var(--dur) var(--ease);
}
[data-khung="fjelvik"] .nav a:hover::after, [data-khung="fjelvik"].nav a:hover::after, [data-khung="fjelvik"] .nav a[aria-current="page"]::after, [data-khung="fjelvik"].nav a[aria-current="page"]::after { transform: scaleX(1); }
[data-khung="fjelvik"] .nav__signin-mobile, [data-khung="fjelvik"].nav__signin-mobile { display: none; }

[data-khung="fjelvik"] .header__tools, [data-khung="fjelvik"].header__tools { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
[data-khung="fjelvik"] .header__signin, [data-khung="fjelvik"].header__signin {
  min-height: 46px; padding-inline: 1.6rem;
  border-color: currentColor; color: inherit; background: transparent;
}
[data-khung="fjelvik"] .header__signin:hover, [data-khung="fjelvik"].header__signin:hover { background: var(--snow); color: var(--pine); border-color: var(--snow); }
[data-khung="fjelvik"] .header[data-header="solid"] .header__signin:hover, [data-khung="fjelvik"].header[data-header="solid"] .header__signin:hover,
[data-khung="fjelvik"] .header.is-scrolled .header__signin:hover, [data-khung="fjelvik"].header.is-scrolled .header__signin:hover { background: var(--pine); color: var(--snow); border-color: var(--pine); }

[data-khung="fjelvik"] .burger, [data-khung="fjelvik"].burger {
  display: none; position: relative; z-index: calc(var(--z-menu) + 1);
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid currentColor; background: transparent; color: inherit;
}
[data-khung="fjelvik"] .burger span, [data-khung="fjelvik"].burger span {
  position: absolute; left: 13px; right: 13px; height: 1.5px; background: currentColor;
  transition: transform var(--dur) var(--ease), top var(--dur) var(--ease);
}
[data-khung="fjelvik"] .burger span:first-child, [data-khung="fjelvik"].burger span:first-child { top: 18px; }
[data-khung="fjelvik"] .burger span:last-child, [data-khung="fjelvik"].burger span:last-child  { top: 26px; }
[data-khung="fjelvik"] .menu-open .burger, [data-khung="fjelvik"].menu-open .burger { color: var(--pine); }
[data-khung="fjelvik"] .menu-open .burger span:first-child, [data-khung="fjelvik"].menu-open .burger span:first-child { top: 22px; transform: rotate(45deg); }
[data-khung="fjelvik"] .menu-open .burger span:last-child, [data-khung="fjelvik"].menu-open .burger span:last-child  { top: 22px; transform: rotate(-45deg); }

@media (max-width: 960px) {
  [data-khung="fjelvik"] .burger, [data-khung="fjelvik"].burger { display: inline-block; }
  [data-khung="fjelvik"] .header__signin, [data-khung="fjelvik"].header__signin { display: none; }
  [data-khung="fjelvik"] .brand, [data-khung="fjelvik"].brand { margin-right: 0; }
  [data-khung="fjelvik"] .nav, [data-khung="fjelvik"].nav {
    position: fixed; inset: 0; z-index: var(--z-menu);
    flex-direction: column; align-items: flex-start; justify-content: center; gap: .4rem;
    padding: 6rem var(--gutter) 3rem;
    background: var(--fog); color: var(--pine);
    visibility: hidden; opacity: 0; transform: translateY(-12px);
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s var(--dur);
  }
  [data-khung="fjelvik"] .menu-open .nav, [data-khung="fjelvik"].menu-open .nav {
    visibility: visible; opacity: 1; transform: none;
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s 0s;
  }
  [data-khung="fjelvik"] .menu-open, [data-khung="fjelvik"].menu-open { overflow: hidden; }
  [data-khung="fjelvik"] .menu-open .brand, [data-khung="fjelvik"].menu-open .brand { position: relative; z-index: calc(var(--z-menu) + 1); color: var(--pine); }
  [data-khung="fjelvik"] .nav a, [data-khung="fjelvik"].nav a { font-family: var(--font-display); font-size: clamp(2rem, 8vw, 3rem); letter-spacing: -.03em; line-height: 1.25; }
  [data-khung="fjelvik"] .nav a::after, [data-khung="fjelvik"].nav a::after { display: none; }
  [data-khung="fjelvik"] .nav .nav__signin-mobile, [data-khung="fjelvik"].nav .nav__signin-mobile {
    display: inline-flex; margin-top: 1.5rem; padding: .9rem 1.6rem;
    font-family: var(--font-body); font-size: var(--text-base);
    background: var(--pine); color: var(--snow); border-radius: var(--r-pill);
  }
}

/* Section heads ----------------------------------------------------------- */
[data-khung="fjelvik"] .shead, [data-khung="fjelvik"].shead { display: grid; gap: 1rem; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
[data-khung="fjelvik"] .shead--center, [data-khung="fjelvik"].shead--center { justify-items: center; text-align: center; }
[data-khung="fjelvik"] .shead--split, [data-khung="fjelvik"].shead--split {
  grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1.5rem 3rem;
}
[data-khung="fjelvik"] .shead h2, [data-khung="fjelvik"].shead h2 { font-size: var(--text-2xl); max-width: 22ch; }
[data-khung="fjelvik"] .shead p:not(.label), [data-khung="fjelvik"].shead p:not(.label) { max-width: 52ch; color: var(--pine-mute); font-size: var(--text-md); }
@media (max-width: 720px) { [data-khung="fjelvik"] .shead--split, [data-khung="fjelvik"].shead--split { grid-template-columns: minmax(0, 1fr); } }

[data-khung="fjelvik"] .link-arrow, [data-khung="fjelvik"].link-arrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 500; color: var(--pine); white-space: nowrap;
}
[data-khung="fjelvik"] .link-arrow svg, [data-khung="fjelvik"].link-arrow svg { width: 18px; height: 18px; transition: transform var(--dur) var(--ease); }
[data-khung="fjelvik"] .link-arrow:hover svg, [data-khung="fjelvik"].link-arrow:hover svg { transform: translate(3px, -3px); }

/* Destination tile -------------------------------------------------------- */
[data-khung="fjelvik"] .dtile, [data-khung="fjelvik"].dtile {
  position: relative; display: block; overflow: hidden;
  min-height: 260px; border-radius: var(--r-md);
  color: var(--snow); background: var(--pine);
  isolation: isolate;
}
[data-khung="fjelvik"] .dtile img, [data-khung="fjelvik"].dtile img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
  transition: transform 900ms var(--ease);
}
[data-khung="fjelvik"] .dtile::after, [data-khung="fjelvik"].dtile::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to top, rgba(8, 12, 10, .72) 0%, rgba(8, 12, 10, .1) 48%, rgba(8, 12, 10, 0) 70%);
}
[data-khung="fjelvik"] .dtile:hover img, [data-khung="fjelvik"].dtile:hover img { transform: scale(1.05); }
[data-khung="fjelvik"] .dtile__meta, [data-khung="fjelvik"].dtile__meta { position: absolute; left: 1.25rem; bottom: 1.1rem; right: 1.25rem; display: grid; gap: .15rem; }
[data-khung="fjelvik"] .dtile__name, [data-khung="fjelvik"].dtile__name { font-family: var(--font-display); font-size: var(--text-lg); letter-spacing: -.02em; line-height: 1.2; }
[data-khung="fjelvik"] .dtile__place, [data-khung="fjelvik"].dtile__place { display: inline-flex; align-items: center; gap: .3rem; font-size: var(--text-xs); color: var(--snow-soft); }
[data-khung="fjelvik"] .dtile__place svg, [data-khung="fjelvik"].dtile__place svg { width: 13px; height: 13px; }
[data-khung="fjelvik"] .dtile__count, [data-khung="fjelvik"].dtile__count {
  position: absolute; top: 1rem; right: 1rem;
  padding: .35rem .7rem; border-radius: var(--r-pill);
  background: rgba(8, 12, 10, .5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .04em;
}

/* Tour card --------------------------------------------------------------- */
[data-khung="fjelvik"] .tgrid, [data-khung="fjelvik"].tgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
@media (max-width: 1024px) { [data-khung="fjelvik"] .tgrid, [data-khung="fjelvik"].tgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { [data-khung="fjelvik"] .tgrid, [data-khung="fjelvik"].tgrid { grid-template-columns: minmax(0, 1fr); } }

[data-khung="fjelvik"] .tcard, [data-khung="fjelvik"].tcard {
  position: relative; display: flex; flex-direction: column;
  background: var(--paper); border-radius: var(--r-lg); overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
[data-khung="fjelvik"] .tcard:hover, [data-khung="fjelvik"].tcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); }
[data-khung="fjelvik"] .tcard__media, [data-khung="fjelvik"].tcard__media { position: relative; margin: .6rem .6rem 0; border-radius: var(--r-md); overflow: hidden; aspect-ratio: 4 / 3; }
[data-khung="fjelvik"] .tcard__media img, [data-khung="fjelvik"].tcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease); }
[data-khung="fjelvik"] .tcard:hover .tcard__media img, [data-khung="fjelvik"].tcard:hover .tcard__media img { transform: scale(1.05); }
[data-khung="fjelvik"] .tcard__kind, [data-khung="fjelvik"].tcard__kind {
  position: absolute; top: .8rem; left: .8rem;
  padding: .35rem .75rem; border-radius: var(--r-pill);
  background: var(--glacier-hi); color: var(--pine);
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .04em;
}
[data-khung="fjelvik"] .tcard__body, [data-khung="fjelvik"].tcard__body { display: grid; gap: .55rem; padding: 1.1rem 1.35rem 1.35rem; flex: 1; }
[data-khung="fjelvik"] .tcard__place, [data-khung="fjelvik"].tcard__place { display: inline-flex; align-items: center; gap: .35rem; font-size: var(--text-sm); color: var(--pine-mute); }
[data-khung="fjelvik"] .tcard__place svg, [data-khung="fjelvik"].tcard__place svg { width: 15px; height: 15px; }
[data-khung="fjelvik"] .tcard__name, [data-khung="fjelvik"].tcard__name { font-size: var(--text-lg); line-height: 1.2; }
[data-khung="fjelvik"] .tcard__name a::after, [data-khung="fjelvik"].tcard__name a::after { content: ""; position: absolute; inset: 0; }
[data-khung="fjelvik"] .tcard__facts, [data-khung="fjelvik"].tcard__facts { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: var(--text-sm); color: var(--pine-soft); }
[data-khung="fjelvik"] .tcard__facts span, [data-khung="fjelvik"].tcard__facts span { display: inline-flex; align-items: center; gap: .35rem; }
[data-khung="fjelvik"] .tcard__facts svg, [data-khung="fjelvik"].tcard__facts svg { width: 15px; height: 15px; }
[data-khung="fjelvik"] .tcard__rating svg, [data-khung="fjelvik"].tcard__rating svg { color: var(--pine); }
[data-khung="fjelvik"] .tcard__rating small, [data-khung="fjelvik"].tcard__rating small { color: var(--pine-mute); font-size: inherit; }
[data-khung="fjelvik"] .tcard__foot, [data-khung="fjelvik"].tcard__foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--fog-deep);
}
[data-khung="fjelvik"] .tcard__price, [data-khung="fjelvik"].tcard__price { font-family: var(--font-display); font-size: var(--text-lg); color: var(--pine); letter-spacing: -.02em; }
[data-khung="fjelvik"] .tcard__price small, [data-khung="fjelvik"].tcard__price small { font-family: var(--font-body); font-size: var(--text-xs); color: var(--pine-mute); letter-spacing: 0; margin-right: .2rem; }
[data-khung="fjelvik"] .tcard__go, [data-khung="fjelvik"].tcard__go {
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
  background: var(--glacier); color: var(--pine);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur) var(--ease);
}
[data-khung="fjelvik"] .tcard__go svg, [data-khung="fjelvik"].tcard__go svg { width: 18px; height: 18px; }
[data-khung="fjelvik"] .tcard:hover .tcard__go, [data-khung="fjelvik"].tcard:hover .tcard__go { background: var(--pine); color: var(--snow); transform: rotate(45deg); }

/* Chips ------------------------------------------------------------------- */
[data-khung="fjelvik"] .chips, [data-khung="fjelvik"].chips { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-khung="fjelvik"] .chip, [data-khung="fjelvik"].chip {
  min-height: 42px; padding: 0 1.1rem; border-radius: var(--r-pill);
  border: 1px solid var(--line); background: var(--paper); color: var(--pine);
  font-size: var(--text-sm);
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
[data-khung="fjelvik"] .chip:hover, [data-khung="fjelvik"].chip:hover { border-color: var(--pine); }
[data-khung="fjelvik"] .chip[aria-pressed="true"], [data-khung="fjelvik"].chip[aria-pressed="true"] { background: var(--pine); border-color: var(--pine); color: var(--snow); }

/* Page hero for pages without a photo top --------------------------------- */
[data-khung="fjelvik"] .phead, [data-khung="fjelvik"].phead { padding-block: clamp(3rem, 2rem + 4vw, 5.5rem) clamp(2rem, 1.5rem + 2vw, 3rem); }
[data-khung="fjelvik"] .phead h1, [data-khung="fjelvik"].phead h1 { font-size: var(--text-hero); max-width: 16ch; }
[data-khung="fjelvik"] .phead p:not(.label), [data-khung="fjelvik"].phead p:not(.label) { margin-top: 1.1rem; max-width: 56ch; font-size: var(--text-md); color: var(--pine-mute); }
[data-khung="fjelvik"] .phead .label, [data-khung="fjelvik"].phead .label { margin-bottom: 1rem; }

/* Footer ------------------------------------------------------------------ */
[data-khung="fjelvik"] .footer, [data-khung="fjelvik"].footer {
  background: var(--pine-night); color: rgba(255, 255, 255, .72);
  padding-top: clamp(3.5rem, 3rem + 3vw, 6rem); overflow: hidden;
}
[data-khung="fjelvik"] .footer a:hover, [data-khung="fjelvik"].footer a:hover { color: var(--snow); }
[data-khung="fjelvik"] .footer__top, [data-khung="fjelvik"].footer__top {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr); gap: 3rem;
  padding-bottom: 3rem; border-bottom: 1px solid rgba(255, 255, 255, .12);
}
[data-khung="fjelvik"] .footer__title, [data-khung="fjelvik"].footer__title { font-family: var(--font-display); color: var(--snow); font-size: var(--text-xl); letter-spacing: -.025em; line-height: 1.15; }
[data-khung="fjelvik"] .footer__sub, [data-khung="fjelvik"].footer__sub { margin-top: .75rem; max-width: 42ch; }
[data-khung="fjelvik"] .subscribe, [data-khung="fjelvik"].subscribe { position: relative; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; max-width: 460px; }
[data-khung="fjelvik"] .subscribe input, [data-khung="fjelvik"].subscribe input {
  flex: 1 1 220px; min-height: 50px; padding: 0 1.2rem;
  border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .06); color: var(--snow);
}
[data-khung="fjelvik"] .subscribe input::placeholder, [data-khung="fjelvik"].subscribe input::placeholder { color: rgba(255, 255, 255, .5); }
[data-khung="fjelvik"] .subscribe input:focus, [data-khung="fjelvik"].subscribe input:focus { outline: none; border-color: var(--glacier); }
[data-khung="fjelvik"] .subscribe .form-note, [data-khung="fjelvik"].subscribe .form-note { flex-basis: 100%; min-height: 1.4em; font-size: var(--text-sm); color: var(--glacier); }
[data-khung="fjelvik"] .footer__cols, [data-khung="fjelvik"].footer__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
[data-khung="fjelvik"] .footer__h, [data-khung="fjelvik"].footer__h { color: rgba(255, 255, 255, .5); margin-bottom: 1rem; }
[data-khung="fjelvik"] .footer__cols li + li, [data-khung="fjelvik"].footer__cols li + li { margin-top: .55rem; }
[data-khung="fjelvik"] .footer address, [data-khung="fjelvik"].footer address { font-style: normal; line-height: 1.9; }
[data-khung="fjelvik"] .footer__word, [data-khung="fjelvik"].footer__word {
  margin: .05em 0 0; padding-bottom: .12em; text-align: center;
  font-family: var(--font-display); font-weight: 600; line-height: 1.05;
  font-size: calc((min(100vw, var(--container)) - 2 * var(--gutter)) / 3.7);
  /* Solid colour, not rgba: overlapping glyphs double-paint translucent ink. */
  letter-spacing: -.04em; color: #18221F;
  user-select: none;
}
[data-khung="fjelvik"] .footer__bottom, [data-khung="fjelvik"].footer__bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem;
  padding-block: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: var(--text-sm);
}
[data-khung="fjelvik"] .footer__bottom a, [data-khung="fjelvik"].footer__bottom a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
  [data-khung="fjelvik"] .footer__top, [data-khung="fjelvik"].footer__top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  [data-khung="fjelvik"] .footer__cols, [data-khung="fjelvik"].footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Toast ------------------------------------------------------------------- */
[data-khung="fjelvik"] .toast, [data-khung="fjelvik"].toast {
  position: fixed; left: 50%; bottom: 1.5rem; z-index: 90;
  transform: translateX(-50%);
  width: max-content; max-width: calc(100vw - 2rem);
  padding: .9rem 1.3rem; border-radius: var(--r-pill);
  background: var(--pine); color: var(--snow); font-size: var(--text-sm);
  box-shadow: var(--shadow-lift);
}

/* Form note + invalid ----------------------------------------------------- */
[data-khung="fjelvik"] .form-note, [data-khung="fjelvik"].form-note { font-size: var(--text-sm); color: var(--pine-soft); min-height: 1.4em; }
[data-khung="fjelvik"] .is-invalid, [data-khung="fjelvik"].is-invalid, [data-khung="fjelvik"] .input:has(.is-invalid), [data-khung="fjelvik"].input:has(.is-invalid) { border-color: #B3261E !important; box-shadow: 0 0 0 3px rgba(179, 38, 30, .12) !important; }

/* Reveal (only when JS has opted in and motion is allowed) ---------------- */
[data-khung="fjelvik"] .js-reveal [data-reveal], [data-khung="fjelvik"].js-reveal [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 800ms var(--ease), transform 800ms var(--ease); }
[data-khung="fjelvik"] .js-reveal [data-reveal].is-in, [data-khung="fjelvik"].js-reveal [data-reveal].is-in { opacity: 1; transform: none; }
/* ==========================================================================
   Fjelvik — page sections
   home · tours · 404 · (tour · about · contact appended below)
   ========================================================================== */

[data-khung="fjelvik"] .section--flush-top, [data-khung="fjelvik"].section--flush-top { padding-top: 0; }

/* ---------------------------------------------------------------- HOME --- */

/* Hero: photograph fills the section; the image and copy share one grid cell
   so nothing is sized by the image's intrinsic height. */
[data-khung="fjelvik"] .hero, [data-khung="fjelvik"].hero {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-rows: minmax(0, 1fr) auto;
  min-height: max(720px, 100svh);
  padding-top: clamp(7rem, 6rem + 4vw, 9.5rem);
  color: var(--snow);
  background: var(--pine-night);
}
[data-khung="fjelvik"] .hero__img, [data-khung="fjelvik"].hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
[data-khung="fjelvik"] .hero::after, [data-khung="fjelvik"].hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(6, 10, 8, .62) 0%, rgba(6, 10, 8, .28) 45%, rgba(6, 10, 8, .05) 70%),
    linear-gradient(to bottom, rgba(6, 10, 8, .45) 0%, rgba(6, 10, 8, 0) 26%, rgba(6, 10, 8, 0) 70%, rgba(6, 10, 8, .5) 100%);
}
[data-khung="fjelvik"] .hero__grid, [data-khung="fjelvik"].hero__grid {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 440px);
  align-items: center; gap: clamp(2rem, 4vw, 5rem);
  padding-bottom: 2.5rem;
}
[data-khung="fjelvik"] .hero__copy, [data-khung="fjelvik"].hero__copy { display: grid; gap: 1.5rem; justify-items: start; }
[data-khung="fjelvik"] .hero__eyebrow, [data-khung="fjelvik"].hero__eyebrow {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .45rem .9rem .45rem .6rem; border-radius: var(--r-pill);
  background: rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid var(--snow-line);
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .06em; text-transform: uppercase;
}
[data-khung="fjelvik"] .hero__dot, [data-khung="fjelvik"].hero__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--glacier); box-shadow: 0 0 0 4px rgba(213, 228, 225, .25); }
[data-khung="fjelvik"] .hero__title, [data-khung="fjelvik"].hero__title {
  color: var(--snow);
  font-size: var(--text-hero); line-height: 1.04; letter-spacing: -.045em; font-weight: 500;
  max-width: 11ch;
}
[data-khung="fjelvik"] .hero__sub, [data-khung="fjelvik"].hero__sub { max-width: 44ch; font-size: var(--text-md); color: var(--snow-soft); }
[data-khung="fjelvik"] .hero__copy .cta-orbit, [data-khung="fjelvik"].hero__copy .cta-orbit { margin-top: .75rem; }
[data-khung="fjelvik"] .hero .cta-orbit__dot, [data-khung="fjelvik"].hero .cta-orbit__dot { box-shadow: 0 0 0 5px rgba(255, 255, 255, .9); }

[data-khung="fjelvik"] .booking, [data-khung="fjelvik"].booking {
  justify-self: end; width: 100%;
  display: grid; gap: 1.15rem;
  padding: 1.25rem; border-radius: var(--r-lg);
  background: var(--paper); color: var(--pine);
  box-shadow: var(--shadow-lift);
}
[data-khung="fjelvik"] .booking__tabs, [data-khung="fjelvik"].booking__tabs {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem;
  padding: .3rem; border-radius: var(--r-pill); background: var(--fog);
}
[data-khung="fjelvik"] .booking__tabs button, [data-khung="fjelvik"].booking__tabs button {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 46px; border: 0; border-radius: var(--r-pill);
  background: transparent; color: var(--pine-mute); font-size: var(--text-sm);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
[data-khung="fjelvik"] .booking__tabs button svg, [data-khung="fjelvik"].booking__tabs button svg { width: 17px; height: 17px; }
[data-khung="fjelvik"] .booking__tabs button:hover, [data-khung="fjelvik"].booking__tabs button:hover { color: var(--pine); }
[data-khung="fjelvik"] .booking__tabs button[aria-selected="true"], [data-khung="fjelvik"].booking__tabs button[aria-selected="true"] { background: var(--paper); color: var(--pine); box-shadow: 0 2px 8px rgba(16, 20, 18, .08); }
[data-khung="fjelvik"] .booking__panel, [data-khung="fjelvik"].booking__panel { display: grid; gap: 1rem; padding-inline: .15rem; }
[data-khung="fjelvik"] .booking__panel[hidden], [data-khung="fjelvik"].booking__panel[hidden] { display: none; }
[data-khung="fjelvik"] .booking__row, [data-khung="fjelvik"].booking__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
[data-khung="fjelvik"] .booking__submit, [data-khung="fjelvik"].booking__submit { min-height: 54px; margin-top: .25rem; }
[data-khung="fjelvik"] .stepper output, [data-khung="fjelvik"].stepper output { flex: 1; font-size: var(--text-sm); }
[data-khung="fjelvik"] .stepper button, [data-khung="fjelvik"].stepper button {
  display: grid; place-items: center; width: 34px; height: 34px; flex: none;
  border: 1px solid var(--line); border-radius: 50%; background: var(--fog);
  font-size: 1.1rem; line-height: 1;
}
[data-khung="fjelvik"] .stepper button:hover, [data-khung="fjelvik"].stepper button:hover { border-color: var(--pine); }

[data-khung="fjelvik"] .hero__rail, [data-khung="fjelvik"].hero__rail { padding-bottom: 2rem; }
[data-khung="fjelvik"] .hero__rail span, [data-khung="fjelvik"].hero__rail span {
  display: block; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--snow) 0 34%, var(--snow-line) 34% 100%);
}

@media (max-width: 1024px) {
  [data-khung="fjelvik"] .hero__grid, [data-khung="fjelvik"].hero__grid { grid-template-columns: minmax(0, 1fr); }
  [data-khung="fjelvik"] .booking, [data-khung="fjelvik"].booking { justify-self: stretch; max-width: 560px; }
  [data-khung="fjelvik"] .hero__title, [data-khung="fjelvik"].hero__title { max-width: 13ch; }
}
@media (max-width: 480px) {
  [data-khung="fjelvik"] .booking__row, [data-khung="fjelvik"].booking__row { grid-template-columns: minmax(0, 1fr); }
  [data-khung="fjelvik"] .booking, [data-khung="fjelvik"].booking { padding: 1rem; }
  [data-khung="fjelvik"] .cta-orbit__text, [data-khung="fjelvik"].cta-orbit__text { min-height: 54px; }
  [data-khung="fjelvik"] .cta-orbit__dot, [data-khung="fjelvik"].cta-orbit__dot { width: 54px; height: 54px; }
}

/* Statement with inline photo pills */
[data-khung="fjelvik"] .statement, [data-khung="fjelvik"].statement { text-align: center; }
[data-khung="fjelvik"] .statement__line, [data-khung="fjelvik"].statement__line {
  max-width: 20ch; margin-inline: auto;
  font-size: clamp(2rem, 1.2rem + 3.4vw, 4.25rem);
  line-height: 1.34; letter-spacing: -.035em; font-weight: 400;
}
[data-khung="fjelvik"] .pill-img, [data-khung="fjelvik"].pill-img {
  display: inline-block; vertical-align: middle;
  width: 2.2em; height: .95em; margin: -.1em .08em 0;
  border-radius: var(--r-pill); overflow: hidden;
  background: var(--glacier);
}
[data-khung="fjelvik"] .pill-img--wide, [data-khung="fjelvik"].pill-img--wide { width: 2.6em; }
[data-khung="fjelvik"] .pill-img img, [data-khung="fjelvik"].pill-img img { width: 100%; height: 100%; object-fit: cover; }
[data-khung="fjelvik"] .statement__sub, [data-khung="fjelvik"].statement__sub { max-width: 58ch; margin: clamp(2rem, 4vw, 3rem) auto 0; font-size: var(--text-md); color: var(--pine-mute); }

/* Split: photo + stat ledger */
[data-khung="fjelvik"] .split, [data-khung="fjelvik"].split {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center; gap: clamp(2rem, 6vw, 6rem);
}
[data-khung="fjelvik"] .split__media, [data-khung="fjelvik"].split__media { position: relative; margin: 0; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 5; max-height: 680px; width: 100%; justify-self: start; }
[data-khung="fjelvik"] .split__media img, [data-khung="fjelvik"].split__media img { width: 100%; height: 100%; object-fit: cover; }
[data-khung="fjelvik"] .split__cap, [data-khung="fjelvik"].split__cap {
  position: absolute; left: 1rem; bottom: 1rem;
  padding: .45rem .8rem; border-radius: var(--r-pill); background: var(--paper);
}
[data-khung="fjelvik"] .split__cap .label, [data-khung="fjelvik"].split__cap .label { color: var(--pine); }
[data-khung="fjelvik"] .split__copy, [data-khung="fjelvik"].split__copy { display: grid; gap: 1.25rem; align-content: center; }
[data-khung="fjelvik"] .split__copy h2, [data-khung="fjelvik"].split__copy h2 { font-size: var(--text-2xl); max-width: 18ch; }
[data-khung="fjelvik"] .split__copy > p:not(.label), [data-khung="fjelvik"].split__copy > p:not(.label) { max-width: 48ch; color: var(--pine-mute); font-size: var(--text-md); }
[data-khung="fjelvik"] .ledger, [data-khung="fjelvik"].ledger { margin: 1rem 0 0; }
[data-khung="fjelvik"] .ledger div, [data-khung="fjelvik"].ledger div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding-block: 1.1rem; border-top: 1px solid var(--fog-deep);
}
[data-khung="fjelvik"] .ledger div:last-child, [data-khung="fjelvik"].ledger div:last-child { border-bottom: 1px solid var(--fog-deep); }
[data-khung="fjelvik"] .ledger dt, [data-khung="fjelvik"].ledger dt { order: 2; max-width: 12ch; text-align: right; font-size: var(--text-sm); color: var(--pine-mute); line-height: 1.3; }
[data-khung="fjelvik"] .ledger dd, [data-khung="fjelvik"].ledger dd { order: 1; margin: 0; font-family: var(--font-display); font-size: clamp(2.25rem, 1.6rem + 2vw, 3.4rem); line-height: 1.05; letter-spacing: -.04em; color: var(--pine); }
@media (max-width: 860px) {
  [data-khung="fjelvik"] .split, [data-khung="fjelvik"].split { grid-template-columns: minmax(0, 1fr); }
  [data-khung="fjelvik"] .split__media, [data-khung="fjelvik"].split__media { aspect-ratio: 4 / 3; }
}

/* Destination bento */
[data-khung="fjelvik"] .destinations, [data-khung="fjelvik"].destinations { background: var(--paper); border-radius: var(--r-lg) var(--r-lg) 0 0; }
[data-khung="fjelvik"] .bento, [data-khung="fjelvik"].bento {
  display: grid; gap: clamp(.75rem, 1.4vw, 1.1rem);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: clamp(220px, 20vw, 290px);
}
[data-khung="fjelvik"] .bento > :nth-child(1), [data-khung="fjelvik"].bento > :nth-child(1) { grid-column: span 5; }
[data-khung="fjelvik"] .bento > :nth-child(2), [data-khung="fjelvik"].bento > :nth-child(2) { grid-column: span 7; }
[data-khung="fjelvik"] .bento > :nth-child(3), [data-khung="fjelvik"].bento > :nth-child(3) { grid-column: span 12; }
[data-khung="fjelvik"] .bento > :nth-child(4), [data-khung="fjelvik"].bento > :nth-child(4) { grid-column: span 7; }
[data-khung="fjelvik"] .bento > :nth-child(5), [data-khung="fjelvik"].bento > :nth-child(5) { grid-column: span 5; }
@media (max-width: 760px) {
  [data-khung="fjelvik"] .bento, [data-khung="fjelvik"].bento { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 240px; }
  [data-khung="fjelvik"] .bento > *, [data-khung="fjelvik"].bento > * { grid-column: auto !important; }
}

/* Promises */
[data-khung="fjelvik"] .promises, [data-khung="fjelvik"].promises { background: var(--paper); padding-top: 0; border-radius: 0 0 var(--r-lg) var(--r-lg); }
[data-khung="fjelvik"] .promise-row, [data-khung="fjelvik"].promise-row {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  border-radius: var(--r-lg); background: var(--fog); overflow: hidden;
}
[data-khung="fjelvik"] .promise, [data-khung="fjelvik"].promise { display: grid; justify-items: center; text-align: center; gap: .8rem; padding: clamp(2rem, 3vw, 3rem) clamp(1.25rem, 2.5vw, 2.5rem); }
[data-khung="fjelvik"] .promise + .promise, [data-khung="fjelvik"].promise + .promise { border-left: 1px solid var(--fog-deep); }
[data-khung="fjelvik"] .promise__icon, [data-khung="fjelvik"].promise__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--glacier); color: var(--pine); }
[data-khung="fjelvik"] .promise__icon svg, [data-khung="fjelvik"].promise__icon svg { width: 24px; height: 24px; }
[data-khung="fjelvik"] .promise h3, [data-khung="fjelvik"].promise h3 { font-size: var(--text-lg); }
[data-khung="fjelvik"] .promise p, [data-khung="fjelvik"].promise p { max-width: 30ch; color: var(--pine-mute); font-size: var(--text-sm); }
@media (max-width: 760px) {
  [data-khung="fjelvik"] .promise-row, [data-khung="fjelvik"].promise-row { grid-template-columns: minmax(0, 1fr); }
  [data-khung="fjelvik"] .promise + .promise, [data-khung="fjelvik"].promise + .promise { border-left: 0; border-top: 1px solid var(--fog-deep); }
}

/* Quote over photograph */
[data-khung="fjelvik"] .quote-band, [data-khung="fjelvik"].quote-band {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-rows: minmax(0, 1fr);
  min-height: clamp(460px, 48vw, 640px);
  color: var(--snow); background: var(--pine-night);
}
[data-khung="fjelvik"] .quote-band__img, [data-khung="fjelvik"].quote-band__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
[data-khung="fjelvik"] .quote-band::after, [data-khung="fjelvik"].quote-band::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(6, 10, 8, .78), rgba(6, 10, 8, .15) 65%); }
[data-khung="fjelvik"] .quote-band__inner, [data-khung="fjelvik"].quote-band__inner { display: grid; align-items: end; }
[data-khung="fjelvik"] .quote-band figure, [data-khung="fjelvik"].quote-band figure { margin: 0; max-width: 760px; }
[data-khung="fjelvik"] .quote-band blockquote, [data-khung="fjelvik"].quote-band blockquote {
  margin: 0; font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.2rem + 2.2vw, 3rem); line-height: 1.2; letter-spacing: -.03em;
}
[data-khung="fjelvik"] .quote-band figcaption, [data-khung="fjelvik"].quote-band figcaption { margin-top: 1.25rem; color: var(--snow-soft); font-size: var(--text-sm); }
[data-khung="fjelvik"] .quote-band strong, [data-khung="fjelvik"].quote-band strong { color: var(--snow); font-weight: 500; }

/* Closer */
[data-khung="fjelvik"] .closer__card, [data-khung="fjelvik"].closer__card {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem;
  padding-block: clamp(2.5rem, 4vw, 4rem);
}
[data-khung="fjelvik"] .closer__card > div:first-child, [data-khung="fjelvik"].closer__card > div:first-child { display: grid; gap: .9rem; }
[data-khung="fjelvik"] .closer__card h2, [data-khung="fjelvik"].closer__card h2 { font-size: var(--text-2xl); max-width: 18ch; }
[data-khung="fjelvik"] .closer__actions, [data-khung="fjelvik"].closer__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-khung="fjelvik"] .closer__card, [data-khung="fjelvik"].closer__card {
  background: var(--glacier);
  border-radius: var(--r-lg);
  padding-inline: clamp(1.5rem, 4vw, 4rem);
  max-width: calc(var(--container) - 2 * var(--gutter));
  width: calc(100% - 2 * var(--gutter));
}
[data-khung="fjelvik"] .closer__card .btn--ghost, [data-khung="fjelvik"].closer__card .btn--ghost { border-color: rgba(16, 20, 18, .25); }
[data-khung="fjelvik"] .closer__card .btn--ghost:hover, [data-khung="fjelvik"].closer__card .btn--ghost:hover { border-color: var(--pine); }

/* ---------------------------------------------------------------- TOURS -- */
[data-khung="fjelvik"] .toolbar, [data-khung="fjelvik"].toolbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem;
  padding: 1rem; margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--paper); border-radius: var(--r-lg);
}
[data-khung="fjelvik"] .toolbar__right, [data-khung="fjelvik"].toolbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
[data-khung="fjelvik"] .range, [data-khung="fjelvik"].range { display: flex; align-items: center; gap: .75rem; font-size: var(--text-sm); color: var(--pine); }
[data-khung="fjelvik"] .range input, [data-khung="fjelvik"].range input { width: 160px; accent-color: var(--pine); }
[data-khung="fjelvik"] .range output, [data-khung="fjelvik"].range output { min-width: 5ch; font-family: var(--font-mono); }
[data-khung="fjelvik"] .sort, [data-khung="fjelvik"].sort { min-height: 42px; padding: 0 2.2rem 0 1rem; border-radius: var(--r-pill); border: 1px solid var(--line); background: var(--paper); font-size: var(--text-sm); }
[data-khung="fjelvik"] .results-meta, [data-khung="fjelvik"].results-meta { margin-bottom: 1rem; font-family: var(--font-mono); font-size: var(--text-sm); color: var(--pine-mute); }
[data-khung="fjelvik"] .empty, [data-khung="fjelvik"].empty { display: grid; justify-items: center; gap: 1rem; padding: 4rem 1rem; text-align: center; background: var(--paper); border-radius: var(--r-lg); }
[data-khung="fjelvik"] .empty[hidden], [data-khung="fjelvik"].empty[hidden] { display: none; }
[data-khung="fjelvik"] .empty h2, [data-khung="fjelvik"].empty h2 { font-size: var(--text-xl); }
[data-khung="fjelvik"] .tcard[hidden], [data-khung="fjelvik"].tcard[hidden] { display: none; }
[data-khung="fjelvik"] .dest-strip, [data-khung="fjelvik"].dest-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 900px) { [data-khung="fjelvik"] .dest-strip, [data-khung="fjelvik"].dest-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { [data-khung="fjelvik"] .dest-strip, [data-khung="fjelvik"].dest-strip { grid-template-columns: minmax(0, 1fr); } }

/* ------------------------------------------------------------------ 404 -- */
[data-khung="fjelvik"] .lost, [data-khung="fjelvik"].lost {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3rem, 6vw, 6rem);
}
[data-khung="fjelvik"] .lost__code, [data-khung="fjelvik"].lost__code { font-family: var(--font-mono); font-size: var(--text-sm); color: var(--pine-mute); letter-spacing: .08em; }
[data-khung="fjelvik"] .lost h1, [data-khung="fjelvik"].lost h1 { margin-top: 1rem; font-size: var(--text-hero); max-width: 12ch; }
[data-khung="fjelvik"] .lost p:not(.lost__code), [data-khung="fjelvik"].lost p:not(.lost__code) { margin-top: 1rem; max-width: 42ch; color: var(--pine-mute); font-size: var(--text-md); }
[data-khung="fjelvik"] .lost__actions, [data-khung="fjelvik"].lost__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
[data-khung="fjelvik"] .lost__media, [data-khung="fjelvik"].lost__media { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 5; max-height: 600px; width: 100%; justify-self: end; }
[data-khung="fjelvik"] .lost__media img, [data-khung="fjelvik"].lost__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 800px) { [data-khung="fjelvik"] .lost, [data-khung="fjelvik"].lost { grid-template-columns: minmax(0, 1fr); } [data-khung="fjelvik"] .lost__media, [data-khung="fjelvik"].lost__media { aspect-ratio: 16 / 10; } }

/* ==== INNER PAGES (tour · about · contact) ==== */

/* Photo page hero (tour, about) */
[data-khung="fjelvik"] .thero, [data-khung="fjelvik"].thero {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-rows: minmax(0, 1fr);
  min-height: clamp(480px, 62vh, 640px);
  color: var(--snow); background: var(--pine-night);
}
[data-khung="fjelvik"] .thero__img, [data-khung="fjelvik"].thero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
[data-khung="fjelvik"] .thero::after, [data-khung="fjelvik"].thero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(6, 10, 8, .82) 0%, rgba(6, 10, 8, .3) 50%, rgba(6, 10, 8, .35) 78%, rgba(6, 10, 8, .6) 100%); }
[data-khung="fjelvik"] .thero__inner, [data-khung="fjelvik"].thero__inner { display: grid; align-content: end; gap: 1.25rem; padding-top: 8rem; padding-bottom: clamp(2rem, 4vw, 3.5rem); }
[data-khung="fjelvik"] .thero h1, [data-khung="fjelvik"].thero h1 { color: var(--snow); font-size: var(--text-hero); line-height: 1.05; letter-spacing: -.045em; max-width: 15ch; }
[data-khung="fjelvik"] .thero__label, [data-khung="fjelvik"].thero__label { color: var(--snow-soft); }
[data-khung="fjelvik"] .crumbs, [data-khung="fjelvik"].crumbs { display: flex; flex-wrap: wrap; gap: .5rem; font-size: var(--text-sm); color: var(--snow-soft); }
[data-khung="fjelvik"] .crumbs a:hover, [data-khung="fjelvik"].crumbs a:hover { color: var(--snow); }
[data-khung="fjelvik"] .thero__facts, [data-khung="fjelvik"].thero__facts {
  display: flex; flex-wrap: wrap; gap: .75rem 2.5rem;
  padding-top: 1.25rem; border-top: 1px solid var(--snow-line);
}
[data-khung="fjelvik"] .thero__facts li, [data-khung="fjelvik"].thero__facts li { display: grid; gap: .2rem; font-size: var(--text-md); }
[data-khung="fjelvik"] .thero__facts .label, [data-khung="fjelvik"].thero__facts .label { color: var(--snow-soft); }

/* Tour detail layout */
[data-khung="fjelvik"] .tour, [data-khung="fjelvik"].tour { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
[data-khung="fjelvik"] .tour__main, [data-khung="fjelvik"].tour__main { display: grid; gap: clamp(2.5rem, 4vw, 3.5rem); }
[data-khung="fjelvik"] .tour__aside, [data-khung="fjelvik"].tour__aside { position: sticky; top: 6rem; }
@media (max-width: 960px) { [data-khung="fjelvik"] .tour, [data-khung="fjelvik"].tour { grid-template-columns: minmax(0, 1fr); } [data-khung="fjelvik"] .tour__aside, [data-khung="fjelvik"].tour__aside { position: static; } }

[data-khung="fjelvik"] .gallery, [data-khung="fjelvik"].gallery { display: grid; gap: .75rem; }
[data-khung="fjelvik"] .gallery__stage, [data-khung="fjelvik"].gallery__stage { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-lg); background: var(--fog-deep); }
[data-khung="fjelvik"] .gallery__thumbs, [data-khung="fjelvik"].gallery__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
[data-khung="fjelvik"] .gallery__thumbs button, [data-khung="fjelvik"].gallery__thumbs button { padding: 0; border: 2px solid transparent; border-radius: var(--r-md); overflow: hidden; background: none; opacity: .65; transition: opacity var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
[data-khung="fjelvik"] .gallery__thumbs button:hover, [data-khung="fjelvik"].gallery__thumbs button:hover { opacity: 1; }
[data-khung="fjelvik"] .gallery__thumbs button[aria-pressed="true"], [data-khung="fjelvik"].gallery__thumbs button[aria-pressed="true"] { opacity: 1; border-color: var(--pine); }
[data-khung="fjelvik"] .gallery__thumbs img, [data-khung="fjelvik"].gallery__thumbs img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

[data-khung="fjelvik"] .prose, [data-khung="fjelvik"].prose { display: grid; gap: 1rem; max-width: 64ch; }
[data-khung="fjelvik"] .prose h2, [data-khung="fjelvik"].prose h2, [data-khung="fjelvik"] .itinerary h2, [data-khung="fjelvik"].itinerary h2 { font-size: var(--text-xl); }
[data-khung="fjelvik"] .prose p, [data-khung="fjelvik"].prose p { font-size: var(--text-md); }

[data-khung="fjelvik"] .includes, [data-khung="fjelvik"].includes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 2rem; padding: clamp(1.5rem, 3vw, 2rem); border-radius: var(--r-lg); background: var(--glacier-hi); }
[data-khung="fjelvik"] .includes li, [data-khung="fjelvik"].includes li { position: relative; padding-left: 1.75rem; color: var(--pine); }
[data-khung="fjelvik"] .includes li::before, [data-khung="fjelvik"].includes li::before { content: ""; position: absolute; left: 0; top: .45em; width: 1rem; height: .55rem; border-left: 2px solid var(--pine); border-bottom: 2px solid var(--pine); transform: rotate(-45deg); }
@media (max-width: 560px) { [data-khung="fjelvik"] .includes, [data-khung="fjelvik"].includes { grid-template-columns: minmax(0, 1fr); } }

[data-khung="fjelvik"] .itinerary, [data-khung="fjelvik"].itinerary { display: grid; gap: 1.25rem; }
[data-khung="fjelvik"] .acc, [data-khung="fjelvik"].acc { border-top: 1px solid var(--fog-deep); }
[data-khung="fjelvik"] .acc h3, [data-khung="fjelvik"].acc h3 { font-size: inherit; font-family: var(--font-body); letter-spacing: 0; }
[data-khung="fjelvik"] .acc__btn, [data-khung="fjelvik"].acc__btn {
  position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.25rem;
  width: 100%; padding: 1.25rem 3rem 1.25rem 0; border: 0; border-bottom: 1px solid var(--fog-deep);
  background: none; text-align: left; color: var(--pine);
  font-family: var(--font-display); font-size: var(--text-lg); letter-spacing: -.02em; line-height: 1.25;
}
[data-khung="fjelvik"] .acc__btn .label, [data-khung="fjelvik"].acc__btn .label { min-width: 6.5ch; }
[data-khung="fjelvik"] .acc__btn::after, [data-khung="fjelvik"].acc__btn::after {
  content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--glacier); font-family: var(--font-body); font-size: 1.1rem;
  transition: transform var(--dur) var(--ease);
}
[data-khung="fjelvik"] .acc__btn[aria-expanded="true"]::after, [data-khung="fjelvik"].acc__btn[aria-expanded="true"]::after { transform: translateY(-50%) rotate(45deg); }
[data-khung="fjelvik"] .acc__panel, [data-khung="fjelvik"].acc__panel { padding: 0 3rem 1.5rem 0; border-bottom: 1px solid var(--fog-deep); margin-top: -1px; }
[data-khung="fjelvik"] .acc__panel p, [data-khung="fjelvik"].acc__panel p { max-width: 60ch; }

[data-khung="fjelvik"] .bookcard, [data-khung="fjelvik"].bookcard { display: grid; gap: 1rem; padding: 1.5rem; border-radius: var(--r-lg); background: var(--paper); box-shadow: var(--shadow-card); }
[data-khung="fjelvik"] .bookcard__price, [data-khung="fjelvik"].bookcard__price { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--pine); letter-spacing: -.035em; line-height: 1.1; }
[data-khung="fjelvik"] .bookcard__price small, [data-khung="fjelvik"].bookcard__price small { font-family: var(--font-body); font-size: var(--text-sm); color: var(--pine-mute); letter-spacing: 0; }
[data-khung="fjelvik"] .bookcard__fine, [data-khung="fjelvik"].bookcard__fine { font-size: var(--text-xs); color: var(--pine-mute); }

/* About */
[data-khung="fjelvik"] .story, [data-khung="fjelvik"].story { display: grid; gap: clamp(2rem, 4vw, 3rem); }
[data-khung="fjelvik"] .story__lead, [data-khung="fjelvik"].story__lead { font-size: clamp(1.6rem, 1.1rem + 2vw, 2.75rem); line-height: 1.25; letter-spacing: -.03em; font-weight: 400; max-width: 34ch; }
[data-khung="fjelvik"] .story__cols, [data-khung="fjelvik"].story__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; max-width: 880px; margin-left: auto; font-size: var(--text-md); }
@media (max-width: 700px) { [data-khung="fjelvik"] .story__cols, [data-khung="fjelvik"].story__cols { grid-template-columns: minmax(0, 1fr); } }

[data-khung="fjelvik"] .figures, [data-khung="fjelvik"].figures { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1rem, 2vw, 1.5rem); }
[data-khung="fjelvik"] .figures__media, [data-khung="fjelvik"].figures__media { border-radius: var(--r-lg); overflow: hidden; min-height: 360px; }
[data-khung="fjelvik"] .figures__media img, [data-khung="fjelvik"].figures__media img { width: 100%; height: 100%; object-fit: cover; }
[data-khung="fjelvik"] .figures__grid, [data-khung="fjelvik"].figures__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; }
[data-khung="fjelvik"] .figures__grid div, [data-khung="fjelvik"].figures__grid div { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: clamp(1.25rem, 2.5vw, 2rem); border-radius: var(--r-lg); background: var(--paper); }
[data-khung="fjelvik"] .figures__grid div:nth-child(2), [data-khung="fjelvik"].figures__grid div:nth-child(2) { background: var(--glacier); }
[data-khung="fjelvik"] .figures__grid div:nth-child(3), [data-khung="fjelvik"].figures__grid div:nth-child(3) { background: var(--pine); }
[data-khung="fjelvik"] .figures__grid div:nth-child(3) dt, [data-khung="fjelvik"].figures__grid div:nth-child(3) dt { color: rgba(255, 255, 255, .65); }
[data-khung="fjelvik"] .figures__grid div:nth-child(3) dd, [data-khung="fjelvik"].figures__grid div:nth-child(3) dd { color: var(--snow); }
[data-khung="fjelvik"] .figures__grid dt, [data-khung="fjelvik"].figures__grid dt { font-size: var(--text-sm); color: var(--pine-mute); }
[data-khung="fjelvik"] .figures__grid dd, [data-khung="fjelvik"].figures__grid dd { margin: 0; font-family: var(--font-display); font-size: clamp(2.5rem, 1.8rem + 2.6vw, 4.5rem); line-height: 1; letter-spacing: -.045em; color: var(--pine); }
@media (max-width: 800px) { [data-khung="fjelvik"] .figures, [data-khung="fjelvik"].figures { grid-template-columns: minmax(0, 1fr); } [data-khung="fjelvik"] .figures__media, [data-khung="fjelvik"].figures__media { aspect-ratio: 16 / 10; min-height: 0; } }

[data-khung="fjelvik"] .values, [data-khung="fjelvik"].values { background: var(--paper); }
[data-khung="fjelvik"] .values__list, [data-khung="fjelvik"].values__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); list-style: none; }
[data-khung="fjelvik"] .values__list li, [data-khung="fjelvik"].values__list li { display: grid; gap: .75rem; align-content: start; padding-top: 1.25rem; border-top: 2px solid var(--pine); }
[data-khung="fjelvik"] .values__list h3, [data-khung="fjelvik"].values__list h3 { font-size: var(--text-lg); }
[data-khung="fjelvik"] .values__list p, [data-khung="fjelvik"].values__list p { color: var(--pine-mute); }
@media (max-width: 800px) { [data-khung="fjelvik"] .values__list, [data-khung="fjelvik"].values__list { grid-template-columns: minmax(0, 1fr); } }

[data-khung="fjelvik"] .team, [data-khung="fjelvik"].team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
[data-khung="fjelvik"] .guide, [data-khung="fjelvik"].guide { display: grid; gap: .35rem; justify-items: start; padding: 1.5rem; border-radius: var(--r-lg); background: var(--paper); }
[data-khung="fjelvik"] .guide__avatar, [data-khung="fjelvik"].guide__avatar { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 1rem; border-radius: 50%; background: var(--glacier); color: var(--pine); font-family: var(--font-display); font-size: 1.25rem; font-weight: 500; }
[data-khung="fjelvik"] .guide h3, [data-khung="fjelvik"].guide h3 { font-size: var(--text-md); letter-spacing: -.01em; }
[data-khung="fjelvik"] .guide p, [data-khung="fjelvik"].guide p { font-size: var(--text-sm); color: var(--pine-mute); }
[data-khung="fjelvik"] .guide .label, [data-khung="fjelvik"].guide .label { margin-top: .75rem; }
@media (max-width: 960px) { [data-khung="fjelvik"] .team, [data-khung="fjelvik"].team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { [data-khung="fjelvik"] .team, [data-khung="fjelvik"].team { grid-template-columns: minmax(0, 1fr); } }

/* Contact */
[data-khung="fjelvik"] .contact, [data-khung="fjelvik"].contact { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
[data-khung="fjelvik"] .contact__form, [data-khung="fjelvik"].contact__form { display: grid; gap: 1.25rem; padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--r-lg); background: var(--paper); }
[data-khung="fjelvik"] .contact__form .btn, [data-khung="fjelvik"].contact__form .btn { justify-self: start; }
[data-khung="fjelvik"] .contact__row, [data-khung="fjelvik"].contact__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
[data-khung="fjelvik"] .contact__form input.input, [data-khung="fjelvik"].contact__form input.input, [data-khung="fjelvik"] .contact__form select.input, [data-khung="fjelvik"].contact__form select.input { padding-inline: 1.1rem; }
[data-khung="fjelvik"] .contact__size, [data-khung="fjelvik"].contact__size { border: 0; padding: 0; margin: 0; min-width: 0; }
[data-khung="fjelvik"] .contact__size legend, [data-khung="fjelvik"].contact__size legend { margin-bottom: .5rem; padding: 0; }
[data-khung="fjelvik"] .radio-chip, [data-khung="fjelvik"].radio-chip { position: relative; }
[data-khung="fjelvik"] .radio-chip input, [data-khung="fjelvik"].radio-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
[data-khung="fjelvik"] .radio-chip span, [data-khung="fjelvik"].radio-chip span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 1.2rem; border-radius: var(--r-pill); border: 1px solid var(--line); font-size: var(--text-sm); color: var(--pine); transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
[data-khung="fjelvik"] .radio-chip input:checked + span, [data-khung="fjelvik"].radio-chip input:checked + span { background: var(--pine); border-color: var(--pine); color: var(--snow); }
[data-khung="fjelvik"] .radio-chip input:focus-visible + span, [data-khung="fjelvik"].radio-chip input:focus-visible + span { outline: 2px solid var(--pine); outline-offset: 3px; }
[data-khung="fjelvik"] .contact__aside, [data-khung="fjelvik"].contact__aside { display: grid; gap: 1rem; }
[data-khung="fjelvik"] .contact__photo, [data-khung="fjelvik"].contact__photo { margin: 0; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4 / 3; }
[data-khung="fjelvik"] .contact__photo img, [data-khung="fjelvik"].contact__photo img { width: 100%; height: 100%; object-fit: cover; }
[data-khung="fjelvik"] .contact__card, [data-khung="fjelvik"].contact__card { display: grid; gap: .5rem; padding: 1.5rem; border-radius: var(--r-lg); background: var(--glacier); color: var(--pine); }
[data-khung="fjelvik"] .contact__card address, [data-khung="fjelvik"].contact__card address { font-style: normal; font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.3; letter-spacing: -.015em; }
[data-khung="fjelvik"] .contact__card a, [data-khung="fjelvik"].contact__card a { text-decoration: underline; text-underline-offset: 3px; }
[data-khung="fjelvik"] .contact__hours, [data-khung="fjelvik"].contact__hours { font-size: var(--text-sm); color: var(--pine-soft); }
[data-khung="fjelvik"] .faq, [data-khung="fjelvik"].faq { max-width: 880px; }
@media (max-width: 860px) { [data-khung="fjelvik"] .contact, [data-khung="fjelvik"].contact { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) { [data-khung="fjelvik"] .contact__row, [data-khung="fjelvik"].contact__row { grid-template-columns: minmax(0, 1fr); } }
