/* ==========================================================
   KIPS landing page — converted from Figma ("KIPS Landing page 3")
   Design width: 1280px. Photo-heavy blocks are authored in design
   pixels and scaled to the viewport (.fit); text sections are fluid.
   ========================================================== */
:root {
  --yellow: #f4d701;
  --red: #eb2026;
  --green: #00a44e;
  --ink: #111;
  --grey: #4a4a4a;
  --brown: #b55251;
  --grad: radial-gradient(ellipse 1025px 680px at 50% 50%,
      #f4d701 0, #e2a806 12.5%, #d0790b 25%, #bd4910 37.5%, #b43213 43.75%,
      #ab1a15 50%, #6c1311 75%, #4c100e 87.5%, #2c0c0c 100%);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --script: "Lobster", "Brush Script MT", cursive;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); color: var(--ink); background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; }
.wrap { width: min(1120px, 100% - 40px); margin-inline: auto; }

/* ---------- scaling helper ---------- */
.fit { --w: 1280; --s: 1; position: relative; width: 100%; height: calc(var(--h) * var(--s) * 1px); overflow: hidden; }
.fit-inner { position: absolute; left: 50%; top: 0; width: calc(var(--w) * 1px); height: calc(var(--h) * 1px);
  transform: translateX(-50%) scale(var(--s)); transform-origin: top center; }
.about-collage .fit, .gallery .fit { overflow: visible; }
.about-collage .fit-inner { left: 0; transform: scale(var(--s)); transform-origin: top left; }
.abs { position: absolute; max-width: none; object-fit: cover; }
.framed { border: 5px solid #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }

/* ---------- typography ---------- */
.eyebrow { font: italic 700 20px/20px var(--font); letter-spacing: -.04em; margin: 0 0 8px; }
.eyebrow.green { color: var(--green); } .eyebrow.yellow { color: var(--yellow); } .eyebrow.white { color: #fff; }
.body { font: 400 15px/20px var(--font); letter-spacing: -.04em; color: var(--grey); margin: 0 0 16px; }
.body.light { color: #fff; }
.display { font: 400 clamp(56px, 9.4vw, 120px)/1 var(--script); margin: 0 0 24px; }
.display .line { display: block; line-height: .95; }
.display.dark { color: var(--ink); } .display.gold { color: var(--gold, var(--yellow)); }
.stamp { display: block; width: max-content; position: relative; z-index: 2; background: var(--red); color: #fff;
  font: italic 800 clamp(20px, 2.7vw, 35px)/50px var(--font); letter-spacing: -.05em; padding: 0 20px; border-radius: 6px;
  transform: rotate(-4deg); margin: -22px 0 -26px 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, .25); }
.stamp--wide { margin-inline: auto; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; height: 45px; padding: 0 32px; border-radius: 999px;
  background: linear-gradient(180deg, #1bbd64, #00a44e 55%, #008a41); color: #fff; font: 500 15px/20px var(--font); letter-spacing: -.04em;
  text-decoration: none; border: 0; cursor: pointer; white-space: nowrap; box-shadow: 0 6px 14px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .35);
  transition: transform .2s, filter .2s; }
.btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.btn--wide { padding: 0 40px; }
.btn--submit { width: 190px; margin: 30px auto 0; display: flex; }

/* ---------- HERO ---------- */
.hero { background: var(--grad); position: relative; }
.nav { position: absolute; inset: 0 0 auto 0; height: 80px; z-index: 30; }
.logo { position: absolute; left: 75px; top: 16px; }
.menu-btn { position: absolute; left: 1126px; top: 23px; width: 74px; height: 34px; border: 0; border-radius: 100px; background: #fff; display: grid; place-items: center; cursor: pointer; }
.hero .slider { position: absolute; left: 0; top: 80px; width: 1280px; height: 720px; }
.slider { position: relative; }
.viewport { overflow: hidden; width: 100%; }
.track { display: flex; width: max-content; transition: transform .7s cubic-bezier(.65, .05, .25, 1); will-change: transform; }
.slide { position: relative; flex: 0 0 1280px; width: 1280px; overflow: hidden; }
.picks .slider .viewport, .picks .slider .fit-inner { width: 1280px; }

.hl { position: absolute; left: 0; width: 1280px; top: 50%; transform: translateY(-50%); margin: 0; text-align: center;
  font: 400 150px/120px var(--script); color: var(--yellow); pointer-events: none; }
.hl span { display: block; }
.hl--one { font-size: 220px; line-height: 150px; white-space: nowrap; }
.hl--back { z-index: 1; }
.hl--front { z-index: 3; color: transparent; -webkit-text-stroke: 2px var(--yellow); }
.main-img { z-index: 2; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .35)); }
.ring { z-index: 1; border-radius: 50%; }
.deco { z-index: 4; }
.kicker { position: absolute; z-index: 4; left: 50%; top: 116px; transform: translate(-50%, -50%); white-space: nowrap;
  font: italic 800 35px/50px var(--font); letter-spacing: -.05em; color: var(--yellow); }
.tag { position: absolute; z-index: 4; width: 256px; margin: 0; font: italic 700 20px/20px var(--font); letter-spacing: -.04em; color: #fff; }
.tag--l { left: 73px; top: 102px; }
.tag--r { left: 951px; top: 542px; text-align: right; }
.badge { position: absolute; z-index: 5; left: 765px; top: 472px; width: 151px; height: 142px; display: grid; place-items: center; transform: rotate(-8deg); }
.badge .burst { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .35)); }
.badge span, .pick-tag span { position: relative; text-align: center; color: var(--red); display: flex; flex-direction: column; align-items: center; }
.badge em, .pick-tag em { font: italic 700 10px/15px var(--font); letter-spacing: -.03em; }
.badge strong, .pick-tag strong { font: italic 800 15px/16px var(--font); letter-spacing: -.04em; text-transform: uppercase; }
.badge em { font-size: 11px; } .badge strong { font-size: 16px; max-width: 100px; }
.hero-cta { position: absolute; z-index: 6; left: 50%; top: 635px; transform: translateX(-50%); }
.hero-cta:hover { transform: translateX(-50%) translateY(-2px); }

.dots { position: absolute; z-index: 10; left: 50%; bottom: 7px; transform: translateX(-50%); display: flex; gap: 8px; }
.dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; padding: 0; background: rgba(255, 255, 255, .55); cursor: pointer; transition: all .3s; }
.dots button.on { background: var(--yellow); width: 26px; border-radius: 6px; }
.picks .dots { bottom: 24px; }
.arrow { position: absolute; z-index: 10; top: 50%; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; background: rgba(255, 255, 255, .92); box-shadow: 0 4px 12px rgba(0, 0, 0, .25); transition: transform .2s; }
.arrow:hover { transform: scale(1.1); }
.arrow--prev { left: 18px; } .arrow--next { right: 18px; }
.arrow svg { width: 20px; height: 20px; }
.picks .arrow--prev { left: max(12px, 2vw); } .picks .arrow--next { right: max(12px, 2vw); }

/* menu drawer */
.drawer { position: fixed; z-index: 100; inset: 0 0 0 auto; width: min(380px, 86vw); background: var(--ink); padding: 90px 40px; transform: translateX(105%); transition: transform .4s ease; box-shadow: -10px 0 40px rgba(0, 0, 0, .4); }
.drawer.open { transform: none; }
.drawer-close { position: absolute; top: 20px; right: 24px; background: none; border: 0; color: #fff; font-size: 40px; cursor: pointer; line-height: 1; }
.drawer nav { display: grid; gap: 18px; }
.drawer a { font: 400 38px/1.2 var(--script); color: var(--yellow); text-decoration: none; }
.drawer a:hover { color: #fff; }

/* ---------- ABOUT ---------- */
.about { background: #fff; padding: 100px 0; }
.about-grid { width: min(1148px, 100% - 40px); margin-inline: auto; display: grid; grid-template-columns: 583px minmax(0, 552px); gap: 13px; justify-content: space-between; align-items: center; }
.about-text .body { max-width: 560px; }
.origin { display: flex; align-items: center; gap: 12px; margin-top: 36px; }
.origin img { width: 121px; height: auto; }
.origin-script { font: italic 700 20px/24px var(--font); letter-spacing: -.04em; color: var(--green); margin: 0; }
.origin-sub { font: 500 15px/20px var(--font); letter-spacing: -.04em; color: var(--grey); margin: 4px 0 0; }
.since { position: absolute; left: 430px; top: 395px; width: 130px; height: 130px; display: grid; place-items: center; transform: rotate(8deg); z-index: 5; }
.since .burst { position: absolute; inset: 0; width: 100%; height: 100%; }
.since span { position: relative; text-align: center; color: #fff; font: italic 700 11px/13px var(--font); letter-spacing: .05em; }
.since b { display: block; color: var(--yellow); font: 400 26px/28px var(--script); letter-spacing: 0; }

/* ---------- PICKS ---------- */
.picks { background: var(--grad); padding-bottom: 60px; position: relative; overflow: hidden; }
.strip { background: var(--ink); height: 49px; overflow: hidden; display: flex; align-items: center; }
.strip-track { display: flex; align-items: center; gap: 24px; width: max-content; padding-left: 14px; animation: marq 38s linear infinite;
  font: italic 800 20px/25px var(--font); letter-spacing: -.04em; color: #fff; white-space: nowrap; }
.star-i { width: 15px; height: 15px; flex: none; }
.picks-head { text-align: center; padding: 64px 0 30px; }
.picks-head .body { max-width: 760px; margin-inline: auto; }
.pick-title { position: absolute; z-index: 1; left: 0; width: 1280px; top: 290px; margin: 0; text-align: center; font: 400 170px/140px var(--script); color: var(--yellow); pointer-events: none; }
.pick-title span { display: block; }
.pick-title.front { z-index: 3; color: transparent; -webkit-text-stroke: 2px var(--yellow); }
.pick-tag { position: absolute; z-index: 5; left: 820px; top: 500px; width: 130px; height: 124px; display: grid; place-items: center; transform: rotate(10deg); }
.pick-tag .burst { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .35)); }
.pick-foot { position: absolute; z-index: 6; left: 0; width: 1280px; top: 765px; text-align: center; }
.pick-foot p { max-width: 640px; margin: 0 auto; color: #fff; font: 400 15px/20px var(--font); letter-spacing: -.04em; }
.btn-row { display: flex; justify-content: center; gap: 16px; margin-top: 26px; }

/* ---------- IMPACT ---------- */
.impact { background: #fff; padding: 100px 0 80px; }
.impact-grid { width: min(1105px, 100% - 40px); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 536px) minmax(0, 509px); justify-content: space-between; align-items: center; gap: 40px; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 40px; text-align: center; }
.stat b { display: block; font: 600 30px/32px var(--font); letter-spacing: -.04em; color: var(--red); }
.stat h4 { margin: 14px 0 12px; font: 600 15px/20px var(--font); letter-spacing: -.04em; color: var(--grey); }
.stat p { margin: 0; font: 400 13px/15px var(--font); letter-spacing: -.04em; color: rgba(74, 74, 74, .5); }

/* ---------- LOCATIONS ---------- */
.locations { position: relative; }
.loc-sticky { position: sticky; top: 0; overflow: hidden; background: var(--grad); background-position: 50% 60%; }
.loc-head, .map { will-change: transform; }
.loc-head { position: absolute; top: 70px; left: 183px; width: 914px; text-align: center; }
.loc-title { font-size: 80px; }
.loc-head .stamp { font-size: 35px; margin-top: -18px; margin-bottom: -22px; }
.loc-head .body { margin-top: 36px; }
.map { position: absolute; left: 310px; top: 409px; width: 660px; height: 1241px; }
.map-img { position: absolute; left: 97px; top: 0; width: 563px; height: 1241px; overflow: hidden; }
.map-img img { position: absolute; max-width: none; height: 107.13%; left: -80.22%; top: -4.64%; width: 255.44%; }

/* ---------- GALLERY ---------- */
.gallery { background: #fff; padding: 100px 0; }
.gallery .fit { width: min(1120px, 100% - 40px); margin-inline: auto; }
.gallery .fit-inner { left: 0; transform: scale(var(--s)); transform-origin: top left; }
.gal-head { position: absolute; left: 0; top: 0; width: 620px; }
.gal-head .display { font-size: 100px; }
.gal-head .stamp { font-size: 28px; }
.gal-head .body { margin-top: 22px; max-width: 440px; }
.gal-img { transition: transform .35s; }
.gal-img:hover { transform: scale(1.03) rotate(-1deg); z-index: 5; }

/* ---------- TESTIMONIALS ---------- */
.testi { background: var(--ink); padding: 100px 0; overflow: hidden; }
.testi-head { text-align: center; margin-bottom: 70px; }
.testi-head .display { font-size: clamp(48px, 7.2vw, 100px); }
.testi-head .body { max-width: 760px; margin-inline: auto; }
.marquee { overflow: hidden; margin-bottom: 10px; }
.marquee-track { display: flex; gap: 10px; width: max-content; animation: marq 60s linear infinite; }
.marquee--b .marquee-track { animation-direction: reverse; animation-duration: 70s; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.t-card { flex: none; width: 450px; margin: 0; padding: 25px; background: #fff; border-radius: 20px; }
.t-card blockquote { margin: 0; min-height: 40px; font: 500 15px/20px var(--font); letter-spacing: -.04em; color: var(--ink); }
.t-card figcaption { display: flex; align-items: center; gap: 15px; margin-top: 25px; font: 600 15px/20px var(--font); letter-spacing: -.04em; color: var(--grey); }
.t-card img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }

/* ---------- FEEDBACK ---------- */
.feedback { background: #fff; padding: 100px 0; }
.fb-grid { width: min(1194px, 100% - 40px); display: grid; grid-template-columns: minmax(0, 551px) minmax(0, 628px); justify-content: space-between; gap: 40px; align-items: start; }
.fb-left { position: relative; padding-bottom: 260px; }
.fb-mascot { position: absolute; left: 5px; bottom: 0; }
.fb-right { min-height: 900px; margin-top: -100px; padding: 95px 85px 91px 71px; background: #222 center/cover no-repeat; border-radius: 24px; }
.fb-form { background: #fff; border-radius: 20px; padding: 40px 25px; box-shadow: 0 18px 50px rgba(0, 0, 0, .3); }
.field { display: block; margin: 0 0 30px; padding: 0; border: 0; min-width: 0; }
.field > span, .field legend { display: block; padding: 0; margin-bottom: 8px; font: 600 15px/20px var(--font); letter-spacing: -.04em; color: var(--ink); }
.field input[type=text], .field select, .field textarea { width: 100%; height: 50px; padding: 0 20px; border: 1px solid rgba(74, 74, 74, .35); border-radius: 12px;
  background: #fff; font: 400 15px var(--font); letter-spacing: -.03em; color: var(--ink); outline: none; transition: border-color .2s, box-shadow .2s; }
.field textarea { height: 100px; padding: 14px 20px; resize: vertical; }
.field select { appearance: none; background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24'><path d='M4 8l8 8 8-8' fill='none' stroke='%23111' stroke-width='3'/></svg>") no-repeat right 20px center; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(0, 164, 78, .15); }
.field.invalid input, .field.invalid select, .field.invalid textarea { border-color: var(--red); }
.chips { display: flex; flex-wrap: wrap; gap: 12px; }
.chip input, .stars input { position: absolute; opacity: 0; pointer-events: none; }
.chip span { display: block; padding: 15px 20px; border: 1px solid rgba(74, 74, 74, .94); border-radius: 40px; font: 400 15px/20px var(--font); cursor: pointer; transition: all .2s; }
.chip input:checked + span { background: var(--green); border-color: var(--green); color: #fff; }
.chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(0, 164, 78, .3); }
.stars { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 12px; }
.stars label { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 10px; cursor: pointer; }
.stars svg { fill: none; stroke: #4a4a4a; stroke-width: 1.5; transition: all .15s; }
.stars input:checked + label svg, .stars input:checked ~ input + label svg, .stars label:hover svg, .stars label:hover ~ label svg { fill: var(--yellow); stroke: #d0a900; }
.hp { position: absolute; left: -9999px; }
.alert { display: none; margin-bottom: 20px; padding: 12px 16px; border-radius: 10px; font: 500 14px/20px var(--font); }
.alert.show { display: block; }
.alert.success { background: #e7f7ee; color: #0b6b38; }
.alert.error { background: #fdecec; color: #a1141a; }

/* ---------- FOOTER ---------- */
.footer { background: var(--ink); color: #fff; padding-top: 100px; }
.footer-main { position: relative; display: flex; justify-content: space-between; gap: 40px; flex-wrap: wrap; width: min(1119px, 100% - 40px);
  border-top: 1px solid rgba(255, 255, 255, .25); border-bottom: 1px solid rgba(255, 255, 255, .25); padding: 80px 0 143px; }
.f-brand { position: relative; width: 230px; }
.f-brand p { margin: 24px 0 0; font: 400 15px/24px var(--font); letter-spacing: -.03em; color: rgba(255, 255, 255, .85); }
.f-logo { width: 80px; height: auto; }
.f-sticker { position: absolute; left: 142px; top: 3px; width: 100px; height: auto; }
.social { display: flex; gap: 15px; margin-top: 24px; }
.f-col h5 { margin: 0 0 25px; font: 700 15px/24px var(--font); letter-spacing: .02em; color: var(--yellow); }
.f-col ul { list-style: none; margin: 0; padding: 0; }
.f-col li { margin-bottom: 15px; font: 400 15px/18px var(--font); letter-spacing: -.03em; display: flex; align-items: center; gap: 10px; }
.f-col a { text-decoration: none; color: #fff; transition: color .2s; } .f-col a:hover { color: var(--yellow); }
.f-deco { position: absolute; bottom: -1px; height: auto; }
.f-deco--l { left: 121px; width: 130px; } .f-deco--r { right: 20px; width: 160px; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 30px 0; font: 400 13px/18px var(--font); color: rgba(255, 255, 255, .75); }
.footer-bottom a { text-decoration: none; } .footer-bottom a:hover { color: var(--yellow); }

/* ---------- motion ---------- */
@keyframes marq { to { transform: translateX(-50%); } }
@keyframes bob { 50% { transform: translateY(-5px); } }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .about-grid, .impact-grid, .fb-grid { grid-template-columns: 1fr; }
  .about-collage { max-width: 552px; margin-inline: auto; width: 100%; }
  .fb-right { margin-top: 0; padding: 40px 20px; min-height: 0; }
  .fb-left { padding-bottom: 180px; }
}
@media (max-width: 720px) {
  .about, .impact, .feedback, .gallery, .testi { padding: 60px 0; }
  .stats { grid-template-columns: repeat(2, 1fr); gap: 36px 20px; }
  .footer-main { flex-direction: column; padding-bottom: 60px; }
  .f-deco { display: none; }
  .t-card { width: 82vw; }
  .picks-head { padding-top: 40px; }
  .footer-bottom { flex-direction: column; text-align: center; }
}

/* ---------- locations: travelling plane / card / stamp ---------- */
.pin-wrap { position: absolute; width: 24px; height: 24px; padding: 0; border: 0; background: none; z-index: 3; cursor: pointer; }
.pin { width: 24px; height: 24px; display: block; fill: #fff; stroke: var(--red); stroke-width: 1.2; transform-origin: 50% 100%; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1), fill .3s; }
.pin circle { fill: var(--red); stroke: none; }
.pin-wrap:hover .pin { transform: scale(1.2); }
.pin-wrap.active { z-index: 4; }
.pin-wrap.active .pin { fill: var(--yellow); transform: scale(1.35); animation: bob2 1.4s ease-in-out infinite; }
.plane { position: absolute; left: 0; top: 0; width: 80px; height: 65.74px; z-index: 6; pointer-events: none; will-change: transform; backface-visibility: hidden; }
.loc-card { position: absolute; left: 0; top: 0; z-index: 5; width: 255px; min-height: 250px; padding: 25px; background: #fff; border-radius: 20px; box-shadow: 0 8px 18px rgba(0, 0, 0, .3); will-change: transform, opacity; backface-visibility: hidden; }
.loc-card h3 { margin: 0 0 20px; font: 700 20px/20px var(--font); letter-spacing: -.04em; }
.loc-lines { min-height: 100px; }
.loc-lines p { margin: 0 0 5px; font: 400 15px/20px var(--font); letter-spacing: -.04em; color: var(--ink); }
.loc-lines p:empty { display: none; }
.loc-lines.soon::before { content: "Branch details coming soon."; display: block; font: 400 15px/20px var(--font); letter-spacing: -.04em; color: var(--grey); }
.loc-card .btn { margin-top: 20px; width: 170px; padding: 0; }
.postmark { position: absolute; left: -96px; top: -61px; width: 138px; height: 138px; transform: rotate(-22deg); background: #f1e8cf; border: 5px dotted #fff; outline: 2px solid #8c2b20; outline-offset: -9px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; box-shadow: 0 6px 14px rgba(0, 0, 0, .3); }
.pm-city { font: italic 800 19px/20px var(--font); letter-spacing: -.02em; color: #8c2b20; max-width: 120px; text-align: center; }
.pm-plane { width: 46px; height: 46px; }
.pm-country { font: italic 800 14px/16px var(--font); color: #8c2b20; align-self: flex-end; margin-right: 14px; }
@keyframes bob2 { 0%, 100% { transform: scale(1.35); } 50% { transform: translateY(-5px) scale(1.35); } }

.map { backface-visibility: hidden; }
.map-img img { image-rendering: auto; }
.loc-sticky { }

/* ================= GREEN THEME (Figma "prototype" styling) ================= */
body.theme-green {
  --gold: #e4a728;
  --grad: radial-gradient(ellipse 1383px 513px at 50% 43%, #00a44e 0, #0c6e39 50%, #11522f 75%, #173724 100%);
}
.theme-green .hero, .theme-green .picks { background: radial-gradient(ellipse 1383px 560px at 50% 50%, #00a44e 0, #0c6e39 50%, #11522f 75%, #173724 100%); }
/* headlines: red fill with white outline */
.theme-green .hl--back, .theme-green .pick-title.back { color: var(--red); -webkit-text-stroke: 8px #fff; paint-order: stroke fill; }
.theme-green .hl--front, .theme-green .pick-title.front { color: transparent; -webkit-text-stroke: 2px #fff; paint-order: normal; }
/* stamps: red lettering with a thick white outline */
.theme-green .stamp { background: none; box-shadow: none; color: var(--red); -webkit-text-stroke: 9px #fff; paint-order: stroke fill; border-radius: 0; }
/* buttons: golden */
.theme-green .btn { background: linear-gradient(180deg, #f3c04a, #e4a728 55%, #c98c14); }
.theme-green .star-i path { fill: var(--gold); }
.theme-green .dots button.on { background: var(--gold); }
.theme-green .eyebrow.yellow { color: var(--gold); }
.theme-green .kicker { color: #fff; }
.theme-green .f-col h5 { color: var(--gold); }
.theme-green .pin-wrap.active .pin { fill: var(--gold); }
.theme-green .loc-sticky { background: radial-gradient(ellipse 1383px 513px at 50% 43%, #00a44e 0, #0c6e39 50%, #11522f 75%, #173724 100%); }
.theme-green .postmark { outline-color: #8c2b20; }
