/* =========================================================================
   Keturah Active Projects Map — brand override layer
   ─────────────────────────────────────────────────────────────────────────
   Loaded AFTER keturah-map.css. Re-tunes the panel + ambient nav/typography
   to the KETURAH locked system (Cormorant Garamond + Montserrat + gold
   #B8924E) without touching the map canvas/FX/animation mechanics. Adds
   the video-banner & logo-mark rules used by the panel.
   ========================================================================= */

/* Brand custom-properties — override the map 2 defaults inside .kt-hero/.kt-panel */
.kt-hero, .kt-panel, .kt-scrim {
  --kt-gold: #E5D2A3;
  --kt-gold-soft: #F0E1B8;
  --kt-paper: #ffffff;
  --kt-ink: #cfcfcf;
  --kt-line: rgba(229, 210, 163, 0.22);
}

/* ============ STRUCTURAL FOUNDATION ============
   The kt-hero / ktm-map / kt-fx / kt-pins layout primitives that were inline
   in the original map 2/index.html. Without these the hero collapses to its
   content height and the Leaflet container has no box, so no tiles render. */
.kt-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 560px;
  background: #000;
  overflow: hidden;
  isolation: isolate;
}
.kt-hero .ktm-map {
  position: absolute;
  inset: 0;
  background: #0a0a0c;
  z-index: 1;
}
.kt-hero .kt-fx {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.kt-hero .kt-pins {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.kt-hero .kt-pins .ktm-pin {
  position: absolute;
  pointer-events: auto;
  transition: opacity 0.55s ease;
}
.kt-hero .ktm-pin.is-hidden {
  opacity: 0 !important;
  pointer-events: none !important;
}
.kt-hero .ktm-pin.is-secondary {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}
.kt-hero .ktm-pin.is-secondary.is-near {
  opacity: 1;
  pointer-events: auto;
}
.kt-hero .ktm-pin.is-near .ktm-pin__card {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.kt-hero .leaflet-tile-pane { transition: opacity 1.1s ease; }
.kt-hero .leaflet-container {
  background: #000;
  font-family: "Montserrat", sans-serif;
}
.kt-hero .leaflet-control-attribution {
  background: rgba(0,0,0,0.4) !important;
  color: rgba(255,255,255,0.32) !important;
  font-size: 9px; letter-spacing: 0.04em;
}
.kt-hero .leaflet-control-attribution a {
  color: rgba(184,146,78,0.55) !important;
}
.kt-hero .leaflet-marker-icon { background: none; border: 0; }

/* Hide the panel's logo <img> until JS sets a real src (so the empty src
   doesn't show the browser's broken-image icon while the page is loading) */
.kt-panel__logo img:not([src]),
.kt-panel__logo img[src=""] {
  display: none;
}

/* Use the locked font system on every text element inside the map experience */
.kt-hero, .kt-panel {
  font-family: "Montserrat", "Helvetica Neue", system-ui, sans-serif;
}

/* ============ HERO captions/legend — Keturah brand typography ============ */
.kt-hero .ktm-caption {
  position: absolute;
  top: 50%; left: clamp(22px, 6vw, 76px);
  transform: translateY(-50%);
  z-index: 6;
  max-width: 520px;
  pointer-events: none;
}
.kt-hero .ktm-caption__eyebrow {
  font-family: "Montserrat", sans-serif;
  font-size: 10.5px; letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--kt-gold);
  margin: 0 0 18px;
}
.kt-hero .ktm-caption__title {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 78px);
  line-height: 1.02;
  color: #fff;
  margin: 0;
  letter-spacing: -0.005em;
}
.kt-hero .ktm-caption__title em { font-style: italic; color: var(--kt-gold-soft); }
.kt-hero .ktm-caption__hint {
  margin-top: 22px;
  font-family: "Montserrat", sans-serif;
  font-size: 11px; letter-spacing: 0.26em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.kt-hero .ktm-legend {
  position: absolute;
  left: clamp(22px, 6vw, 76px);
  bottom: clamp(76px, 12vh, 104px);
  z-index: 6;
  display: flex; align-items: flex-end; gap: 14px;
  pointer-events: none;
}
.kt-hero .ktm-legend__num {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: clamp(40px, 5vw, 64px);
  color: var(--kt-gold);
  line-height: 1;
  letter-spacing: 0.01em;
}
.kt-hero .ktm-legend__num sup {
  font-size: 0.5em; color: var(--kt-gold-soft);
  vertical-align: super;
}
.kt-hero .ktm-legend__label {
  font-family: "Montserrat", sans-serif;
  font-size: 10.5px; letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}

/* ============ PINS — keep the map style, retune label typography ============ */
.kt-hero .ktm-pin__name {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.01em;
  color: #fff;
}
.kt-hero .ktm-pin__area {
  font-family: "Montserrat", sans-serif;
  font-size: 10px; letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  margin-top: 3px;
}

/* Highlighted pin on project landing pages — visible always, brighter pulse */
.kt-hero .ktm-pin.is-highlighted {
  opacity: 1 !important; pointer-events: auto;
  z-index: 5;
}
.kt-hero .ktm-pin.is-highlighted .ktm-pin__dot {
  background: #F5E6C3;
  box-shadow: 0 0 22px rgba(245,230,195,0.95),
              0 0 56px rgba(229,210,163,0.55),
              0 0 110px rgba(229,210,163,0.30);
  transform: scale(1.7);
}
.kt-hero .ktm-pin.is-highlighted .ktm-pin__ring {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.4);
  border-color: rgba(245,230,195,0.85);
}
.kt-hero .ktm-pin.is-highlighted .ktm-pin__pulse {
  opacity: 1;
  border-color: rgba(245,230,195,0.85);
  animation: kt-highlight-pulse 2.4s cubic-bezier(.2,.7,.2,1) infinite !important;
}
@keyframes kt-highlight-pulse {
  0%   { transform: translate(-50%, -50%) scale(0.8); opacity: 0.85; }
  70%  { transform: translate(-50%, -50%) scale(3.6); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(3.6); opacity: 0; }
}
/* Always-visible label card on the highlighted pin so it invites a click */
.kt-hero .ktm-pin.is-highlighted .ktm-pin__card {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

/* ============ SCROLL CUE — same look but Montserrat caps ============ */
.kt-hero .kt-scrollcue {
  position: absolute;
  left: 50%; bottom: 28px;
  transform: translateX(-50%);
  z-index: 6;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  font-family: "Montserrat", sans-serif;
  font-size: 9.5px; letter-spacing: 0.4em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  pointer-events: none;
}
.kt-hero .kt-scrollcue::after {
  content: "";
  width: 1px; height: 42px;
  background: linear-gradient(var(--kt-gold), transparent);
  animation: kt-scrollcue-drop 2.4s ease-in-out infinite;
  transform-origin: top;
}
@keyframes kt-scrollcue-drop {
  0%, 100% { transform: scaleY(0.4); opacity: 0.4; }
  50%      { transform: scaleY(1); opacity: 1; }
}

/* ============ SCRIM + PANEL — Keturah locked system ============ */
.kt-scrim {
  position: fixed; inset: 0; z-index: 60;
  background: rgba(0,0,0,0.45);
  opacity: 0; pointer-events: none;
  transition: opacity 0.4s ease;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.kt-scrim.is-open { opacity: 1; pointer-events: auto; }

.kt-panel {
  position: fixed; top: 0; right: 0; z-index: 61;
  width: clamp(320px, 36vw, 520px);
  max-width: 100vw;
  height: 100vh; height: 100svh;
  background: #000;
  border-left: 1px solid var(--kt-line);
  box-shadow: -40px 0 90px rgba(0,0,0,0.7);
  transform: translateX(100%);
  transition: transform 0.65s cubic-bezier(.16,1,.3,1);
  display: flex; flex-direction: column;
  color: #fff;
}
.kt-panel.is-open { transform: translateX(0); }

.kt-panel__close {
  position: absolute; top: 18px; right: 20px; z-index: 4;
  background: rgba(0,0,0,0.55);
  border: 1px solid var(--kt-line);
  padding: 9px 16px; cursor: pointer;
  font-family: "Montserrat", sans-serif;
  font-size: 10px; letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #fff;
  display: flex; align-items: center; gap: 9px;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: color 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.kt-panel__close:hover {
  color: var(--kt-gold-soft);
  border-color: var(--kt-gold);
  background: rgba(184,146,78,0.10);
}

.kt-panel__scroll { flex: 1; overflow-y: auto; }
.kt-panel__inner { padding: 44px clamp(26px, 3vw, 44px) 36px; }

/* ============ Video banner + logo mark (project portfolio widget style) ============ */
.kt-panel__banner {
  position: relative; width: 100%; aspect-ratio: 16/10;
  background: #000;
  overflow: hidden;
  border-bottom: 1px solid var(--kt-line);
}
.kt-panel__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
/* Soft bottom gradient so the logo mark always reads against the video */
.kt-panel__banner::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.75) 100%);
  pointer-events: none;
}
.kt-panel__logo {
  position: absolute;
  left: clamp(20px, 3vw, 36px);
  bottom: clamp(14px, 2vh, 22px);
  z-index: 2;
  height: clamp(44px, 6vh, 64px);
  display: flex; align-items: center;
}
.kt-panel__logo img {
  max-height: 100%; max-width: 200px;
  width: auto;
  filter: brightness(0) invert(1);  /* monochrome white logo on dark banner */
}

/* ============ Panel body typography — Keturah locked ============ */
.kt-panel__eyebrow {
  font-family: "Montserrat", sans-serif;
  font-size: 10.5px; letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--kt-gold);
  margin: 0 0 14px;
}
.kt-panel__name {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.02;
  margin: 0;
  color: #fff;
  letter-spacing: -0.005em;
}
.kt-panel__tag {
  margin: 12px 0 28px;
  font-family: "Montserrat", sans-serif;
  font-size: 11px; letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.kt-panel__body {
  font-family: "Montserrat", sans-serif;
  font-size: 13.5px; line-height: 1.85;
  color: rgba(255,255,255,0.72);
  font-weight: 300;
  margin: 0 0 28px;
}

/* Minimalistic stats grid — icon · serif number · caps label.
   Replaces the old 4-cell dt/dd facts block. No background fills, no rules
   between items; the rhythm comes from typography + spacing alone. */
.kt-panel__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(14px, 2vw, 22px);
  margin: 0 0 32px;
  background: transparent;
  border: 0;
  padding: 0;
}
.kt-panel__facts .kt-stat {
  display: flex; flex-direction: column;
  align-items: flex-start;
  padding: 0;
  background: transparent;
}
.kt-panel__facts .kt-stat__icon {
  width: 16px; height: 16px;
  color: var(--kt-gold);
  margin-bottom: 10px;
  opacity: 0.92;
}
.kt-panel__facts .kt-stat__icon svg {
  width: 100%; height: 100%;
  display: block;
}
.kt-panel__facts .kt-stat__num {
  font-family: "Montserrat", "Helvetica Neue", system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 1.25;
  color: #fff;
  margin: 0 0 4px;
  letter-spacing: 0.01em;
  white-space: nowrap;          /* keep figures on one line */
  overflow: hidden;
  text-overflow: ellipsis;
}
.kt-panel__facts .kt-stat__label {
  font-family: "Montserrat", sans-serif;
  font-size: 8.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  line-height: 1.45;
}
/* On compact panels (project pages) keep the same 3-up grid but tighter */
.kt-panel.is-compact .kt-panel__facts {
  gap: clamp(12px, 1.6vw, 18px);
  margin-bottom: 24px;
}
@media (max-width: 600px) {
  .kt-panel__facts { grid-template-columns: 1fr 1fr; }
  .kt-panel__facts .kt-stat__num { font-size: 20px; }
}

