@import url("https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@600;700&family=Manrope:wght@400;500;600;700&display=swap");

:root {
  --ivory: #f3ead9;
  --petrol: #2c241c;
  --mkse: #6d7a52;
  --accent: #c45c38;
  --ink: #2c241c;
  --muted: #6e6458;
  --line: #cbbba4;
  --sheet: #f3ead9;
  --paper: #e6d7c0;
  --graphite: #2c241c;
  --orange: #c45c38;
  --orange-d: #9a4028;
  --green: #6d7a52;
  --green-s: #dfe4cc;
  --tint: #d8c9b0;
  --brass: #b08d57;
  --max: 1120px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; color-scheme: light; }
body {
  font-family: Manrope, "Segoe UI", sans-serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.55;
}
a { color: inherit; }
img { max-width: 100%; display: block; object-fit: cover; }
button, input, select, textarea { font: inherit; }

.wrap { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.hu-bar { height: 3px; background: var(--mkse); }

.site-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(44, 36, 28, 0.94);
  color: var(--ivory);
}
.nav {
  min-height: 66px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.brand {
  display: flex; align-items: center; gap: 10px; text-decoration: none;
  font-family: Manrope, "Segoe UI", sans-serif; font-weight: 600;
  letter-spacing: 0.01em; font-size: 0.82rem; line-height: 1.25;
  max-width: 14rem;
}
.brand-name { font-weight: 600; }
.nav-links { display: flex; gap: 12px; list-style: none; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.nav-links a {
  text-decoration: none; font-weight: 600; font-size: 0.86rem; color: var(--ivory);
}
.nav-links a.active, .nav-links a:hover { color: var(--mkse); }
.nav-me { border: 1px solid rgba(243,238,227,0.35); padding: 5px 10px; }
.nav-me:hover, .nav-links a.nav-me.active { border-color: var(--mkse); color: var(--mkse); }
.menu-toggle { display: none; background: none; border: 0; font-size: 1.4rem; cursor: pointer; color: var(--ivory); }

.stage {
  position: relative; min-height: 92vh; overflow: hidden; background: var(--petrol); color: var(--ivory);
}
.slides {
  position: absolute; inset: -4%;
  will-change: transform;
  transition: transform 0.12s linear;
}
.slides img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 32%;
  opacity: 1;
  animation: livecut 14s infinite;
}
.slides img:first-child { opacity: 1; }
.slides img:nth-child(2) { opacity: 0; animation-delay: 7s; }
.stage-vid {
  position: absolute; inset: -6%;
  width: 112%; height: 112%;
  object-fit: cover;
  object-position: center 32%;
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.stage.hot .stage-vid { opacity: 1; }
.stage.hot .slides img { animation-duration: 7s; }
.stage.hot .stage-copy h1 { animation: buzz 0.55s ease; }
@keyframes rumble {
  0%, 100% { transform: translate3d(0, 0, 0); }
  20% { transform: translate3d(-3px, 2px, 0); }
  40% { transform: translate3d(4px, -2px, 0); }
  60% { transform: translate3d(-2px, -3px, 0); }
  80% { transform: translate3d(3px, 1px, 0); }
}
@keyframes buzz {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0); }
  20% { transform: translate3d(-2px, 1px, 0) rotate(-1.2deg); }
  40% { transform: translate3d(2px, -2px, 0) rotate(1deg); }
  60% { transform: translate3d(-1px, 2px, 0) rotate(-0.6deg); }
  80% { transform: translate3d(1px, -1px, 0) rotate(0.8deg); }
}
@keyframes livecut {
  0% { opacity: 0; transform: scale(1.06) translate3d(-1.5%, 0, 0); }
  8% { opacity: 1; }
  42% { opacity: 1; }
  50% { opacity: 0; transform: scale(1.14) translate3d(2%, 0, 0); }
  100% { opacity: 0; }
}
.veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(44,36,28,0.12) 0%, rgba(44,36,28,0) 42%, rgba(44,36,28,0) 100%),
    linear-gradient(180deg, rgba(44,36,28,0) 0%, rgba(44,36,28,0.04) 48%, rgba(44,36,28,0.38) 100%);
}
.stage-copy {
  position: relative; z-index: 2;
  min-height: 92vh;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 40px 0 52px;
  text-shadow: 0 1px 18px rgba(20, 52, 58, 0.55);
}
.pulse {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700;
  color: var(--mkse); margin-bottom: 12px;
}
.pulse i {
  width: 8px; height: 8px; border-radius: 50%; background: var(--accent);
  animation: beat 1.2s infinite; font-style: normal;
}
@keyframes beat {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.45); opacity: 0.55; }
}
.stage .who {
  font-size: 0.92rem; font-weight: 500; color: #e6e0d4;
  margin-bottom: 10px; letter-spacing: 0.02em;
}
.stage .line {
  font-family: "Archivo Narrow", sans-serif;
  letter-spacing: 0.16em; text-transform: uppercase;
  font-size: 0.92rem; margin-bottom: 8px; color: #e6e0d4;
}
.stage h1 {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  letter-spacing: 0.02em; line-height: 1.08; max-width: 16ch;
}
.stage .sub { max-width: 32rem; margin-top: 12px; color: #e6e0d4; }
.acts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 26px; max-width: 36rem; }
.acts a {
  font-family: Manrope, sans-serif; font-weight: 600; letter-spacing: 0;
  font-size: 0.95rem; padding: 12px 14px; border: 1px solid var(--ivory); text-decoration: none;
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
}
.acts a strong { font-family: "Archivo Narrow", sans-serif; letter-spacing: 0.04em; font-size: 1.05rem; }
.acts a span { font-weight: 500; font-size: 0.84rem; opacity: 0.88; }
.acts a.main { background: var(--mkse); border-color: var(--mkse); color: var(--petrol); }
.acts a:hover {
  background: var(--accent); border-color: var(--accent); color: #fff;
  animation: buzz 0.38s ease;
}
.brand:hover .mark, .mark:hover { animation: buzz 0.45s ease; }
.spread img {
  transition: transform 0.35s ease;
  cursor: none;
}
.spread img:hover {
  animation: none;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .slides img, .now-strip span, .pulse i, .stage.hot .slides { animation: none; }
  .acts a:hover, .spread img:hover { animation: none; }
}

.now-strip {
  background: var(--petrol); color: #c5d0d0; font-size: 0.82rem;
  padding: 10px 0; overflow: hidden; white-space: nowrap;
}
.now-strip span { display: inline-block; padding-left: 100%; animation: crawl 28s linear infinite; }
@keyframes crawl { to { transform: translateX(-100%); } }

.spread {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 28px;
  padding: 64px 0; align-items: center;
}
.spread img, .spread video, .spread .film-frame { width: 100%; height: min(72vh, 640px); object-fit: cover; }
.spread .film-frame { position: relative; overflow: hidden; }
.spread .film-frame video { width: 100%; height: 100%; object-fit: cover; display: block; }
.spread h2 { font-family: "Archivo Narrow", sans-serif; font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 8px 0 12px; }
.kicker {
  font-size: 0.76rem; letter-spacing: 0.12em; text-transform: uppercase;
  font-weight: 700; color: var(--mkse); margin-bottom: 8px;
}
h1, h2, h3 { font-family: "Archivo Narrow", sans-serif; font-weight: 700; line-height: 1.15; }
h1 { font-size: clamp(1.55rem, 3.2vw, 2.2rem); margin-bottom: 10px; }
h2 { font-size: clamp(1.25rem, 2.1vw, 1.65rem); margin-bottom: 8px; }
h3 { font-size: 1.18rem; }
.lede { max-width: 38rem; color: var(--muted); }
.hero { padding: 36px 0 18px; }
.live { color: var(--mkse); font-weight: 700; font-size: 0.82rem; margin-bottom: 10px; }

