/* ==========================================================================
   Wild Kyrgyzstan design layer
   Loaded after main.css. Three colours only: plain white, plain black and one
   dark green. Square corners, hairline rules, no shadows, Inter type.
   ========================================================================== */

:root,
:root[data-theme="light"] {
	color-scheme: light;
	--wk-green: #14382B;
	--wk-green-deep: #0C2419;
	--wk-ink: #000000;
	--wk-paper: #FFFFFF;
	--wk-line: #E6E6E6;
	--wk-muted: #5C5C5C;
	--wk-mark-snow: var(--bg);

	--brand: var(--wk-green);
	--brand-soft: #F2F2F2;
	--brand-deep: var(--wk-green);
	--lime: var(--wk-green);
	--bg: #FFFFFF;
	--surface: #F5F5F5;
	--surface-2: #EDEDED;
	--card: #FFFFFF;
	--header-bg: #FFFFFF;
	--overlay: rgba(0, 0, 0, .45);
	--text: #000000;
	--text-strong: #000000;
	--text-muted: var(--wk-muted);
	--text-soft: #7A7A7A;
	--border: var(--wk-line);
	--border-strong: #CFCFCF;
	--shadow: none;
	--shadow-lg: 0 18px 50px rgba(0, 0, 0, .12);
	--accent: var(--wk-green);
	--accent-hover: #000000;
	--accent-fill: var(--wk-green);
	--accent-fill-hover: #000000;
	--cta-dot-fg: #FFFFFF;
	--on-accent: #FFFFFF;
	--focus: var(--wk-green);
	--st-guaranteed-fg: var(--wk-green);
	--st-guaranteed-bg: #EEF2F0;
	--st-guaranteed-bar: var(--wk-green);
	--success: var(--wk-green);
	--success-bg: #EEF2F0;
	--nav-bg: #FFFFFF;
	--nav-bg-open: #FFFFFF;
	--nav-border: var(--wk-line);
	--nav-text: #000000;
	--nav-text-strong: #000000;
	--ill-soft: #F2F2F2;
	--mtn-line: rgba(0, 0, 0, .08);

	--radius-sm: 8px;
	--radius: 12px;
	--radius-lg: 16px;
	--pill: 8px;
	--container: 1280px;
	--gutter: clamp(20px, 4vw, 40px);
	--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--font-display: "Inter Tight", "Inter", system-ui, sans-serif;
}

:root[data-theme="dark"] {
	color-scheme: dark;
	--wk-line: #242424;
	--wk-muted: #A6A6A6;
	--brand-soft: #111111;
	--bg: #000000;
	--surface: #0D0D0D;
	--surface-2: #161616;
	--card: #000000;
	--header-bg: #000000;
	--text: #FFFFFF;
	--text-strong: #FFFFFF;
	--text-muted: var(--wk-muted);
	--text-soft: #8C8C8C;
	--border: var(--wk-line);
	--border-strong: #3A3A3A;
	--accent: #FFFFFF;
	--accent-hover: #FFFFFF;
	--accent-fill: var(--wk-green);
	--accent-fill-hover: #1D4C3A;
	--on-accent: #FFFFFF;
	--focus: #FFFFFF;
	--st-guaranteed-fg: #FFFFFF;
	--st-guaranteed-bg: var(--wk-green);
	--success: #FFFFFF;
	--success-bg: var(--wk-green);
	--nav-bg: #000000;
	--nav-bg-open: #000000;
	--nav-text: #FFFFFF;
	--nav-text-strong: #FFFFFF;
	--ill-soft: #111111;
	--mtn-line: rgba(255, 255, 255, .1);
}

/* ---------- Base ---------- */