/* CTA button → opens the project page */
.kt-panel__cta {
  display: inline-flex;
  align-items: center; gap: 12px;
  padding: 15px 26px;
  border: 1px solid var(--kt-gold);
  color: var(--kt-gold-soft);
  font-family: "Montserrat", sans-serif;
  font-size: 11px; letter-spacing: 0.26em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.35s ease, color 0.35s ease;
}
.kt-panel__cta:hover {
  background: var(--kt-gold);
  color: #0a0a0a;
}
.kt-panel__cta i {
  width: 16px; height: 1px; background: currentColor; position: relative;
}
.kt-panel__cta i::after {
  content: ""; position: absolute; right: 0; top: -2px;
  width: 5px; height: 5px;
  border-top: 1px solid currentColor; border-right: 1px solid currentColor;
  transform: rotate(45deg);
}

.kt-panel__coord {
  margin-top: 22px;
  font-family: "Montserrat", monospace;
  font-size: 10px; letter-spacing: 0.18em;
  color: rgba(255,255,255,0.35);
}

/* Footer nav inside panel (prev/next) */
.kt-panel__nav {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 15px clamp(20px, 3vw, 30px);
  border-top: 1px solid var(--kt-line);
  background: rgba(0,0,0,0.65);
}
.kt-panel__navbtn {
  background: none; border: 0; cursor: pointer; color: #fff;
  display: flex; align-items: center; gap: 10px;
  font-family: "Montserrat", sans-serif;
  font-size: 10px; letter-spacing: 0.24em;
  text-transform: uppercase;
  transition: color 0.3s ease;
  padding: 6px 2px;
}
.kt-panel__navbtn:hover { color: var(--kt-gold-soft); }
.kt-panel__count {
  font-family: "Cormorant Garamond", serif;
  font-size: 15px; letter-spacing: 0.12em;
  color: var(--kt-gold);
}
.kt-arrow {
  width: 18px; height: 1px; background: currentColor;
  position: relative; display: inline-block;
}
.kt-arrow::after {
  content: ""; position: absolute;
  width: 5px; height: 5px;
  border-top: 1px solid currentColor; border-right: 1px solid currentColor;
  top: -2px;
}
.kt-arrow--r::after { right: 0; transform: rotate(45deg); }
.kt-arrow--l::after { left: 0; transform: rotate(-135deg); }