.intents { display: none; }
.home-strip { padding: 8px 0 56px; }
.section-head { margin-bottom: 18px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.stack { display: grid; gap: 14px; }
.muted { color: var(--muted); }
section { padding: 12px 0 56px; }

.event, .news { padding: 0 0 8px; background: none; border: 0; }
.event:nth-child(n), .news:nth-child(n) { background: none; }
.meta { font-weight: 700; color: var(--accent); margin: 4px 0 8px; font-size: 0.84rem; }

.panel { background: var(--sheet); border: 1px solid var(--line); padding: 22px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--petrol); color: var(--ivory); border: 0;
  padding: 0.65rem 1.05rem; font-weight: 700; cursor: pointer;
  text-decoration: none; font-size: 0.88rem;
}
.btn:hover { background: var(--mkse); color: var(--petrol); }
.btn-ghost { background: transparent; color: var(--petrol); border: 1px solid var(--line); }
.btn-ghost:hover { border-color: var(--brass); }
.field { display: grid; gap: 6px; }
label { font-weight: 600; font-size: 0.86rem; }
input, select, textarea {
  width: 100%; border: 1px solid var(--line); padding: 10px 12px; background: var(--sheet); color: var(--ink);
}
textarea { min-height: 110px; resize: vertical; }
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  border: 1px solid var(--line); background: var(--sheet); padding: 7px 11px;
  cursor: pointer; font-weight: 600; font-size: 0.85rem;
}
.chip.on { background: var(--petrol); color: var(--ivory); border-color: var(--petrol); }
.map {
  position: relative; height: 400px; overflow: hidden;
  background: #cfc4b0; border: 1px solid var(--line);
}
.pin {
  position: absolute; transform: translate(-50%, -100%);
  width: 12px; height: 12px; background: var(--accent); border: 2px solid white;
  border-radius: 50% 50% 50% 0; rotate: -45deg; cursor: pointer;
}
.pin.active { background: var(--mkse); }
.shop { border-bottom: 1px solid var(--line); padding: 12px 0; cursor: pointer; }
.shop:hover h3 { color: var(--mkse); }
.steps { display: flex; flex-wrap: wrap; gap: 8px; }
.step {
  flex: 1; min-width: 110px; text-align: center; padding: 10px 8px;
  border: 1px solid var(--line); font-size: 0.82rem; font-weight: 600; background: var(--sheet);
}
.step.done { background: var(--green-s); color: var(--petrol); border-color: var(--mkse); }
.step.now { background: var(--petrol); color: var(--ivory); }
.feat {
  display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center;
  padding: 12px; border: 1px solid var(--line); text-decoration: none; background: var(--sheet);
}
.num { font-weight: 700; color: var(--mkse); }
.result { background: var(--green-s); border: 1px solid var(--mkse); padding: 14px; display: none; margin-top: 12px; }
.site-footer { padding: 28px 0 48px; background: var(--petrol); color: #c5d0d0; }
.foot { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.foot a { color: var(--mkse); }
.tag { display: inline-block; font-size: 0.72rem; font-weight: 700; color: var(--petrol); background: var(--green-s); padding: 3px 8px; margin-right: 6px; }
.sos { background: var(--sheet); border: 1px solid var(--line); padding: 22px; }
.situ-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.situ {
  display: grid; gap: 6px; padding: 18px 16px; background: var(--sheet);
  border: 1px solid var(--line); text-decoration: none; color: inherit;
}
.situ strong { font-family: "Archivo Narrow", sans-serif; font-size: 1.15rem; }
.situ span { color: var(--muted); font-size: 0.88rem; }
.situ:hover { border-color: var(--mkse); }
.hub { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.hub a {
  display: grid; gap: 6px; padding: 16px 14px; background: var(--sheet);
  border: 1px solid var(--line); text-decoration: none; color: inherit; min-height: 96px;
}
.hub a strong { font-size: 0.95rem; }
.hub a span { color: var(--muted); font-size: 0.8rem; line-height: 1.35; }
.hub a:hover { border-color: var(--petrol); }
.search-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.search-bar .field { flex: 1; min-width: 220px; }
.topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.amenity { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.amenity span { font-size: 0.75rem; font-weight: 700; border: 1px solid var(--line); padding: 3px 8px; background: var(--sheet); }
.rsvp { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.rsvp span { font-size: 0.8rem; font-weight: 700; padding: 6px 10px; border: 1px solid var(--line); background: var(--sheet); }
.ride { border-bottom: 1px solid var(--line); padding: 12px 0; cursor: pointer; }
.ride:hover h3 { color: var(--mkse); }
.ride.on { border-color: var(--mkse); }
.live-dot { display: inline-block; width: 8px; height: 8px; background: var(--accent); margin-right: 6px; }
.chat-mini { display: grid; gap: 8px; max-height: 220px; overflow: auto; margin: 10px 0; }
.check { list-style: none; display: grid; gap: 8px; }
.check li { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.check input { width: auto; margin-top: 4px; }
.forecast { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.forecast article { background: var(--sheet); border: 1px solid var(--line); padding: 12px; }
.chat-log { display: grid; gap: 10px; max-height: 360px; overflow: auto; align-content: start; }
.bubble { padding: 12px 14px; align-self: start; }
.bubble-user { background: var(--petrol); color: var(--ivory); justify-self: end; max-width: 85%; }
.bubble-bot { background: var(--sheet); border: 1px solid var(--line); max-width: 92%; }
.hint-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.article { background: var(--sheet); border: 1px solid var(--line); padding: 20px; }
.wear { display: grid; gap: 10px; }
.wear-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.timeline { display: grid; gap: 12px; }
.timeline article { border-left: 2px solid var(--mkse); padding-left: 12px; }
.phone-xl { font-family: "Archivo Narrow", sans-serif; font-size: 1.6rem; }
.shop-list { max-height: 420px; overflow: auto; }
.ticker { display: none; }

.nav-map { height: 440px; width: 100%; background: #cfc4b0; border: 1px solid var(--line); }
.hud-dist { font-family: "Archivo Narrow", sans-serif; font-size: 2.2rem; font-weight: 700; color: var(--petrol); }
.wx-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.wx-card { background: var(--sheet); border: 1px solid var(--line); padding: 16px; }
.leaflet-container { font-family: inherit; }
.story-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.story-card {
  background: var(--sheet); border: 1px solid var(--line); padding: 20px; cursor: pointer;
}
.story-card:hover { border-color: var(--mkse); }
.story-read h2 { font-family: "Archivo Narrow", sans-serif; font-size: 2rem; line-height: 1.15; margin: 8px 0 12px; }
.story-body { margin-top: 16px; font-size: 1.08rem; }
.story-body p { margin-bottom: 1em; }

.happen {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.happen-card {
  background: none;
  border: 0;
  border-top: 1px solid var(--line);
  padding: 16px 0;
}
.happen-list .happen-card h3 { font-size: 1.12rem; }
.foto-wide .btn { background: var(--ivory); color: var(--petrol); }
.help-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.life-band {
  display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 6px;
}
.life-band figure { position: relative; margin: 0; overflow: hidden; }
.life-band .tall { grid-row: span 2; }
.life-band img, .life-band video {
  width: 100%; height: 100%; min-height: 38vh; object-fit: cover; display: block;
}
.life-band .tall video, .life-band .tall img { min-height: 78vh; }
.life-band figcaption {
  position: absolute; left: 18px; bottom: 16px;
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.85rem, 3.4vw, 2.7rem);
  font-weight: 700;
  line-height: 1;
  color: var(--ivory);
  padding: 0;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 18px rgba(44, 36, 28, 0.65);
}
.mkse-jel {
  position: absolute;
  z-index: 3;
  right: 16px;
  bottom: 16px;
  margin: 0;
  width: 11.5rem;
  font-family: "Archivo Narrow", sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  color: rgba(243, 234, 217, 0.82);
  text-shadow: 0 1px 10px rgba(44, 36, 28, 0.55);
  pointer-events: none;
  line-height: 1.25;
  text-align: right;
  white-space: normal;
}
.see-strip, .photo-cell, .film-frame { position: relative; }
.see-strip { overflow: hidden; }
.photo-cell { display: block; overflow: hidden; }
.photo-cell img { width: 100%; height: 42vh; min-height: 240px; object-fit: cover; }
@media (max-width: 720px) {
  .photo-cell img { height: 28vh; }
}
.story-flow { display: grid; gap: 0; }
.story-flow article {
  padding: 18px 0;
  border-top: 1px solid var(--line);
}
.spread.flip { grid-template-columns: 0.85fr 1.15fr; }
.spread.flip img { order: 2; }
.nav-map.compact { height: 280px; }
.shop-hero { width: 100%; height: 180px; margin-bottom: 12px; }
.bike-parts {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0;
}
.bike-part {
  border: 1px solid var(--line); background: var(--sheet); padding: 14px 10px;
  cursor: pointer; font-weight: 600; text-align: center;
}
.bike-part.on { background: var(--petrol); color: var(--ivory); border-color: var(--petrol); }
.score-big {
  font-family: "Archivo Narrow", sans-serif; font-size: 3.2rem; line-height: 1; color: var(--petrol);
}
.part-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.part-tiles button {
  border: 0; background: none; padding: 0; cursor: pointer; text-align: left; color: inherit;
}
.part-tiles img { width: 100%; height: 110px; }
.part-tiles span { display: block; font-weight: 600; font-size: 0.88rem; margin-top: 6px; }
.part-tiles button.on span { color: var(--mkse); }
.foto-wide { padding: 28px; background: var(--petrol); color: var(--ivory); }
.foto-wide .muted { color: #c5d0d0; }
.foto-wide input, .foto-wide textarea { background: var(--sheet); color: var(--ink); }
.sit-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.sit-row button {
  border: 1px solid var(--line); background: var(--sheet); padding: 16px 12px;
  cursor: pointer; text-align: left; font-weight: 600;
}
.sit-row button.on { border-color: var(--petrol); background: var(--petrol); color: var(--ivory); }
.sit-row small { display: block; font-weight: 500; opacity: 0.8; margin-top: 4px; }
.nyito {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 56px;
  align-items: start;
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: 36px 0 8px;
}
.nyito-kep { margin: 0; }
.nyito-kep img {
  width: 100%;
  height: min(70vh, 640px);
  object-fit: cover;
  object-position: center 40%;
  filter: brightness(1.1);
  animation: none;
  transform: none;
  transition: none;
}
.nyito-kep img:hover {
  animation: none;
  transform: none;
  filter: brightness(1.1);
}
.nyito-kep figcaption {
  margin-top: 14px;
  max-width: 34rem;
  color: var(--muted);
  font-size: 0.98rem;
}
.nyito .who {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 12px;
}
.nyito h1 {
  font-size: clamp(2.5rem, 4.6vw, 4.1rem);
  line-height: 0.96;
  letter-spacing: -0.02em;
  max-width: 11ch;
  margin-bottom: 16px;
}
.nyito .lede { font-size: 1.05rem; }
.kapuk {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 28px;
  margin-top: 28px;
}
.kapuk a {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
  padding: 12px 0 14px;
  border-top: 1px solid var(--line);
}
.kapuk a em {
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--mkse);
}
.kapuk a strong {
  font-family: "Archivo Narrow", sans-serif;
  font-size: 1.22rem;
  letter-spacing: 0.01em;
  font-weight: 700;
}
.kapuk a span { color: var(--muted); font-size: 0.98rem; }
.kapuk a:hover strong { color: var(--mkse); }
.tura-szo {
  width: min(var(--max), calc(100% - 48px));
  padding-bottom: 72px;
}
.tura-par {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 18px;
  margin-bottom: 28px;
}
.tura-par figure { margin: 0; }
.tura-par img {
  width: 100%;
  height: min(38vh, 340px);
  object-fit: cover;
  animation: none;
  transform: none;
  transition: none;
}
.tura-par img:hover {
  animation: none;
  transform: none;
}
.tura-par figcaption {
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.92rem;
}
.tura-szo h2, .tura-szo .lede { max-width: 36rem; }
@media (max-width: 860px) {
  .nyito { grid-template-columns: 1fr; gap: 28px; padding-top: 20px; }
  .nyito-kep { order: -1; }
  .nyito-kep img { height: 58vh; min-height: 280px; }
  .nyito h1 { max-width: 14ch; }
  .kapuk { grid-template-columns: 1fr; }
  .kapuk a:last-child { border-bottom: 1px solid var(--line); }
  .tura-par { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .life-band, .part-tiles, .sit-row, .bike-parts { grid-template-columns: 1fr 1fr; }
  .life-band .tall { grid-row: auto; }
  .spread.flip { grid-template-columns: 1fr; }
  .spread.flip img { order: 0; }
}
.happen-kind {
  font-family: "Archivo Narrow", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: #243f3c;
  background: #d5e3df;
  display: inline-block;
  padding: 4px 8px;
  margin-bottom: 10px;
}
.lelegzet { background: #e3ebe7; padding: 22px 0 26px; }
.lelegzet-sor {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 700;
  margin-bottom: 8px;
}
body[data-page="fooldal"] .happen-card,
body[data-page="fooldal"] .story-flow article { border-top: 0; padding-top: 22px; }
body[data-page="fooldal"] .happen .meta,
body[data-page="esemeny"] .meta { color: #3d5c58; }
.esemeny-gombok { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 12px; }
.esemeny-gombok a { font-weight: 700; color: #3d5c58; }
.esemeny-lap { max-width: 44rem; }
.esemeny-lap h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.02; margin: 8px 0 12px; }
.esemeny-tenyek { display: grid; grid-template-columns: 11rem 1fr; gap: 12px 18px; margin: 22px 0 8px; }
.esemeny-tenyek dt { color: #3d5c58; font-weight: 700; font-size: 0.92rem; }
.esemeny-tenyek dd { margin: 0; }
.esemeny-map { height: 320px; margin-top: 22px; }
@media (max-width: 640px) {
  .esemeny-tenyek { grid-template-columns: 1fr; gap: 4px; }
  .esemeny-tenyek dt { margin-top: 10px; }
}
.home-ask textarea { min-height: 5.5rem; width: 100%; padding: 10px; border: 1px solid var(--line); background: var(--sheet); }
.home-ask-ways {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 18px;
}
.home-ask-ways a {
  display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line);
  text-decoration: none; background: var(--sheet);
}
.home-ask-ways a:hover { border-color: var(--mkse); }
.home-ask-ways span { color: var(--muted); font-size: 0.85rem; }
.home-me .lede { max-width: 36rem; }
.path {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  counter-reset: step;
}
.path li { counter-increment: step; }
.path a {
  display: block; background: var(--sheet); border: 1px solid var(--line);
  padding: 14px 12px 14px 36px; text-decoration: none; font-weight: 700; font-size: 0.88rem;
  position: relative; min-height: 72px;
}
.path a::before {
  content: counter(step);
  position: absolute; left: 10px; top: 12px;
  color: var(--mkse); font-family: "Archivo Narrow", sans-serif; font-weight: 700;
}
.path a:hover { border-color: var(--mkse); }
.path-mini { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

@media (max-width: 980px) {
  .grid-3, .grid-2, .spread, .intents, .home-ask-ways { grid-template-columns: 1fr 1fr; }
  .situ-row, .hub, .topic-grid { grid-template-columns: 1fr 1fr; }
  .spread img { height: 280px; }
  .path { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .menu-toggle { display: block; }
  .nav-links {
    display: none; position: absolute; inset: 70px 0 auto; background: var(--petrol);
    flex-direction: column; padding: 12px 18px 20px; align-items: flex-start;
  }
  .nav-links.open { display: flex; }
  .forecast { grid-template-columns: 1fr; }
  .situ-row, .hub, .topic-grid, .home-ask-ways, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .stage { min-height: 100svh; }
  .stage-copy { min-height: 100svh; padding: 24px 0 28px; }
  .slides img, .stage-vid { object-position: center 45%; }
  .acts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .acts a { justify-content: center; text-align: center; padding: 11px 10px; font-size: 0.82rem; letter-spacing: 0.04em; }
  .stage h1 { max-width: 12ch; }
}

.ride-page { background: var(--paper); }
.ride-page .panel { display: none; }
.ride-open, .ride-close {
  position: relative; min-height: 72svh; display: grid; align-items: end;
  color: var(--ivory); overflow: hidden;
}
.ride-open img, .ride-close img, .ride-open video, .ride-close video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.ride-open .shade, .ride-close .shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(44, 36, 28, 0.52), rgba(44, 36, 28, 0.04));
}
.ride-open-copy, .ride-close-copy { position: relative; z-index: 1; padding: 48px 0 40px; }
.ride-open h1, .ride-close h2 {
  font-size: clamp(2.2rem, 6vw, 3.8rem); max-width: 12ch; margin: 0 0 8px;
}
.ride-layers { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 18px; }
.ride-layers a { color: var(--ivory); text-decoration: none; border-bottom: 1px solid rgba(243,238,227,0.45); font-weight: 600; }
.ride-world { padding: 48px 0; }
.ride-tint { background: var(--tint); }
.yes-today { margin-top: 8px; }
.yes-today .verdict {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  line-height: 1.1; margin: 8px 0 12px;
}
.yes-nums { display: flex; flex-wrap: wrap; gap: 18px; font-size: 1.05rem; }
.time-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.time-row button {
  border: 1px solid var(--line); background: var(--sheet); padding: 12px 16px;
  font-weight: 700; cursor: pointer; font-family: inherit;
}
.time-row button.on { background: var(--petrol); color: var(--ivory); border-color: var(--petrol); }
.bike-pick {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 16px;
}
.bike-pick button {
  border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; font-family: inherit;
}
.bike-pick img { width: 100%; height: 140px; object-fit: cover; display: block; }
.bike-pick strong { display: block; margin-top: 8px; font-size: 1.05rem; }
.bike-pick span { display: block; color: var(--muted); font-size: 0.9rem; }
.bike-pick button.on strong { color: var(--accent); }
.weeks { list-style: none; display: grid; gap: 14px; margin-top: 18px; }
.weeks li { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.weeks-end {
  font-family: "Archivo Narrow", sans-serif; font-size: 1.8rem; margin-top: 22px;
}
.ride-more { padding: 20px 0 48px; }
.ride-more summary { cursor: pointer; font-weight: 700; }
@media (max-width: 900px) {
  .bike-pick { grid-template-columns: 1fr 1fr; }
}

.soul-page { background: var(--paper); }
.soul-open, .soul-close {
  position: relative; min-height: 78svh; display: grid; align-items: end;
  color: var(--ivory); overflow: hidden;
}
.soul-open img, .soul-close img, .soul-week img, .soul-tile img, .soul-read-hero img, .soul-open video, .soul-close video {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.soul-open img, .soul-close img, .soul-open video, .soul-close video { position: absolute; inset: 0; }
.soul-open .shade, .soul-close .shade, .soul-week .shade, .soul-tile .shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(44, 36, 28, 0.52), rgba(44, 36, 28, 0.06));
}
.soul-open-copy { position: relative; z-index: 1; padding: 48px 0 44px; }
.soul-open h1, .soul-close h2 {
  font-size: clamp(2rem, 5.5vw, 3.6rem); max-width: 16ch; margin: 0 0 12px;
}
.soul-week { position: relative; min-height: 70svh; display: grid; align-items: end; color: var(--ivory); }
.soul-week img { position: absolute; inset: 0; }
.soul-week .shade { z-index: 0; }
.soul-week .copy { position: relative; z-index: 1; padding: 40px 0; }
.soul-week a { color: var(--ivory); }
.soul-live, .soul-wall-sec, #elsok { padding: 40px 0; }
.soul-nums { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 8px; }
.soul-nums strong { display: block; font-family: "Archivo Narrow", sans-serif; font-size: 2rem; line-height: 1; }
.soul-wall { display: grid; gap: 0; margin-top: 12px; }
.soul-wall article { padding: 16px 0; border-top: 1px solid var(--line); }
.soul-wall-form { margin-top: 20px; padding-top: 8px; }
.soul-hot { display: grid; gap: 0; }
.soul-hot a {
  display: block; padding: 14px 0; border-top: 1px solid var(--line);
  text-decoration: none; font-weight: 700;
}
.soul-mosaic {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; margin-top: 18px;
}
.soul-tile {
  position: relative; min-height: 280px; cursor: pointer; overflow: hidden; border: 0;
  padding: 0; color: var(--ivory); text-align: left; font-family: inherit; display: block; width: 100%;
}
.soul-tile.wide { grid-column: 1 / -1; min-height: 420px; }
.soul-tile img { position: absolute; inset: 0; }
.soul-tile .shade { z-index: 0; }
.soul-tile .cap { position: relative; z-index: 1; padding: 18px; margin-top: 40%; }
.soul-tile h3 { font-size: 1.45rem; margin: 4px 0; }
.soul-firsts { display: grid; gap: 8px; margin-top: 12px; }
.soul-firsts a { text-decoration: none; font-weight: 700; }
.soul-read { background: #2c241c; color: var(--ivory); }
.soul-read-hero { position: relative; min-height: 62svh; }
.soul-read-hero img { position: absolute; inset: 0; height: 100%; }
.soul-read-hero .shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(44, 36, 28, 1), rgba(44, 36, 28, 0.15));
}
.soul-read-hero .copy { position: relative; z-index: 1; padding: 48px 0 28px; }
.soul-read .inner { padding: 0 0 48px; max-width: 40rem; }
.soul-read .story-body { font-size: 1.12rem; }
.soul-read a { color: var(--ivory); }
.soul-write { padding: 48px 0; background: var(--tint); }
.soul-react { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.soul-react button {
  border: 1px solid rgba(243,238,227,0.35); background: transparent; color: var(--ivory);
  padding: 8px 12px; cursor: pointer; font-family: inherit;
}
.soul-react button.on { background: var(--ivory); color: var(--petrol); }
@media (max-width: 800px) {
  .soul-mosaic { grid-template-columns: 1fr; }
  .soul-tile, .soul-tile.wide { min-height: 260px; }
}

.ask-page { background: var(--paper); }
.ask-hero, .ask-together, .ask-close {
  position: relative; min-height: 78svh; display: grid; align-items: end;
  color: var(--ivory); overflow: hidden;
}
.ask-hero img, .ask-together img, .ask-close img, .ask-hero video, .ask-together video, .ask-close video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.ask-hero .shade, .ask-together .shade, .ask-close .shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(44, 36, 28, 0.55), rgba(44, 36, 28, 0.08));
}
.ask-hero-copy { position: relative; z-index: 1; padding: 40px 0 36px; max-width: 40rem; }
.ask-hero h1, .ask-close h2 {
  font-size: clamp(2rem, 5.5vw, 3.4rem); max-width: 14ch; margin: 0 0 10px;
}
.ask-talk label { display: block; font-weight: 700; margin-bottom: 6px; }
.ask-talk textarea {
  width: 100%; min-height: 6.5rem; padding: 14px; border: 0; font: inherit;
}
.ask-modes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ask-mutat { margin-top: 12px; }
.ask-chat-wrap { padding: 20px 0 8px; background: #2c241c; }
.ask-chat-wrap .muted { color: rgba(243,238,227,0.65); }
.ask-log {
  background: transparent; padding: 8px 0; min-height: 6rem; max-height: 22rem; margin: 0; border: 0;
}
.ask-log .bubble-bot { background: rgba(243,238,227,0.12); border: 0; color: var(--ivory); }
.ask-files { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.ask-world { padding: 40px 0; }
.ask-tint { background: var(--tint); }
.ask-doors {
  display: grid; grid-template-columns: 1fr 1.15fr 1.15fr; min-height: 280px;
}
.ask-door {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 22px; text-decoration: none; color: var(--ivory); overflow: hidden; min-height: 260px;
}
.ask-door img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ask-door strong, .ask-door span { position: relative; z-index: 1; }
.ask-door strong { font-size: 1.4rem; }
.ask-door span { display: block; margin-top: 6px; opacity: 0.9; }
.ask-door-a { background: #2c241c; }
.ask-door-b::after, .ask-door-c::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(12,28,32,0.85), rgba(12,28,32,0.1));
}
.ask-dict-out { margin-top: 16px; max-width: 36rem; font-size: 1.08rem; }
.ask-mech {
  position: relative; color: var(--ivory); overflow: hidden; padding: 48px 0;
}
.ask-mech > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ask-mech .shade {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(44, 36, 28, 0.58), rgba(44, 36, 28, 0.28));
}
.ask-mech-copy { position: relative; z-index: 1; max-width: 40rem; }
.ask-mech .field label, .ask-mech h2, .ask-mech p { color: var(--ivory); }
.ask-close .btn, .ask-hero .btn { background: var(--ivory); color: var(--petrol); }
.ask-hero .btn-ghost, .ask-mech .btn-ghost {
  background: transparent; color: var(--ivory); border: 1px solid rgba(243,238,227,0.45);
}
@media (max-width: 900px) {
  .ask-doors { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ask-files { grid-template-columns: 1fr; }
}

.see-wide { position: relative; min-height: 72vh; overflow: hidden; background: var(--petrol); }
.see-wide video {
  width: 100%; height: 72vh; object-fit: cover; display: block;
}
.see-strip {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
}
.see-strip img { width: 100%; height: 42vh; min-height: 240px; object-fit: cover; }
.live-fill {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
@media (prefers-reduced-motion: reduce) {
  .stage-vid, .life-band video, .see-wide video, .live-fill, .spread video { display: none; }
}
@media (max-width: 720px) {
  .see-strip { grid-template-columns: 1fr 1fr; }
  .see-strip img { height: 28vh; }
}
.tour-hero, .tour-close {
  position: relative; min-height: 78svh; overflow: hidden; color: var(--ivory);
  display: flex; align-items: flex-end;
}
.tour-hero img, .tour-close img, .tour-hero video, .tour-close video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.tour-hero .shade, .tour-close .shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(44, 36, 28, 0.52), rgba(44, 36, 28, 0.04));
}
.tour-hero-copy { position: relative; z-index: 1; padding: 48px 0 40px; max-width: 40rem; }
.tour-hero h1, .tour-close h2 {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(2.2rem, 6vw, 3.8rem); max-width: 12ch; margin: 0 0 10px;
}
.tour-hero .who { letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.78rem; font-weight: 700; opacity: 0.85; margin-bottom: 8px; }
.tour-hero .btn, .tour-close .btn { background: var(--ivory); color: var(--petrol); }
.tour-hero .btn-ghost, .tour-close .btn-ghost {
  background: transparent; color: var(--ivory); border: 1px solid rgba(243,238,227,0.45);
}
.tour-now { padding: 48px 0 28px; }
.tour-now-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px;
}
.tour-now-card {
  border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; font: inherit; color: inherit;
}
.tour-now-card img { width: 100%; height: 280px; object-fit: cover; }
.tour-now-card span { display: block; margin-top: 8px; font-size: 0.82rem; font-weight: 700; color: var(--muted); }
.tour-now-card strong { display: block; font-size: 1.15rem; }
.tour-map-sec { padding: 12px 0 40px; }
.tour-live-map { min-height: 380px; margin-top: 12px; }
.tour-join { padding: 20px 0 48px; }
.tour-split { display: grid; grid-template-columns: 1fr 1.15fr; gap: 28px; align-items: start; margin-top: 16px; }
.tour-page .ride {
  border: 0; border-bottom: 1px solid var(--line); padding: 16px 0; cursor: pointer;
}
.tour-page .ride.on { background: transparent; }
.tour-page .ride h3 { font-size: 1.25rem; }
.tour-page .ride p { margin: 2px 0; }
.tour-detail { padding-top: 8px; }
.tour-shots { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; margin: 12px 0; }
.tour-shots img { width: 100%; height: 160px; object-fit: cover; }
.tour-shots img:first-child { grid-row: span 2; height: 100%; min-height: 328px; }
.tour-topics { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
.tour-topics button {
  border: 1px solid var(--line); background: transparent; padding: 6px 10px;
  font-size: 0.8rem; font-weight: 700; cursor: pointer; font-family: inherit;
}
.tour-four, .tour-safe {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 16px;
}
.tour-safe { grid-template-columns: repeat(5, 1fr); }
.tour-four a, .tour-safe a {
  display: block; padding: 16px 12px; text-decoration: none; font-weight: 700;
  background: var(--petrol); color: var(--ivory); text-align: center;
}
.tour-world { padding: 44px 0; }
.tour-tint { background: var(--tint); }
.tour-wiz { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 32px; align-items: start; }
.tour-form { max-width: 36rem; }
.tour-preview {
  position: sticky; top: 88px;
  color: var(--ivory); background: var(--petrol); padding: 28px 24px; min-height: 280px;
}
.tour-preview p { margin-top: 6px; }
.tour-preview .btn { background: var(--ivory); color: var(--petrol); margin-top: 16px; }
.tour-close { min-height: 52vh; }
.leaflet-popup-content .popup-join { margin-top: 8px; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  background: var(--sheet); color: var(--ink); border-radius: 0;
}
.leaflet-container { background: #cfc4b0; }
input, select, textarea { color-scheme: light; }
@media (max-width: 900px) {
  .tour-now-row, .tour-split, .tour-wiz, .tour-four, .tour-safe { grid-template-columns: 1fr; }
  .tour-shots { grid-template-columns: 1fr 1fr; }
  .tour-shots img:first-child { grid-row: auto; min-height: 0; height: 160px; }
}

body[data-page="szerviz"] { background: #e4eee8; }
body[data-page="szerviz"] section { padding: 40px 0; }
body[data-page="szerviz"] .meta { color: #3d5c52; }
body[data-page="szerviz"] .szerviz-nyito {
  position: relative; min-height: 72vh; padding: 0;
  display: flex; align-items: flex-end; color: #f4efe4; background: #1c3a38; overflow: hidden;
}
body[data-page="szerviz"] .szerviz-muhely {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%;
}
body[data-page="szerviz"] .szerviz-nyito::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(16, 34, 32, 0.9) 0%, rgba(16, 34, 32, 0.62) 22%, rgba(16, 34, 32, 0.12) 52%, rgba(16, 34, 32, 0) 100%);
}
body[data-page="szerviz"] .szerviz-nyito-bel { position: relative; z-index: 1; display: block; padding: 28px 0 36px; }
body[data-page="szerviz"] .szerviz-nyito .kicker { color: #d5e3d4; }
body[data-page="szerviz"] .szerviz-nyito h1 {
  font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 0.95;
  color: #f6f3ec; max-width: 12ch; margin-bottom: 14px;
}
body[data-page="szerviz"] .szerviz-nyito .lede { color: #e4ebe4; font-size: 1.12rem; }
body[data-page="szerviz"] .szerviz-nyito h1,
body[data-page="szerviz"] .szerviz-nyito .lede,
body[data-page="szerviz"] .szerviz-nyito .kicker { text-shadow: 0 1px 14px rgba(10, 22, 20, 0.65); }
body[data-page="szerviz"] .situ {
  background: transparent; border: 0; border-top: 3px solid #3d5c52;
  padding: 14px 2px 2px;
}
body[data-page="szerviz"] .situ:hover { border-top-color: #1c3a38; }
body[data-page="szerviz"] .situ:hover strong { color: #1c3a38; }
body[data-page="szerviz"] #javitas { background: #f6f3ec; padding: 56px 0; }
body[data-page="szerviz"] .panel { background: #f7f4ee; border-color: transparent; }
body[data-page="szerviz"] .shop { border-bottom-color: #d3e0d8; }
body[data-page="szerviz"] .szerviz-pont {
  font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase;
  font-weight: 700; color: #3d5c52; margin-bottom: 6px;
}
body[data-page="szerviz"] .part-tiles { gap: 18px 14px; }
body[data-page="szerviz"] .part-tiles img { width: 100%; height: 156px; object-fit: cover; }
body[data-page="szerviz"] .part-tiles span { color: #1c3a38; }
body[data-page="szerviz"] .part-tiles button.on img { outline: 2px solid #c45c38; outline-offset: 3px; }
body[data-page="szerviz"] .part-tiles button.on span { color: #3d5c52; }
body[data-page="szerviz"] .sit-row button {
  background: transparent; border: 0; border-left: 3px solid #3d5c52; padding: 12px 10px;
}
body[data-page="szerviz"] .sit-row button.on { background: #1c3a38; color: #f6f3ec; border-color: #1c3a38; }
body[data-page="szerviz"] #sos { background: #1c3a38; padding: 56px 0; }
body[data-page="szerviz"] #sos .sos { background: transparent; border: 0; color: #f4efe4; padding: 0; }
body[data-page="szerviz"] #sos h2,
body[data-page="szerviz"] #sos h3 { color: #f6f3ec; }
body[data-page="szerviz"] #sos .muted,
body[data-page="szerviz"] #sos .kicker { color: #c5d4c8; }
body[data-page="szerviz"] #sos .btn { background: #f6f3ec; color: #1c3a38; }
body[data-page="szerviz"] #sos .btn-ghost { background: transparent; color: #f6f3ec; border-color: rgba(246, 243, 236, 0.4); }
body[data-page="szerviz"] #sos textarea { background: #f6f3ec; color: #1c3a38; }
@media (max-width: 800px) {
  body[data-page="szerviz"] .szerviz-nyito { min-height: 62vh; }
  body[data-page="szerviz"] .part-tiles img { height: 128px; }
}

body[data-page="sport"] { background: #e7efe9; }
body[data-page="sport"] section { padding: 48px 0; }
body[data-page="sport"] .sport-nyito { padding: 0 0 36px; background: #f6f3ec; }
body[data-page="sport"] .sport-harom {
  display: grid; grid-template-columns: 1.15fr 0.9fr 0.9fr; gap: 6px;
}
body[data-page="sport"] .sport-harom figure { margin: 0; position: relative; }
body[data-page="sport"] .sport-harom img { width: 100%; height: 68vh; object-fit: cover; }
body[data-page="sport"] .sport-harom figcaption {
  position: absolute; left: 16px; bottom: 14px; color: #f6f3ec;
  font-family: "Archivo Narrow", sans-serif; font-size: 1.7rem;
  text-shadow: 0 1px 10px rgba(12, 24, 22, 0.55);
}
body[data-page="sport"] .sport-nyito-szo { padding-top: 28px; }
body[data-page="sport"] .sport-nyito h1 {
  font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 0.96; max-width: 14ch; color: #1c3a38;
}
body[data-page="sport"] .sport-ugras {
  display: flex; gap: 22px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px;
}
body[data-page="sport"] .sport-ugras a {
  font-family: "Archivo Narrow", sans-serif; font-size: 1.6rem; font-weight: 700;
  text-decoration: none; color: #1c3a38;
}
body[data-page="sport"] .sport-ugras a:hover { color: #3d5c52; }
body[data-page="sport"] .sport-par {
  display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 36px; align-items: start;
}
body[data-page="sport"] .sport-par figure { margin: 0; }
body[data-page="sport"] .sport-par img { width: 100%; height: 420px; object-fit: cover; }
body[data-page="sport"] .sport-mosas { background: #f6f3ec; }
body[data-page="sport"] .sport-agak { list-style: none; margin: 16px 0; display: grid; gap: 8px; }
body[data-page="sport"] .sport-agak li { padding-left: 0; }
body[data-page="sport"] .sport-valasz,
body[data-page="sport"] .sport-mintak { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 18px; }
body[data-page="sport"] .sport-valasz button,
body[data-page="sport"] .sport-mintak button {
  border: 0; background: transparent; padding: 0 0 4px; cursor: pointer;
  font: inherit; font-weight: 700; color: #1c3a38; border-bottom: 2px solid transparent;
}
body[data-page="sport"] .sport-valasz button.on,
body[data-page="sport"] .sport-mintak button.on { border-bottom-color: #c45c38; }
body[data-page="sport"] .sport-lap { margin-top: 22px; max-width: 40rem; }
body[data-page="sport"] .sport-lap h3 { margin-bottom: 8px; }
body[data-page="sport"] .sport-csend { background: #1c3a38; color: #f4efe4; }
body[data-page="sport"] .sport-csend h2,
body[data-page="sport"] .sport-csend h3 { color: #f6f3ec; }
body[data-page="sport"] .sport-csend .kicker { color: #c5d4c8; }
body[data-page="sport"] .sport-csend a:not(.btn) { color: #f6f3ec; }
body[data-page="sport"] .sport-csend .btn { background: #f6f3ec; color: #1c3a38; }
body[data-page="sport"] .sport-tap-kep { margin: 18px 0 8px; }
body[data-page="sport"] .sport-tap-kep img { width: 100%; max-height: 460px; object-fit: cover; }
body[data-page="sport"] .sport-harom-szo {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px; margin: 22px 0 28px;
}
body[data-page="sport"] .sport-linkek { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; }
body[data-page="sport"] .sport-linkek a { font-weight: 700; color: #1c3a38; }
@media (max-width: 800px) {
  body[data-page="sport"] .sport-harom,
  body[data-page="sport"] .sport-par,
  body[data-page="sport"] .sport-par-fordit,
  body[data-page="sport"] .sport-harom-szo { grid-template-columns: 1fr; }
  body[data-page="sport"] .sport-harom img { height: 42vh; }
  body[data-page="sport"] .sport-par img { height: 280px; }
}
body[data-page="sport"] .sport-belso { padding-top: 28px; }
body[data-page="sport"] .sport-sor { padding: 22px 0; border-bottom: 1px solid rgba(28, 58, 56, 0.14); }
body[data-page="sport"] .sport-sor h2 { margin: 0 0 6px; }
body[data-page="sport"] .sport-het { margin-top: 8px; }
body[data-page="sport"] .sport-nap {
  display: grid; grid-template-columns: 11rem 1fr auto; gap: 14px 22px;
  padding: 16px 0; border-bottom: 1px solid rgba(28, 58, 56, 0.12); align-items: start;
}
body[data-page="sport"] .sport-nap.ma { background: #f6f3ec; padding-left: 12px; padding-right: 12px; }
body[data-page="sport"] .sport-nap p { margin: 0; }
body[data-page="sport"] .sport-belso input,
body[data-page="sport"] .sport-belso select,
body[data-page="sport"] .sport-belso textarea {
  display: block; width: min(36rem, 100%); margin-top: 6px; padding: 8px 10px;
  border: 1px solid #3d5c52; background: #f7f4ee; font: inherit; color: #1c3a38;
}
body[data-page="sport"] .sport-belso textarea { min-height: 140px; }
body[data-page="sport"] .felmero { max-width: 40rem; }
body[data-page="sport"] .felmero fieldset { border: 0; margin: 0 0 8px; padding: 0; min-width: 0; }
body[data-page="sport"] .felmero legend { font-weight: 700; padding: 0; margin-bottom: 8px; }
body[data-page="sport"] .felmero-jel { font-weight: 700; color: #1c3a38; }
body[data-page="sport"] .felmero-hiba { color: #1c3a38; background: #f6f3ec; padding: 10px 12px; }
body[data-page="sport"] .felmero-valasz {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px 0; border-bottom: 1px solid rgba(28, 58, 56, 0.12); cursor: pointer;
}
body[data-page="sport"] .felmero-valasz input {
  width: 1.15rem; height: 1.15rem; margin: 0.15rem 0 0; padding: 0; flex: 0 0 auto;
}
body[data-page="sport"] .felmero-valasz:has(input:checked) { font-weight: 700; }
body[data-page="sport"] .felmero-zaro { margin-top: 22px; }
body[data-page="sport"] .felmero-gombok { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
body[data-page="sport"] .felmero-eredmeny { margin-top: 28px; padding-top: 8px; }
@media (max-width: 800px) {
  body[data-page="sport"] .felmero-gombok { flex-direction: column; }
  body[data-page="sport"] .felmero-gombok .btn { width: 100%; text-align: center; }
}

body[data-page="bringazz"].ride-page { background: #f7f4ee; }
body[data-page="bringazz"] .ride-world { padding: 32px 0; }
body[data-page="bringazz"] .ride-tint { background: #e4eee8; }
body[data-page="bringazz"] .ride-hid { padding: 28px 0 22px; }
body[data-page="bringazz"] .ride-mely { background: #1c3a38; color: #f6f3ec; }
body[data-page="bringazz"] .ride-mely .kicker { color: #d5e4dc; }
body[data-page="bringazz"] .ride-close { min-height: 46svh; }
body[data-page="bringazz"] .spread img { height: 280px; max-height: 42vh; }
body[data-page="bringazz"] .bike-pick img { height: 168px; object-position: center; }
body[data-page="bringazz"] .weeks { gap: 10px; }
body[data-page="bringazz"] .weeks li { border-bottom: 0; padding-bottom: 0; }
body[data-page="bringazz"] .happen-card { border-top: 0; padding: 6px 0 16px; }
body[data-page="bringazz"] .time-row button.on { background: #1c3a38; border-color: #1c3a38; color: #f6f3ec; }
@media (max-width: 800px) {
  body[data-page="bringazz"] .spread img { height: 220px; }
}
@media (max-width: 800px) {
  body[data-page="sport"] .sport-nap { grid-template-columns: 1fr; }
}

body[data-page="kerdes"] .ask-hero img { object-position: center top; }
body[data-page="kerdes"].ask-page { background: #f7f4ee; }
body[data-page="kerdes"] .ask-tint { background: #e4eee8; }
body[data-page="kerdes"] .ask-world { padding: 32px 0; }
body[data-page="kerdes"] .ask-together,
body[data-page="kerdes"] .ask-close { min-height: 52svh; }
body[data-page="kerdes"] .spread .film-frame,
body[data-page="kerdes"] .spread img { height: 320px; max-height: 46vh; }
body[data-page="kerdes"] .ask-door-a::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(12, 28, 32, 0.82), rgba(12, 28, 32, 0.12));
}
@media (max-width: 800px) {
  body[data-page="kerdes"] .spread .film-frame,
  body[data-page="kerdes"] .spread img { height: 220px; }
}

body[data-page="tortenetek"] .soul-open,
body[data-page="tortenetek"] .soul-close { min-height: 68svh; }
body[data-page="tortenetek"] .soul-open img,
body[data-page="tortenetek"] .soul-close img { object-position: center 30%; }
body[data-page="tortenetek"] .soul-week {
  min-height: 0; background: #e4eee8; color: #1c3a38;
}
body[data-page="tortenetek"] .soul-week a { color: #1c3a38; }
body[data-page="tortenetek"] .soul-week .copy { padding: 28px 0; }
body[data-page="tortenetek"] .soul-read-hero { min-height: 0; }
body[data-page="tortenetek"] .soul-read-hero .copy { padding: 28px 0 12px; }
body[data-page="tortenetek"] .soul-tile img { object-position: center 50%; }

body[data-page="szervizek"] { background: #e4eee8; }
body[data-page="szervizek"] section { padding: 40px 0 64px; }
body[data-page="szervizek"] h1 {
  color: #1c3a38;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  max-width: 16ch;
}
body[data-page="szervizek"] .lede { color: #3d5348; font-size: 1.12rem; }
body[data-page="szervizek"] .nyitva-szamlalo {
  margin-top: 28px;
  max-width: 40rem;
  padding: 22px 22px 18px;
  background: #f6f3ec;
  color: #1c3a38;
}
body[data-page="szervizek"] .nyitva-szamlalo-cim {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  line-height: 1.15;
  margin: 0 0 8px;
}
body[data-page="szervizek"] .nyitva-szamlalo-alcim {
  margin: 0 0 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
body[data-page="szervizek"] .nyitva-szamlalo-szamok {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  margin: 0;
}
body[data-page="szervizek"] .nyitva-szamlalo-szamok span {
  display: grid;
  gap: 2px;
  min-width: 4.5rem;
}
body[data-page="szervizek"] .nyitva-szamlalo-szamok strong {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(2.4rem, 6vw, 3.4rem);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
body[data-page="szervizek"] .kapu-atvezeto { margin-top: 18px; }
body[data-page="szervizek"] .kapu-sor { margin-top: 28px; border-top: 1px solid #c5d5cc; }
body[data-page="szervizek"] .kapu-sor article {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto auto;
  gap: 18px 24px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid #c5d5cc;
}
body[data-page="szervizek"] .kapu-sor h2 { margin: 0; color: #1c3a38; font-size: 1.55rem; }
body[data-page="szervizek"] .kapu-varos { color: #3d5348; }
body[data-page="szervizek"] .allapot {
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #1c3a38;
}
body[data-page="szervizek"] .allapot.zarva { color: #6e6458; }
body[data-page="szervizek"] .belepes-lap { max-width: 28rem; }
body[data-page="szervizek"] .belepes-lap form { display: grid; gap: 14px; margin-top: 22px; }
body[data-page="szervizek"] .belepes-lap input { background: #f7f4ee; }
body[data-page="szervizek"] .elfelejtett { justify-self: start; padding: 0; background: none; border: 0; color: #1c3a38; font-weight: 700; text-decoration: underline; cursor: pointer; }
body[data-page="szervizek"] .uzenet { margin-top: 16px; max-width: 36rem; }
body[data-page="szervizek"] .elo-muhely { margin-top: 36px; }
body[data-page="szervizek"] .elo-muhely h2 {
  margin: 6px 0 4px; color: #1c3a38;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
}
body[data-page="szervizek"] .elo-jel {
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
}
body[data-page="szervizek"] .elo-jel.elo { color: #1c3a38; }
body[data-page="szervizek"] .elo-jel.elo::before,
body[data-page="szervizek"] .elo-jel.nincs::before {
  content: ""; display: inline-block; width: 0.72rem; height: 0.72rem;
  margin-right: 0.45rem; border-radius: 50%; vertical-align: -0.05rem;
}
body[data-page="szervizek"] .elo-jel.elo::before { background: #3f8f55; }
body[data-page="szervizek"] .elo-jel.nincs { color: #5c675f; }
body[data-page="szervizek"] .elo-jel.nincs::before { background: #d5ddd8; box-shadow: inset 0 0 0 1px #8a968e; }
body[data-page="szervizek"] .elo-keret {
  margin-top: 14px; min-height: 46vh;
  background: #1c3a38; color: #f6f3ec;
  display: flex; flex-direction: column; justify-content: center; gap: 8px;
  padding: 28px;
}
body[data-page="szervizek"] .elo-keret.nincs { min-height: 36vh; background: #243f3c; }
body[data-page="szervizek"] .elo-keret .btn {
  align-self: flex-start; margin-top: 16px;
  background: #f6f3ec; color: #1c3a38;
}
body[data-page="szervizek"] .elo-keret .btn:hover { background: #e7efe9; color: #1c3a38; }
body[data-page="szervizek"] .hamarosan {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1;
}
@media (max-width: 800px) {
  body[data-page="szervizek"] .nyitva-szamlalo { padding: 18px 16px; }
  body[data-page="szervizek"] .nyitva-szamlalo-szamok { gap: 12px 18px; }
  body[data-page="szervizek"] .kapu-sor article { grid-template-columns: 1fr; gap: 8px; }
  body[data-page="szervizek"] .kapu-sor .btn,
  body[data-page="szervizek"] .belepes-lap .btn,
  body[data-page="szervizek"] .elo-keret .btn { width: 100%; }
  body[data-page="szervizek"] .elo-keret { min-height: 46vh; padding: 20px; }
  body[data-page="szervizek"] .elo-facebook .btn { width: 100%; }
}
body[data-page="szervizek"] .elo-facebook { margin-top: 14px; max-width: 42rem; }
body[data-page="szervizek"] .elo-csend { margin: 0 0 12px; }
body[data-page="szervizek"] .elo-lejatszo { width: 100%; aspect-ratio: 16 / 9; max-height: 420px; background: #1c3a38; }
body[data-page="szervizek"] .elo-lejatszo iframe { width: 100%; height: 100%; border: 0; display: block; }
body[data-page="szervizek"] .kapu-elo {
  background: #1c3a38;
  color: #f3ead9;
  padding: 56px 0;
}
body[data-page="szervizek"] .kapu-elo h2,
body[data-page="szervizek"] .kapu-franchise h2 {
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  line-height: 0.98;
  max-width: 14ch;
  margin: 0 0 14px;
}
body[data-page="szervizek"] .kapu-elo h2 { color: #f3ead9; }
body[data-page="szervizek"] .kapu-mondat {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  font-weight: 700;
  line-height: 1.12;
  margin: 0 0 14px;
}
body[data-page="szervizek"] .kapu-ketto {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 36px 48px;
  align-items: center;
}
body[data-page="szervizek"] .kapu-hely {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 22px 0 8px;
}
body[data-page="szervizek"] .kapu-elo .elo-jel { color: #f3ead9; }
body[data-page="szervizek"] .kapu-elo .elo-jel.elo::before { background: #e23b3b; box-shadow: 0 0 0 4px rgba(226, 59, 59, 0.25); }
body[data-page="szervizek"] .kapu-elo .elo-jel.nincs { color: #d5ddd8; }
body[data-page="szervizek"] .kapu-elo .btn {
  margin-top: 22px;
  background: #f3ead9;
  color: #1c3a38;
  min-height: 52px;
  padding: 0.85rem 1.3rem;
  font-size: 1rem;
}
body[data-page="szervizek"] .kapu-elo .btn:hover { background: #d7e0c8; color: #1c3a38; }
body[data-page="szervizek"] .monitor {
  background: #101816;
  border-radius: 18px 18px 8px 8px;
  padding: 16px 16px 0;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
}
body[data-page="szervizek"] .monitor-kep {
  background: #0c1412;
  min-height: 280px;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 28px;
  color: #f3ead9;
}
body[data-page="szervizek"] .monitor-kep .elo-csend {
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.35;
  max-width: 18em;
}
body[data-page="szervizek"] .monitor-kep:has(.elo-lejatszo) { display: block; padding: 0; }
body[data-page="szervizek"] .monitor-kep .elo-lejatszo {
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  aspect-ratio: auto;
}
body[data-page="szervizek"] .monitor-talp {
  height: 28px;
  margin: 0 auto;
  width: 38%;
  background: linear-gradient(#1a2824, #101816);
  border-radius: 0 0 10px 10px;
}
body[data-page="szervizek"] .kapu-franchise {
  background: #e3eee6;
  padding: 64px 0;
}
body[data-page="szervizek"] .kapu-franchise h2 { color: #1c3a38; max-width: 16ch; }
body[data-page="szervizek"] .kapu-franchise .kapu-mondat { color: #1c3a38; max-width: 28ch; }
body[data-page="szervizek"] .kapu-franchise-belso { max-width: 40rem; }
body[data-page="szervizek"] .kapu-franchise-belso p + p { margin-top: 12px; }
body[data-page="szervizek"] .kapu-franchise .btn {
  margin-top: 22px;
  min-height: 52px;
  padding: 0.85rem 1.3rem;
  font-size: 1rem;
}
@media (max-width: 800px) {
  body[data-page="szervizek"] .kapu-ketto { grid-template-columns: minmax(0, 1fr); }
  body[data-page="szervizek"] .kapu-ketto > * { min-width: 0; }
  body[data-page="szervizek"] .kapu-elo,
  body[data-page="szervizek"] .kapu-franchise { padding: 40px 0; }
  body[data-page="szervizek"] .kapu-elo .btn,
  body[data-page="szervizek"] .kapu-franchise .btn { width: 100%; }
  body[data-page="szervizek"] .monitor-kep { min-height: 200px; }
}

[data-cost-form] fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 12px; }
[data-cost-form] [hidden] { display: none; }
[data-cost-form] .cost-jel { font-weight: 700; color: #1c3a38; margin-bottom: 12px; }
[data-cost-form] .cost-valaszok { display: grid; gap: 8px; }
[data-cost-form] .cost-valasz { display: flex; align-items: center; gap: 8px; font-weight: 600; }
[data-cost-form] .cost-valasz input { width: 1.15rem; height: 1.15rem; flex: none; }
[data-cost-form] .cost-hiba { margin-top: 12px; color: #1c3a38; }
[data-cost-form] .cost-gombok { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
[data-cost-out] ul { margin: 8px 0 8px 1.1rem; }
@media (max-width: 800px) {
  [data-cost-form] .cost-gombok .btn,
  [data-cost-out] .btn { width: 100%; }
}

body[data-page="turara"] { background: #e7efe9; }
body[data-page="turara"] section { padding: 36px 0 64px; }
body[data-page="turara"] h1 {
  color: #1c3a38;
  font-size: clamp(2.4rem, 6vw, 4rem);
  max-width: 10ch;
}
body[data-page="turara"] .lede { color: #3d5348; font-size: 1.12rem; }
body[data-page="turara"] .turaind { max-width: 40rem; }
body[data-page="turara"] [hidden] { display: none; }
body[data-page="turara"] fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 12px; }
body[data-page="turara"] .turaind-jel { font-weight: 700; color: #1c3a38; margin: 18px 0 12px; }
body[data-page="turara"] .turaind-valaszok { display: grid; gap: 8px; }
body[data-page="turara"] .turaind-valasz { display: flex; align-items: center; gap: 8px; font-weight: 600; }
body[data-page="turara"] .turaind-valasz input { width: 1.15rem; height: 1.15rem; flex: none; }
body[data-page="turara"] .turaind-hiba { margin-top: 12px; color: #1c3a38; }
body[data-page="turara"] .turaind-gombok { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
body[data-page="turara"] .turaind-csomag { max-width: 42rem; margin-top: 8px; }
body[data-page="turara"] .turaind-csomag h2 { margin-top: 1.7rem; color: #1c3a38; }
body[data-page="turara"] .turaind-csomag ul { margin: 8px 0 0 1.1rem; }
body[data-page="turara"] .turaind-hely { display: grid; gap: 12px; margin-top: 12px; }
@media (max-width: 800px) {
  body[data-page="turara"] .turaind-gombok .btn,
  body[data-page="turara"] .turaind-csomag .btn { width: 100%; }
}

.nyitvatartas { margin-top: 10px; max-width: 36rem; line-height: 1.45; }
.nyitvatartas p { margin: 0 0 8px; }
.nyitvatartas-cim { font-weight: 700; letter-spacing: 0.04em; }
.nyitvatartas-most { font-weight: 700; }
.halozat-ikon.leaflet-div-icon { background: transparent; border: 0; }
.halozat-pont { display: block; width: 16px; height: 16px; border-radius: 50%; box-shadow: 0 0 0 2px #1c3a38; }
.halozat-pont.mukodo { background: #2f7d32; }
.halozat-pont.tervezett { background: #e0b000; }
.halozat-jelmagyarazat { display: flex; flex-wrap: wrap; gap: 16px; font-weight: 700; margin: 12px 0; }
.allapot.tervezett { color: #6e5a12; }
.halozat-varos { margin-top: 22px; padding-top: 16px; border-top: 1px solid #c5d5cc; }
.halozat-varos h3 { margin: 0 0 8px; color: #1c3a38; }
.halozat-pontositas { margin-top: 28px; color: #6e6458; font-size: 0.92rem; }
#halozat-map, #franchise-map { height: 460px; }
body.franchise-lap { background: #e7efe9; }
body.franchise-lap section { padding: 0; }
body.franchise-lap .franchise-hero {
  background: #1c3a38;
  color: #f3ead9;
  padding: 72px 0 64px;
}
body.franchise-lap .franchise-hero .kicker { color: #d7e0c8; }
body.franchise-lap .franchise-hero h1 {
  color: #f3ead9;
  font-size: clamp(2.6rem, 6.4vw, 4.6rem);
  max-width: 11ch;
  line-height: 0.94;
  margin: 10px 0 18px;
}
body.franchise-lap .franchise-hero .lede {
  color: #e4ebe4;
  font-size: 1.28rem;
  max-width: 26rem;
}
body.franchise-lap .franchise-mondat {
  max-width: 38rem;
  margin-top: 22px;
  font-size: 1.05rem;
}
body.franchise-lap .franchise-blokk { padding: 56px 0; }
body.franchise-lap .franchise-mely { background: #dce8df; }
body.franchise-lap .franchise-szoveg { max-width: 40rem; }
body.franchise-lap .franchise-szoveg p + p,
body.franchise-lap .franchise-ketto p + p,
body.franchise-lap .franchise-resz p + p,
body.franchise-lap .franchise-helyszin p + p { margin-top: 14px; }
body.franchise-lap h2 {
  color: #1c3a38;
  font-size: clamp(1.9rem, 4vw, 2.7rem);
  max-width: 18ch;
  line-height: 1.02;
  margin-bottom: 16px;
}
body.franchise-lap h2.franchise-szeles { max-width: 22ch; }
body.franchise-lap .franchise-ketto {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 28px 64px;
  align-items: start;
}
body.franchise-lap .franchise-tovabb { margin-top: 42px; }
body.franchise-lap .franchise-resz h3 {
  color: #1c3a38;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  max-width: 22ch;
  margin: 26px 0 10px;
}
body.franchise-lap .franchise-resz h3:first-child { margin-top: 0; }
body.franchise-lap .franchise-kiemelt {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 700;
  line-height: 1.15;
  color: #1c3a38;
  margin: 0 0 14px;
}
body.franchise-lap .franchise-idezet {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 700;
  line-height: 1.08;
  color: #1c3a38;
  margin: 0;
}
body.franchise-lap .franchise-helyszin {
  margin-top: 42px;
  background: #1c3a38;
  color: #f3ead9;
  padding: 42px 40px;
}
body.franchise-lap .franchise-helyszin h3 {
  color: #f3ead9;
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  max-width: 18ch;
  line-height: 1.05;
  margin: 0 0 18px;
}
body.franchise-lap .franchise-felszereles {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}
body.franchise-lap .franchise-felszereles li { line-height: 1.35; }
body.franchise-lap .franchise-egysor { grid-template-columns: 1fr; margin-bottom: 16px; }
body.franchise-lap .franchise-osszeg-blokk { padding-top: 8px; }
body.franchise-lap .franchise-osszeg-jel {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: #1c3a38;
  margin: 0 0 8px;
}
body.franchise-lap .franchise-osszeg {
  font-family: "Archivo Narrow", sans-serif;
  font-size: clamp(2.6rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 0.95;
  color: #1c3a38;
  margin: 0;
}
body.franchise-lap .kicker { color: #3d5348; }
body.franchise-lap .franchise-varosok {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
  margin-top: 8px;
}
body.franchise-lap .franchise-varosok .halozat-varos {
  border-top: 0;
  margin-top: 0;
  padding-top: 22px;
}
body.franchise-lap .franchise-varosok .halozat-pontositas { grid-column: 1 / -1; }
body.franchise-lap .franchise-zaras {
  background: #1c3a38;
  color: #f3ead9;
  padding: 64px 0;
}
body.franchise-lap .franchise-zaras h2,
body.franchise-lap .franchise-zaras .franchise-idezet { color: #f3ead9; }
body.franchise-lap .franchise-zaras .btn {
  background: #f3ead9;
  color: #1c3a38;
  margin-top: 22px;
}
body.franchise-lap .franchise-zaras .btn:hover { background: #d7e0c8; color: #1c3a38; }
body.franchise-lap .franchise-keret {
  list-style: none;
  margin: 22px 0 8px;
  padding: 0;
}
body.franchise-lap .franchise-keret li {
  padding: 11px 0;
  border-top: 1px solid #c5d5cc;
}
body.franchise-lap .franchise-urlap { margin-top: 0; }
body.franchise-lap .franchise-urlap form { display: grid; gap: 14px; margin-top: 22px; }
body.franchise-lap .franchise-terkep-megjegyzes { margin-top: 12px; max-width: 40rem; }
body.franchise-lap #franchise-map { margin-top: 8px; }
body.franchise-lap .halozat-varos a { font-weight: 700; color: #1c3a38; }
body.franchise-lap [hidden] { display: none; }
body.franchise-lap .hozzajarulas { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0; }
body.franchise-lap .hozzajarulas input { width: 1.15rem; height: 1.15rem; flex: none; margin-top: 4px; }
body[data-page="szervizek"] [hidden] { display: none; }
@media (max-width: 800px) {
  body.franchise-lap .franchise-hero { padding: 44px 0 36px; }
  body.franchise-lap .franchise-blokk { padding: 40px 0; }
  body.franchise-lap .btn { width: 100%; }
  body.franchise-lap #franchise-map { height: 320px; }
  body.franchise-lap .franchise-ketto,
  body.franchise-lap .franchise-felszereles,
  body.franchise-lap .franchise-varosok { grid-template-columns: 1fr; }
  body.franchise-lap .franchise-ketto { gap: 22px; }
  body.franchise-lap .franchise-helyszin { padding: 28px 22px; }
  body.franchise-lap .franchise-zaras { padding: 44px 0; }
}