body { font-family: var(--font); font-size: 16px; line-height: 1.65; letter-spacing: 0; background: var(--bg); color: var(--text); }
h1, h2, h3, h4, .section-title { font-family: var(--font-display); font-weight: 600; letter-spacing: -0.02em; }
a { color: var(--accent); text-underline-offset: 4px; }
::selection { background: var(--wk-green); color: #FFFFFF; }
.kw-pattern::before { display: none; }
.icon { stroke-width: 1.6; }
.eyebrow, .wk-eyebrow {
	display: block; margin: 0 0 16px; font: 500 12px/1.2 var(--font); letter-spacing: .14em;
	text-transform: uppercase; color: var(--text-muted);
}
.wk-wrap { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }

/* Buttons: flat rectangles. Green fill, black on hover. */
.btn, .wk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 24px; border-radius: 0; border: 1px solid transparent;
	font: 500 15px/1.2 var(--font); text-decoration: none; cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.btn .icon, .wk-btn .icon { width: 16px; height: 16px; transition: transform .2s; }
.btn:hover .icon, .wk-btn:hover .icon { transform: translateX(3px); }
.btn-primary, .wk-btn { background: var(--wk-green); color: #FFFFFF; border-color: var(--wk-green); background-image: none; }
.btn-primary:hover, .wk-btn:hover { background: #000000; border-color: #000000; color: #FFFFFF; }
:root[data-theme="dark"] .btn-primary:hover, :root[data-theme="dark"] .wk-btn:hover { background: #FFFFFF; border-color: #FFFFFF; color: #000000; }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--text); }
.btn-ghost:hover { background: var(--text); color: var(--bg); border-color: var(--text); }
.wk-btn-light { background: #FFFFFF; color: #000000; border-color: #FFFFFF; }
.wk-btn-light:hover { background: transparent; color: #FFFFFF; border-color: #FFFFFF; }
.btn-light { border-radius: 0; }

.wk-link {
	display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-weight: 500;
	text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px;
}
.wk-link .icon { width: 15px; height: 15px; transition: transform .2s; }
.wk-link:hover { color: var(--accent); }
.wk-link:hover .icon { transform: translateX(3px); }

/* Soft corners: 8px for controls, 12px for cards and photos, 16px for panels.
   main.css hard-codes a few larger radii (20–24px); cap them to the same scale. */
.btn, .wk-btn, .kw-plan, .kw-icon-btn, .kw-burger, .chip, .chips a, .tag, .tour-badge, .save-btn, .next-dep,
.kw-drop-chips a, .kw-sheet-chips a, .kw-sheet-round, .kw-sheet-plan, .breadcrumbs ol, .seat-btn,
.field input, .field select, .field textarea, .kt-form input:not([type="checkbox"]):not([type="radio"]), .kt-form select, .kt-form textarea,
.fab-menu a, .fab-ico, .kw-day-num { border-radius: var(--radius-sm) !important; }
.tour-media, .tour-media img, .post-card .tour-media, .team-photo, .gallery img, .kw-day, .faq-item,
.wk-place-photo, .wk-mega-frame, .wk-facts, .tour-section img, .entry-content img, .kw-tour-head img, .kw-about-mosaic figure { border-radius: var(--radius) !important; }
.form-card, .book-card, .price-card, .tour-aside, .planner-card, .dialog, dialog, .fab-menu, .kw-start, .wk-feature-media, .wk-wide-photo img,
.info-card, .team-card { border-radius: var(--radius-lg) !important; }
.fab-btn { border-radius: 14px !important; }
/* Full-bleed bands stay square. */
.gnav, .kw-bar, .flyout.wk-mega, .wk-hero-media, .wk-band, .wk-cta, .site-footer, .page-head.kw-page-hero, .wk-values { border-radius: 0 !important; }

/* ---------- Header: a flat, full-width bar ---------- */

.gnav.kw-nav, .gnav.kw-nav.is-open, .home .gnav.kw-nav:not(.is-scrolled):not(.is-open) {
	height: auto; padding: 0; pointer-events: auto;
	background: var(--bg); border-bottom: 1px solid var(--border);
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.kw-bar,
.home .gnav:not(.is-scrolled) .kw-bar,
:root[data-theme="light"] .kw-bar {
	--pill-bg: transparent; --pill-line: transparent; --pill-text: var(--text); --pill-hover: transparent;
	width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); height: 72px;
	margin: 0 auto; padding: 0 var(--gutter); gap: 8px;
	border: 0; border-radius: 0; background: transparent; box-shadow: none;
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.kw-logo { width: auto; height: auto; border-radius: 0; color: var(--text); text-decoration: none; }
.wk-lockup { display: inline-flex; align-items: center; gap: 10px; color: inherit; }
.wk-mark { display: block; flex: none; width: 28px; height: 28px; color: var(--wk-green); }
:root[data-theme="dark"] .wk-mark { color: #FFFFFF; }
.wk-word { font: 600 18px/1 var(--font-display); letter-spacing: -0.02em; white-space: nowrap; }
.wk-word b { font-weight: 600; margin-left: .28em; color: var(--text-muted); }

.kw-links { gap: 4px; }
.kw-link,
.kw-link[aria-current="page"], .kw-link.is-active,
:root[data-theme="light"] .kw-link[aria-current="page"], :root[data-theme="light"] .kw-link.is-active,
.home .gnav:not(.is-scrolled) .kw-link[aria-current="page"], .home .gnav:not(.is-scrolled) .kw-link.is-active {
	height: 72px; padding: 0 14px; border-radius: 0; background: transparent; color: var(--text);
	font: 500 15px/1 var(--font); box-shadow: inset 0 -2px 0 transparent; transition: box-shadow .2s, color .2s;
}
.kw-link:hover, .kw-link[aria-expanded="true"]:not(.is-active) { background: transparent; color: var(--text); box-shadow: inset 0 -2px 0 var(--border-strong); }
.kw-link[aria-current="page"], .kw-link.is-active,
:root[data-theme="light"] .kw-link[aria-current="page"], :root[data-theme="light"] .kw-link.is-active { box-shadow: inset 0 -2px 0 var(--wk-green); font-weight: 600; }
:root[data-theme="dark"] .kw-link[aria-current="page"], :root[data-theme="dark"] .kw-link.is-active { box-shadow: inset 0 -2px 0 #FFFFFF; }
.kw-icon-btn { width: 40px; height: 40px; border-radius: 0; color: var(--text); }
.kw-icon-btn:hover { background: var(--surface); }
.kw-plan {
	height: 44px; padding: 0 20px; margin-left: 8px; border-radius: 0;
	background: var(--wk-green); background-image: none; color: #FFFFFF; font: 500 14px/1 var(--font);
}
.kw-plan:hover { background: #000000; color: #FFFFFF; }
:root[data-theme="dark"] .kw-plan:hover { background: #FFFFFF; color: #000000; }
.kw-burger { border-radius: 0; background: transparent; color: var(--text); }
.kw-count { background: var(--wk-green); color: #FFFFFF; }
.kw-drop-side { background: var(--surface); }
.kw-drop-chips a, .kw-sheet-chips a { border: 1px solid var(--border-strong); background: transparent; color: var(--text); }
.kw-drop-chips a:hover, .kw-sheet-chips a:hover { background: var(--wk-green); border-color: var(--wk-green); color: #FFFFFF; }
.gnav-sheet { top: 64px !important; background: var(--bg); }
.home .kw-hero { margin-top: 0; }

@media (max-width: 833px) {
	.kw-bar, .home .gnav:not(.is-scrolled) .kw-bar, :root[data-theme="light"] .kw-bar { height: 64px; }
	.wk-word { font-size: 16px; }
	.kw-plan { height: 40px; padding: 0 14px; font-size: 13px; }
	.kw-logo { width: auto; height: auto; }
}
@media (max-width: 420px) {
	.wk-word { font-size: 15px; }
	.wk-lockup { gap: 7px; }
	.wk-mark { width: 22px; height: 22px; }
	.kw-plan { padding: 0 12px; margin-left: 4px; }
}
@media (max-width: 340px) {
	.wk-word b { display: none; }
}

/* ---------- Tours dropdown: full-width panel ---------- */

.flyout.wk-mega {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 70;
	background: var(--bg); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
	box-shadow: 0 24px 48px rgba(0, 0, 0, .08); -webkit-backdrop-filter: none; backdrop-filter: none;
	animation: wk-mega-in .22s ease-out;
}
:root[data-theme="dark"] .flyout.wk-mega { box-shadow: 0 24px 48px rgba(0, 0, 0, .6); }
@keyframes wk-mega-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.wk-mega-grid {
	display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3.4fr);
	gap: clamp(32px, 4vw, 64px); padding-top: 40px; padding-bottom: 40px;
}
.wk-mega-heading { margin: 0 0 18px; font: 500 11px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); }
.flyout.wk-mega a { font-size: inherit; font-weight: inherit; color: var(--text); text-decoration: none; }
.flyout.wk-mega ul, .flyout.wk-mega ol { list-style: none; margin: 0; padding: 0; display: block; }

.wk-mega-styles ul { margin-bottom: 28px !important; }
.wk-mega-styles li a {
	display: inline-flex; align-items: flex-start; gap: 6px; padding: 6px 0;
	font: 600 clamp(22px, 2vw, 28px)/1.15 var(--font-display) !important; letter-spacing: -0.025em;
	transition: color .15s, transform .15s;
}
.wk-mega-styles li a sup { font: 500 12px/1 var(--font); color: var(--text-muted); margin-top: 4px; letter-spacing: 0; }
.wk-mega-styles li a:hover { color: var(--wk-green) !important; transform: translateX(4px); }
:root[data-theme="dark"] .wk-mega-styles li a:hover { color: var(--wk-muted) !important; }
.flyout.wk-mega .wk-link { font-size: 14px; font-weight: 500; border-bottom: 1px solid currentColor; }

.wk-mega-list ol { border-top: 1px solid var(--text); }
.wk-mega-list li { border-bottom: 1px solid var(--border); }
.wk-mega-list a {
	display: grid; grid-template-columns: minmax(0, 1fr) 72px 72px; align-items: baseline; gap: 12px;
	padding: 13px 0 13px 0; font-size: 15px; transition: padding .18s, background-color .18s;
}
.wk-mega-list strong { font-weight: 500; }
.wk-mega-list span { font-size: 13px; color: var(--text-muted); text-align: right; font-variant-numeric: tabular-nums; }
.wk-mega-list span:last-child { color: var(--text); font-weight: 500; }
.wk-mega-list a:hover, .wk-mega-list a:focus-visible { padding-left: 12px; background: var(--surface); box-shadow: inset 2px 0 0 var(--wk-green); border-radius: 0 6px 6px 0; }
:root[data-theme="dark"] .wk-mega-list a:hover { box-shadow: inset 2px 0 0 #FFFFFF; }

.wk-mega-frame { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-2); }
.wk-mega-frame img {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	opacity: 0; transform: scale(1.03); transition: opacity .25s, transform .4s;
}
.wk-mega-frame img:first-child { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list a:is(:hover, :focus-visible)) .wk-mega-frame img:first-child { opacity: 0; }
.wk-mega:has(.wk-mega-list li:nth-child(1) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(1) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(2) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(2) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(3) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(3) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(4) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(4) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(5) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(5) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(6) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(6) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(7) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(7) { opacity: 1; transform: none; }
.wk-mega:has(.wk-mega-list li:nth-child(8) a:is(:hover, :focus-visible)) .wk-mega-frame img:nth-child(8) { opacity: 1; transform: none; }
.wk-mega-custom { margin-top: 20px; }
.wk-mega-custom p { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--text-muted); }
.wk-mega-custom strong { color: var(--text); font-weight: 600; }
.flyout.wk-mega .wk-btn { border-radius: 8px; min-height: 44px; padding: 10px 18px; font-size: 14px; color: #FFFFFF; }
.flyout.wk-mega .wk-btn:hover { color: #FFFFFF; }
:root[data-theme="dark"] .flyout.wk-mega .wk-btn:hover { color: #000000; }

.wk-mega-foot { border-top: 1px solid var(--border); background: var(--surface); }
.wk-mega-foot .wk-wrap { display: flex; gap: 0; }
.wk-mega-foot a { flex: 1; padding: 16px 0; font-size: 14px; font-weight: 500; }
.wk-mega-foot a + a { padding-left: 24px; border-left: 1px solid var(--border); }
.wk-mega-foot small { margin-left: 6px; font-size: 13px; font-weight: 400; color: var(--text-muted); }
.wk-mega-foot a:hover { color: var(--wk-green) !important; }
:root[data-theme="dark"] .wk-mega-foot a:hover { color: var(--wk-muted) !important; }

@media (max-width: 1100px) {
	.wk-mega-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); }
	.wk-mega-feature { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.flyout.wk-mega, .wk-mega-frame img, .wk-mega-styles li a, .wk-mega-list a { animation: none; transition: none; }
}

/* ---------- Home ---------- */

.wk-hero {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: min(88vh, 860px); border-bottom: 1px solid var(--border);
}
.wk-hero-text {
	display: flex; flex-direction: column; justify-content: center;
	padding: clamp(48px, 7vw, 96px) clamp(24px, 5vw, 72px) clamp(48px, 7vw, 96px) max(var(--gutter), calc((100vw - var(--container)) / 2));
}
.wk-hero h1 {
	margin: 0; font: 600 clamp(40px, 5.6vw, 80px)/1.02 var(--font-display); letter-spacing: -0.035em; color: var(--text);
}
.wk-hero h1 span, .wk-h2 span, .wk-cta h2 span, .wk-page-head h1 span { color: var(--wk-green); }
:root[data-theme="dark"] .wk-hero h1 span, :root[data-theme="dark"] .wk-h2 span, :root[data-theme="dark"] .wk-page-head h1 span { color: var(--wk-muted); }
.wk-lead { margin: 24px 0 0; max-width: 54ch; font-size: clamp(17px, 1.4vw, 19px); line-height: 1.6; color: var(--text-muted); }
.wk-lead a { color: var(--text); }
.wk-hero-media { position: relative; overflow: hidden; background: var(--wk-green); }
.wk-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% 50%; }

.wk-finder {
	display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 0;
	margin-top: 40px; max-width: 620px; border: 1px solid var(--text); border-radius: 10px; overflow: hidden;
}
.wk-finder label { display: flex; flex-direction: column; gap: 2px; padding: 10px 16px; border-right: 1px solid var(--text); }
.wk-finder label span { font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.wk-finder select {
	appearance: none; -webkit-appearance: none; border: 0; padding: 2px 0; background: transparent;
	color: var(--text); font: 500 15px/1.4 var(--font); cursor: pointer;
}
.wk-finder select:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.wk-finder .wk-btn { height: 100%; min-height: 62px; border: 0; border-radius: 0 !important; }

.wk-values { border-bottom: 1px solid var(--border); }
.wk-values ol { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; counter-reset: v; }
.wk-values li { counter-increment: v; padding: 32px 28px 32px 0; display: flex; flex-direction: column; gap: 6px; }
.wk-values li + li { padding-left: 28px; border-left: 1px solid var(--border); }
.wk-values li::before { content: counter(v, decimal-leading-zero); font: 500 12px/1 var(--font); letter-spacing: .1em; color: var(--wk-green); margin-bottom: 8px; }
:root[data-theme="dark"] .wk-values li::before { color: var(--wk-muted); }
.wk-values strong { font: 600 17px/1.3 var(--font-display); }
.wk-values span { font-size: 14px; line-height: 1.55; color: var(--text-muted); }

.wk-section { padding: clamp(72px, 9vw, 128px) 0; }
.wk-rule { border-top: 1px solid var(--border); }
.wk-h2 { margin: 0; font: 600 clamp(30px, 3.6vw, 48px)/1.08 var(--font-display); letter-spacing: -0.03em; max-width: 20ch; }
.wk-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.wk-intro .wk-lead { margin: 0; color: var(--text); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.55; }
.wk-intro { border-bottom: 1px solid var(--border); }

.wk-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: clamp(36px, 4vw, 56px); }

.wk-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }

/* Tour and post cards: photo, then type. No box. */
.tour-card, .tour-card:hover { background: transparent; border: 0; box-shadow: none; transform: none; overflow: visible; }
.tour-media { aspect-ratio: 4 / 3; background: var(--surface-2); }
.tour-card:hover .tour-media img { transform: scale(1.03); }
.tour-body { padding: 18px 0 0; }
.tour-body h3 { font: 600 20px/1.25 var(--font-display); letter-spacing: -0.015em; }
.tour-card:hover h3 a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.tour-meta { font-size: 14px; color: var(--text-muted); }
.tour-badge, .tour-tags .tag {
	top: 12px; left: 12px; padding: 6px 10px; background: #FFFFFF; color: #000000;
	font: 500 11px/1 var(--font); letter-spacing: .1em; text-transform: uppercase; border: 0; box-shadow: none;
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.save-btn { background: #FFFFFF; color: #000000; box-shadow: none; }
.tour-foot { border-top: 1px solid var(--border); padding-top: 14px; margin-top: auto; }
.price-from { font-size: 13px; color: var(--text-muted); }
.price-from strong { font: 600 20px/1 var(--font-display); color: var(--text); }
.post-card .excerpt { color: var(--text-muted); font-size: 15px; }
.post-card .read-more { color: var(--text); font-weight: 500; }

/* Dark green band */
.wk-band { background: var(--wk-green); color: #FFFFFF; }
.wk-band h2, .wk-band h3, .wk-band strong, .wk-band dd { color: #FFFFFF; }
:root[data-theme="dark"] .wk-band { background: var(--wk-green-deep); }
.wk-band .wk-eyebrow { color: rgba(255, 255, 255, .7); }
.wk-band .wk-h2 span { color: rgba(255, 255, 255, .6) !important; }
.wk-band .wk-link { color: #FFFFFF; }
.wk-places { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .22); }
.wk-places li { border-bottom: 1px solid rgba(255, 255, 255, .22); }
.wk-places a {
	position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1.2fr) 40px; align-items: center; gap: 16px;
	padding: 28px 0; color: #FFFFFF; text-decoration: none;
}
.wk-num { font: 500 13px/1 var(--font); letter-spacing: .1em; color: rgba(255, 255, 255, .6); }
.wk-places strong { font: 600 clamp(26px, 3vw, 40px)/1.1 var(--font-display); letter-spacing: -0.03em; }
.wk-places small { font-size: 15px; color: rgba(255, 255, 255, .7); }
.wk-places .wk-arrow { width: 22px; height: 22px; justify-self: end; transition: transform .25s; }
.wk-place-photo {
	position: absolute; right: 64px; top: 50%; width: 220px; aspect-ratio: 4 / 3; overflow: hidden;
	opacity: 0; transform: translateY(-50%) scale(.96); transition: opacity .25s, transform .25s; pointer-events: none; z-index: 2;
}
.wk-place-photo img { width: 100%; height: 100%; object-fit: cover; }
.wk-places a:hover .wk-place-photo, .wk-places a:focus-visible .wk-place-photo { opacity: 1; transform: translateY(-50%) scale(1); }
.wk-places a:hover .wk-arrow { transform: translateX(6px); }
.wk-places a:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 4px; }

/* Feature: photo + text */
.wk-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.wk-feature-media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface-2); }
.wk-feature-media img { width: 100%; height: 100%; object-fit: cover; }
.wk-feature-text p { margin: 24px 0 0; color: var(--text-muted); font-size: 17px; }
.wk-feature-text .wk-link { margin-top: 32px; }
.wk-quote { margin: 32px 0 0; padding: 0 0 0 20px; border-left: 2px solid var(--wk-green); }
:root[data-theme="dark"] .wk-quote { border-color: #FFFFFF; }
.wk-quote p { margin: 0 !important; font: 500 22px/1.35 var(--font-display) !important; color: var(--text) !important; letter-spacing: -0.01em; }
.wk-quote cite { display: block; margin-top: 8px; font-size: 13px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }

/* FAQ */
.wk-faq { border-top: 1px solid var(--text); }
.wk-faq details { border-bottom: 1px solid var(--border); }
.wk-faq summary {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0;
	font: 500 18px/1.4 var(--font-display); cursor: pointer; list-style: none;
}
.wk-faq summary::-webkit-details-marker { display: none; }
.wk-faq summary .icon { width: 18px; height: 18px; flex: none; transition: transform .2s; }
.wk-faq details[open] summary .icon { transform: rotate(45deg); }
.wk-faq details > div { padding: 0 48px 24px 0; color: var(--text-muted); }
.wk-faq details > div p + p { margin-top: 12px; }

/* Closing call to action */
.wk-cta { position: relative; isolation: isolate; overflow: hidden; background: #000000; color: #FFFFFF; padding: clamp(96px, 13vw, 200px) 0; text-align: center; }
.wk-cta-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.wk-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .45) 45%, rgba(0, 0, 0, .7) 100%); }
.wk-cta h2 span { color: rgba(255, 255, 255, .7) !important; }
:root[data-theme="dark"] .wk-cta { background: #000000; }
.wk-cta .wk-eyebrow { color: rgba(255, 255, 255, .6); }
.wk-cta h2 { margin: 0 auto; font: 600 clamp(36px, 5.4vw, 76px)/1.02 var(--font-display); letter-spacing: -0.035em; color: #FFFFFF; }
.wk-cta h2 span { color: rgba(255, 255, 255, .55) !important; }
.wk-cta p:not(.wk-eyebrow) { max-width: 46ch; margin: 24px auto 36px; color: rgba(255, 255, 255, .75); font-size: 18px; }

/* ---------- Home: "why us" bento ---------- */

.wk-bento-wrap { padding: clamp(64px, 8vw, 112px) 0; border-bottom: 1px solid var(--border); }
.wk-bento-head { margin-bottom: clamp(28px, 4vw, 48px); }
.wk-bento {
	list-style: none; margin: 0; padding: 0; display: grid; gap: 14px;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: repeat(2, minmax(220px, auto));
}
.wk-tile {
	position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end;
	min-height: 220px; padding: clamp(22px, 2.4vw, 32px); border-radius: var(--radius-lg); border: 1px solid var(--border);
	background: var(--surface); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
}
.wk-tile:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(0, 0, 0, .12); }
.wk-tile h3 { margin: 6px 0 8px; font: 600 clamp(20px, 1.8vw, 24px)/1.15 var(--font-display); letter-spacing: -0.02em; }
.wk-tile p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text-muted); max-width: 34ch; }
.wk-tile-num { font: 500 12px/1 var(--font); letter-spacing: .12em; color: var(--text-muted); }
.wk-tile-text { position: relative; z-index: 2; }
.wk-tile .wk-link { margin-top: 16px; font-size: 14px; }
.wk-tile .wk-link .icon { width: 16px; height: 16px; }

/* 01: tall dark-green tile with a big compass and a mountain ridge. */
.wk-tile-local { grid-row: 1 / 3; background: var(--wk-green); border-color: var(--wk-green); color: #FFFFFF; justify-content: space-between; }
:root[data-theme="dark"] .wk-tile-local { background: var(--wk-green-deep); }
.wk-tile-local p, .wk-tile-local .wk-tile-num { color: rgba(255, 255, 255, .72); }
.wk-tile-local h3 { color: #FFFFFF; font-size: clamp(28px, 2.8vw, 40px); }
.wk-tile-icon { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50% !important; border: 1px solid rgba(255, 255, 255, .25); }
.wk-tile-icon .icon { width: 36px; height: 36px; stroke-width: 1.4; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.wk-tile-local:hover .wk-tile-icon .icon { transform: rotate(180deg); }
.wk-tile-ridge { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 42%; z-index: 0; fill: rgba(255, 255, 255, .06); pointer-events: none; }
.wk-tile-local .wk-tile-text { margin-top: 48px; }
.wk-tile-local.has-photo { background: #0C2419; }
.wk-tile-local.has-photo .wk-tile-bg { object-position: center 40%; }
.wk-tile-local.has-photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12, 36, 25, .35) 0%, rgba(12, 36, 25, .15) 35%, rgba(12, 36, 25, .88) 100%); }
.wk-tile-local.has-photo .wk-tile-ridge { display: none; }
.wk-tile-local.has-photo .wk-tile-icon { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.wk-tile-local.has-photo:hover .wk-tile-bg { transform: scale(1.05); }
.wk-tile-local.has-photo p { color: rgba(255, 255, 255, .85); }

/* 02: tall photo tile, text on a dark fade. */
.wk-tile-nomad { grid-row: 1 / 3; border: 0; color: #FFFFFF; background: #000000; }
.wk-tile-bg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.wk-tile-nomad::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .78) 100%); }
.wk-tile-nomad:hover .wk-tile-bg { transform: scale(1.05); }
.wk-tile-nomad .wk-tile-bg { object-position: 50% 50%; }
.wk-tile-nomad h3 { color: #FFFFFF; }
.wk-tile-nomad p, .wk-tile-nomad .wk-tile-num { color: rgba(255, 255, 255, .8); }

/* 03 and 04: big figures. */
.wk-tile-small, .wk-tile-always { justify-content: space-between; gap: 18px; }
.wk-tile-figure { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.wk-tile-figure strong { font: 600 clamp(48px, 5vw, 72px)/.9 var(--font-display); letter-spacing: -0.05em; color: var(--wk-green); }
:root[data-theme="dark"] .wk-tile-figure strong { color: #FFFFFF; }
.wk-tile-figure small { font-size: 13px; color: var(--text-muted); }
.wk-dots { display: flex; gap: 5px; }
.wk-dots i { width: 10px; height: 10px; border-radius: 50% !important; background: var(--border-strong); animation: wk-dot 2.4s ease-in-out infinite; }
.wk-dots i:nth-child(1) { animation-delay: 0s; } .wk-dots i:nth-child(2) { animation-delay: .08s; } .wk-dots i:nth-child(3) { animation-delay: .16s; }
.wk-dots i:nth-child(4) { animation-delay: .24s; } .wk-dots i:nth-child(5) { animation-delay: .32s; } .wk-dots i:nth-child(6) { animation-delay: .40s; }
.wk-dots i:nth-child(7) { animation-delay: .48s; } .wk-dots i:nth-child(8) { animation-delay: .56s; } .wk-dots i:nth-child(9) { animation-delay: .64s; }
.wk-dots i:nth-child(10) { animation-delay: .72s; }
@keyframes wk-dot { 0%, 100% { background: var(--border-strong); transform: scale(1); } 35% { background: var(--wk-green); transform: scale(1.15); } }
:root[data-theme="dark"] .wk-dots i { animation-name: wk-dot-dark; }
@keyframes wk-dot-dark { 0%, 100% { background: #333333; transform: scale(1); } 35% { background: #FFFFFF; transform: scale(1.15); } }
.wk-live { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: 999px !important; background: var(--bg); border: 1px solid var(--border); font-weight: 500; color: var(--text) !important; }
.wk-live span { position: relative; width: 8px; height: 8px; border-radius: 50% !important; background: #1FA855; }
.wk-live span::after { content: ""; position: absolute; inset: -4px; border-radius: 50% !important; border: 2px solid #1FA855; opacity: 0; animation: wk-pulse 1.8s ease-out infinite; }
@keyframes wk-pulse { 0% { transform: scale(.5); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }

@media (max-width: 1000px) {
	.wk-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
	.wk-tile-local { grid-column: 1 / -1; grid-row: auto; min-height: 260px; }
	.wk-tile-nomad { grid-row: span 2; min-height: 420px; }
}
@media (max-width: 640px) {
	.wk-bento { gap: 10px; }
	.wk-tile { min-height: 0; padding: 20px; }
	.wk-tile-local { min-height: 240px; }
	.wk-tile-local .wk-tile-text { margin-top: 28px; }
	.wk-tile-icon { width: 60px; height: 60px; }
	.wk-tile-icon .icon { width: 28px; height: 28px; }
	.wk-tile-nomad { grid-row: span 2; min-height: 380px; }
	.wk-tile h3 { font-size: 18px; }
	.wk-tile-local h3 { font-size: 26px; }
	.wk-tile p { font-size: 14px; }
	.wk-tile-small p, .wk-tile-always p { display: none; }
	.wk-tile-figure strong { font-size: 44px; }
	.wk-dots i { width: 7px; height: 7px; }
	.wk-dots { gap: 3px; }
	.wk-tile .wk-link { margin-top: 8px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
	.wk-tile, .wk-tile-bg, .wk-tile-icon .icon { transition: none; }
	.wk-dots i, .wk-live span::after { animation: none; }
}

/* ---------- Inner pages ---------- */

.wk-page-head { padding: clamp(40px, 6vw, 88px) 0 clamp(40px, 5vw, 72px); border-bottom: 1px solid var(--border); }
.wk-page-head .breadcrumbs { margin: 0 0 32px; }
.wk-page-head h1 { margin: 0; max-width: 18ch; font: 600 clamp(40px, 6vw, 84px)/1.02 var(--font-display); letter-spacing: -0.035em; }
.wk-wide-photo { margin: clamp(32px, 4vw, 56px) auto 0; }
.wk-wide-photo img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.wk-prose p { margin: 0 0 18px; font-size: 18px; color: var(--text-muted); }
.wk-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 48px 0 0; border-top: 1px solid rgba(255, 255, 255, .22); }
.wk-stats > div { display: flex; flex-direction: column-reverse; gap: 8px; padding: 32px 24px 0 0; }
.wk-stats > div + div { padding-left: 24px; border-left: 1px solid rgba(255, 255, 255, .22); }
.wk-stats dd { margin: 0; font: 600 clamp(48px, 6vw, 80px)/1 var(--font-display); letter-spacing: -0.04em; }
.wk-stats dt { color: rgba(255, 255, 255, .7); font-size: 15px; }

/* Photo page heads (places, tours, journal): the nav stays a solid bar above the photo,
   and the photo reads as one calm, darkened panel with white type. */
.has-photo-hero .gnav.kw-nav:not(.is-scrolled):not(.is-open) { background: var(--bg); border-bottom: 1px solid var(--border); height: auto; }
.has-photo-hero .gnav:not(.is-scrolled) .kw-bar { --pill-text: var(--text); }
.has-photo-hero .gnav:not(.is-scrolled) .kw-link,
.has-photo-hero .gnav:not(.is-scrolled) .kw-link[aria-current="page"], .has-photo-hero .gnav:not(.is-scrolled) .kw-link.is-active { color: var(--text); background: transparent; }
.page-head.kw-page-hero { margin-top: 0 !important; padding-top: 0 !important; min-height: clamp(340px, 46vh, 520px); }
.kw-page-hero-media::after { background: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .62) 100%) !important; }
.kw-page-hero h1 { font-family: var(--font-display); letter-spacing: -0.035em; text-shadow: none; }
.kw-page-hero .breadcrumbs ol { background: transparent; border: 0; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.kw-page-hero .btn-primary { background: #FFFFFF; border-color: #FFFFFF; color: #000000; }
.kw-page-hero .btn-primary:hover { background: var(--wk-green); border-color: var(--wk-green); color: #FFFFFF; }
.page-head:not(.kw-page-hero) h1, .kw-tour-head h1 { font-family: var(--font-display); letter-spacing: -0.03em; color: var(--text); }
.section-alt { background: var(--surface); }
.breadcrumbs, .breadcrumbs a { color: var(--text-muted); }
.breadcrumbs a:hover { color: var(--text); }

/* Forms */
.field input, .field select, .field textarea, .kt-form input:not([type="checkbox"]):not([type="radio"]), .kt-form select, .kt-form textarea {
	background: var(--bg); border: 1px solid var(--border-strong); color: var(--text); box-shadow: none;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--text); outline: none; box-shadow: inset 0 0 0 1px var(--text); }
.form-card { background: var(--bg); border: 1px solid var(--border); box-shadow: none; }
.chip, .chips a { border: 1px solid var(--border-strong); background: transparent; color: var(--text); }
.chip[aria-current="page"], .chip.is-active, .chips a[aria-current="page"], input:checked + .chip { background: var(--wk-green); border-color: var(--wk-green); color: #FFFFFF; }

/* Place page facts list */
.wk-facts { list-style: none; padding: 0; margin: 0 0 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.wk-facts li { padding: 14px 16px 14px 0; border-bottom: 1px solid var(--border); font-size: 15px; }
.wk-facts strong { display: block; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }

/* ---------- Tour cards ---------- */

.wk-tcard .tour-media { aspect-ratio: 5 / 4; }
.wk-tcard .tour-body { padding-top: 16px; }
.wk-tcard-meta { margin: 0 0 8px; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.wk-tcard h3 { font: 600 21px/1.25 var(--font-display); letter-spacing: -0.02em; }
.wk-tcard-text {
	margin: 8px 0 0; font-size: 15px; line-height: 1.55; color: var(--text-muted);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.wk-tcard .tour-foot.wk-tcard-foot {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border);
}
.wk-tcard .price-from { display: flex; align-items: baseline; gap: 5px; margin: 0; font-size: 13px; }
.wk-tcard .price-from strong { font: 600 20px/1 var(--font-display); color: var(--text); margin: 0; }
.wk-tcard-go {
	display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; flex: none;
	border: 1px solid var(--border-strong); color: var(--text); transition: background-color .2s, border-color .2s, color .2s;
}
.wk-tcard-go .icon { width: 16px; height: 16px; transition: transform .2s; }
.wk-tcard:hover .wk-tcard-go { background: var(--wk-green); border-color: var(--wk-green); color: #FFFFFF; }
.wk-tcard:hover .wk-tcard-go .icon { transform: translateX(2px); }
.wk-tcard .tour-badge { border-radius: 6px !important; }
.wk-tcard .save-btn { border-radius: 50% !important; }

/* ---------- Tours list ---------- */

.wk-tours-head { padding-bottom: 0; border-bottom: 0; }
.wk-tours-title { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; }
.wk-tours-title h1 sup { font: 500 16px/1 var(--font); letter-spacing: 0; vertical-align: top; margin-left: 8px; color: var(--text-muted); }
.wk-tours-title .wk-lead { margin: 0; }
.wk-style-tabs { display: flex; gap: 4px; margin-top: clamp(32px, 4vw, 48px); border-bottom: 1px solid var(--border); overflow-x: auto; scrollbar-width: none; }
.wk-style-tabs::-webkit-scrollbar { display: none; }
.wk-style-tabs a {
	flex: none; padding: 14px 16px; font-size: 15px; font-weight: 500; color: var(--text-muted); text-decoration: none;
	box-shadow: inset 0 -2px 0 transparent; transition: color .15s, box-shadow .15s;
}
.wk-style-tabs a small { margin-left: 4px; font-size: 12px; color: var(--text-soft); }
.wk-style-tabs a:hover { color: var(--text); }
.wk-style-tabs a[aria-current="page"] { color: var(--text); box-shadow: inset 0 -2px 0 var(--wk-green); }
:root[data-theme="dark"] .wk-style-tabs a[aria-current="page"] { box-shadow: inset 0 -2px 0 #FFFFFF; }
.wk-tours-list { padding-top: 28px; }
.wk-fbar { margin-bottom: 36px; background: transparent; border: 0; box-shadow: none; padding: 0; }
.wk-tours-cta { padding: 0 0 clamp(72px, 9vw, 120px); }
.wk-tours-cta-card {
	display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
	padding: clamp(32px, 5vw, 56px); border-radius: var(--radius-lg); background: var(--wk-green); color: #FFFFFF;
}
.wk-tours-cta-card .wk-eyebrow { color: rgba(255, 255, 255, .65); }
.wk-tours-cta-card h2 { margin: 0; font: 600 clamp(26px, 3vw, 38px)/1.1 var(--font-display); letter-spacing: -0.03em; color: #FFFFFF; }
.wk-tours-cta-card p:not(.wk-eyebrow) { margin: 12px 0 0; max-width: 48ch; color: rgba(255, 255, 255, .78); }
.wk-tours-cta-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.wk-tours-cta-card .wk-link { color: #FFFFFF; }

/* ---------- Single tour ---------- */

.wk-tour-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(460px, 72vh, 720px); color: #FFFFFF; background: var(--wk-green-deep); }
.wk-tour-hero-media { position: absolute; inset: 0; z-index: -1; }
.wk-tour-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.wk-tour-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .15) 40%, rgba(0, 0, 0, .72) 100%); }
.wk-tour-hero-inner { padding-top: 48px; padding-bottom: clamp(88px, 10vw, 120px); }
.wk-tour-hero .breadcrumbs ol { background: transparent; border: 0; padding: 0; }
.wk-tour-hero .breadcrumbs, .wk-tour-hero .breadcrumbs a, .wk-tour-hero .breadcrumbs li { color: rgba(255, 255, 255, .8); }
.wk-tour-hero .wk-eyebrow { color: rgba(255, 255, 255, .78); margin-top: 24px; }
.wk-tour-hero h1 { margin: 0; max-width: 16ch; font: 600 clamp(42px, 6.4vw, 92px)/1 var(--font-display); letter-spacing: -0.04em; color: #FFFFFF; }
.wk-tour-lead { margin: 20px 0 0; max-width: 56ch; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; color: rgba(255, 255, 255, .86); }

.wk-spec {
	position: relative; z-index: 2; display: flex; align-items: center; gap: 24px; margin-top: -56px;
	padding: 18px 18px 18px 28px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-lg);
	box-shadow: 0 18px 50px rgba(0, 0, 0, .1);
}
.wk-spec dl { flex: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }
.wk-spec dl > div { padding: 2px 20px; border-left: 1px solid var(--border); }
.wk-spec dl > div:first-child { padding-left: 0; border-left: 0; }
.wk-spec dt { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.wk-spec dd { margin: 6px 0 0; display: flex; align-items: center; gap: 8px; font: 600 17px/1.2 var(--font-display); color: var(--text); white-space: nowrap; }
.wk-spec dd small { font: 400 13px/1 var(--font); color: var(--text-muted); }
.wk-spec-price dd { font-size: 20px; }
.wk-spec .wk-btn { flex: none; }
.wk-level { display: inline-flex; gap: 3px; }
.wk-level i { display: block; width: 6px; height: 14px; border-radius: 2px; background: var(--border-strong); }
.wk-level i.on { background: var(--wk-green); }
:root[data-theme="dark"] .wk-level i.on { background: #FFFFFF; }

.wk-tour-gallery { margin-top: 32px; }

/* Section bar: the original floating bar with soft corners, sitting just under the header. */
.wk-tour-nav.local-nav { top: 84px; margin-top: 32px; transition: top .3s cubic-bezier(.4, 0, .2, 1); }
/* Follow the header: when it slides away on scroll down (.is-tucked), move up to the top edge. */
body:has(.gnav.is-tucked) .wk-tour-nav.local-nav { top: 12px; }
.wk-tour-nav ul { border-radius: 12px !important; }
.wk-tour-nav a { border-radius: 8px !important; }
.wk-tour-nav a[aria-current="true"] { background: var(--wk-green); color: #FFFFFF; }
:root[data-theme="dark"] .wk-tour-nav a[aria-current="true"] { background: #FFFFFF; color: #000000; }

.wk-tour-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(40px, 6vw, 88px); align-items: start; padding-top: clamp(48px, 6vw, 72px); padding-bottom: clamp(48px, 6vw, 72px); }
.wk-tour-section { padding: 0 0 clamp(48px, 6vw, 72px); margin-bottom: clamp(48px, 6vw, 72px); border-bottom: 1px solid var(--border); scroll-margin-top: 150px; }
.wk-tour-section:last-child { border-bottom: 0; margin-bottom: 0; }
.wk-tour-section .wk-h2 { margin-bottom: 28px; max-width: none; }
.wk-tour .wk-prose h2 { margin: 32px 0 12px; font: 600 22px/1.3 var(--font-display); letter-spacing: -0.02em; }
.wk-tour .wk-prose h3 { margin: 24px 0 8px; font: 600 18px/1.3 var(--font-display); }
.wk-tour .wk-prose ul { padding-left: 20px; color: var(--text-muted); }
.wk-tour .wk-prose li { margin-bottom: 6px; }
.wk-muted { color: var(--text-muted); }
.wk-small { font-size: 13px; margin-top: 14px; }

.wk-glance { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 32px; padding: 0; background: var(--border); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.wk-glance li { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: var(--bg); }
.wk-glance span { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.wk-glance strong { font-weight: 600; font-size: 15px; }

.wk-spec dt .icon, .wk-glance span .icon { width: 16px; height: 16px; flex: none; color: var(--wk-green); stroke-width: 1.8; }
:root[data-theme="dark"] .wk-spec dt .icon, :root[data-theme="dark"] .wk-glance span .icon { color: #FFFFFF; }

/* The route: a vertical line with a numbered stop per day. */
.wk-route { list-style: none; margin: 0; padding: 0; position: relative; }
.wk-route::before { content: ""; position: absolute; left: 27px; top: 28px; bottom: 42px; width: 2px; background: var(--border); }
.wk-route li { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 24px; padding-bottom: 32px; }
.wk-route li:last-child { padding-bottom: 0; }
.wk-route-day {
	position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 56px; height: 56px; border-radius: 50% !important; background: var(--bg); border: 2px solid var(--wk-green);
	font: 600 20px/1 var(--font-display); color: var(--text);
}
.wk-route li:first-child .wk-route-day, .wk-route li:last-child .wk-route-day { background: var(--wk-green); color: #FFFFFF; }
.wk-route-day small { font: 500 9px/1 var(--font); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 2px; opacity: .75; }
.wk-route-body { border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); transition: border-color .2s; }
.wk-route-body[open] { border-color: var(--border-strong); }
.wk-route-body summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 18px; cursor: pointer; list-style: none; }
.wk-route-body summary::-webkit-details-marker { display: none; }
.wk-route-body summary:hover h3 { color: var(--wk-green); }
:root[data-theme="dark"] .wk-route-body summary:hover h3 { color: var(--wk-muted); }
.wk-route-body h3 { margin: 0; font: 600 18px/1.3 var(--font-display); letter-spacing: -0.015em; transition: color .15s; }
.wk-route-chev { flex: none; width: 18px; height: 18px; color: var(--text-muted); transition: transform .2s; }
.wk-route-body[open] .wk-route-chev { transform: rotate(180deg); }
.wk-route-text { padding: 0 18px 18px; }
.wk-route-text p { margin: 0; color: var(--text-muted); }
.wk-route li { padding-bottom: 14px; align-items: start; }
.wk-route-all { margin: 20px 0 0 80px; background: none; border: 0; border-bottom: 1px solid currentColor; padding: 0 0 2px; font: inherit; font-size: 14px; cursor: pointer; }
@media (max-width: 640px) { .wk-route-all { margin-left: 60px; } }

.wk-incexc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wk-incexc > div { padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); }
.wk-inc { background: var(--surface); }
.wk-incexc h3 { margin: 0 0 14px; font: 600 16px/1.2 var(--font-display); }
.wk-incexc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wk-incexc li { display: flex; gap: 10px; font-size: 15px; line-height: 1.45; }
.wk-incexc .icon { flex: none; width: 18px; height: 18px; margin-top: 1px; }
.wk-inc .icon { color: var(--wk-green); }
:root[data-theme="dark"] .wk-inc .icon { color: #FFFFFF; }
.wk-exc li { color: var(--text-muted); }

.wk-bring { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wk-bring li { padding: 8px 14px; border: 1px solid var(--border-strong); border-radius: 999px; font-size: 14px; }

.wk-tour-places { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.wk-tour-places a { display: grid; grid-template-columns: 96px minmax(0, 1fr) 24px; align-items: center; gap: 18px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius); color: var(--text); text-decoration: none; transition: border-color .2s; }
.wk-tour-places a:hover { border-color: var(--text); }
.wk-tour-places img { width: 96px; height: 72px; object-fit: cover; border-radius: 8px; }
.wk-tour-places strong { display: block; font: 600 18px/1.2 var(--font-display); }
.wk-tour-places small { color: var(--text-muted); font-size: 14px; }
.wk-tour-places .icon { width: 18px; height: 18px; }

.wk-prices { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.wk-prices th { padding: 12px 18px; text-align: left; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); background: var(--surface); }
.wk-prices td { padding: 16px 18px; border-top: 1px solid var(--border); }
.wk-prices td strong { font: 600 18px/1 var(--font-display); }

.wk-tour-aside { position: sticky; top: 148px; }
.wk-book { padding: 26px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg); }
.wk-book-price { display: flex; align-items: baseline; gap: 6px; margin: 0; }
.wk-book-price strong { font: 600 36px/1 var(--font-display); letter-spacing: -0.03em; }
.wk-book-price small { font-size: 14px; color: var(--text-muted); }
.wk-book-meta { margin: 8px 0 22px; font-size: 14px; color: var(--text-muted); }
.wk-btn-block { width: 100%; }
.wk-book .btn-block { margin-top: 10px; }
.wk-book-notes { list-style: none; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--border); display: grid; gap: 10px; font-size: 14px; color: var(--text-muted); }
.wk-book-notes li { display: flex; align-items: center; gap: 10px; }
.wk-book-notes .icon { width: 16px; height: 16px; color: var(--text); }
.wk-book .btn-save { margin-top: 14px; }

@media (max-width: 1100px) {
	.wk-spec { flex-direction: column; align-items: stretch; padding: 20px; }
	.wk-spec dl { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 16px; }
	.wk-spec dl > div:nth-child(4) { padding-left: 0; border-left: 0; }
	.wk-spec .wk-btn { width: 100%; }
}
@media (max-width: 1024px) {
	.wk-tour-layout { grid-template-columns: 1fr; }
	.wk-tour-aside { display: none; }
}
@media (max-width: 900px) {
	.wk-tours-title { grid-template-columns: 1fr; }
}
@media (max-width: 833px) {
	.wk-tour-nav.local-nav { top: 74px; }
}
@media (max-width: 640px) {
	.wk-spec { margin-top: -40px; }
	.wk-spec dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wk-spec dl > div { padding: 0 0 0 14px; }
	.wk-spec dl > div:nth-child(odd) { padding-left: 0; border-left: 0; }
	.wk-spec-price { grid-column: 1 / -1; padding-left: 0 !important; border-left: 0 !important; padding-top: 12px !important; border-top: 1px solid var(--border); }
	.wk-glance, .wk-incexc { grid-template-columns: 1fr; }
	.wk-route::before { left: 21px; }
	.wk-route li { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; }
	.wk-route-day { width: 44px; height: 44px; font-size: 16px; }
	.wk-tour-places a { grid-template-columns: 72px minmax(0, 1fr) 20px; }
	.wk-tour-places img { width: 72px; height: 56px; }
}

/* ---------- Guide (home) and team (About) ---------- */

.wk-guide-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.wk-guide-photo { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-2); }
.wk-guide-photo img { width: 100%; height: 100%; object-fit: cover; }
.wk-guide-role { margin: 10px 0 0; font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--wk-green); }
:root[data-theme="dark"] .wk-guide-role { color: var(--wk-muted); }
.wk-guide-bio { margin-top: 20px; }
.wk-guide-bio p { margin: 0 0 14px; font-size: 17px; line-height: 1.65; color: var(--text-muted); }
.wk-guide-strip { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 24px 0 0; padding: 0; max-width: 480px; }
.wk-guide-strip li { aspect-ratio: 1; overflow: hidden; border-radius: var(--radius); }
.wk-guide-strip img { width: 100%; height: 100%; object-fit: cover; }
.wk-guide-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 28px; }

.wk-team .team-founder { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: center; background: transparent; border: 0; box-shadow: none; padding: 0; }
.wk-team .team-founder-photo { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius-lg) !important; }
.wk-team .team-founder-photo img { width: 100%; height: 100%; object-fit: cover; }
.wk-team .team-ribbon { position: absolute; top: 14px; left: 14px; right: auto; z-index: 1; width: auto; transform: none !important; text-align: left; box-shadow: none; padding: 6px 12px; border-radius: 999px !important; background: var(--wk-green); color: #FFFFFF; font-size: 12px; font-weight: 500; letter-spacing: .06em; }
.wk-team .team-founder-body { background: transparent !important; padding: 0 !important; border: 0; box-shadow: none; }
.wk-team .team-founder-body h3 { margin: 0; font: 600 clamp(32px, 3.6vw, 48px)/1.05 var(--font-display); letter-spacing: -0.03em; }
.wk-team .team-role { margin: 10px 0 0; font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--wk-green); }
.wk-team .team-bio { margin-top: 20px; }
.wk-team .team-bio p { font-size: 17px; line-height: 1.65; color: var(--text-muted); }
.wk-road-photos { list-style: none; display: flex; gap: 12px; margin: 40px 0 0; padding: 0 0 6px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.wk-road-photos li { flex: 0 0 clamp(200px, 22vw, 260px); aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--radius); scroll-snap-align: start; }
.wk-road-photos img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.wk-road-photos li:hover img { transform: scale(1.03); }

.trip-expert-photo img { border-radius: 50% !important; }

@media (max-width: 900px) {
	.wk-guide-grid, .wk-team .team-founder { grid-template-columns: 1fr; }
	.wk-guide-photo, .wk-team .team-founder-photo { aspect-ratio: 4 / 3; }
}

/* ---------- Footer ---------- */

.site-footer.wk-footer { background: var(--wk-green); color: #FFFFFF; border: 0; padding: clamp(64px, 8vw, 104px) 0 32px; }
:root[data-theme="dark"] .site-footer.wk-footer { background: var(--wk-green-deep); }
.wk-footer a { color: #FFFFFF; text-decoration: none; }
.wk-footer a:hover { text-decoration: underline; }
.wk-footer .brand { display: inline-block; margin-bottom: 20px; }
.wk-footer .wk-mark { color: #FFFFFF; }
.wk-footer .wk-word b { color: rgba(255, 255, 255, .6); }
.wk-footer { --wk-mark-snow: var(--wk-green); }
.wk-footer-top { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.wk-footer-brand p { max-width: 38ch; margin: 0 0 28px; color: rgba(255, 255, 255, .75); font-size: 15px; }
.wk-footer .wk-btn-light { color: #000000; }
.wk-footer .wk-btn-light:hover { color: #FFFFFF; text-decoration: none; }
.wk-footer h2 { margin: 0 0 16px; font: 500 12px/1.2 var(--font); letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.wk-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; }
.wk-footer li { color: rgba(255, 255, 255, .85); }
.wk-footer-bottom {
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	margin-top: clamp(48px, 6vw, 80px); padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .2);
	font-size: 13px; color: rgba(255, 255, 255, .6);
}
.wk-footer-bottom a { color: rgba(255, 255, 255, .85); }

/* Floating contact button */
.fab-btn { background: var(--wk-green); color: #FFFFFF; box-shadow: none; border: 1px solid rgba(255, 255, 255, .2); }
.fab-btn:hover { background: #000000; }
.fab-menu { background: var(--bg); border: 1px solid var(--border); box-shadow: var(--shadow-lg); }
.fab-ico, .fab-ico.is-wa { background: var(--surface); color: var(--text); border-radius: 0; }

/* ---------- Responsive ---------- */

@media (max-width: 1080px) {
	.wk-values ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wk-values li:nth-child(3) { padding-left: 0; border-left: 0; }
	.wk-values li:nth-child(n+3) { border-top: 1px solid var(--border); }
	.wk-footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wk-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
	.wk-hero { grid-template-columns: 1fr; min-height: 0; }
	.wk-hero-text { padding: 48px var(--gutter) 40px; }
	.wk-hero-media { order: -1; aspect-ratio: 4 / 3; }
	.wk-split, .wk-feature { grid-template-columns: 1fr; }
	.wk-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wk-places a { grid-template-columns: 44px minmax(0, 1fr) 28px; }
	.wk-places small { grid-column: 2; }
	.wk-places .wk-arrow { grid-column: 3; grid-row: 1 / span 2; }
	.wk-place-photo { display: none; }
	.wk-feature-media { aspect-ratio: 4 / 3; }
}
@media (max-width: 640px) {
	.wk-finder { grid-template-columns: 1fr; }
	.wk-finder label { border-right: 0; border-bottom: 1px solid var(--text); }
	.wk-values ol { grid-template-columns: 1fr; }
	.wk-values li, .wk-values li + li { padding: 22px 0; border-left: 0; }
	.wk-values li + li { border-top: 1px solid var(--border); }
	.wk-cards { grid-template-columns: 1fr; }
	.wk-stats { grid-template-columns: 1fr; }
	.wk-stats > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .22); padding-bottom: 24px; }
	.wk-facts { grid-template-columns: 1fr; }
	.wk-footer-top { grid-template-columns: 1fr 1fr; }
	.wk-faq details > div { padding-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.wk-places .wk-arrow, .wk-place-photo, .tour-media img, .wk-btn .icon, .wk-link .icon { transition: none; }
}