@media (max-width: 560px) {
  .kt-panel { width: 100vw; }
}

/* RTL — flip the panel to the LEFT for AR */
html[dir="rtl"] .kt-panel {
  right: auto; left: 0;
  border-left: 0; border-right: 1px solid var(--kt-line);
  transform: translateX(-100%);
  box-shadow: 40px 0 90px rgba(0,0,0,0.7);
}
html[dir="rtl"] .kt-panel.is-open { transform: translateX(0); }
html[dir="rtl"] .kt-hero .ktm-caption,
html[dir="rtl"] .kt-hero .ktm-legend {
  left: auto;
  right: clamp(22px, 6vw, 76px);
}

/* ============ PIN VISIBILITY + CHAMPAGNE OVERRIDES ============ */
/* All pins visible by default (the engine default was 0.28 which read as
   barely-there dots; bumping to 0.72 makes the constellation legible). */
.kt-hero .ktm-pin {
  opacity: 0.72;
}
.kt-hero .ktm-pin:hover,
.kt-hero .ktm-pin.is-near,
.kt-hero .ktm-pin.is-highlighted {
  opacity: 1;
}
/* The is-secondary class is no longer applied by the JS, but if it ever is,
   make sure it still reads as a visible pin. */
.kt-hero .ktm-pin.is-secondary {
  opacity: 0.72 !important;
  pointer-events: auto !important;
}
/* The is-hidden class (added when panel is open & this isn't the active
   pin) wins — keep its !important above the others. */
.kt-hero .ktm-pin.is-hidden {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Re-tune the hardcoded warm-gold dot/ring/pulse to champagne */
.kt-hero .ktm-pin__dot {
  background: #E5D2A3;
  box-shadow: 0 0 0 0 rgba(229,210,163,0);
}
.kt-hero .ktm-pin__ring {
  border-color: rgba(229,210,163,0.55);
}
.kt-hero .ktm-pin__pulse {
  border-color: rgba(229,210,163,0.45);
}
.kt-hero .ktm-pin.is-near .ktm-pin__dot {
  box-shadow: 0 0 14px 2px rgba(229,210,163,0.7) !important;
}
.kt-hero .ktm-pin:hover .ktm-pin__dot {
  box-shadow: 0 0 22px 4px rgba(245,230,195,0.9) !important;
}
.kt-hero .ktm-pin__card {
  border-color: rgba(229,210,163,0.30);
}

/* ============ COMPACT MODE (project landing pages) ============ */
/* On a project page, kt-hero gets .is-compact: hide only the 08+ legend.
   The caption is REPURPOSED to hold the project's statement tagline
   (see "Compact map: project statement overlays the map" below). */
/* When the panel is in compact mode, hide the long description paragraph
   and show the directions list instead. The Explore Project CTA stays
   enabled so users can jump straight to the relevant project page from
   the footer map. */
.kt-panel.is-compact .kt-panel__body {
  display: none !important;
}
/* On compact panels, the CTA sits BELOW the directions list — pad it back
   in so it reads as a deliberate footer button, not a stray link. */
.kt-panel.is-compact .kt-panel__cta {
  margin-top: 6px;
}
.kt-panel:not(.is-compact) .kt-panel__directions {
  display: none !important;
}

/* ============ DIRECTIONS LIST (compact panel) ============ */
.kt-panel__directions {
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--kt-line);
}
.kt-panel__directions li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--kt-line);
}
.kt-panel__directions li strong {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.78);
}
.kt-panel__directions li span {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--kt-gold-soft);
  white-space: nowrap;
}

/* Hide the scroll-cue on project pages (compact mode) */
.kt-hero.is-compact .kt-scrollcue { display: none !important; }

/* ============ Project-hero-style typography on the developments map hero ============
   Same eyebrow + .h-hero scale as .project-hero on the other pages, but kept
   LEFT-anchored so the title clears the interactive map area. */
.kt-hero .ktm-caption {
  text-align: left;
  max-width: 640px;
}
.kt-hero .ktm-caption .eyebrow {
  display: block;
  margin: 0 0 18px;
  color: rgba(255,255,255,0.62);
}
.kt-hero .ktm-caption .h-hero {
  margin: 0;
  color: #fff;
  max-width: 640px;
  text-shadow: 0 1px 26px rgba(0,0,0,0.55);
}
.kt-hero .ktm-caption .h-hero em {
  font-style: italic;
  color: var(--kt-gold-soft);
}
/* Reveal: same fade-in cadence as .project-hero .ph-content (eyebrow + h1) */
.kt-hero .ktm-caption .eyebrow,
.kt-hero .ktm-caption .h-hero {
  opacity: 0;
  transform: translateY(18px);
  animation: kt-hero-rise 1.2s cubic-bezier(.16,.84,.32,1) forwards;
}
.kt-hero .ktm-caption .eyebrow { animation-delay: .4s; }
.kt-hero .ktm-caption .h-hero  { animation-delay: .6s; }
@keyframes kt-hero-rise { to { opacity: 1; transform: none; } }

/* ============ Scroll-down arrow — mirror of .project-hero .scroll-down ============ */
.kt-hero:not(.is-compact) .scroll-down {
  position: absolute;
  left: 50%;
  bottom: clamp(28px, 4vh, 48px);
  transform: translateX(-50%);
  z-index: 7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  cursor: pointer;
  opacity: 0;
  animation: rise 1.4s cubic-bezier(.16,.84,.32,1) 1.4s forwards;
  transition: opacity .6s ease;
}
.kt-hero:not(.is-compact) .scroll-down img {
  width: 18px;
  height: auto;
  transform: rotate(90deg);
  filter: brightness(0) invert(1);
  animation: scrollDown 2.4s cubic-bezier(.16,.84,.32,1) infinite;
}
.kt-hero:not(.is-compact) .scroll-down:hover img {
  animation-play-state: paused;
  transform: rotate(90deg) translateX(4px);
}
.kt-hero.is-compact .scroll-down { display: none !important; }

/* ============ Compact map: project statement overlays the map ============ */
.kt-hero.is-compact .ktm-caption {
  display: block;
  top: 50%;
  left: clamp(22px, 6vw, 76px);
  transform: translateY(-50%);
  max-width: clamp(420px, 46vw, 640px);
  text-align: left;
}
.kt-hero.is-compact .ktm-caption .statement { padding: 0; margin: 0; }
.kt-hero.is-compact .ktm-caption .statement h2 {
  font-family: var(--ff-serif, "Cormorant Garamond", serif);
  font-weight: 400;
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1.18;
  margin: 0;
  color: #fff;
  letter-spacing: 0;
  text-shadow: 0 1px 26px rgba(0,0,0,0.55);
}
.kt-hero.is-compact .ktm-caption .statement h2 span {
  display: block;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 1.1s cubic-bezier(.16,.84,.32,1),
              transform 1.1s cubic-bezier(.16,.84,.32,1);
}
.kt-hero.is-compact .ktm-caption .statement.is-visible h2 span:nth-child(1) { opacity: 1; transform: none; transition-delay: .05s; }
.kt-hero.is-compact .ktm-caption .statement.is-visible h2 span:nth-child(2) { opacity: 1; transform: none; transition-delay: .20s; }
.kt-hero.is-compact .ktm-caption .statement.is-visible h2 span:nth-child(3) { opacity: 1; transform: none; transition-delay: .35s; }
.kt-hero.is-compact .ktm-caption .statement h2 em { font-style: italic; color: var(--kt-gold-soft); }
@media (max-width: 480px) {
  .kt-hero.is-compact .ktm-caption { max-width: 86vw; }
  .kt-hero.is-compact .ktm-caption .statement h2 { font-size: clamp(22px, 6vw, 30px); }
}
