/* =========================================================================
   Layout — header/nav, hero, sections, CTA band, footer + full responsive
   breakpoints: mobile → large-mobile(480) → tablet(768) → mini-laptop(1024)
   → laptop(1180) → desktop(1280) → large-desktop(1600). Recon Travels.
   ========================================================================= */

/* ---------- Site header ---------- */
.site-header{
	position:sticky; top:14px; z-index:100; height:var(--header-h);
	width:min(calc(100% - 96px),1708px); margin:14px auto 0;
	display:flex; align-items:center; justify-content:space-between;
	gap:28px; padding:0 36px; background:rgba(255,255,255,.94);
	-webkit-backdrop-filter:blur(24px) saturate(160%); backdrop-filter:blur(24px) saturate(160%);
	border:1px solid rgba(29,30,32,.10); border-radius:18px;
	box-shadow:0 18px 60px rgba(29,30,32,.12);
	transition:height .3s,box-shadow .3s,top .3s,background .3s;
}
@media(max-width:760px){ .site-header{ width:calc(100% - 28px); padding:0 14px; top:10px; margin-top:10px; gap:10px; } .header-actions{ gap:10px; } }
.site-header.is-scrolled{ height:var(--header-h-scrolled); top:8px; background:rgba(255,255,255,.98); box-shadow:0 12px 42px rgba(29,30,32,.16); }

.brand{ display:flex; align-items:center; gap:15px; font-family:var(--font-body); font-weight:800; font-size:26px; line-height:1; color:#1d1e20; white-space:nowrap; }
.brand .mark{ width:46px; height:46px; border-radius:50%; background:linear-gradient(145deg,#511e03 0%,#511e03 48%,#511e03 100%); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 12px 24px rgba(81,30,3,.28); }
.brand img.custom-logo{ max-height:48px; width:auto; }
.site-header .custom-logo-link{ display:inline-flex; align-items:center; }
.site-header .custom-logo-link img.custom-logo{ display:block; }
.site-header .brand-mode-dark img.custom-logo{ filter:none; }
.site-header .custom-logo-link.brand-mode-dark{
	padding:5px 8px; border-radius:8px; background:#faf3b4;
}
.footer-vintage .brand-mode-light img.custom-logo{ display:block; max-height:64px; width:auto; }
@media(max-width:520px){ .brand{ font-size:18px; gap:10px; } .brand .mark{ width:40px; height:40px; } }

.main-nav{ display:none; align-items:center; gap:39px; margin:0 auto; }
@media(min-width:1120px){ .main-nav{ display:flex; } }
.main-nav > a,
.main-nav > .nav-item > a{
	position:relative; display:inline-flex; align-items:center; gap:8px;
	color:#1d1e20; font-size:15px; font-weight:700; padding:8px 0;
}
.main-nav > a:hover,
.main-nav > .nav-item > a:hover{ color:#511e03; }
.main-nav .icon{ opacity:.7; }

/* ---------- Header nav dropdowns (Safaris / Destinations / Experiences) ---------- */
.nav-item{ position:relative; display:inline-flex; align-items:center; }
.nav-item.has-dropdown:hover::after,
.nav-item.has-dropdown:focus-within::after{
	/* Invisible bridge over the visual gap below the trigger, so moving the
	   mouse down into the panel doesn't pass through a dead zone and drop
	   :hover — without this the dropdown closes mid-click. */
	content:""; position:absolute; left:50%; top:100%; width:360px; height:20px;
	transform:translateX(-50%); z-index:59;
}
.nav-dropdown{
	position:absolute; top:calc(100% + 20px); left:50%; transform:translate(-50%,6px);
	min-width:260px; background:#fff; border:1px solid var(--border); border-radius:18px;
	box-shadow:0 26px 64px rgba(29,30,32,.16); padding:14px; z-index:60;
	opacity:0; visibility:hidden; pointer-events:none;
	transition:opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility .2s;
}
.nav-dropdown::before{
	content:""; position:absolute; top:-7px; left:50%; width:14px; height:14px;
	background:#fff; border-left:1px solid var(--border); border-top:1px solid var(--border);
	transform:translateX(-50%) rotate(45deg); border-radius:3px 0 0 0;
}
.nav-item.has-dropdown:hover .nav-dropdown,
.nav-item.has-dropdown:focus-within .nav-dropdown{
	opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
}
.nav-dropdown-list{ display:flex; flex-direction:column; gap:2px; }
.nav-dropdown-list a{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:11px 12px; border-radius:11px; font-size:14px; font-weight:700;
	color:var(--ink); white-space:nowrap;
}
.nav-dropdown-list a > span:first-child{ min-width:0; }
.nav-dropdown-list a:hover{ background:var(--bg-soft); color:var(--accent-deep); }
.dd-title{ display:block; overflow:hidden; text-overflow:ellipsis; }
.dd-subtitle{ display:block; margin-top:3px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.dd-price{ color:var(--muted); font-size:12.5px; font-weight:700; white-space:nowrap; flex-shrink:0; }
.nav-dropdown--services{ min-width:380px; }
.nav-dropdown--services .nav-dropdown-list a{ align-items:flex-start; }
.nav-dropdown--company{ display:grid; grid-template-columns:1fr; gap:2px; min-width:230px; }
.nav-dropdown-all{
	display:flex; align-items:center; justify-content:center; gap:8px; margin-top:8px;
	padding:11px 12px 4px; border-top:1px solid var(--border); font-size:13px;
	font-weight:800; color:var(--accent-deep); text-transform:uppercase; letter-spacing:.03em;
}
.nav-dropdown--grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; min-width:340px; }
.nav-dropdown-term{
	display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:11px;
	font-size:14px; font-weight:700; color:var(--ink); white-space:nowrap;
}
.nav-dropdown-term:hover{ background:var(--bg-soft); color:var(--accent-deep); }
.nav-dropdown-term .icon{ color:var(--accent); flex-shrink:0; }

.header-actions{ display:flex; align-items:center; gap:24px; }
.header-cta{ display:none; height:50px; padding:0 24px; border-radius:10px; font-size:15px; background:#faf3b4; color:#511e03; box-shadow:0 16px 30px rgba(0,0,0,.22); align-items:center; }
.header-cta:hover{ background:#fff; color:#511e03; transform:translateY(-2px); }
@media(min-width:720px){ .header-cta{ display:inline-flex; } }
.header-phone{ display:none; align-items:center; gap:10px; color:#1d1e20; line-height:1.1; }
.header-phone-icon{ display:flex; align-items:center; justify-content:center; color:#511e03; }
.header-phone strong{ display:block; font-size:16px; font-weight:800; white-space:nowrap; }
.header-phone small{ display:block; color:rgba(29,30,32,.62); font-size:11px; font-weight:600; margin-top:4px; white-space:nowrap; }
@media(min-width:1360px){ .header-phone{ display:flex; } }

.nav-toggle{
	position:relative; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px;
	background:#511e03; border:1px solid rgba(250,243,180,.28); color:#faf3b4; z-index:101;
}
@media(min-width:1120px){ .nav-toggle{ display:none; } }
/* Note: these glyph wrapper classes are deliberately NOT named icon-menu/icon-close —
   lst_icon() already stamps that exact class onto the inner <svg>, and reusing it on
   the wrapper too caused both nested elements to pick up position:absolute, breaking
   the icon's layout (it rendered with no visible size — the "white" toggle bug). */
.nav-toggle-glyph{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	transition:opacity .2s,transform .2s;
}
.nav-toggle-glyph--close{ opacity:0; transform:rotate(-45deg) scale(.6); }
.nav-toggle[aria-expanded="true"] .nav-toggle-glyph--menu{ opacity:0; transform:rotate(45deg) scale(.6); }
.nav-toggle[aria-expanded="true"] .nav-toggle-glyph--close{ opacity:1; transform:rotate(0) scale(1); }

/* ---------- Mobile nav drawer ---------- */
.mobile-nav{
	position:fixed; inset:110px 0 0 0; background:var(--bg); z-index:99;
	padding:8px 7% 40px; overflow-y:auto;
	opacity:0; visibility:hidden; transform:translateY(-14px); pointer-events:none;
	transition:opacity .28s var(--ease-out), transform .28s var(--ease-out), visibility .28s;
}
.mobile-nav.is-open{ opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
@media(min-width:1120px){ .mobile-nav{ display:none!important; } }
@media(max-width:1024px){
	/* background-attachment:fixed has long-standing repaint/compositing bugs on
	   mobile browsers that can bleed page content through other fixed-position
	   layers (like this drawer) — scroll normally below desktop widths. */
	body{ background-attachment:scroll; }
}

.mobile-nav-links{ display:flex; flex-direction:column; gap:8px; padding-top:18px; }
.mobile-nav a{
	display:flex; align-items:center; gap:14px;
	padding:13px 14px; border-radius:14px; font-size:17px;
	font-family:var(--font-display); font-weight:600; color:var(--ink);
	background:#fff; border:1px solid var(--border); transition:background .2s,border-color .2s;
}
.mobile-nav a:active{ background:var(--bg-soft); border-color:var(--border-warm); }
.mobile-nav a .mn-label{ flex:1; }
.mobile-nav a > svg{ color:var(--faint); flex-shrink:0; }
.mn-icon{
	width:38px; height:38px; border-radius:11px; background:var(--accent-soft); color:var(--accent-deep);
	display:flex; align-items:center; justify-content:center; flex-shrink:0;
}

.mobile-nav-ctas{ display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.mobile-cta{ height:56px; font-size:16px; }
.mobile-cta-whatsapp{
	display:flex; align-items:center; justify-content:center; gap:10px; height:54px; border-radius:var(--radius-md);
	background:rgba(37,179,99,.1); border:1px solid rgba(37,179,99,.3); color:#1d8a4e; font-weight:700; font-size:15px;
}
.mobile-cta-whatsapp:active{ background:rgba(37,179,99,.18); }

.mobile-contact{ display:flex; flex-direction:column; gap:10px; margin-top:24px; padding-top:22px; border-top:1px solid var(--border); }
.mobile-contact-row{
	display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:14px;
	background:#fff; border:1px solid var(--border); color:var(--ink);
}
.mobile-contact-row .icon{
	width:38px; height:38px; border-radius:50%; background:var(--accent-soft); color:var(--accent-deep);
	display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.mobile-contact-row strong{ display:block; font-size:13px; font-weight:700; }
.mobile-contact-row small{ display:block; color:var(--muted); font-size:13px; margin-top:2px; line-height:1.4; }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; }
.cinematic-hero{
	padding:32px 0 128px;
	min-height:720px;
	background:
		radial-gradient(circle at 86% 9%,rgba(250,243,180,.14),transparent 27%),
		radial-gradient(circle at 78% 74%,rgba(81,30,3,.10),transparent 26%),
		linear-gradient(180deg,#fff 0%,#f8faf6 64%,#faf3b4 100%);
}
.hero-shell{
	position:relative; z-index:2; width:min(calc(100% - 120px),1600px); margin:0 auto;
	display:grid; grid-template-columns:520px minmax(0,1fr); align-items:center; gap:42px;
	min-height:640px;
}
.hero-copy{ position:relative; z-index:4; max-width:535px; padding-top:10px; }
.hero-copy > *+*{ margin-top:20px; }
.cinematic-eyebrow{
	display:inline-flex; align-items:center; gap:15px;
	color:#511e03; font-family:var(--font-script); font-size:28px; line-height:1; letter-spacing:.01em;
	text-transform:none; font-weight:700;
}
.cinematic-eyebrow::before{
	content:""; width:24px; height:4px; border-radius:999px;
	background:linear-gradient(90deg,#faf3b4,#511e03);
}
.cinematic-title{
	font-family:var(--font-serif); font-size:84px; line-height:.90;
	font-weight:700; letter-spacing:0; color:#1d1e20;
}
.cinematic-title span,.cinematic-title em{ display:block; }
.cinematic-title em{
	margin-top:12px; color:#511e03; font-size:76px; font-style:italic; font-weight:500;
	line-height:.88;
}
.cinematic-lede{
	max-width:465px; color:#5c5d5f; font-size:17px; line-height:1.55; font-weight:600;
}
.hero-ctas{ display:flex; flex-wrap:wrap; gap:18px; margin-top:30px; align-items:center; }
.hero-stats{ display:flex; flex-wrap:wrap; gap:36px; margin-top:48px; }
.flight-doodle{
	position:absolute; width:170px; height:74px; right:-118px; bottom:88px;
	fill:none; stroke:#511e03; stroke-width:2; stroke-linecap:round; opacity:.72;
}
.flight-doodle path{ stroke-dasharray:6 7; }
.flight-doodle circle{ stroke-dasharray:4 5; }
.hero-stage{ position:relative; height:628px; min-width:0; margin-left:-36px; }
.hero-card{
	position:absolute; overflow:hidden; background:#ddd; border:5px solid rgba(255,255,255,.82);
	border-radius:24px; box-shadow:0 24px 60px rgba(29,30,32,.22);
	transform-origin:center; isolation:isolate;
	transition: transform 0.6s var(--ease-spring), left 0.6s var(--ease-spring), top 0.6s var(--ease-spring), width 0.6s var(--ease-spring), height 0.6s var(--ease-spring), z-index 0.6s var(--ease-spring), opacity 0.6s var(--ease-spring), filter 0.6s var(--ease-spring);
}
.hero-card img{ width:100%; height:100%; object-fit:cover; }
.hero-card-scrim{ position:absolute; inset:auto 0 0; height:54%; background:linear-gradient(180deg,transparent,rgba(14,10,7,.78)); z-index:1; }
.hero-card--main{ left:230px; top:48px; z-index:5; width:590px; height:430px; }
.hero-card--left{ left:26px; top:108px; z-index:3; width:236px; height:392px; transform:rotate(7deg); }
.hero-card--right{ right:72px; top:108px; z-index:3; width:236px; height:392px; transform:rotate(-7deg); }
.hero-card--far{ right:-70px; top:162px; z-index:1; width:174px; height:318px; transform:rotate(6deg); }
.hero-card--hidden{ opacity: 0; pointer-events: none; transform: scale(0.6) translate(-100px, 0); z-index: 0; left: 230px; top: 48px; width: 590px; height: 430px; }
/* Only the active centre card is crisp; the two side cards recede (subtle blur + slight fade). */
.hero-card--left{ filter:blur(2.5px); opacity:.82; }
.hero-card--right{ filter:blur(2.5px); opacity:.82; }
.hero-card--main{ filter:none; opacity:1; }
.hero-card-caption{
	position:absolute; left:24px; right:20px; bottom:28px; z-index:2; color:#fff;
	text-shadow:0 2px 10px rgba(0,0,0,.24);
}
.hero-card-caption h2{
	font-family:var(--font-serif); color:#fff; font-size:23px; line-height:1.05; font-weight:700;
}
.hero-card--main .hero-card-caption h2{ font-size:31px; }
.hero-card-caption p{ display:flex; align-items:center; gap:8px; margin-top:10px; font-size:14px; font-weight:800; }
.card-duration{
	position:absolute; right:18px; bottom:22px; z-index:3;
	padding:4px 8px; border-radius:9px; background:rgba(20,14,9,.42);
	border:1px solid rgba(255,255,255,.28); color:#fff; font-size:13px; line-height:1;
}
.hero-card--far .hero-card-caption{ left:12px; right:8px; bottom:31px; }
.hero-card--far .hero-card-caption h2{ font-size:12px; }
.hero-card--far .card-duration{ right:8px; bottom:16px; font-size:10px; }
.card-play{
	position:absolute; left:50%; top:54%; z-index:3; transform:translate(-50%,-50%);
	width:54px; height:54px; border-radius:50%; color:#fff; background:rgba(81,30,3,.50);
	border:1px solid rgba(255,255,255,.50); display:flex; align-items:center; justify-content:center;
	-webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
	box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.hero-card--main .card-play{ width:100px; height:100px; top:51%; background:rgba(81,30,3,.46); }
.rating-bubble{
	position:absolute; right:82px; top:-46px; z-index:7; display:flex; align-items:center; gap:18px;
	min-width:272px; height:74px; padding:12px 18px; border-radius:22px;
	background:rgba(255,255,255,.86); border:1px solid rgba(29,30,32,.07);
	box-shadow:0 18px 50px rgba(29,30,32,.09); color:#1d1e20;
	-webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
}
.rating-stars,.quote-stars{ color:#511e03; font-size:15px; letter-spacing:2px; line-height:1; }
.rating-copy{ display:flex; align-items:center; gap:18px; margin-top:6px; }
.rating-copy strong{ font-size:14px; }
.rating-copy span{ color:#5c5d5f; font-size:13px; font-weight:700; white-space:nowrap; }
.traveler-faces{ display:flex; margin-left:auto; }
.traveler-faces span, .traveler-faces img{
	width:34px; height:34px; margin-left:-9px; border-radius:50%; border:2px solid #fff;
	display:flex; align-items:center; justify-content:center; color:#fff; font-size:12px; font-weight:800;
	background:linear-gradient(135deg,#511e03,#511e03);
	object-fit: cover;
}
.traveler-faces span:nth-child(2){ background:linear-gradient(135deg,#1d1e20,#511e03); }
.traveler-faces span:nth-child(3){ background:linear-gradient(135deg,#511e03,#511e03); }
.stage-arrow{
	position:absolute; z-index:8; width:54px; height:54px; border-radius:50%;
	border:1px solid rgba(29,30,32,.08); background:rgba(255,255,255,.94);
	color:#511e03; font-size:34px; line-height:1; display:flex; align-items:center; justify-content:center;
	box-shadow:0 18px 42px rgba(29,30,32,.10);
}
.stage-arrow--prev{ left:0; top:250px; }
.stage-arrow--next{ right:42px; top:250px; }
.stage-filmstrip{
	position:absolute; left:318px; bottom:84px; z-index:6; height:62px; padding:8px 12px;
	border-radius:999px; background:rgba(255,255,255,.60); border:1px solid rgba(29,30,32,.06);
	display:flex; align-items:center; justify-content:center; gap:10px;
}
.stage-thumb{
	position:relative; flex:0 0 auto; width:46px; height:46px; border-radius:50%;
	padding:0; border:none; background:none; cursor:pointer; opacity:.5;
	transform:scale(.9); transition:opacity .5s var(--ease-spring),transform .5s var(--ease-spring);
}
.stage-thumb:hover{ opacity:.8; }
.stage-thumb.is-active{ opacity:1; transform:scale(1); }
.stage-thumb-ring{ position:absolute; inset:0; transform:rotate(-90deg); }
.stage-thumb-ring circle{ fill:none; stroke-width:2.5; }
.stage-thumb-ring .track{ stroke:rgba(29,30,32,.12); }
.stage-thumb-ring .fill{
	stroke:#511e03; stroke-linecap:round;
	stroke-dasharray:126; stroke-dashoffset:126;
	transition:stroke-dashoffset linear;
}
.stage-thumb img{
	position:absolute; inset:4px; width:calc(100% - 8px); height:calc(100% - 8px);
	border-radius:50%; object-fit:cover; border:2px solid #fff;
}
.quote-chip,.season-chip{
	position:absolute; z-index:7; background:rgba(255,255,255,.86); border:1px solid rgba(29,30,32,.08);
	box-shadow:0 18px 50px rgba(29,30,32,.09); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
}
.quote-chip{
	left:-44px; bottom:-6px; width:292px; min-height:102px; border-radius:25px;
	display:flex; align-items:center; gap:16px; padding:16px 18px;
}
.quote-avatar{
	width:58px; height:58px; border-radius:50%; flex:0 0 auto;
	background-size: cover;
	background-position: center;
	box-shadow: 0 4px 12px rgba(29,30,32,.1);
}
.quote-chip p{ margin-top:6px; color:#5c5d5f; font-size:12px; line-height:1.35; font-weight:700; }
.quote-chip span{ display:block; margin-top:3px; color:#5c5d5f; font-size:12px; }
.season-chip{
	right:10px; bottom:-2px; width:310px; min-height:88px; border-radius:24px;
	display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:17px 20px;
}
.season-icon{
	width:52px; height:52px; border-radius:17px; display:flex; align-items:center; justify-content:center;
	background:#faf3b4; color:#511e03;
}
.season-chip small{ display:block; color:#5c5d5f; font-size:12px; font-weight:700; }
.season-chip strong{ display:block; color:#1d1e20; font-size:17px; line-height:1.2; margin-top:4px; }
.season-chip em{ display:flex; align-items:center; gap:8px; margin-top:3px; color:#5c5d5f; font-size:12px; font-style:normal; }
.season-chip i{ width:7px; height:7px; border-radius:50%; background:#4fc36b; display:inline-block; }
.hero-topography{
	position:absolute; left:-80px; bottom:10px; width:360px; height:260px; opacity:.22;
	background:
		repeating-radial-gradient(ellipse at 20% 95%,transparent 0 18px,rgba(81,30,3,.30) 19px 20px);
	pointer-events:none;
}
.hero-acacia{
	position:absolute; right:-30px; top:86px; width:330px; height:235px; opacity:.10;
	background:
		radial-gradient(ellipse at 70% 22%,#511e03 0 58px,transparent 60px),
		linear-gradient(82deg,transparent 47%,#511e03 48% 50%,transparent 51%),
		linear-gradient(12deg,transparent 58%,#511e03 59% 61%,transparent 62%);
	filter:blur(.2px);
	pointer-events:none;
}

/* search bar overlaps the hero/section seam */
.search-bar-wrap{ position:relative; margin-top:-98px; z-index:9; }
.search-bar{ grid-template-columns:1fr; }
@media(min-width:860px){ .search-bar{ grid-template-columns:1.45fr 1.1fr 1.18fr 244px; align-items:center; } }
@media(min-width:768px){
	.search-field{ height:74px; border-bottom:none; border-right:1px solid var(--border); }
	.search-field:last-of-type{ border-right:none; }
	.search-bar .btn-primary{ width:auto; margin-top:0; height:68px; }
}
@media(max-width:1380px){
	.hero-shell{ width:min(calc(100% - 72px),1280px); grid-template-columns:430px minmax(0,1fr); gap:26px; }
	.cinematic-title{ font-size:76px; }
	.cinematic-title em{ font-size:70px; }
	.hero-stage{ transform:scale(.88); transform-origin:left center; margin-left:-10px; width:980px; }
	.flight-doodle{ right:-78px; }
}
@media(max-width:1120px){
	.cinematic-hero{ padding-top:52px; }
	.hero-shell{ grid-template-columns:1fr; min-height:0; }
	.hero-copy{ max-width:720px; }
	.hero-stage{ margin:8px auto 0; transform:none; width:100%; max-width:950px; }
	.flight-doodle{ display:none; }
}
@media(max-width:760px){
	.cinematic-hero{ padding:42px 0 106px; min-height:auto; }
	.hero-shell{ width:calc(100% - 32px); gap:22px; }
	.cinematic-eyebrow{ font-size:21px; line-height:1.2; gap:10px; }
	.cinematic-eyebrow::before{ width:20px; height:3px; }
	.hero-copy,.cinematic-lede{ max-width:100%; }
	.cinematic-eyebrow{ max-width:100%; flex-wrap:wrap; }
	.cinematic-title{ font-size:58px; }
	.cinematic-title em{ font-size:52px; }
	.cinematic-lede{ font-size:16px; }
	.hero-ctas{ gap:12px; }
	.hero-ctas .btn{ width:100%; }
	.hero-stage{ height:535px; }
	.hero-card--main{ left:0; right:0; top:74px; width:100%; height:350px; }
	.hero-card--left,.hero-card--right,.hero-card--far,.stage-arrow,.quote-chip,.season-chip{ display:none; }
	.stage-filmstrip{ left:50%; bottom:34px; width:min(90%,340px); transform:translateX(-50%); }
	.search-bar-wrap{ margin-top:-74px; }
	/* Trust signal becomes a compact pill floating in the headroom above the
	   card, instead of disappearing on mobile. */
	.rating-bubble{
		left:50%; right:auto; top:6px; transform:translateX(-50%); min-width:0; width:auto;
		height:auto; padding:9px 16px; gap:10px; border-radius:999px;
	}
	.rating-bubble .rating-copy{ margin-top:0; gap:8px; }
	.rating-bubble .rating-copy span{ display:none; }
	.rating-bubble .traveler-faces{ display:none; }
}
@media(max-width:520px){
	.cinematic-title{ font-size:46px; }
	.cinematic-title em{ font-size:42px; }
	.hero-card--main{ height:306px; }
	.hero-stage{ height:462px; }
	.hero-card--main .card-play{ width:78px; height:78px; }
	.hero-card--main .hero-card-caption h2{ font-size:25px; }
}

/* ---------- Section heads ---------- */
.section-head{ max-width:680px; margin-bottom:48px; }
.section-head > *+*{ margin-top:14px; }
.section-head.text-center{ margin-left:auto; margin-right:auto; }

/* ---------- CTA band ---------- */
.cta-band{
	background:linear-gradient(135deg,#faf3b4 0%,#511e03 32%,#511e03 60%,#511e03 82%,#511e03 100%);
	border-radius:28px; padding:64px 7%; text-align:center; color:#351202;
	position:relative; overflow:hidden; margin:0 5%;
}
@media(min-width:1024px){ .cta-band{ margin:0 var(--gutter); padding:80px 64px; } }
/* Plain heading fallback for hand-rolled .cta-band markup (e.g. page-about.php)
   that doesn't use the .cta-heading/.cta-eyebrow markup below. */
.cta-band h2:not(.cta-heading){ position:relative; z-index:1; font-size:38px; line-height:1.1; color:#351202; }
@media(min-width:680px){ .cta-band h2:not(.cta-heading){ font-size:46px; } }
@media(max-width:480px){ .cta-band h2:not(.cta-heading){ font-size:30px; } }
.cta-band .btn-secondary{ position:relative; z-index:1; margin-top:30px; }
.cta-eyebrow{
	position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px;
	color:rgba(29,30,32,.78); font-size:13px; letter-spacing:.1em; text-transform:uppercase; font-weight:800;
}
.cta-heading{
	position:relative; z-index:1; font-size:38px; line-height:1.1; color:#351202; margin-top:16px;
}
.cta-heading span{ color:#511e03; }
@media(min-width:680px){ .cta-heading{ font-size:50px; } }
@media(max-width:480px){ .cta-heading{ font-size:32px; } }
.cta-band p{ position:relative; z-index:1; color:rgba(29,30,32,.7); max-width:520px; margin:16px auto 0; font-size:17px; }
.cta-btn-dark{
	position:relative; z-index:1; background:#351202; color:#faf3b4; margin-top:30px;
	box-shadow:0 20px 40px rgba(29,30,32,.35);
}
.cta-btn-dark:hover{ background:#351202; transform:translateY(-3px); }
.cta-phone-pill{
	position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px; margin-top:20px;
	padding:11px 20px; border-radius:var(--radius-pill); background:rgba(255,251,240,.55);
	border:1px solid rgba(29,30,32,.14); color:rgba(29,30,32,.85); font-size:14px; font-weight:600;
	-webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.cta-phone-pill strong{ color:#351202; }
.cta-band .dots{ position:absolute; inset:0; opacity:.16; background-image:radial-gradient(rgba(255,255,255,.9) 1.5px,transparent 1.5px); background-size:26px 26px; }
.cta-waves{ position:absolute; left:0; right:0; bottom:-10px; width:100%; height:120px; stroke:rgba(255,255,255,.5); stroke-width:2; fill:none; }
.cta-seal{ position:absolute; right:5%; top:8%; color:rgba(29,30,32,.18); }
@media(max-width:760px){ .cta-seal{ width:84px; height:84px; top:4%; right:4%; } }
@media(max-width:520px){ .cta-seal{ display:none; } }

/* ---------- Footer ---------- */
.site-footer.footer-vintage{
	position:relative; overflow:hidden; margin-top:96px; padding:0 0 30px; color:#1d1e20;
	background:
		radial-gradient(circle at 10% 0,rgba(81,30,3,.14),transparent 28%),
		radial-gradient(circle at 94% 22%,rgba(81,30,3,.12),transparent 26%),
		linear-gradient(180deg,#f8faf6 0%,#faf3b4 48%,#f8faf6 100%);
}
.footer-vector-ribbon{
	position:relative; line-height:0; background:transparent;
}
.footer-vector-ribbon img{
	width:100%; height:auto; display:block;
}
.footer-vector-ribbon svg{
	width:100%; height:100%; display:block; opacity:.95;
}
.footer-vector-mist{ fill:url(#footer-vector-gold); }
.footer-vector-line{
	fill:none; stroke:#511e03; stroke-width:1.15; opacity:.20;
}
.footer-vector-line--two{ opacity:.13; }
.footer-vector-route{
	fill:none; stroke:#511e03; stroke-width:2.4; stroke-linecap:round;
	stroke-dasharray:9 12; opacity:.72;
}
.footer-vector-birds path,
.footer-vector-herd path,
.footer-vector-acacia path,
.footer-vector-ground{
	fill:none; stroke:#351202; stroke-linecap:round; stroke-linejoin:round;
}
.footer-vector-birds path{ stroke-width:2.3; opacity:.34; }
.footer-vector-herd path{ stroke-width:2.2; opacity:.20; }
.footer-vector-acacia path{ stroke-width:3; opacity:.24; }
.footer-vector-ground{ stroke-width:1.4; opacity:.18; }
.footer-bg{ position:absolute; inset:0; pointer-events:none; opacity:.20; }
.footer-bg::before,.footer-bg::after{
	content:""; position:absolute; opacity:.9;
	background:repeating-radial-gradient(ellipse at center,transparent 0 13px,rgba(81,30,3,.30) 14px 15px);
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 72%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 25%,#000 72%,transparent);
}
.footer-bg::before{ left:-160px; top:150px; width:460px; height:300px; transform:rotate(14deg); }
.footer-bg::after{ right:-180px; bottom:20px; width:520px; height:330px; transform:rotate(-16deg); }
.footer-field-note{
	position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center;
	margin:24px 0 24px; padding:22px 26px; border-radius:24px;
	background:rgba(248,250,246,.78); border:1px solid rgba(81,30,3,.16);
	box-shadow:0 24px 66px rgba(29,30,32,.10); backdrop-filter:blur(14px);
}
.footer-field-note strong{
	font-family:var(--font-serif); font-size:clamp(27px,3vw,43px); line-height:.98; font-weight:650; color:#1d1e20;
}
.footer-grid{
	position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .78fr .82fr 1.05fr; gap:18px; align-items:stretch;
}
.footer-brand-panel,
.footer-link-panel,
.footer-contact-panel{
	position:relative; overflow:hidden; padding:24px; border-radius:24px;
	background:linear-gradient(180deg,rgba(248,250,246,.90),rgba(250,243,180,.80));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.08);
}
.footer-brand-panel::before,
.footer-contact-panel::before{
	content:""; position:absolute; left:34px; top:-10px; width:94px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg); box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.footer-vintage h3{
	color:#511e03; font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px;
	font-family:var(--font-body); font-weight:950; position:relative; padding-bottom:12px;
}
.footer-vintage h3::after{
	content:""; position:absolute; left:0; bottom:0; width:42px; height:2px; border-radius:999px;
	background:linear-gradient(90deg,#511e03,rgba(81,30,3,.48));
}
.footer-vintage .brand{ margin-bottom:14px; color:#1d1e20; }
.footer-vintage p{ font-size:15px; line-height:1.68; color:#5c5d5f; font-weight:650; }
.footer-wood-badges{ display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.footer-wood-badges span{
	display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:8px 12px; border-radius:999px;
	color:#f8faf6; font-size:12px; font-weight:900;
	background:linear-gradient(180deg,#511e03,#351202);
	border:1px solid rgba(255,223,167,.28); box-shadow:0 12px 26px rgba(81,30,3,.14);
}
.footer-wood-badges svg{ color:#511e03; }
.footer-links li{ margin-bottom:9px; }
.footer-links a{
	display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:30px;
	font-size:14.5px; color:#5c5d5f; font-weight:760;
}
.footer-links a:hover{ color:#511e03; }
.footer-links a svg{ opacity:.55; flex-shrink:0; }
.footer-contact li{ display:flex; gap:10px; margin-bottom:13px; font-size:14.5px; color:#5c5d5f; align-items:flex-start; font-weight:720; }
.footer-contact .icon{ color:#511e03; flex-shrink:0; margin-top:2px; }
.footer-contact a{ color:#1d1e20; }
.footer-social-block{
	margin-top:20px; padding-top:18px; border-top:1px dashed rgba(81,30,3,.20);
}
.footer-social-block > span{
	display:block; color:#511e03; font-family:var(--font-script); font-size:25px; line-height:1;
	font-weight:700; transform:rotate(-1deg);
}
.footer-social{ display:flex; flex-wrap:wrap; gap:10px; margin-top:17px; }
.footer-social a{
	width:42px; height:42px; border-radius:50%; border:1px solid rgba(81,30,3,.20);
	display:flex; align-items:center; justify-content:center; color:#511e03;
	background:linear-gradient(180deg,#f8faf6,#faf3b4);
	box-shadow:0 10px 24px rgba(29,30,32,.08), inset 0 1px 0 rgba(255,255,255,.65);
	transition:transform .24s var(--ease-spring), color .24s, background .24s, border-color .24s;
}
.footer-social a:hover{ color:#fff; background:linear-gradient(135deg,#511e03,#511e03); border-color:transparent; transform:translateY(-3px) rotate(-3deg); }
.footer-newsletter{ display:grid; gap:10px; margin-top:18px; }
.footer-newsletter .input{
	background:rgba(255,255,255,.72); border-color:rgba(81,30,3,.18); color:#1d1e20;
	box-shadow:0 8px 20px rgba(29,30,32,.05) inset;
}
.footer-newsletter .input::placeholder{ color:#7a7c7f; }
.footer-disclaimer{
	position:relative; z-index:1; margin-top:18px; padding:17px 22px; border-radius:20px;
	background:rgba(248,250,246,.72); border:1px dashed rgba(81,30,3,.24);
}
.footer-disclaimer p{ color:#5c5d5f; font-size:13.5px; line-height:1.62; }
.footer-disclaimer a{ color:#511e03; font-weight:900; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.footer-bottom{
	position:relative; z-index:1; border-top:1px solid rgba(81,30,3,.16); margin-top:22px; padding-top:20px;
	display:flex; flex-direction:column; gap:8px; font-size:13px; color:#5c5d5f; font-weight:700;
}
.footer-bottom a{ color:#5c5d5f; }
.footer-policy-links{ display:flex; flex-wrap:wrap; gap:12px 16px; }
.footer-policy-links a{ font-weight:850; text-decoration:underline; text-underline-offset:3px; }
@media(min-width:768px){ .footer-bottom{ flex-direction:row; justify-content:space-between; } }
@media(max-width:1100px){
	.footer-grid{ grid-template-columns:1fr 1fr; }
	.footer-field-note{ grid-template-columns:1fr; gap:8px; }
}
@media(max-width:680px){
	.site-footer.footer-vintage{ margin-top:64px; }
	.footer-grid{ grid-template-columns:1fr; }
	.footer-field-note{ padding:20px; border-radius:20px; }
	.footer-field-note strong{ font-size:29px; }
	.footer-brand-panel,.footer-link-panel,.footer-contact-panel{ padding:22px; border-radius:20px; }
}

.privacy-field-banner[hidden]{ display:none!important; }
.privacy-field-banner{
	position:fixed; left:18px; right:18px; bottom:18px; z-index:9999; display:flex; justify-content:center;
	pointer-events:none; opacity:0; transform:translateY(14px); transition:opacity .28s ease,transform .28s ease;
}
.privacy-field-banner.is-visible{
	opacity:1; transform:translateY(0);
}
.privacy-field-paper{
	position:relative; width:min(820px,100%); display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center;
	padding:20px 62px 20px 24px; border-radius:24px;
	background:linear-gradient(180deg,rgba(248,250,246,.96),rgba(250,243,180,.94));
	border:1px solid rgba(81,30,3,.22); box-shadow:0 28px 88px rgba(29,30,32,.24);
	pointer-events:auto;
}
.privacy-field-paper::before{
	content:""; position:absolute; left:42px; top:-10px; width:118px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.78); transform:rotate(-2deg); box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.privacy-field-tag{
	display:block; color:#511e03; font-family:var(--font-script); font-size:25px; font-weight:700; line-height:1;
}
.privacy-field-paper p{ margin-top:8px; color:#5c5d5f; font-size:14.5px; line-height:1.55; font-weight:650; }
.privacy-field-actions{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; }
.privacy-field-actions a{ color:#511e03; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.privacy-field-actions .btn{ min-height:46px; white-space:nowrap; }
.privacy-field-close{
	position:absolute; right:14px; top:14px; width:34px; height:34px; border:0; border-radius:50%;
	display:flex; align-items:center; justify-content:center; background:#f8faf6; color:#511e03;
	box-shadow:0 8px 18px rgba(29,30,32,.10); cursor:pointer;
}
@media(max-width:720px){
	.privacy-field-paper{ grid-template-columns:1fr; padding:20px 56px 20px 20px; }
	.privacy-field-actions{ justify-content:flex-start; }
	.privacy-field-actions .btn{ width:100%; }
}

/* ---------- Tour archive / single ---------- */
.tour-archive{
	position:relative; overflow:hidden;
	background:
		radial-gradient(circle at 88% 9%,rgba(250,243,180,.10),transparent 24%),
		linear-gradient(180deg,#f8faf6 0%,#f8faf6 48%,#f8faf6 100%);
}
.tour-archive::before{
	content:""; position:absolute; right:-120px; top:120px; width:520px; height:360px; opacity:.12; pointer-events:none;
	background:repeating-radial-gradient(ellipse at center,transparent 0 15px,rgba(81,30,3,.45) 16px 17px);
	transform:rotate(-12deg);
}
.tour-archive .container{ position:relative; z-index:1; }
.tour-archive-head{
	display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:end; margin-top:18px;
}
.tour-archive-count{
	min-width:164px; padding:18px 20px; border-radius:18px; background:rgba(255,255,255,.82);
	border:1px solid rgba(81,30,3,.14); box-shadow:0 18px 48px rgba(29,30,32,.08); text-align:center;
}
.tour-archive-count strong{ display:block; font-family:var(--font-serif); font-size:42px; line-height:.9; color:#1d1e20; }
.tour-archive-count span{ display:block; margin-top:7px; color:#5c5d5f; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.tour-search-panel{
	position:relative; z-index:4; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end;
	margin:38px 0 28px; padding:18px; border-radius:22px; background:rgba(255,255,255,.78);
	border:1px solid rgba(81,30,3,.14); box-shadow:0 24px 80px rgba(29,30,32,.10); backdrop-filter:blur(12px);
}
.tour-search-form{ position:relative; min-width:0; }
.tour-search-form label{
	display:block; margin:0 0 9px 4px; color:#7a7c7f; font-size:12px; text-transform:uppercase; letter-spacing:.10em; font-weight:950;
}
.tour-search-box{
	position:relative; display:flex; align-items:center; gap:12px; min-height:58px; padding:0 52px 0 18px;
	border-radius:16px; background:#fff; border:1px solid rgba(29,30,32,.12); box-shadow:0 10px 28px rgba(29,30,32,.06);
}
.tour-search-box svg{ color:#511e03; flex:0 0 auto; }
.tour-search-box input{
	width:100%; border:0; outline:0; background:transparent; color:#1d1e20; font-size:17px; font-weight:750;
}
.tour-search-box input::placeholder{ color:#7a7c7f; font-weight:650; }
.tour-search-clear{
	position:absolute; right:12px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:0; border-radius:50%;
	display:flex; align-items:center; justify-content:center; color:#511e03; background:#faf3b4;
}
.tour-search-suggestions{
	position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:20; padding:8px; border-radius:16px;
	background:#fff; border:1px solid rgba(29,30,32,.12); box-shadow:0 24px 70px rgba(29,30,32,.18);
}
.tour-search-suggestions button{
	width:100%; display:flex; align-items:center; min-height:42px; padding:0 12px; border:0; border-radius:10px;
	background:transparent; color:#1d1e20; text-align:left; font-weight:800;
}
.tour-search-suggestions button:hover{ background:#faf3b4; color:#511e03; }
.tour-search-hints{ display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; max-width:430px; }
.tour-search-hints button{
	min-height:38px; padding:0 14px; border-radius:999px; border:1px solid rgba(81,30,3,.22);
	background:#f8faf6; color:#5c5d5f; font-size:13px; font-weight:850;
}
.tour-search-hints button:hover{ color:#511e03; border-color:rgba(81,30,3,.42); transform:translateY(-1px); }
.tour-archive-shell{
	display:grid; grid-template-columns:300px minmax(0,1fr); gap:30px; align-items:start;
	margin-top:0;
}
.tour-filter-sidebar{
	position:sticky; top:calc(var(--header-h) + 24px); overflow:hidden; border-radius:24px;
	background:rgba(255,255,255,.84); border:1px solid rgba(81,30,3,.14);
	box-shadow:0 26px 80px rgba(29,30,32,.11); backdrop-filter:blur(12px);
	align-self:start; margin-top:0;
}
.tour-filter-sidebar::before{
	content:""; display:block; height:5px; background:linear-gradient(90deg,#511e03,#511e03,#511e03);
}
.tour-filter-head{
	display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px 22px 18px;
	border-bottom:1px solid rgba(81,30,3,.12);
}
.tour-filter-head span{
	display:block; color:#511e03; font-size:11px; font-weight:950; text-transform:uppercase; letter-spacing:.14em;
}
.tour-filter-head strong{ display:block; margin-top:3px; color:#1d1e20; font-size:18px; line-height:1.1; }
.tour-filter-head button{
	border:0; background:#faf3b4; color:#511e03; border-radius:999px; min-height:34px; padding:0 13px; font-weight:900; font-size:12px;
}
.tour-filter-group{ padding:20px 22px; border-bottom:1px solid rgba(81,30,3,.10); }
.tour-filter-group:last-child{ border-bottom:0; }
.tour-filter-group h2{
	margin:0 0 12px; font-family:var(--font-body); color:#7a7c7f; font-size:12px; font-weight:950;
	text-transform:uppercase; letter-spacing:.12em;
}
.tour-filter-option{
	position:relative; display:grid; grid-template-columns:20px minmax(0,1fr) auto; gap:10px; align-items:center;
	min-height:38px; padding:8px 9px; margin:2px -9px; border-radius:12px; color:#5c5d5f; cursor:pointer;
}
.tour-filter-option:hover{ background:#f8faf6; }
.tour-filter-option.is-active{ background:#faf3b4; color:#1d1e20; }
.tour-filter-option input{
	appearance:none; width:18px; height:18px; border-radius:50%; border:1px solid rgba(29,30,32,.22); background:#fff;
	display:grid; place-items:center;
}
.tour-filter-option input[type="checkbox"]{ border-radius:6px; }
.tour-filter-option input:checked{ border-color:#511e03; background:linear-gradient(135deg,#511e03,#511e03); box-shadow:0 8px 18px rgba(216,99,16,.18); }
.tour-filter-option input:checked::after{ content:""; width:7px; height:7px; border-radius:50%; background:#fff; }
.tour-filter-option input[type="checkbox"]:checked::after{
	width:8px; height:5px; border-radius:0; background:transparent; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg);
}
.tour-filter-option span{ min-width:0; color:inherit; font-size:14px; font-weight:800; line-height:1.25; }
.tour-filter-option em{ color:#7a7c7f; font-size:12px; font-style:normal; font-weight:900; }
.tour-filter-note{ color:#7a7c7f; font-size:13px; line-height:1.45; }
.tour-archive-results{ min-width:0; margin-top:0; padding-top:0; }
.tour-active-filters{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.tour-active-filters button{
	display:inline-flex; align-items:center; min-height:32px; padding:0 12px; border:1px solid rgba(81,30,3,.24);
	border-radius:999px; background:#faf3b4; color:#511e03; font-size:12px; font-weight:900;
}
.tour-grid{ display:grid; gap:28px; grid-template-columns:1fr; }
@media(min-width:680px){ .tour-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1180px){ .tour-grid{ grid-template-columns:repeat(3,1fr); } }
.tour-grid--filtered{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.tour-grid--filtered .dest-card[hidden]{ display:none; }
.tour-grid--filtered .dest-card .photo .badge{
	position:absolute; top:14px; right:14px; z-index:2; background:#fff; color:#5c5d5f;
}
.tour-grid--filtered .dest-card .body p{ color:var(--muted); font-size:14px; margin:0; }
.tour-no-results{
	padding:56px 26px; border-radius:24px; background:#fff; border:1px solid rgba(81,30,3,.14);
	box-shadow:0 24px 70px rgba(29,30,32,.10); text-align:center;
}
.tour-no-results svg{ margin:0 auto; color:#511e03; }
.tour-no-results h2{ margin-top:14px; font-size:34px; line-height:1.05; }
.tour-no-results p{ max-width:460px; margin:12px auto 22px; color:#5c5d5f; }
@media(max-width:1180px){
	.tour-archive-shell{ grid-template-columns:270px minmax(0,1fr); gap:22px; }
	.tour-grid--filtered{ grid-template-columns:1fr; }
}
@media(max-width:900px){
	.tour-archive-head,.tour-search-panel,.tour-archive-shell{ grid-template-columns:1fr; }
	.tour-archive-count{ width:max-content; }
	.tour-search-hints{ justify-content:flex-start; max-width:none; }
	.tour-filter-sidebar{ position:relative; top:auto; }
	.tour-grid--filtered{ grid-template-columns:1fr 1fr; }
}
@media(max-width:680px){
	.tour-archive-count{ width:100%; }
	.tour-search-panel{ padding:14px; border-radius:18px; }
	.tour-search-box{ min-height:54px; }
	.tour-search-box input{ font-size:15px; }
	.tour-filter-head,.tour-filter-group{ padding-left:18px; padding-right:18px; }
	.tour-grid--filtered{ grid-template-columns:1fr; }
}

.tour-hero{ position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:340px; display:flex; align-items:flex-end; }
@media(min-width:1024px){ .tour-hero{ min-height:440px; } }
.tour-hero .scrim-bottom{ height:80%; }
.tour-hero .tour-hero-copy{ position:relative; z-index:2; padding:32px; color:#fff; }
.tour-hero .tour-hero-copy h1{ color:#fff; font-size:52px; }
@media(max-width:680px){ .tour-hero .tour-hero-copy h1{ font-size:34px; } }

.tour-layout{ display:grid; gap:40px; grid-template-columns:1fr; margin-top:48px; }
@media(min-width:1024px){ .tour-layout{ grid-template-columns:1.6fr .9fr; } }
.tour-sidebar{ position:relative; }
@media(min-width:1024px){ .tour-sidebar > .trip-card{ position:sticky; top:calc(var(--header-h) + 24px); max-width:none; } }

.facts-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:28px 0; }
@media(min-width:600px){ .facts-grid{ grid-template-columns:repeat(4,1fr); } }
.fact{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:18px; text-align:center; }
.fact .icon{ color:var(--accent); margin:0 auto 8px; }
.fact .v{ font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--ink); }
.fact .l{ font-size:12px; color:var(--faint); text-transform:uppercase; letter-spacing:.04em; margin-top:2px; }

.included-grid{ display:grid; gap:24px; grid-template-columns:1fr; margin-top:18px; }
@media(min-width:680px){ .included-grid{ grid-template-columns:1fr 1fr; } }
.included-list li{ display:flex; gap:10px; margin-bottom:10px; font-size:15px; color:var(--text); align-items:flex-start; }
.included-list.yes li::before{ content:"✓"; color:var(--ok); font-weight:700; }
.included-list.no li::before{ content:"✕"; color:var(--deal); font-weight:700; }

/* ---------- Premium single safari detail ---------- */
.single-tour-page{ position:relative; overflow:hidden; background:#f8faf6; }
.single-tour-hero{
	position:relative; min-height:460px; display:flex; align-items:flex-end; overflow:hidden;
	margin-top:0; isolation:isolate;
}
@media(min-width:1024px){ .single-tour-hero{ min-height:520px; } }
.single-tour-hero::after{
	content:""; position:absolute; left:-2%; right:-2%; bottom:-1px; z-index:3; height:56px;
	background:#f8faf6; clip-path:polygon(0 52%,18% 64%,38% 43%,62% 58%,82% 38%,100% 52%,100% 100%,0 100%);
}
.single-tour-hero-img,.single-tour-hero-fallback{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}
.single-tour-hero-fallback .cover-art{ height:100%; }
.single-tour-hero-scrim{
	position:absolute; inset:0; z-index:1;
	background:
		linear-gradient(90deg,rgba(10,13,16,.74) 0%,rgba(10,13,16,.42) 44%,rgba(10,13,16,.18) 100%),
		linear-gradient(180deg,rgba(10,13,16,.12) 0%,rgba(10,13,16,.72) 100%);
}
.single-tour-hero-inner{ position:relative; z-index:4; padding-top:96px; padding-bottom:96px; color:#fff; }
.single-tour-crumbs{
	display:flex; align-items:center; gap:9px; flex-wrap:wrap; max-width:850px;
	color:rgba(255,255,255,.76); font-size:13px; font-weight:700; margin-bottom:20px;
}
.single-tour-crumbs a:hover{ color:#fff; }
.single-tour-badge{
	display:inline-flex; align-items:center; gap:8px; padding:8px 14px; margin-bottom:16px;
	border-radius:var(--radius-pill); background:rgba(81,30,3,.92); color:#fff;
	font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:900;
	box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.single-tour-hero h1{
	max-width:760px; font-family:var(--font-serif); font-size:56px; line-height:.94;
	font-weight:700; color:#fff; text-shadow:0 4px 22px rgba(0,0,0,.22);
}
@media(min-width:960px){ .single-tour-hero h1{ font-size:76px; } }
.single-tour-hero-meta{ display:flex; flex-wrap:wrap; gap:20px; margin-top:22px; color:#fff; font-weight:800; }
.single-tour-hero-meta span{ display:inline-flex; align-items:center; gap:8px; }
.single-tour-hero-meta svg{ color:#511e03; }

.single-tour-body{ position:relative; padding:50px 0 80px; }
.single-tour-bg{
	position:absolute; pointer-events:none; opacity:.28; z-index:0;
	background:repeating-radial-gradient(ellipse at center,transparent 0 15px,rgba(81,30,3,.22) 16px 17px);
}
.single-tour-bg--left{ left:-120px; top:12px; width:360px; height:320px; }
.single-tour-bg--right{ right:-110px; top:120px; width:420px; height:360px; }
.single-tour-layout{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:46px; align-items:start; }
@media(min-width:1060px){ .single-tour-layout{ grid-template-columns:minmax(0,1.52fr) minmax(320px,.82fr); gap:72px; } }

.tour-facts-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(min-width:760px){ .tour-facts-grid{ grid-template-columns:repeat(4,1fr); } }
.tour-fact-card{
	min-height:124px; padding:20px 18px; border-radius:14px; border:1px solid rgba(29,30,32,.10);
	background:rgba(255,255,255,.72); box-shadow:0 18px 45px rgba(29,30,32,.06);
	display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
	-webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.tour-fact-icon{ color:var(--accent-deep); margin-bottom:10px; }
.tour-fact-card strong{ display:block; font-family:var(--font-serif); font-size:22px; line-height:1.05; color:var(--ink); }
.tour-fact-card small{
	display:block; margin-top:8px; color:var(--faint); font-size:11px; font-weight:900;
	letter-spacing:.08em; text-transform:uppercase;
}

.single-tour-summary{ max-width:790px; margin-top:24px; color:#5c5d5f; font-size:17px; line-height:1.72; }
.single-tour-summary > * + *{ margin-top:16px; }
.tour-detail-section{ margin-top:42px; }
.tour-detail-heading{
	display:flex; align-items:center; gap:12px; font-family:var(--font-serif); font-size:31px;
	line-height:1.1; color:#1d1e20; margin-bottom:24px;
}
.tour-detail-heading span{
	width:34px; height:1px; background:var(--border-warm); position:relative; flex:0 0 auto;
}
.tour-detail-heading span::after{
	content:""; position:absolute; right:-5px; top:50%; width:8px; height:8px; border-radius:50%;
	background:var(--accent); transform:translateY(-50%);
}

.tour-route-shell{
	display:block; padding:18px; border-radius:18px;
	background:rgba(255,255,255,.72); border:1px solid rgba(29,30,32,.10);
	box-shadow:0 20px 55px rgba(29,30,32,.07);
}
.tour-route-map{
	min-height:430px; border-radius:14px; overflow:hidden; background:#f8faf6; position:relative;
	box-shadow:inset 0 0 0 1px rgba(29,30,32,.08);
}
.tour-route-map::before{
	content:"Loading open map..."; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	color:#5c5d5f; font-weight:800; z-index:0;
}
.tour-route-map.leaflet-container::before{ display:none; }
.tour-route-map.is-unavailable::before{ content:"Open map could not load. The day-by-day itinerary below still shows the planned route sequence."; }
.tour-map-marker{
	position:relative; display:flex; align-items:center; gap:7px; transform:translate(-8px,-8px);
	filter:drop-shadow(0 9px 18px rgba(29,30,32,.18));
}
.tour-map-marker-dot{
	width:18px; height:18px; border-radius:50%; background:var(--molten); border:3px solid #fff;
	box-shadow:0 0 0 3px rgba(81,30,3,.22); flex:0 0 auto;
}
.tour-map-marker-label{
	display:block; min-width:max-content; padding:5px 8px; border-radius:8px; background:rgba(255,255,255,.96);
	border:1px solid rgba(29,30,32,.10); color:#1d1e20; font-size:12px; font-weight:900; white-space:nowrap;
}
.tour-map-marker.is-active .tour-map-marker-dot{ background:#1d1e20; box-shadow:0 0 0 4px rgba(29,30,32,.16); }
.tour-map-marker.is-active .tour-map-marker-label{ color:var(--accent-deep); border-color:var(--border-warm); }
.tour-map-arrow{
	width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:var(--molten); color:#fff; border:3px solid rgba(255,255,255,.86);
	box-shadow:0 12px 28px rgba(81,30,3,.36);
}
.tour-map-arrow svg{ width:17px; height:17px; transform:rotate(-28deg); }

.tour-features-grid{ display:grid; grid-template-columns:1fr; gap:22px 32px; }
@media(min-width:720px){ .tour-features-grid{ grid-template-columns:1fr 1fr; } }
.tour-feature-item{ display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:start; }
.tour-feature-item > span{
	width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
	background:rgba(81,30,3,.10); color:var(--accent-deep);
}
.tour-feature-item h3{ font-size:17px; line-height:1.15; color:#1d1e20; font-weight:900; }
.tour-feature-item p{ margin-top:5px; color:#5c5d5f; font-size:14.5px; line-height:1.45; }

.tour-highlights-grid{ display:grid; grid-template-columns:1fr; gap:20px 34px; }
@media(min-width:720px){ .tour-highlights-grid{ grid-template-columns:1fr 1fr; } }
.tour-highlight-item{ display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:start; }
.tour-highlight-item span{ color:var(--accent-deep); padding-top:2px; }
.tour-highlight-item p{ color:#5c5d5f; font-size:14.5px; line-height:1.45; font-weight:700; }

.single-tour-itinerary{ position:relative; max-width:790px; }
.single-tour-itinerary::before{
	content:""; position:absolute; left:28px; top:22px; bottom:22px; width:2px;
	background-image:linear-gradient(var(--border-warm) 0 8px,transparent 8px 16px);
	background-size:2px 16px; background-repeat:repeat-y;
}
.single-tour-day{ position:relative; display:grid; grid-template-columns:118px 1fr; gap:18px; align-items:start; margin-bottom:14px; }
.single-tour-day:last-child{ margin-bottom:0; }
.single-tour-day-marker{ position:relative; z-index:1; display:grid; grid-template-columns:56px 1fr; gap:16px; align-items:center; }
.single-tour-day-num{
	width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:var(--molten); color:#fff; font-family:var(--font-serif); font-size:28px; font-weight:700;
	box-shadow:0 12px 28px rgba(81,30,3,.36), inset 0 2px 4px rgba(255,255,255,.5);
}
.single-tour-day-marker small{
	color:#7a7c7f; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
}
.single-tour-day-card{
	min-height:72px; padding:16px 18px 16px 22px; border-radius:12px; border:1px solid rgba(29,30,32,.10);
	background:rgba(255,255,255,.78); box-shadow:0 12px 28px rgba(29,30,32,.055);
	display:flex; justify-content:space-between; gap:20px; align-items:center;
	cursor:pointer; transition:border-color .25s, box-shadow .25s, transform .25s var(--ease-spring), background .25s;
}
.single-tour-day-card:hover,.single-tour-day-card.is-active{
	border-color:var(--border-warm); background:#f8faf6; box-shadow:0 18px 42px rgba(29,30,32,.09);
	transform:translateY(-1px);
}
.single-tour-day-card:focus-visible{ outline:3px solid rgba(81,30,3,.24); outline-offset:3px; }
.single-tour-day-card h3{ font-family:var(--font-body); font-size:16px; font-weight:900; color:#1d1e20; line-height:1.25; }
.single-tour-day-card p{ margin-top:5px; color:#5c5d5f; font-size:13.5px; line-height:1.5; }
.single-tour-day-card > span{ color:var(--accent-deep); flex:0 0 auto; }

.tour-lodge-table{
	overflow:hidden; border-radius:16px; border:1px solid rgba(29,30,32,.10);
	background:rgba(255,255,255,.78); box-shadow:0 18px 45px rgba(29,30,32,.06);
}
.tour-lodge-head,.tour-lodge-summary{
	display:grid; grid-template-columns:110px minmax(0,1.2fr) minmax(150px,.8fr) 36px; gap:16px;
	align-items:center;
}
.tour-lodge-head{
	padding:13px 18px; color:#7a7c7f; background:#faf3b4; font-size:11px; font-weight:900;
	text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid rgba(29,30,32,.08);
}
.tour-lodge-summary{
	width:100%; min-height:66px; padding:15px 18px; border:none; border-bottom:1px solid rgba(29,30,32,.08);
	background:#fff; color:#1d1e20; text-align:left; transition:background .25s;
}
.tour-lodge-row:last-child .tour-lodge-summary{ border-bottom:none; }
.tour-lodge-row.is-open .tour-lodge-summary{ background:#f8faf6; border-bottom:1px solid rgba(81,30,3,.18); }
.tour-lodge-day{
	display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:6px 10px;
	border-radius:999px; background:rgba(81,30,3,.10); color:var(--accent-deep);
	font-size:12px; font-weight:900; letter-spacing:.04em;
}
.tour-lodge-name{ font-weight:900; line-height:1.25; }
.tour-lodge-meals{ color:#5c5d5f; font-size:14px; font-weight:800; }
.tour-lodge-toggle{
	width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:rgba(81,30,3,.10); color:var(--accent-deep); transition:transform .3s var(--ease-spring), background .25s, color .25s;
}
.tour-lodge-row.is-open .tour-lodge-toggle{ transform:rotate(180deg); background:var(--molten); color:#fff; }
.tour-lodge-panel{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease-out); }
.tour-lodge-row.is-open .tour-lodge-panel{ max-height:760px; }
.tour-lodge-panel-inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:20px; padding:18px; background:#f8faf6; }
.tour-lodge-thumbs{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.tour-lodge-thumbs img{ width:100%; height:88px; object-fit:cover; border-radius:10px; box-shadow:var(--shadow-sm); }
.tour-lodge-panel h3{ font-size:17px; color:#1d1e20; }
.tour-lodge-panel p{ margin-top:7px; color:#5c5d5f; font-size:14px; line-height:1.55; }

.single-tour-gallery{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(min-width:760px){ .single-tour-gallery{ grid-template-columns:repeat(3,1fr); } }
.single-tour-gallery-item{
	appearance:none; display:block; width:100%; aspect-ratio:16/11; padding:0; border:0; border-radius:14px;
	overflow:hidden; background:#faf3b4; box-shadow:var(--shadow-sm); cursor:zoom-in;
	transition:transform .24s var(--ease-spring), box-shadow .24s, filter .24s;
}
.single-tour-gallery-item:hover{ transform:translateY(-3px); box-shadow:0 18px 42px rgba(35,25,16,.16); filter:saturate(1.05); }
.single-tour-gallery-item:focus-visible{ outline:3px solid rgba(81,30,3,.28); outline-offset:4px; }
.single-tour-gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease-out); }
.single-tour-gallery-item:hover img{ transform:scale(1.045); }

body.tour-gallery-lightbox-open{ overflow:hidden; }
.tour-gallery-lightbox{
	position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:22px;
	opacity:0; pointer-events:none; transition:opacity .24s var(--ease-out);
}
.tour-gallery-lightbox.is-open{ opacity:1; pointer-events:auto; }
.tour-gallery-lightbox-backdrop{
	position:absolute; inset:0; background:rgba(10,12,15,.88); backdrop-filter:blur(12px);
}
.tour-gallery-lightbox-shell{
	position:relative; width:min(1180px,100%); height:min(780px,calc(100vh - 44px)); display:grid;
	grid-template-rows:minmax(0,1fr) auto; align-items:center; isolation:isolate;
}
.tour-gallery-lightbox-stage{
	position:relative; min-width:0; min-height:0; height:100%; margin:0; display:flex; align-items:center; justify-content:center;
}
.tour-gallery-lightbox-img{
	max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:16px;
	box-shadow:0 34px 110px rgba(0,0,0,.42); transform:translateX(0) scale(1); opacity:1;
	transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);
}
.tour-gallery-lightbox-stage.is-changing .tour-gallery-lightbox-img{ opacity:.34; transform:scale(.985); }
.tour-gallery-lightbox-stage.is-changing[data-direction="next"] .tour-gallery-lightbox-img{ transform:translateX(-18px) scale(.985); }
.tour-gallery-lightbox-stage.is-changing[data-direction="prev"] .tour-gallery-lightbox-img{ transform:translateX(18px) scale(.985); }
.tour-gallery-lightbox-caption{
	position:absolute; left:50%; bottom:16px; transform:translateX(-50%); max-width:min(760px,calc(100% - 34px));
	padding:10px 14px; border-radius:999px; background:rgba(255,247,237,.92); color:#1d1e20;
	font-size:13px; font-weight:800; text-align:center; box-shadow:0 16px 48px rgba(0,0,0,.20);
}
.tour-gallery-lightbox-count{
	justify-self:center; margin-top:14px; padding:8px 13px; border-radius:999px;
	background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); color:#f8faf6;
	font-size:13px; font-weight:900;
}
.tour-gallery-lightbox-close,.tour-gallery-lightbox-nav{
	position:absolute; z-index:2; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16);
	background:rgba(255,247,237,.14); color:#fff; box-shadow:0 18px 52px rgba(0,0,0,.22);
	backdrop-filter:blur(10px); transition:transform .2s var(--ease-spring), background .2s, border-color .2s;
}
.tour-gallery-lightbox-close:hover,.tour-gallery-lightbox-nav:hover{ background:rgba(81,30,3,.86); border-color:rgba(81,30,3,.32); transform:scale(1.04); }
.tour-gallery-lightbox-close:focus-visible,.tour-gallery-lightbox-nav:focus-visible{ outline:3px solid rgba(81,30,3,.42); outline-offset:4px; }
.tour-gallery-lightbox-close{ top:0; right:0; width:46px; height:46px; border-radius:50%; }
.tour-gallery-lightbox-close svg{ width:22px; height:22px; }
.tour-gallery-lightbox-nav{ top:50%; width:54px; height:54px; border-radius:50%; transform:translateY(-50%); }
.tour-gallery-lightbox-nav:hover{ transform:translateY(-50%) scale(1.04); }
.tour-gallery-lightbox-nav svg{ width:26px; height:26px; }
.tour-gallery-lightbox-nav--prev{ left:0; }
.tour-gallery-lightbox-nav--next{ right:0; }
.tour-gallery-lightbox.is-single .tour-gallery-lightbox-nav{ display:none; }

.single-tour-sidebar{ display:flex; flex-direction:column; gap:32px; }
@media(min-width:1060px){ .single-tour-sidebar{ position:sticky; top:calc(var(--header-h-scrolled) + 28px); } }
.single-tour-enquiry-card{
	overflow:hidden; border-radius:18px; background:#fff; border:1px solid rgba(29,30,32,.08);
	box-shadow:0 32px 90px rgba(35,25,16,.14);
}
.single-tour-card-media{ position:relative; aspect-ratio:16/7.5; overflow:hidden; background:var(--cover-grad); }
.single-tour-card-media img,.single-tour-card-media .cover-art{ width:100%; height:100%; object-fit:cover; }
.single-tour-card-body{ padding:28px; }
.single-tour-card-body h2{
	font-family:var(--font-serif); font-size:33px; line-height:1.05; color:#1d1e20; margin-bottom:14px;
}
.single-tour-card-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#5c5d5f; font-size:13.5px; font-weight:800; }
.single-tour-card-meta span{ display:inline-flex; align-items:center; gap:7px; }
.single-tour-card-meta svg{ color:var(--accent); }
.single-tour-card-divider{ height:1px; background:rgba(29,30,32,.10); margin:20px 0; }
.single-tour-departure{ display:flex; gap:13px; align-items:flex-start; color:#1d1e20; }
.single-tour-departure > span{ color:var(--accent-deep); margin-top:2px; }
.single-tour-departure small{ display:block; color:#5c5d5f; font-size:13px; font-weight:900; }
.single-tour-departure strong{ display:block; margin-top:2px; color:#1d1e20; font-size:14px; }
.single-tour-price{ margin:28px 0 22px; font-family:var(--font-serif); font-size:48px; line-height:1; color:#1d1e20; font-weight:700; }
.single-tour-price span{ font-family:var(--font-body); font-size:15px; font-weight:700; color:#5c5d5f; }
.single-tour-note{
	display:flex; align-items:center; justify-content:center; gap:8px; margin-top:16px;
	color:#7a7c7f; font-size:13px; font-weight:700; text-align:center;
}
.single-tour-note svg{ color:#7a7c7f; flex:0 0 auto; }
.single-tour-side-list h2{
	font-family:var(--font-serif); font-size:27px; color:#1d1e20; margin-bottom:16px;
}
.single-tour-side-list .included-list li{ font-size:14px; gap:11px; margin-bottom:10px; color:#5c5d5f; }
.single-tour-side-list .included-list li::before{
	width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	flex:0 0 18px; font-size:11px; margin-top:1px; border:1px solid currentColor;
}

.single-tour-related{
	position:relative; padding:56px 0 86px; background:linear-gradient(180deg,#f8faf6,#f8faf6);
	border-top:1px solid rgba(81,30,3,.18);
}
.single-tour-related::after{
	content:""; position:absolute; right:8%; bottom:0; width:270px; height:130px; opacity:.18; pointer-events:none;
	background:
		radial-gradient(ellipse at 62% 28%,#511e03 0 62px,transparent 64px),
		linear-gradient(83deg,transparent 46%,#511e03 47% 49%,transparent 50%);
}
.single-tour-related-head{ text-align:center; margin:0 auto 28px; }
.single-tour-related-head .eyebrow{ justify-content:center; }
.single-tour-related-head h2{ margin-top:8px; font-family:var(--font-serif); font-size:42px; color:#1d1e20; }
.single-tour-related-wrap{ display:grid; grid-template-columns:50px minmax(0,1fr) 50px; gap:22px; align-items:center; }
.single-tour-related-arrow{
	width:50px; height:50px; border-radius:50%; border:1px solid rgba(29,30,32,.10); background:#fff;
	color:var(--accent-deep); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm);
}
.single-tour-related-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:760px){ .single-tour-related-grid{ grid-template-columns:repeat(3,1fr); } }
.single-tour-related-card{
	overflow:hidden; border-radius:12px; background:#fff; border:1px solid rgba(29,30,32,.10);
	box-shadow:0 20px 48px rgba(35,25,16,.10); transition:transform .25s var(--ease-spring), box-shadow .25s;
}
.single-tour-related-card:hover{ transform:translateY(-5px); box-shadow:0 28px 64px rgba(35,25,16,.16); }
.single-tour-related-photo{ position:relative; aspect-ratio:16/8.2; overflow:hidden; background:var(--cover-grad); }
.single-tour-related-photo img,.single-tour-related-photo .cover-art{ width:100%; height:100%; object-fit:cover; }
.single-tour-related-photo > div:last-child{ position:absolute; left:20px; right:20px; bottom:18px; z-index:2; color:#fff; }
.single-tour-related-photo h3{ font-family:var(--font-serif); color:#fff; font-size:27px; line-height:1; }
.single-tour-related-photo p{ margin-top:5px; color:rgba(255,255,255,.86); font-size:13px; font-weight:800; }
.single-tour-related-body{
	display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px;
	color:#5c5d5f; font-size:14px; font-weight:800;
}
.single-tour-related-body strong{ color:#1d1e20; }
.single-tour-related-body strong span{ font-size:13px; color:#5c5d5f; }
.single-tour-related-rating{ display:inline-flex; align-items:center; gap:5px; color:#1d1e20; }
.single-tour-related-rating svg{ color:var(--star); }

@media(max-width:760px){
	.single-tour-hero{ min-height:430px; margin-top:0; }
	.single-tour-hero-inner{ padding-top:56px; padding-bottom:82px; }
	.single-tour-hero h1{ font-size:46px; }
	.single-tour-body{ padding-top:34px; }
	.tour-facts-grid{ gap:12px; }
	.tour-fact-card{ min-height:112px; padding:16px 12px; }
	.tour-fact-card strong{ font-size:18px; }
	.tour-route-shell{ padding:12px; }
	.tour-route-map{ min-height:310px; }
	.single-tour-day{ grid-template-columns:1fr; gap:10px; }
	.single-tour-itinerary::before{ left:27px; }
	.single-tour-day-marker{ grid-template-columns:56px 1fr; }
	.single-tour-day-card{ margin-left:74px; align-items:flex-start; }
	.tour-lodge-head{ display:none; }
	.tour-lodge-summary{ grid-template-columns:minmax(0,1fr) 36px; gap:8px 14px; }
	.tour-lodge-day,.tour-lodge-name,.tour-lodge-meals{ grid-column:1; }
	.tour-lodge-toggle{ grid-column:2; grid-row:1 / span 3; align-self:center; }
	.tour-lodge-panel-inner{ grid-template-columns:1fr; }
	.single-tour-card-body{ padding:24px 20px; }
	.single-tour-related-wrap{ grid-template-columns:1fr; }
	.single-tour-related-arrow{ display:none; }
	.tour-gallery-lightbox{ padding:14px; }
	.tour-gallery-lightbox-shell{ height:calc(100vh - 28px); }
	.tour-gallery-lightbox-close{ top:4px; right:4px; }
	.tour-gallery-lightbox-nav{ width:46px; height:46px; }
	.tour-gallery-lightbox-nav--prev{ left:4px; }
	.tour-gallery-lightbox-nav--next{ right:4px; }
	.tour-gallery-lightbox-img{ border-radius:12px; }
	.tour-gallery-lightbox-caption{ bottom:10px; font-size:12px; max-width:calc(100% - 18px); }
}
@media(max-width:480px){
	.single-tour-hero h1{ font-size:38px; }
	.single-tour-hero-meta{ gap:12px; font-size:14px; }
	.tour-facts-grid{ grid-template-columns:1fr; }
	.tour-detail-heading{ font-size:27px; }
	.tour-route-map{ min-height:280px; }
	.tour-feature-item{ grid-template-columns:42px 1fr; }
	.tour-feature-item > span{ width:42px; height:42px; }
	.tour-highlights-grid{ gap:18px; }
	.single-tour-day-card{ margin-left:0; }
	.single-tour-itinerary::before{ display:none; }
	.tour-lodge-thumbs{ grid-template-columns:1fr; }
	.tour-lodge-thumbs img{ height:150px; }
	.single-tour-price{ font-size:42px; }
	.single-tour-related-head h2{ font-size:34px; }
}

/* ---------- Gallery page ---------- */
.gallery-memory-page{
	position:relative; overflow:hidden;
	background:
		radial-gradient(circle at 16% 8%,rgba(81,30,3,.10),transparent 26%),
		linear-gradient(180deg,#f8faf6 0%,#f8faf6 42%,#f8faf6 100%);
}
.gallery-memory-page::before{
	content:""; position:absolute; inset:92px 0 auto auto; width:52vw; height:360px; opacity:.38; pointer-events:none;
	background:
		linear-gradient(120deg,transparent 0 45%,rgba(191,126,55,.12) 46% 47%,transparent 48%),
		repeating-radial-gradient(ellipse at 70% 30%,transparent 0 18px,rgba(191,126,55,.10) 19px 20px);
	mask-image:linear-gradient(90deg,transparent,#000 24%,#000 72%,transparent);
}
.gallery-memory-hero{ padding-top:86px; padding-bottom:54px; }
.gallery-memory-hero-grid{ display:grid; gap:42px; align-items:center; }
@media(min-width:980px){ .gallery-memory-hero-grid{ grid-template-columns:minmax(0,.92fr) minmax(430px,1fr); } }
.gallery-memory-copy{ position:relative; z-index:1; }
.gallery-memory-copy .breadcrumbs{ margin-bottom:28px; }
.gallery-memory-copy .h-section{ max-width:680px; font-size:clamp(48px,7vw,92px); line-height:.92; }
.gallery-memory-copy .lede{ max-width:610px; margin-top:20px; }
.gallery-memory-feature{ position:relative; min-height:410px; }
.gallery-memory-feature::before,.gallery-memory-feature::after{
	content:""; position:absolute; border-radius:18px; background:rgba(255,255,255,.52); border:1px solid rgba(81,30,3,.18);
	box-shadow:0 20px 72px rgba(29,30,32,.12); transform:rotate(-7deg);
}
.gallery-memory-feature::before{ left:4%; top:9%; width:58%; height:42%; }
.gallery-memory-feature::after{ right:0; bottom:4%; width:48%; height:38%; transform:rotate(8deg); }
.gallery-memory-feature-button{
	position:absolute; inset:22px 28px 20px 0; appearance:none; width:auto; padding:0; border:0; border-radius:24px;
	overflow:hidden; background:#faf3b4; cursor:zoom-in; box-shadow:0 38px 110px rgba(29,30,32,.22);
	transform:rotate(1.5deg); transition:transform .28s var(--ease-spring), box-shadow .28s;
}
.gallery-memory-feature-button:hover{ transform:rotate(0deg) translateY(-6px); box-shadow:0 46px 132px rgba(29,30,32,.28); }
.gallery-memory-feature-button:focus-visible{ outline:3px solid rgba(81,30,3,.34); outline-offset:5px; }
.gallery-memory-feature-button img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition:transform .65s var(--ease-out); }
.gallery-memory-feature-button:hover img{ transform:scale(1.08); }
.gallery-memory-glow{
	position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(25,18,12,.72));
}
.gallery-memory-feature-label{
	position:absolute; left:24px; right:24px; bottom:24px; color:#fff; text-align:left;
}
.gallery-memory-feature-label small{
	display:inline-flex; margin-bottom:9px; padding:7px 11px; border-radius:999px; background:rgba(255,247,237,.18);
	backdrop-filter:blur(8px); color:#f8faf6; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
}
.gallery-memory-feature-label strong{ display:block; max-width:520px; font-family:var(--font-serif); font-size:34px; line-height:1; }
.gallery-memory-wall{ padding-top:30px; }
.gallery-memory-toolbar{
	display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px;
}
.gallery-memory-toolbar .h-section{ font-size:clamp(34px,4vw,54px); margin-top:8px; }
.gallery-memory-pills{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.gallery-memory-pills span{
	display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:999px;
	background:#fff; border:1px solid rgba(29,30,32,.10); color:#1d1e20; font-size:13px; font-weight:900;
	box-shadow:0 12px 30px rgba(29,30,32,.08);
}
.gallery-memory-grid{
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:dense; gap:16px;
}
@media(min-width:760px){ .gallery-memory-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; } }
.gallery-memory-card{
	position:relative; appearance:none; display:block; width:100%; min-height:220px; padding:0; border:0; border-radius:18px;
	overflow:hidden; background:#faf3b4; cursor:zoom-in; box-shadow:0 18px 46px rgba(29,30,32,.13);
	transition:transform .25s var(--ease-spring), box-shadow .25s, filter .25s;
}
.gallery-memory-card:hover{ transform:translateY(-6px) rotate(.45deg); box-shadow:0 28px 72px rgba(29,30,32,.20); filter:saturate(1.06); }
.gallery-memory-card:focus-visible{ outline:3px solid rgba(81,30,3,.32); outline-offset:4px; }
.gallery-memory-card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s var(--ease-out); }
.gallery-memory-card:hover img{ transform:scale(1.07); }
.gallery-memory-card::after{
	content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(16,15,14,.74));
}
.gallery-memory-card-copy{
	position:absolute; left:16px; right:16px; bottom:15px; z-index:1; color:#fff; text-align:left;
}
.gallery-memory-card-copy small{
	display:block; margin-bottom:5px; color:#faf3b4; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em;
}
.gallery-memory-card-copy strong{ display:block; font-size:15px; line-height:1.2; }
@media(min-width:760px){
	.gallery-memory-card--1,.gallery-memory-card--5{ grid-column:span 2; grid-row:span 2; min-height:458px; }
	.gallery-memory-card--2,.gallery-memory-card--6{ grid-column:span 2; min-height:220px; }
}
@media(max-width:760px){
	.gallery-memory-hero{ padding-top:44px; }
	.gallery-memory-feature{ min-height:340px; }
	.gallery-memory-feature-button{ inset:18px 0 18px 0; border-radius:20px; }
	.gallery-memory-feature-label strong{ font-size:27px; }
	.gallery-memory-toolbar{ align-items:flex-start; flex-direction:column; }
	.gallery-memory-pills{ justify-content:flex-start; }
	.gallery-memory-card{ min-height:190px; border-radius:15px; }
	.gallery-memory-card-copy strong{ font-size:13px; }
}

/* ====================================================================
 * Blog / Safari Journal — archive, cards, featured lead & single post
 * ================================================================== */

/* ---------- Archive header & category filters ---------- */
.journal-archive{
	position:relative; overflow:hidden;
	background:
		linear-gradient(180deg,rgba(255,247,236,.78),rgba(255,255,255,.92) 42%,rgba(255,247,236,.56)),
		var(--bg);
}
.journal-archive::before{
	content:""; position:absolute; inset:18px -80px auto auto; width:520px; height:360px; opacity:.12; pointer-events:none;
	background:repeating-radial-gradient(ellipse at 55% 50%,transparent 0 16px,rgba(81,30,3,.5) 17px 18px);
	transform:rotate(-12deg);
}
.journal-archive .container{ position:relative; z-index:1; }
.journal-head{ max-width:720px; margin:22px auto 0; text-align:center; }
.journal-head .eyebrow{ justify-content:center; }
.journal-head .h-section{ margin-top:14px; }
.journal-head .lede{ margin:18px auto 0; }
.journal-head--tight{ margin-bottom:0; }

.journal-filters{
	display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:30px auto 40px; max-width:880px;
}
.journal-pill{
	display:inline-flex; align-items:center; height:40px; padding:0 18px; border-radius:var(--radius-pill);
	background:#fff; border:1px solid var(--border); color:var(--muted); font-size:14px; font-weight:800;
	transition:color .2s ease, background .2s ease, border-color .2s ease, transform .12s ease;
}
.journal-pill:hover{ color:var(--accent-deep); border-color:var(--border-warm); transform:translateY(-1px); }
.journal-pill.is-active{
	background:linear-gradient(135deg,#511e03,#511e03); color:#fff; border-color:transparent;
	box-shadow:0 12px 26px rgba(216,99,16,.26);
}

/* ---------- Post grid + card ---------- */
.post-grid{ display:grid; gap:30px; grid-template-columns:1fr; }
@media(min-width:680px){ .post-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1180px){ .post-grid{ grid-template-columns:repeat(3,1fr); } }

.post-card{
	display:flex; flex-direction:column; background:#fff; border:1px solid var(--border);
	border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);
	transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.post-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.post-card-thumb{ position:relative; display:block; aspect-ratio:1200/630; overflow:hidden; background:var(--bg-soft); }
.post-card-thumb img,.post-card-thumb .cover-art{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.post-card:hover .post-card-thumb img{ transform:scale(1.05); }
.post-card-cat{
	position:absolute; top:14px; left:14px; z-index:1; display:inline-flex; align-items:center; height:28px;
	padding:0 12px; border-radius:var(--radius-pill); background:rgba(255,255,255,.94); color:var(--accent-deep);
	font-size:11.5px; font-weight:900; letter-spacing:.05em; text-transform:uppercase;
	box-shadow:0 8px 20px rgba(29,30,32,.12);
}
.post-card-cat--static{ position:static; box-shadow:none; background:var(--accent-soft); }
.post-card-body{ display:flex; flex-direction:column; flex:1 1 auto; padding:22px 22px 24px; }
.post-card-meta{
	display:flex; flex-wrap:wrap; align-items:center; gap:14px; color:var(--faint); font-size:13px; font-weight:700;
}
.post-card-meta span{ display:inline-flex; align-items:center; gap:6px; }
.post-card-meta svg{ color:var(--accent-deep); opacity:.85; }
.post-card-title{ margin-top:12px; font-family:var(--font-serif); font-size:24px; line-height:1.16; color:var(--ink); }
.post-card-title a{ color:inherit; }
.post-card-title a:hover{ color:var(--accent-deep); }
.post-card-excerpt{ margin-top:10px; color:var(--muted); font-size:15px; line-height:1.55; }
.post-card-more{
	display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:16px;
	color:var(--accent-deep); font-weight:850; font-size:14px;
}
.post-card:hover .post-card-more svg{ transform:translateX(3px); }
.post-card-more svg{ transition:transform .2s ease; }

/* ---------- Featured lead post ---------- */
.journal-featured{
	display:grid; grid-template-columns:1fr; gap:0; margin-bottom:44px; background:#fff;
	border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);
}
@media(min-width:900px){ .journal-featured{ grid-template-columns:1.15fr 1fr; } }
.journal-featured-media{ position:relative; display:block; min-height:280px; overflow:hidden; background:var(--bg-soft); }
.journal-featured-media img,.journal-featured-media .cover-art{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.journal-featured:hover .journal-featured-media img{ transform:scale(1.04); }
.journal-featured-flag{
	position:absolute; top:16px; left:16px; z-index:1; display:inline-flex; align-items:center; gap:7px; height:30px;
	padding:0 14px; border-radius:var(--radius-pill); background:linear-gradient(135deg,#511e03,#511e03); color:#fff;
	font-size:11.5px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; box-shadow:0 12px 26px rgba(216,99,16,.3);
}
.journal-featured-body{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:38px 40px; }
.journal-featured-title{ font-family:var(--font-serif); font-size:clamp(28px,3vw,40px); line-height:1.08; color:var(--ink); }
.journal-featured-title a{ color:inherit; }
.journal-featured-title a:hover{ color:var(--accent-deep); }
.journal-featured-excerpt{ color:var(--muted); font-size:16px; line-height:1.6; }
.journal-featured-cta{ margin-top:6px; gap:10px; }
@media(max-width:620px){ .journal-featured-body{ padding:28px 22px; } }

/* ---------- Empty state ---------- */
.journal-empty{
	max-width:520px; margin:20px auto; padding:54px 30px; text-align:center; background:#fff;
	border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md);
}
.journal-empty svg{ color:var(--accent-deep); }
.journal-empty h2{ margin-top:16px; font-family:var(--font-serif); font-size:27px; color:var(--ink); }
.journal-empty p{ margin:10px auto 24px; max-width:380px; color:var(--muted); }

/* ---------- Single article ---------- */
.article{ padding:48px 0 8px; }
.article-head{ max-width:780px; margin:18px auto 0; text-align:center; }
.article-cat{
	display:inline-flex; align-items:center; height:30px; padding:0 16px; border-radius:var(--radius-pill);
	background:var(--accent-soft); color:var(--accent-deep); font-size:12px; font-weight:900; letter-spacing:.06em;
	text-transform:uppercase;
}
.article-title{
	margin-top:18px; font-family:var(--font-serif); font-size:clamp(34px,5vw,58px); line-height:1.04; color:var(--ink);
}
.article-lede{ margin:18px auto 0; max-width:620px; color:var(--muted); font-size:19px; line-height:1.5; }
.article-meta{
	display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-top:26px;
	color:var(--faint); font-size:14px; font-weight:700;
}
.article-meta > span{ display:inline-flex; align-items:center; gap:7px; }
.article-meta svg{ color:var(--accent-deep); opacity:.85; }
.article-meta-dot{ width:5px; height:5px; border-radius:50%; background:var(--border-2); }
.article-author-chip{ gap:11px !important; }
.article-avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.article-author-chip span{ display:flex; flex-direction:column; text-align:left; line-height:1.25; }
.article-author-chip small{ color:var(--faint); font-size:12px; font-weight:700; }
.article-author-chip strong{ color:var(--ink); font-size:15px; font-weight:850; }

.article-figure{ max-width:1060px; margin:36px auto 8px; padding:0 24px; }
.article-figure img{
	width:100%; aspect-ratio:1200/630; max-height:630px; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); display:block; object-fit:cover;
}
.article-figure--art .cover-art{ aspect-ratio:16/9; height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.article-figure figcaption{ margin-top:12px; text-align:center; color:var(--faint); font-size:13px; }

.single-article{ max-width:760px; margin:0 auto; }
.single-article .entry-content{ margin-top:38px; font-size:18px; line-height:1.78; color:var(--text); }
.single-article .entry-content > * + *{ margin-top:24px; }
.single-article .entry-content p:first-child{ margin-top:0; }
.single-article .entry-content h2{ font-family:var(--font-serif); font-size:32px; line-height:1.15; margin-top:46px; color:var(--ink); }
.single-article .entry-content h3{ font-family:var(--font-serif); font-size:25px; line-height:1.2; margin-top:36px; color:var(--ink); }
.single-article .entry-content a{ color:var(--accent-deep); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.single-article .entry-content a:hover{ color:var(--accent); }
.single-article .entry-content ul,.single-article .entry-content ol{ padding-left:24px; }
.single-article .entry-content li + li{ margin-top:8px; }
.single-article .entry-content ul li{ list-style:disc; }
.single-article .entry-content ol li{ list-style:decimal; }
.single-article .entry-content img{ border-radius:var(--radius-md); height:auto; }
.single-article .entry-content figure{ margin:0; }
.single-article .entry-content figcaption{ margin-top:8px; text-align:center; color:var(--faint); font-size:13px; }
.single-article .entry-content table{
	width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid rgba(81,30,3,.16);
	border-radius:16px; background:#fff; box-shadow:0 18px 44px rgba(29,30,32,.08); font-size:15px; line-height:1.5;
}
.single-article .entry-content th,.single-article .entry-content td{
	padding:14px 16px; border-bottom:1px solid rgba(81,30,3,.12); vertical-align:top;
}
.single-article .entry-content th{
	background:#faf3b4; color:#1d1e20; font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:.08em;
}
.single-article .entry-content tr:last-child td{ border-bottom:0; }
.single-article .entry-content tr:nth-child(even) td{ background:rgba(255,247,236,.52); }
.single-article .entry-content .article-note{
	padding:18px 20px; border-radius:16px; background:#f8faf6; border:1px solid rgba(81,30,3,.22);
	color:#5c5d5f; box-shadow:0 12px 34px rgba(29,30,32,.07);
}
.single-article .entry-content .article-note strong{ color:#511e03; }
.single-article .entry-content .article-cta-box{
	position:relative; overflow:hidden; padding:28px 30px; border-radius:20px;
	background:linear-gradient(135deg,#511e03,#511e03 48%,#511e03); color:#fff; box-shadow:0 28px 70px rgba(81,30,3,.24);
}
.single-article .entry-content .article-cta-box::after{
	content:""; position:absolute; right:-56px; top:-56px; width:190px; height:190px; opacity:.2;
	background:repeating-radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 2px 16px);
}
.single-article .entry-content .article-cta-box strong{ position:relative; z-index:1; display:block; margin-bottom:8px; color:#fff; font-size:22px; }
.single-article .entry-content .article-cta-box a{ position:relative; z-index:1; color:#fff; font-weight:950; text-decoration-color:rgba(255,255,255,.7); }
.single-article .entry-content .article-cta-box a:hover{ color:#faf3b4; }
.single-article .entry-content blockquote{
	margin:8px 0; padding:6px 0 6px 24px; border-left:3px solid var(--accent); color:var(--ink);
	font-family:var(--font-serif); font-size:23px; font-style:italic; line-height:1.4;
}
.single-article .entry-content code{
	background:var(--bg-soft); padding:2px 7px; border-radius:6px; font-size:.9em;
}
.single-article .entry-content pre{
	background:var(--ink); color:#f8faf6; padding:18px 20px; border-radius:var(--radius-md); overflow:auto; font-size:14px;
}
.single-article .page-links{ margin-top:30px; display:flex; gap:8px; font-weight:800; }
@media(max-width:680px){
	.single-article .entry-content table{ display:block; overflow-x:auto; border-radius:14px; }
	.single-article .entry-content th,.single-article .entry-content td{ min-width:190px; }
	.single-article .entry-content .article-cta-box{ padding:24px 22px; }
}

/* ---------- Tags, share, author bio, prev/next ---------- */
.article-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:40px; padding-top:30px; border-top:1px solid var(--border); }
.article-tags-label{ display:inline-flex; align-items:center; gap:7px; color:var(--faint); font-size:13px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.article-tags-label svg{ color:var(--accent-deep); }

.article-share{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:26px; }
.article-share-label{ color:var(--ink); font-weight:850; font-size:15px; }
.article-share-links{ display:flex; gap:10px; }
.article-share-links a{
	width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:#fff; border:1px solid var(--border); color:var(--muted);
	transition:color .2s ease, border-color .2s ease, transform .12s ease, background .2s ease;
}
.article-share-links a:hover{ color:#fff; background:var(--accent-deep); border-color:transparent; transform:translateY(-2px); }

.article-author{
	display:flex; gap:20px; margin-top:40px; padding:28px; border-radius:var(--radius-lg);
	background:var(--bg-soft); border:1px solid var(--border);
}
.article-author-avatar{ width:72px; height:72px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.article-author small{ color:var(--faint); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.article-author strong{ display:block; margin-top:2px; font-family:var(--font-serif); font-size:22px; color:var(--ink); }
.article-author p{ margin-top:8px; color:var(--muted); font-size:15px; line-height:1.6; }
.article-author-link{ display:inline-flex; align-items:center; gap:7px; margin-top:12px; color:var(--accent-deep); font-weight:850; font-size:14px; }
.article-author-link:hover svg{ transform:translateX(3px); }
.article-author-link svg{ transition:transform .2s ease; }

.post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:44px; }
.post-nav-link{
	display:flex; flex-direction:column; gap:8px; padding:20px 22px; border-radius:var(--radius-md);
	background:#fff; border:1px solid var(--border); box-shadow:var(--shadow-sm);
	transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.post-nav-link:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--border-warm); }
.post-nav-next{ text-align:right; align-items:flex-end; }
.post-nav-link span{ display:inline-flex; align-items:center; gap:6px; color:var(--faint); font-size:13px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.post-nav-link span svg{ color:var(--accent-deep); }
.post-nav-link strong{ color:var(--ink); font-family:var(--font-serif); font-size:18px; line-height:1.25; }
.post-nav-link:hover strong{ color:var(--accent-deep); }
@media(max-width:620px){ .post-nav{ grid-template-columns:1fr; } .post-nav-next{ text-align:left; align-items:flex-start; } }

/* ---------- Related reading ---------- */
.article-related{ margin-top:64px; padding:56px 0; background:var(--bg-soft); border-top:1px solid var(--border); }
.article-related .journal-head{ margin-top:0; margin-bottom:38px; }

.single-article--comments{ margin-top:56px; }

/* ---------- Comments ---------- */
.comments-area{ margin-top:8px; padding-top:40px; border-top:1px solid var(--border); }
.comments-area .h-card{ font-family:var(--font-serif); font-size:28px; color:var(--ink); }
.comment-list{ list-style:none; margin:26px 0 0; padding:0; }
.comment-list ul.children{ list-style:none; margin:20px 0 0 28px; padding-left:20px; border-left:1px solid var(--border); }
.comment-list li.comment{ margin-top:22px; }
.comment-body{
	padding:22px 24px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md);
	box-shadow:var(--shadow-sm);
}
.comment-author{ display:flex; align-items:center; gap:12px; }
.comment-author .avatar{ width:44px; height:44px; border-radius:50%; }
.comment-author .fn{ font-weight:850; color:var(--ink); font-style:normal; }
.comment-author .says{ display:none; }
.comment-meta{ margin-top:2px; font-size:13px; color:var(--faint); }
.comment-meta a{ color:var(--faint); }
.comment-content{ margin-top:12px; color:var(--text); font-size:15.5px; line-height:1.65; }
.comment-content > * + *{ margin-top:12px; }
.reply{ margin-top:10px; }
.comment-reply-link{
	display:inline-flex; align-items:center; gap:6px; color:var(--accent-deep); font-weight:850; font-size:13px;
}
.comment-respond{ margin-top:40px; }
.comment-reply-title{ font-family:var(--font-serif); font-size:25px; color:var(--ink); }
.comment-reply-title small{ margin-left:12px; font-family:var(--font-body); font-size:14px; font-weight:700; }
.comment-form{ margin-top:20px; display:grid; gap:18px; }
.comment-form .field label,.comment-form-author label,.comment-form-email label,.comment-form-url label{
	display:block; margin-bottom:7px; font-size:13px; font-weight:850; color:var(--ink);
}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"]{
	width:100%; height:48px; padding:0 16px; border-radius:var(--radius-sm); background:#fff;
	border:1px solid var(--border-2); color:var(--text); font:inherit;
}
.comment-form textarea.input{ width:100%; min-height:130px; padding:14px 16px; border-radius:var(--radius-md); border:1px solid var(--border-2); background:#fff; font:inherit; resize:vertical; }
@media(min-width:680px){ .comment-form-author,.comment-form-email,.comment-form-url{ display:inline-block; width:calc(50% - 9px); } .comment-form-author,.comment-form-url{ margin-right:14px; } }
.comment-form .comment-form-cookies-consent{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--muted); }
.comment-form .form-submit{ margin:0; }

/* ---------- Contact / About page ---------- */
.contact-layout{ display:grid; gap:48px; grid-template-columns:1fr; }
@media(min-width:1024px){ .contact-layout{ grid-template-columns:1fr .8fr; } }
.contact-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-md); }
.contact-card .row{ display:flex; gap:14px; margin-bottom:20px; align-items:flex-start; }
.contact-card .row .icon{ width:42px; height:42px; border-radius:11px; background:var(--accent-soft); color:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.map-embed{ border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow-md); }
.map-embed iframe{ width:100%; height:320px; border:0; display:block; }

.quote-page{
	position:relative; overflow:hidden;
	background:
		radial-gradient(circle at 84% 7%,rgba(81,30,3,.13),transparent 28%),
		linear-gradient(180deg,#f8faf6 0%,#f8faf6 46%,#f8faf6 100%);
}
.quote-page::before{
	content:""; position:absolute; inset:90px 0 auto auto; width:54vw; height:390px; opacity:.32; pointer-events:none;
	background:repeating-radial-gradient(ellipse at 76% 30%,transparent 0 17px,rgba(191,126,55,.12) 18px 19px);
	mask-image:linear-gradient(90deg,transparent,#000 28%,#000 74%,transparent);
}
.quote-hero{ padding-top:88px; padding-bottom:38px; }
.quote-hero-grid{ display:grid; gap:44px; align-items:center; position:relative; z-index:1; }
@media(min-width:980px){ .quote-hero-grid{ grid-template-columns:minmax(0,.95fr) minmax(390px,.78fr); } }
.quote-hero-copy .breadcrumbs{ margin-bottom:28px; }
.quote-hero-copy .h-section{ max-width:760px; font-size:clamp(46px,6vw,82px); line-height:.94; }
.quote-hero-copy .lede{ max-width:640px; margin-top:20px; }
.quote-hero-points{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.quote-hero-points span{
	display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 15px; border-radius:999px;
	background:#fff; border:1px solid rgba(29,30,32,.10); color:#1d1e20; font-size:13px; font-weight:900;
	box-shadow:0 14px 34px rgba(29,30,32,.08);
}
.quote-hero-points svg{ color:var(--accent-deep); }
.quote-hero-card{
	position:relative; min-height:420px; border-radius:26px; overflow:hidden; box-shadow:0 38px 110px rgba(29,30,32,.22);
	transform:rotate(1.5deg); background:#faf3b4;
}
.quote-hero-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 36%,rgba(19,14,10,.72)); }
.quote-hero-card img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.03); }
.quote-hero-card-copy{
	position:absolute; left:24px; right:24px; bottom:24px; z-index:1; color:#fff;
}
.quote-hero-card-copy small{
	display:inline-flex; margin-bottom:10px; padding:7px 11px; border-radius:999px; background:rgba(255,247,237,.18);
	color:#f8faf6; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; backdrop-filter:blur(8px);
}
.quote-hero-card-copy strong{ display:block; max-width:420px; font-family:var(--font-serif); font-size:31px; line-height:1.02; }
.quote-body{ padding-top:30px; }
.quote-layout{ display:grid; gap:34px; align-items:start; }
@media(min-width:1060px){ .quote-layout{ grid-template-columns:minmax(0,1fr) 390px; } }
.quote-form-card{
	position:relative; padding:28px; border-radius:22px; background:rgba(255,255,255,.82);
	border:1px solid rgba(29,30,32,.10); box-shadow:0 28px 90px rgba(29,30,32,.14); backdrop-filter:blur(10px);
}
.quote-form-head{ margin-bottom:22px; }
.quote-form-head h2{ margin-top:8px; font-family:var(--font-serif); font-size:42px; line-height:1; color:#1d1e20; }
.quote-form .input{ background:#fff; }
.quote-choice-grid{ display:grid; grid-template-columns:1fr; gap:10px; margin:4px 0 20px; }
@media(min-width:680px){ .quote-choice-grid{ grid-template-columns:1fr 1fr; } }
.quote-choice-grid label{
	display:flex; align-items:center; gap:10px; min-height:50px; padding:12px 14px; border-radius:14px;
	background:#fff; border:1px solid rgba(29,30,32,.10); cursor:pointer; color:#1d1e20; font-weight:900;
	transition:border-color .2s, box-shadow .2s, transform .2s var(--ease-spring);
}
.quote-choice-grid label:hover{ transform:translateY(-2px); border-color:rgba(81,30,3,.34); box-shadow:0 14px 34px rgba(29,30,32,.10); }
.quote-choice-grid input{ accent-color:var(--accent); width:17px; height:17px; flex:0 0 auto; }
.quote-side{ display:flex; flex-direction:column; gap:18px; }
@media(min-width:1060px){ .quote-side{ position:sticky; top:calc(var(--header-h-scrolled) + 28px); } }
.quote-side-card{
	padding:26px; border-radius:20px; background:#fff; border:1px solid rgba(29,30,32,.10);
	box-shadow:0 24px 72px rgba(29,30,32,.12);
}
.quote-side-card h2{ font-family:var(--font-serif); font-size:31px; line-height:1; color:#1d1e20; }
.quote-steps{ list-style:none; margin:22px 0 0; padding:0; display:flex; flex-direction:column; gap:18px; }
.quote-steps li{ display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; }
.quote-steps > li > span{
	width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:var(--accent-soft); color:var(--accent-deep);
}
.quote-steps small{ display:block; color:var(--accent-deep); font-size:11px; font-weight:900; letter-spacing:.08em; }
.quote-steps strong{ display:block; margin-top:2px; color:#1d1e20; font-weight:900; }
.quote-steps p{ margin-top:5px; color:#5c5d5f; font-size:14px; line-height:1.5; }
.quote-side-card--dark{
	background:linear-gradient(145deg,#1d1e20,#1d1e20); color:#fff; border-color:rgba(255,255,255,.10);
}
.quote-side-card--dark > span{
	width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,#511e03,#511e03); color:#fff; box-shadow:0 18px 42px rgba(81,30,3,.32);
}
.quote-side-card--dark h2{ margin-top:18px; color:#fff; }
.quote-side-card--dark p{ margin-top:10px; color:rgba(255,255,255,.74); line-height:1.6; }
.quote-side-card--dark a{
	display:inline-flex; margin-top:18px; color:#fff; font-weight:900; border-bottom:1px solid rgba(255,255,255,.35);
}
@media(max-width:760px){
	.quote-hero{ padding-top:48px; }
	.quote-hero-card{ min-height:330px; transform:none; border-radius:20px; }
	.quote-form-card{ padding:20px; border-radius:18px; }
	.quote-form-head h2{ font-size:34px; }
}

.quote-flow-page{
	position:relative; overflow:hidden;
	background:
		radial-gradient(circle at 12% 4%,rgba(81,30,3,.11),transparent 25%),
		radial-gradient(circle at 90% 26%,rgba(244,166,35,.13),transparent 27%),
		linear-gradient(180deg,#f8faf6 0%,#f8faf6 46%,#f8faf6 100%);
}
.quote-flow{ padding-top:52px; }
.quote-flow-steps{
	list-style:none; margin:28px 0 28px; padding:0; display:grid; grid-template-columns:1fr; gap:12px;
}
@media(min-width:860px){ .quote-flow-steps{ grid-template-columns:repeat(3,1fr); align-items:center; } }
.quote-flow-steps li{
	position:relative; display:flex; align-items:center; gap:10px; color:#5c5d5f; font-weight:900; min-height:38px;
}
.quote-flow-steps li:not(:last-child)::after{
	content:""; display:none; height:1px; flex:1; margin-left:12px; background:linear-gradient(90deg,rgba(81,30,3,.32),rgba(29,30,32,.14));
}
@media(min-width:860px){ .quote-flow-steps li:not(:last-child)::after{ display:block; } }
.quote-flow-steps span{
	width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
	background:#d7d7d7; color:#fff; flex:0 0 28px; font-size:13px; box-shadow:0 10px 24px rgba(29,30,32,.12);
}
.quote-flow-steps .is-complete{ color:#207a2a; }
.quote-flow-steps .is-complete span{ background:#24792a; }
.quote-flow-steps .is-active{ color:#1d1e20; }
.quote-flow-steps .is-active span{ background:linear-gradient(135deg,#511e03,#511e03); }
.quote-flow-status{ margin-bottom:20px; }
.quote-flow-grid{ display:grid; gap:24px; align-items:start; }
@media(min-width:1120px){ .quote-flow-grid{ grid-template-columns:minmax(0,1fr) 386px; } }
.quote-flow-main{ display:flex; flex-direction:column; gap:22px; }
.quote-tour-card{
	display:grid; overflow:hidden; border-radius:16px; background:#fff; border:1px solid rgba(29,30,32,.10);
	box-shadow:0 24px 76px rgba(29,30,32,.13);
}
@media(min-width:780px){ .quote-tour-card{ grid-template-columns:44% 1fr; } }
.quote-tour-photo{ position:relative; min-height:250px; background:#faf3b4; overflow:hidden; }
.quote-tour-photo img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); }
.quote-tour-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 28%,rgba(16,14,12,.76)); }
.quote-tour-photo > div{ position:absolute; left:24px; right:24px; bottom:22px; z-index:1; color:#fff; }
.quote-tour-photo small{
	display:inline-flex; margin-bottom:9px; padding:6px 10px; border-radius:999px; background:rgba(255,247,237,.17);
	color:#f8faf6; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; backdrop-filter:blur(8px);
}
.quote-tour-photo h1{ font-family:var(--font-serif); color:#fff; font-size:clamp(31px,3vw,43px); line-height:1; max-width:560px; }
.quote-tour-info{ display:grid; gap:16px; padding:22px 24px; color:#1d1e20; }
.quote-tour-info strong{ display:block; font-weight:900; }
.quote-tour-info p{ margin-top:4px; color:#5c5d5f; font-size:14px; line-height:1.45; }
.quote-tour-info p span{ color:var(--accent-deep); font-weight:900; }
.quote-operator-mini{
	display:grid; grid-template-columns:56px 1fr; gap:14px; align-items:center; padding-top:14px;
	border-top:1px solid rgba(29,30,32,.10);
}
.quote-operator-mini .seal{ margin:0; box-shadow:none; color:var(--accent-deep); }
.quote-operator-mini .quote-stars{ letter-spacing:0; color:var(--star); }
.quote-tour-choice{
	grid-column:1/-1; display:flex; gap:12px; align-items:center; padding:16px 22px;
	background:linear-gradient(90deg,rgba(235,248,235,.96),rgba(255,247,237,.86)); border-top:1px solid rgba(36,121,42,.16);
	color:#1d1e20;
}
.quote-tour-choice > span{ color:#24792a; flex:0 0 auto; }
.quote-tour-choice p{ margin:0; color:#511e03; font-size:14px; line-height:1.45; }
.quote-free-card{
	padding:28px; border-radius:16px; background:rgba(255,255,255,.9); border:1px solid rgba(29,30,32,.10);
	box-shadow:0 28px 86px rgba(29,30,32,.13); backdrop-filter:blur(10px);
}
.quote-free-head h2{ font-family:var(--font-serif); font-size:clamp(34px,4vw,52px); line-height:1; color:#1d1e20; }
.quote-free-head p{ display:flex; align-items:center; gap:9px; margin-top:10px; color:#511e03; font-weight:900; }
.quote-free-head svg{ color:var(--accent-deep); }
.quote-detail-fields{ display:grid; gap:16px; margin-top:28px; }
.quote-detail-fields .field{ display:grid; gap:8px; }
@media(min-width:780px){ .quote-detail-fields .field{ grid-template-columns:210px minmax(0,1fr); align-items:start; } }
.quote-detail-fields label{ margin-top:12px; color:#1d1e20; font-weight:900; }
.quote-detail-fields .input{ background:#fff; border-radius:9px; }
.quote-phone-field{ display:grid; grid-template-columns:62px 1fr; gap:9px; }
.quote-phone-field span{
	display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:9px;
	background:#f8faf6; border:1px solid rgba(29,30,32,.10); font-size:12px; font-weight:900; color:#1d1e20;
}
.quote-detail-fields small{ grid-column:2; color:#7a7c7f; font-size:13px; line-height:1.4; }
.quote-message-field p{ margin:0 0 10px; color:#5c5d5f; font-size:14px; line-height:1.55; }
.quote-message-field textarea{ min-height:190px; resize:vertical; }
.quote-remember{ display:flex; align-items:center; gap:10px; margin:18px 0 0 210px; color:#1d1e20; font-weight:800; }
.quote-remember input{ width:18px; height:18px; accent-color:#24792a; }
.quote-submit-row{ margin:34px 0 0 210px; }
.quote-submit-row .btn{ min-width:230px; justify-content:center; }
.quote-submit-row p{ margin-top:18px; color:#5c5d5f; font-size:13px; }
.quote-trip-summary{
	position:relative; overflow:hidden; border-radius:16px; background:#fff; border:1px solid rgba(29,30,32,.10);
	box-shadow:0 24px 76px rgba(29,30,32,.13);
}
@media(min-width:1120px){ .quote-trip-summary{ position:sticky; top:calc(var(--header-h-scrolled) + 24px); } }
.quote-trip-summary h2{ padding:24px 24px 18px; font-family:var(--font-body); font-size:24px; font-weight:950; color:#1d1e20; }
.quote-trip-row{
	display:grid; grid-template-columns:38px 1fr auto; gap:14px; align-items:center; padding:18px 20px;
	border-top:1px solid rgba(29,30,32,.10);
}
.quote-trip-row > span{
	width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
	color:var(--accent-deep); background:#f8faf6;
}
.quote-trip-row small{ display:block; color:#7a7c7f; font-weight:800; margin-bottom:3px; }
.quote-trip-row input{
	width:100%; border:0; padding:0; background:transparent; color:#1d1e20; font:inherit; font-size:18px; font-weight:800;
}
.quote-trip-row input:focus{ outline:2px solid rgba(81,30,3,.24); outline-offset:4px; border-radius:5px; }
.quote-trip-row button{
	appearance:none; border:0; background:transparent; color:var(--accent-deep); font-weight:900; cursor:pointer;
}
.quote-trip-row--dates{ grid-template-columns:38px 1fr 22px 1fr auto; }
.quote-trip-row--dates i{ color:#1d1e20; font-size:22px; font-style:normal; }
.quote-trip-row strong{ display:block; color:#24792a; font-size:20px; line-height:1.2; }
.quote-trip-row strong span{ color:#5c5d5f; font-size:13px; }
.quote-trip-note{
	display:flex; gap:10px; padding:17px 20px; background:#f8faf6; border-top:1px solid rgba(29,30,32,.08);
	color:#5c5d5f; font-size:13px; line-height:1.45; font-weight:750;
}
.quote-trip-note svg{ color:#24792a; flex:0 0 auto; margin-top:1px; }
@media(max-width:780px){
	.quote-flow{ padding-top:34px; }
	.quote-free-card{ padding:20px; }
	.quote-detail-fields .field{ grid-template-columns:1fr; }
	.quote-detail-fields label{ margin-top:0; }
	.quote-detail-fields small{ grid-column:1; }
	.quote-remember,.quote-submit-row{ margin-left:0; }
	.quote-trip-row,.quote-trip-row--dates{ grid-template-columns:34px 1fr; }
	.quote-trip-row button,.quote-trip-row--dates i{ display:none; }
}

.quote-flow-page--exact{
	position:relative; overflow:hidden; min-height:100vh;
	background:
		radial-gradient(circle at 12% 4%,rgba(236,143,44,.11),transparent 28%),
		radial-gradient(circle at 91% 7%,rgba(236,143,44,.08),transparent 24%),
		linear-gradient(180deg,#f8faf6 0%,#f8faf6 48%,#f8faf6 100%);
}
.quote-flow-page--exact::before,.quote-flow-page--exact::after{
	content:""; position:absolute; pointer-events:none; opacity:.28;
	background:repeating-radial-gradient(ellipse at center,transparent 0 14px,rgba(180,117,48,.14) 15px 16px);
	mask-image:linear-gradient(90deg,transparent,#000 22%,#000 76%,transparent);
}
.quote-flow-page--exact::before{ left:-70px; top:8px; width:310px; height:230px; transform:rotate(20deg); }
.quote-flow-page--exact::after{ right:-90px; bottom:10px; width:380px; height:260px; transform:rotate(-16deg); }
.quote-flow-page--exact .quote-flow{ position:relative; z-index:1; padding-top:34px; padding-bottom:74px; }
.quote-flow-page--exact .breadcrumbs{ margin-bottom:18px; }
.quote-flow-steps--exact{
	position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
	margin:6px auto 36px; max-width:1160px; padding:12px;
	list-style:none; isolation:isolate;
	border-radius:34px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,245,231,.68)),
		linear-gradient(180deg,#f8faf6,#faf3b4);
	border:1px solid rgba(157,103,46,.18);
	box-shadow:0 26px 90px rgba(29,30,32,.12),0 1px 0 rgba(255,255,255,.94) inset;
	backdrop-filter:blur(18px);
}
.quote-flow-steps--exact::before{
	content:""; position:absolute; left:11%; right:11%; top:50%; height:2px; z-index:0; pointer-events:none;
	transform:translateY(-50%);
	background:
		linear-gradient(90deg,rgba(197,105,21,.94) 0 64%,rgba(197,105,21,.18) 64% 100%);
	border-radius:999px;
	box-shadow:0 0 0 7px rgba(226,126,22,.045);
}
.quote-flow-steps--exact::after{
	content:""; position:absolute; inset:7px; z-index:0; pointer-events:none; border-radius:28px; opacity:.42;
	background:
		repeating-linear-gradient(-7deg,transparent 0 12px,rgba(161,101,39,.055) 13px 14px),
		radial-gradient(circle at 10% 50%,rgba(244,156,45,.20),transparent 21%),
		radial-gradient(circle at 91% 50%,rgba(244,156,45,.16),transparent 24%);
}
.quote-flow-steps--exact li{
	position:relative; z-index:1; display:grid; grid-template-columns:62px minmax(0,1fr); gap:16px; align-items:center;
	min-height:104px; padding:18px 20px; overflow:hidden;
	border-radius:25px; color:#1d1e20; font-family:var(--font-serif);
	text-transform:uppercase; letter-spacing:.045em;
	background:
		linear-gradient(180deg,rgba(255,254,250,.95),rgba(255,247,235,.88)),
		radial-gradient(circle at 0 0,rgba(255,179,65,.18),transparent 38%);
	border:1px solid rgba(140,91,39,.13);
	box-shadow:0 14px 34px rgba(29,30,32,.07),0 1px 0 rgba(255,255,255,.92) inset;
	transition:transform .25s var(--ease-spring), box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);
}
.quote-flow-steps--exact li::before{
	content:""; position:absolute; left:22px; right:22px; bottom:14px; height:1px; opacity:.46;
	background:linear-gradient(90deg,transparent,rgba(178,101,25,.48),transparent);
}
.quote-flow-steps--exact li::after{
	content:""; position:absolute; right:15px; top:15px; width:54px; height:54px; display:block;
	border-radius:50%; opacity:.16; pointer-events:none;
	background:repeating-radial-gradient(circle,rgba(141,90,35,.52) 0 1px,transparent 2px 8px);
}
.quote-flow-steps--exact li:last-child{ grid-template-columns:62px minmax(0,1fr); }
.quote-flow-steps--exact li:not(:last-child)::before{ display:block; }
.quote-flow-steps--exact .is-complete{
	background:
		linear-gradient(180deg,rgba(255,254,250,.98),rgba(255,244,226,.92)),
		linear-gradient(135deg,rgba(255,177,49,.10),transparent);
	border-color:rgba(214,120,29,.20);
}
.quote-flow-steps--exact .is-active{
	transform:translateY(-4px);
	background:
		linear-gradient(180deg,#f8faf6,#faf3b4),
		radial-gradient(circle at 18% 12%,rgba(255,184,68,.24),transparent 32%);
	border-color:rgba(221,119,20,.42);
	box-shadow:0 24px 64px rgba(199,86,14,.18),0 0 0 1px rgba(255,255,255,.80) inset;
}
.quote-flow-steps--exact .is-active::before{
	height:3px; bottom:0; left:24px; right:24px; opacity:1;
	background:linear-gradient(90deg,transparent,#511e03 20%,#511e03 80%,transparent);
}
.quote-flow-steps--exact .quote-step-number{
	position:relative; z-index:1; width:56px; height:56px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; flex:0 0 auto;
	font-family:var(--font-body); font-size:18px; font-weight:950; color:#511e03;
	background:
		radial-gradient(circle at 34% 24%,rgba(255,255,255,.96),transparent 34%),
		linear-gradient(180deg,#f8faf6,#faf3b4);
	border:1px solid rgba(184,106,29,.30);
	box-shadow:0 13px 28px rgba(29,30,32,.12),0 0 0 7px rgba(255,242,222,.75);
}
.quote-flow-steps--exact .is-complete .quote-step-number{
	color:#511e03;
	background:
		radial-gradient(circle at 34% 24%,rgba(255,255,255,.96),transparent 34%),
		linear-gradient(180deg,#faf3b4,#faf3b4);
	border-color:rgba(207,112,20,.44);
}
.quote-flow-steps--exact .is-active .quote-step-number{
	width:62px; height:62px; color:#fff; border:3px solid #faf3b4;
	background:
		radial-gradient(circle at 34% 22%,rgba(255,235,149,.95),transparent 25%),
		linear-gradient(145deg,#511e03 0%,#511e03 52%,#511e03 100%);
	box-shadow:
		0 22px 44px rgba(207,79,10,.28),
		0 0 0 9px rgba(241,139,31,.12),
		0 1px 0 rgba(255,255,255,.55) inset;
}
.quote-flow-steps--exact .is-active .quote-step-number::before{
	content:""; position:absolute; inset:-10px; border-radius:50%; pointer-events:none;
	border:1px dashed rgba(194,88,13,.52);
}
.quote-flow-steps--exact strong{
	display:block; max-width:250px; font-size:12px; line-height:1.22; color:#1d1e20;
	letter-spacing:.10em; text-wrap:balance;
}
.quote-flow-steps--exact small{
	display:block; margin-top:8px; color:#5c5d5f; font-family:var(--font-body); font-size:13px;
	text-transform:none; letter-spacing:0; font-weight:800;
}
.quote-flow-steps--exact .is-active small{
	color:#511e03; font-weight:900;
}
.quote-flow-steps--exact small b{
	display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-left:6px;
	border-radius:50%; background:#511e03; color:#fff; vertical-align:middle;
}
.quote-exact-grid{
	position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:26px;
	align-items:start;
}
.quote-selected-tour{
	position:relative; min-height:400px; border-radius:18px; overflow:hidden; background:#1d1e20;
	box-shadow:0 26px 80px rgba(29,30,32,.18); border:1px solid rgba(29,30,32,.10);
}
.quote-selected-tour img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.quote-selected-scrim{
	position:absolute; inset:0;
	background:
		linear-gradient(90deg,rgba(12,15,17,.58) 0%,rgba(12,15,17,.26) 48%,rgba(12,15,17,.44) 100%),
		linear-gradient(180deg,rgba(12,15,17,.06),rgba(12,15,17,.82));
}
.quote-duration-pill{
	position:absolute; left:30px; top:26px; z-index:1; display:inline-flex; align-items:center; min-height:42px;
	padding:0 18px; border-radius:999px; background:rgba(255,247,237,.94); color:#511e03;
	font-size:12px; font-weight:950; letter-spacing:.08em;
}
.quote-selected-copy{ position:absolute; left:40px; right:38px; bottom:94px; z-index:1; color:#fff; }
.quote-selected-copy h1{ max-width:660px; font-family:var(--font-serif); font-size:clamp(42px,4.7vw,68px); line-height:.96; color:#fff; }
.quote-selected-copy p{ margin-top:14px; color:#faf3b4; font-size:14px; font-weight:950; letter-spacing:.22em; text-transform:uppercase; }
.quote-selected-copy p span{ color:#511e03; margin:0 10px; }
.quote-selected-seal{
	position:absolute; right:32px; bottom:66px; z-index:2; color:rgba(255,247,237,.9);
	filter:drop-shadow(0 10px 22px rgba(0,0,0,.22));
}
.quote-selected-seal .seal{ display:block; }
.quote-selected-choice{
	position:absolute; left:0; right:0; bottom:0; z-index:1; display:grid; grid-template-columns:54px 1fr;
	gap:16px; align-items:center; min-height:82px; padding:18px 34px 18px 38px;
	background:linear-gradient(90deg,rgba(30,27,11,.86),rgba(35,26,10,.92));
	color:#fff;
}
.quote-selected-choice > span{
	width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	border:1px solid rgba(245,166,35,.84); color:#511e03;
}
.quote-selected-choice p{ margin:0; max-width:610px; color:#f8faf6; font-size:15px; line-height:1.55; font-weight:750; }
.quote-selected-choice strong{ color:#511e03; }
.quote-selected-addon{
	position:absolute; right:24px; top:24px; z-index:4; display:flex; align-items:center; gap:12px;
	max-width:min(360px,calc(100% - 48px)); padding:11px 14px 11px 11px; border-radius:17px;
	background:rgba(248,250,246,.92); border:1px solid rgba(255,255,255,.55);
	box-shadow:0 18px 42px rgba(13,20,28,.20); backdrop-filter:blur(10px);
}
.quote-selected-addon img{ position:relative; inset:auto; width:74px; height:54px; border-radius:11px; object-fit:cover; flex:0 0 auto; }
.quote-selected-addon small{
	display:block; color:#511e03; font-size:10px; font-weight:950; letter-spacing:.12em; text-transform:uppercase;
}
.quote-selected-addon strong{
	display:block; margin-top:4px; color:#1d1e20; font-family:var(--font-serif); font-size:20px; line-height:1;
}
.quote-trip-summary--exact{
	border-radius:18px; background:rgba(255,255,255,.88); border:1px solid rgba(81,30,3,.15);
	box-shadow:0 26px 80px rgba(29,30,32,.14); overflow:hidden; backdrop-filter:blur(12px);
}
/* ---------- Trip details: sunset / acacia header scene ---------- */
.quote-trip-head{
	position:relative; overflow:hidden;
	background:linear-gradient(180deg,#f8faf6 0%,#faf3b4 58%,#faf3b4 100%);
}
.quote-trip-scene{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.quote-trip-ground{
	position:absolute; left:-12%; right:-12%; bottom:0; height:62px; z-index:2;
	background:linear-gradient(180deg,#511e03 0%,#511e03 60%,#511e03 100%);
	border-radius:50% 50% 0 0 / 34px 34px 0 0;
}
.quote-trip-sun{
	position:absolute; right:58px; bottom:14px; width:48px; height:48px; border-radius:50%; z-index:1;
	background:radial-gradient(circle,#511e03 0%,#511e03 62%,#511e03 100%);
	box-shadow:0 0 30px 6px rgba(245,166,35,.45);
}
.quote-trip-tree{ position:absolute; right:26px; bottom:26px; width:104px; height:auto; z-index:3; }
.quote-trip-birds{ position:absolute; right:118px; top:16px; width:52px; height:auto; z-index:3; opacity:.7; }
.quote-trip-summary--exact .quote-trip-head h2{
	position:relative; z-index:4; margin:0; padding:30px 32px 34px; font-family:var(--font-serif);
	font-size:27px; text-transform:uppercase; letter-spacing:.05em; color:#1d1e20;
}
.quote-trip-summary--exact .quote-trip-row{
	grid-template-columns:52px minmax(0,1fr) auto; gap:16px; padding:24px 30px;
	background:rgba(255,255,255,.50);
}
.quote-trip-summary--exact .quote-trip-row > span{
	width:42px; height:42px; border-radius:0; background:transparent; color:#511e03;
}
.quote-trip-summary--exact .quote-trip-row small{
	color:#5c5d5f; text-transform:uppercase; font-size:12px; letter-spacing:.08em; font-weight:950;
}
.quote-trip-summary--exact .quote-trip-row input{
	color:#1d1e20; font-size:20px; font-weight:850; font-family:var(--font-body);
}
.quote-trip-summary--exact .quote-trip-row button{
	display:flex; align-items:center; gap:8px; color:#511e03; font-size:13px;
}
.quote-trip-summary--exact .quote-trip-row--dates{ grid-template-columns:52px minmax(0,1fr) auto; }
.quote-trip-summary--exact .quote-dates-pair i{ color:#1d1e20; font-size:18px; }
.quote-dates-pair{
	display:flex; align-items:center; gap:10px; min-width:0;
}
.quote-dates-pair label{ flex:1 1 0; min-width:0; }
.quote-dates-pair i{ flex:0 0 auto; font-style:normal; }
.quote-trip-summary--exact .quote-trip-row--dates input{
	font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer;
}
.quote-trip-summary--exact .quote-trip-row strong{
	color:#1d1e20; font-family:var(--font-serif); font-size:31px; line-height:1;
}
.quote-trip-summary--exact .quote-trip-row strong span{
	margin-left:5px; font-family:var(--font-body); color:#5c5d5f; font-size:13px; font-weight:800;
}
.quote-trip-summary--exact .quote-trip-row--service strong{
	font-family:var(--font-serif); font-size:24px; color:#1d1e20;
}
.quote-trip-summary--exact .quote-trip-row--service em{
	display:block; margin-top:6px; color:#5c5d5f; font-style:normal; font-size:13px; font-weight:850;
}
.quote-trip-edit{
	display:flex; align-items:center; gap:8px; color:#511e03; font-size:13px; font-weight:900;
}
.quote-trip-summary--exact .quote-trip-note{
	margin:0; display:grid; grid-template-columns:42px 1fr; gap:16px; align-items:center;
	padding:19px 30px 24px; background:#faf3b4; color:#5c5d5f; font-size:13px; font-weight:850;
}
.quote-trip-summary--exact .quote-trip-note svg{ width:34px; height:34px; color:#511e03; }

/* ---------- Travelers stepper (slow-opening card) ---------- */
.quote-trip-row--expandable{ display:block; }
.quote-trip-row--expandable .quote-trip-row-main{
	display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:16px; align-items:center;
}
.quote-trip-summary--exact .quote-trip-row--expandable .quote-trip-row-main > span{
	width:42px; height:42px; border-radius:0; background:transparent; color:#511e03;
}
.quote-trip-row--expandable [data-guests-display]{ cursor:pointer; }
.quote-trip-row--expandable [data-guests-toggle] svg{ transition:transform .3s ease; }
.quote-trip-row--expandable [data-guests-toggle][aria-expanded="true"] svg{ transform:rotate(90deg); }
.quote-stepper-card{
	max-height:0; opacity:0; overflow:hidden; pointer-events:none;
	transition:max-height .45s cubic-bezier(.16,1,.3,1), opacity .32s ease, margin-top .45s cubic-bezier(.16,1,.3,1);
}
.quote-stepper-card.is-open{ max-height:340px; opacity:1; margin-top:18px; pointer-events:auto; }
.quote-stepper-row{
	display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0;
	border-top:1px dashed rgba(29,30,32,.12);
}
.quote-stepper-row:first-child{ border-top:0; }
.quote-stepper-label strong{ display:block; color:#1d1e20; font-size:16px; font-weight:850; }
.quote-stepper-label small{ display:block; color:#7a7c7f; font-size:12px; font-weight:700; }
.quote-stepper{ display:flex; align-items:center; gap:14px; }
.quote-stepper button{
	width:38px; height:38px; border-radius:50%; border:1px solid rgba(216,87,7,.34); background:#fff;
	color:#511e03; font-size:21px; font-weight:700; line-height:1; cursor:pointer;
	display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .12s ease;
}
.quote-stepper button:hover:not(:disabled){ background:#faf3b4; }
.quote-stepper button:active:not(:disabled){ transform:scale(.92); }
.quote-stepper button:disabled{ opacity:.34; cursor:not-allowed; }
.quote-stepper span[data-step-value]{
	min-width:22px; text-align:center; color:#1d1e20; font-size:18px; font-weight:850; font-variant-numeric:tabular-nums;
}
.quote-stepper-done{
	margin-top:14px; width:100%; height:44px; border:0; border-radius:10px; cursor:pointer;
	background:linear-gradient(90deg,#511e03,#511e03); color:#fff; font-weight:900; font-size:13px;
	text-transform:uppercase; letter-spacing:.1em;
}

/* ---------- flatpickr: warm theme + slower open animation ---------- */
.flatpickr-calendar.animate.open{ animation-duration:420ms; }
.flatpickr-calendar{ box-shadow:0 22px 60px rgba(29,30,32,.22); border-radius:12px; }
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,
.flatpickr-day.selected:hover{ background:#511e03; border-color:#511e03; }
.flatpickr-day:hover{ background:#faf3b4; border-color:#faf3b4; }
.flatpickr-day.today{ border-color:#511e03; }
.flatpickr-months .flatpickr-month,.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-weekday{ color:#1d1e20; }
.quote-free-card--exact{
	position:relative; overflow:hidden; padding:38px 40px 34px; border-radius:22px;
	background:rgba(255,255,255,.90); border:1px solid rgba(81,30,3,.15);
	box-shadow:0 30px 90px rgba(29,30,32,.13); backdrop-filter:blur(12px);
}
.quote-form-art{
	position:absolute; right:0; top:0; width:260px; height:185px; opacity:.18;
	background:
		radial-gradient(ellipse at 64% 54%,#511e03 0 58px,transparent 60px),
		repeating-radial-gradient(ellipse at 65% 46%,transparent 0 15px,rgba(81,30,3,.35) 16px 17px);
}
.quote-tailored{
	display:inline-flex; align-items:center; gap:14px; color:#511e03; font-size:13px; font-weight:950;
	text-transform:uppercase; letter-spacing:.18em;
}
.quote-tailored::before,.quote-tailored::after{ content:""; width:30px; height:1px; background:#511e03; opacity:.65; }
.quote-free-card--exact .quote-free-head h2{
	position:relative; z-index:1; margin-top:12px; max-width:780px; font-family:var(--font-serif);
	font-size:clamp(39px,4.1vw,61px); line-height:.96; color:#1d1e20;
}
.quote-free-card--exact .quote-free-head p{
	position:relative; z-index:1; margin-top:16px; color:#511e03; font-size:15px; font-weight:900;
}
.quote-exact-fields{
	position:relative; z-index:20; display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin-top:28px;
}
.quote-icon-field,.quote-phone-exact{ position:relative; display:flex; flex-direction:column; gap:8px; }
.quote-icon-field label,.quote-phone-exact label,.quote-message-exact label{
	color:#1d1e20; font-size:13px; font-weight:900;
}
.quote-icon-field > span{
	position:absolute; left:16px; bottom:12px; z-index:1; color:#511e03; pointer-events:none;
}
.quote-icon-field .input{
	height:48px; padding-left:48px; border-radius:10px; background:#fff; border:1px solid rgba(29,30,32,.13);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 24px rgba(29,30,32,.05);
}
.quote-phone-exact > div{ display:block; }
.quote-phone-exact .input{
	height:48px; border-radius:10px; background:#fff; border:1px solid rgba(29,30,32,.13);
}
/* intl-tel-input: make the wrapped phone field fill the column and match the design. */
.quote-phone-exact .iti{ width:100%; }
.quote-phone-exact .iti .input,
.quote-phone-exact .iti input[type="tel"]{ width:100%; }
.quote-phone-exact .iti--separate-dial-code .iti__selected-dial-code{ font-weight:800; color:#1d1e20; }
.iti__dropdown-content{ border-radius:10px; box-shadow:0 18px 48px rgba(29,30,32,.18); }

/* ---------- Country of Residence: flag dropdown ---------- */
.quote-country-field{ position:relative; display:flex; flex-direction:column; gap:8px; }
.quote-country-field label{ color:#1d1e20; font-size:13px; font-weight:900; }
.quote-country-trigger{
	height:48px; padding:0 14px; border-radius:10px; background:#fff; border:1px solid rgba(29,30,32,.13);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 24px rgba(29,30,32,.05);
	display:flex; align-items:center; gap:10px; cursor:pointer; text-align:left; color:#1d1e20;
}
.quote-country-trigger .quote-country-flag{
	width:24px; height:18px; border-radius:3px; flex:0 0 auto;
	box-shadow:0 0 0 1px rgba(29,30,32,.08),0 5px 12px rgba(29,30,32,.12);
}
.quote-country-trigger .quote-country-name{ flex:1 1 auto; font-weight:700; }
.quote-country-trigger svg{ color:#5c5d5f; flex:0 0 auto; transition:transform .18s ease; }
.quote-country-trigger[aria-expanded="true"] svg{ transform:rotate(180deg); }
.quote-country-pop{
	position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:30;
	background:#fff; border:1px solid rgba(29,30,32,.13); border-radius:12px; overflow:hidden;
	box-shadow:0 22px 60px rgba(29,30,32,.2);
}
.quote-country-search{
	width:100%; height:42px; padding:0 14px; border:0; border-bottom:1px solid rgba(29,30,32,.1);
	font-size:14px; outline:none; background:#fff; color:#1d1e20;
}
.quote-country-list{ list-style:none; margin:0; padding:6px; max-height:240px; overflow-y:auto; }
.quote-country-option{
	display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; cursor:pointer; font-size:14px;
}
.quote-country-option:hover{ background:#faf3b4; }
.quote-country-option .quote-country-flag{
	width:24px; height:18px; border-radius:3px; flex:0 0 auto;
	box-shadow:0 0 0 1px rgba(29,30,32,.08);
}
.quote-message-exact{ grid-column:1/-1; display:flex; flex-direction:column; gap:8px; }
.quote-message-exact label{ display:flex; align-items:center; gap:8px; }
.quote-message-exact label svg{ color:#511e03; }
.quote-message-exact textarea{
	min-height:102px; border-radius:12px; background:#fff; border:1px solid rgba(29,30,32,.13); resize:vertical;
}
.quote-exact-submit{
	position:relative; z-index:1; width:100%; justify-content:center; gap:18px; min-height:58px; margin-top:22px;
	border-radius:9px; font-size:14px; font-weight:950; text-transform:uppercase; letter-spacing:.14em;
	background:linear-gradient(90deg,#511e03,#511e03); box-shadow:0 20px 48px rgba(216,87,7,.25);
}
.quote-secure-note{
	position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:8px;
	margin-top:17px; color:#511e03; font-size:13px; font-weight:800;
}
.quote-secure-note svg{ color:#511e03; }
.quote-trust-card{
	position:relative; overflow:hidden; border-radius:18px; background:rgba(255,255,255,.88);
	border:1px solid rgba(81,30,3,.15); box-shadow:0 26px 80px rgba(29,30,32,.13);
}
.quote-trust-photo{ position:relative; height:210px; overflow:hidden; background:#faf3b4; }
.quote-trust-photo::after{
	content:""; position:absolute; left:-6%; right:-6%; bottom:-30px; height:66px; border-radius:50% 50% 0 0;
	background:rgba(255,250,243,.96); border-top:2px solid rgba(81,30,3,.26); z-index:2;
}
.quote-trust-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Decorative sweeping arc + leaf flourish over the photo. */
.quote-trust-ring{
	position:absolute; top:-66px; right:-58px; width:230px; height:230px; border-radius:50%; z-index:1;
	border:1px solid rgba(255,247,236,.55); box-shadow:0 0 0 9px rgba(255,247,236,.16);
	pointer-events:none;
}
.quote-trust-flourish{
	position:absolute; top:16px; right:20px; z-index:1; color:rgba(255,248,238,.66);
	transform:rotate(12deg); pointer-events:none; filter:drop-shadow(0 4px 10px rgba(0,0,0,.18));
}
/* "Experts in Kenya Safaris" paw seal, straddling the photo & card. */
.quote-trust-seal{
	position:absolute; top:140px; right:18px; z-index:3; color:#511e03;
	filter:drop-shadow(0 12px 26px rgba(54,33,12,.26));
}
.quote-trust-seal::before{
	content:""; position:absolute; inset:-16px; border-radius:50%; z-index:-1;
	background:radial-gradient(circle,rgba(255,249,240,.62),rgba(255,249,240,0) 68%);
}
.quote-trust-seal-mark{ display:block; }
.quote-trust-body{ position:relative; z-index:2; padding:30px 30px 32px; }
.quote-trust-card h2{
	position:relative; margin:0 0 22px; padding-bottom:18px; max-width:230px; text-align:left;
	font-family:var(--font-serif); font-size:25px; line-height:1.12; text-transform:uppercase;
	letter-spacing:.085em; color:#1d1e20;
}
.quote-trust-card h2::after{
	content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
	background:linear-gradient(90deg,rgba(221,109,18,.6),rgba(221,109,18,.08) 62%,transparent);
}
.quote-trust-card ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.quote-trust-card li{ display:grid; grid-template-columns:50px 1fr; gap:15px; align-items:center; }
.quote-trust-card li > span{
	width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	border:1px solid rgba(81,30,3,.5); color:#511e03; background:#f8faf6;
}
.quote-trust-card strong{ display:block; color:#1d1e20; font-weight:950; font-size:16px; }
.quote-trust-card p{ margin-top:3px; color:#5c5d5f; font-size:13px; line-height:1.35; }

/* ---------- Step 3: "quote sent" confirmation ---------- */
.quote-done{
	position:relative; overflow:hidden; max-width:1050px; margin:18px auto 0; border-radius:26px;
	background:#f8faf6; border:1px solid rgba(81,30,3,.20);
	box-shadow:0 38px 110px rgba(29,30,32,.20),0 2px 0 rgba(255,255,255,.8) inset;
	backdrop-filter:blur(12px);
	isolation:isolate;
}
.quote-done::before,
.quote-done::after{
	content:""; position:absolute; pointer-events:none; z-index:0; opacity:.12;
	background:repeating-radial-gradient(ellipse at center,transparent 0 10px,rgba(152,93,34,.35) 11px 12px);
}
.quote-done::before{ left:-130px; top:210px; width:260px; height:260px; transform:rotate(-18deg); }
.quote-done::after{ right:-120px; bottom:-80px; width:320px; height:280px; transform:rotate(18deg); }
.quote-done-art,
.quote-done-body{ position:relative; z-index:1; }
.quote-done-art{
	height:268px; overflow:hidden; background:#511e03;
}
.quote-done-art::before{
	content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
	background:
		linear-gradient(180deg,rgba(10,7,4,.10),rgba(255,161,42,.02) 42%,rgba(14,9,4,.20)),
		linear-gradient(90deg,rgba(25,16,8,.28),transparent 18%,transparent 82%,rgba(25,16,8,.24));
}
.quote-done-art::after{
	content:""; position:absolute; left:-8%; right:-8%; bottom:-58px; height:134px; z-index:3;
	border-radius:50% 50% 0 0 / 72px 72px 0 0;
	background:#f8faf6; border-top:1px solid rgba(81,30,3,.36);
	box-shadow:0 -18px 26px rgba(255,250,243,.48);
}
.quote-done-migration{
	position:absolute; inset:0; z-index:1; width:100%; height:100%;
	object-fit:cover; object-position:center 54%;
	filter:saturate(1.04) contrast(1.03);
}
.quote-done-body{
	padding:0 72px 58px; text-align:center;
}
.quote-done-seal{
	position:relative; z-index:2; isolation:isolate; width:max-content; max-width:min(88%,320px);
	min-height:74px; margin:-68px auto 32px; padding:16px 42px 18px; border-radius:999px 999px 999px 28px;
	display:inline-flex; align-items:center; justify-content:center; color:#511e03;
	font-family:var(--font-script); font-size:38px; line-height:.9; font-weight:700; letter-spacing:.01em;
	background:
		linear-gradient(180deg,rgba(248,250,246,.98),rgba(255,243,224,.96)),
		linear-gradient(135deg,#fff,#faf3b4);
	border:1px solid rgba(174,101,28,.24);
	box-shadow:0 20px 48px rgba(29,30,32,.16),0 1px 0 rgba(255,255,255,.95) inset;
	transform:rotate(-2deg);
}
.quote-done-seal::before{
	content:""; position:absolute; left:34px; right:34px; top:-9px; height:18px; z-index:2;
	border-radius:4px; background:rgba(255,232,193,.72); transform:rotate(3deg);
	box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.quote-done-seal::after{
	content:""; position:absolute; inset:8px; z-index:-1; border-radius:inherit;
	border:1px dashed rgba(174,101,28,.20);
}
.quote-done .quote-tailored{
	justify-content:center; gap:18px; color:#511e03; font-weight:900; letter-spacing:.26em;
}
.quote-done .quote-tailored::before,
.quote-done .quote-tailored::after{ width:74px; }
.quote-done h1{
	margin:18px auto 0; max-width:760px; font-family:var(--font-serif); font-size:clamp(48px,6vw,72px);
	line-height:.98; color:#1d1e20; font-weight:650; letter-spacing:0;
	text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.quote-done-title-mark{
	display:inline-flex; align-items:center; justify-content:center; gap:16px; margin:18px auto 0;
	color:#511e03;
}
.quote-done-title-mark::before,
.quote-done-title-mark::after{
	content:""; width:112px; height:1px;
	background:linear-gradient(90deg,transparent,rgba(204,112,20,.72),transparent);
}
.quote-done-lead{ margin:18px auto 0; max-width:710px; color:#5c5d5f; font-size:18px; line-height:1.72; }
.quote-done-lead strong{ color:#511e03; font-weight:850; }
.quote-done-steps{
	list-style:none; margin:30px auto 0; padding:27px 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:0;
	max-width:860px; border-radius:16px;
	background:linear-gradient(180deg,rgba(255,249,239,.86),rgba(255,245,231,.72));
	border:1px solid rgba(81,30,3,.38);
	box-shadow:0 18px 50px rgba(29,30,32,.08) inset;
}
.quote-done-steps li{
	position:relative; display:flex; flex-direction:column; align-items:center; gap:13px; padding:0 26px; text-align:center;
}
.quote-done-steps li > span{
	width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	color:#511e03; background:#f8faf6; border:1px dashed rgba(81,30,3,.74);
	box-shadow:0 12px 24px rgba(150,85,25,.09);
}
.quote-done-steps strong{ display:block; color:#1d1e20; font-weight:950; font-size:15.5px; }
.quote-done-steps small{ display:block; margin-top:5px; color:#5c5d5f; font-size:13px; line-height:1.38; }
.quote-done-steps li:not(:last-child)::after{
	content:"\203A"; position:absolute; top:28px; right:-13px; width:28px; height:28px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; color:#511e03; font-size:22px; line-height:1;
	background:#f8faf6; border:1px solid rgba(81,30,3,.42); box-shadow:0 8px 18px rgba(29,30,32,.07);
}
.quote-done-steps li:not(:last-child)::before{
	content:""; position:absolute; top:42px; right:-1px; width:1px; height:54px;
	background:linear-gradient(180deg,rgba(81,30,3,.45),transparent);
}
.quote-done-tourchip{
	position:relative; display:flex; align-items:center; gap:20px; margin:28px auto 0; max-width:650px;
	padding:16px 22px 16px 16px; border-radius:17px;
	background:linear-gradient(180deg,#fffefb,#f8faf6); border:1px solid rgba(29,30,32,.12);
	text-align:left; box-shadow:0 16px 42px rgba(29,30,32,.10);
}
.quote-done-tourchip img{ width:150px; height:76px; border-radius:11px; object-fit:cover; flex:0 0 auto; }
.quote-done-tourchip > div{ flex:1 1 auto; min-width:0; }
.quote-done-tourchip small{
	display:block; color:#7a7c7f; font-size:12px; text-transform:uppercase; letter-spacing:.11em; font-weight:900;
}
.quote-done-tourchip strong{ display:block; margin-top:5px; color:#1d1e20; font-family:var(--font-serif); font-size:22px; font-weight:650; }
.quote-done-tourchip--service{ margin-top:14px; max-width:600px; }
.quote-done-tourchip--service img{ width:104px; height:70px; }
.quote-done-stamp{
	position:relative; flex:0 0 112px; width:112px; height:78px; display:flex; align-items:center; justify-content:center;
	color:rgba(142,93,38,.34); border:2px solid rgba(142,93,38,.22); border-radius:50%;
	transform:rotate(-8deg);
}
.quote-done-stamp::before{
	content:""; position:absolute; inset:10px; border-radius:50%; border:1px dashed rgba(142,93,38,.24);
}
.quote-done-stamp::after{
	content:""; position:absolute; left:11px; right:11px; top:30px; height:18px;
	background:repeating-linear-gradient(180deg,rgba(142,93,38,.20) 0 1px,transparent 1px 6px);
	transform:rotate(8deg);
}
.quote-done-stamp em{
	position:relative; z-index:1; font-family:var(--font-serif); font-style:normal; text-transform:uppercase;
	letter-spacing:.12em; font-size:12px; font-weight:800;
}
.quote-done-tourcheck{ display:none; }
.quote-done-tourcheck--visible{
	display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:34px; height:34px; border-radius:50%;
	color:#fff; background:linear-gradient(135deg,#511e03,#511e03);
}
.quote-done-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:28px; margin-top:30px; }
.quote-done-actions .btn{
	min-width:286px; min-height:66px; gap:13px; border-radius:14px; font-size:18px; font-weight:900;
}
.quote-done-actions .btn-primary{
	background:linear-gradient(135deg,#511e03 0%,#511e03 48%,#511e03 100%);
	box-shadow:0 18px 38px rgba(203,73,16,.30),0 2px 0 rgba(255,226,158,.55) inset;
}
.quote-done-actions .btn-secondary{
	color:#1d1e20; background:linear-gradient(180deg,#f8faf6,#f8faf6);
	border:1px solid rgba(151,92,35,.35);
	box-shadow:0 14px 34px rgba(29,30,32,.08);
}
.quote-done .quote-secure-note{ margin-top:24px; color:#511e03; font-weight:800; }
@media(max-width:620px){
	.quote-done{ border-radius:20px; }
	.quote-done-art{ height:210px; }
	.quote-done-migration{ object-position:center 56%; }
	.quote-done-body{ padding:0 20px 36px; }
	.quote-done-seal{ min-height:62px; margin-top:-56px; margin-bottom:26px; padding:14px 30px 16px; font-size:31px; }
	.quote-done h1{ font-size:42px; }
	.quote-done-title-mark::before,.quote-done-title-mark::after{ width:54px; }
	.quote-done-lead{ font-size:16px; }
	.quote-done-steps{ grid-template-columns:1fr; gap:16px; padding:20px; }
	.quote-done-steps li{ flex-direction:row; text-align:left; gap:14px; }
	.quote-done-steps li > div{ flex:1 1 auto; }
	.quote-done-steps li:not(:last-child)::after,.quote-done-steps li:not(:last-child)::before{ display:none; }
	.quote-done-tourchip{ align-items:flex-start; gap:12px; padding:12px; }
	.quote-done-tourchip img{ width:86px; height:62px; }
	.quote-done-tourchip strong{ font-size:17px; }
	.quote-done-stamp{ display:none; }
	.quote-done-actions{ gap:12px; }
	.quote-done-actions .btn{ width:100%; }
}

@media(max-width:1100px){
	.quote-exact-grid{ grid-template-columns:1fr; }
	.quote-trip-summary--exact{ order:2; }
	.quote-free-card--exact{ order:3; }
	.quote-trust-card{ order:4; }
}
@media(max-width:860px){
	.quote-flow-steps--exact{ grid-template-columns:1fr; max-width:none; gap:12px; padding:10px; border-radius:26px; }
	.quote-flow-steps--exact::before{
		left:39px; right:auto; top:30px; bottom:30px; width:2px; height:auto; transform:none;
		background:linear-gradient(180deg,#511e03 0 70%,rgba(81,30,3,.20) 70% 100%);
		box-shadow:0 0 0 6px rgba(226,126,22,.045);
	}
	.quote-flow-steps--exact::after{ inset:5px; border-radius:22px; }
	.quote-flow-steps--exact li,.quote-flow-steps--exact li:last-child{ grid-template-columns:56px 1fr; min-height:90px; padding:14px 16px; border-radius:20px; }
	.quote-flow-steps--exact li::after{ display:none; }
	.quote-flow-steps--exact li:not(:last-child)::before{ display:none; }
	.quote-flow-steps--exact .quote-step-number{ width:52px; height:52px; font-size:16px; }
	.quote-flow-steps--exact .is-active{ transform:none; }
	.quote-flow-steps--exact .is-active .quote-step-number{ width:56px; height:56px; }
	.quote-flow-steps--exact strong{ max-width:none; font-size:11.5px; }
	.quote-selected-tour{ min-height:470px; }
	.quote-selected-copy{ left:26px; right:26px; bottom:118px; }
	.quote-selected-seal{ display:none; }
	.quote-selected-choice{ grid-template-columns:44px 1fr; padding:16px 22px; }
	.quote-exact-fields{ grid-template-columns:1fr; }
}
@media(max-width:620px){
	.quote-flow-page--exact .quote-flow{ padding-top:24px; }
	.quote-selected-tour{ min-height:430px; border-radius:16px; }
	.quote-selected-copy h1{ font-size:38px; }
	.quote-trip-summary--exact .quote-trip-head h2{ padding:26px 22px 30px; font-size:24px; }
	.quote-trip-tree{ width:92px; right:18px; }
	.quote-trip-birds{ right:104px; }
	.quote-trip-summary--exact .quote-trip-row{ padding:20px 22px; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; }
	.quote-trip-row--expandable .quote-trip-row-main{ grid-template-columns:42px minmax(0,1fr) auto; gap:12px; }
	.quote-trip-summary--exact .quote-trip-row--dates{ grid-template-columns:42px minmax(0,1fr); }
	.quote-trip-summary--exact .quote-trip-row--dates > button{ display:none; }
	.quote-trip-summary--exact .quote-trip-row input{ font-size:18px; }
	.quote-trip-summary--exact .quote-trip-row--dates input{ font-size:15px; }
	.quote-trip-summary--exact .quote-trip-note{ padding:18px 22px 22px; }
	.quote-free-card--exact{ padding:26px 20px; }
	.quote-trust-body{ padding:26px 22px 28px; }
	.quote-trust-seal{ right:14px; top:150px; }
	.quote-trust-seal .seal{ width:104px; height:104px; }
}
@media(max-width:380px){
	.quote-dates-pair{ flex-wrap:wrap; }
	.quote-dates-pair i{ display:none; }
}

/* ---------- About page: editorial safari story ---------- */
.about-wow{
	position:relative; overflow:hidden;
	background:
		linear-gradient(180deg,#f8faf6 0%,#faf3b4 42%,#f8faf6 100%);
}
.about-wow::before,
.about-wow::after{
	content:""; position:absolute; pointer-events:none; opacity:.18;
	background:repeating-radial-gradient(ellipse at center,transparent 0 14px,rgba(131,89,43,.24) 15px 16px);
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
}
.about-wow::before{ left:-150px; top:90px; width:470px; height:330px; transform:rotate(14deg); }
.about-wow::after{ right:-180px; bottom:130px; width:540px; height:360px; transform:rotate(-16deg); }
.about-wow .container{ position:relative; z-index:1; }
.about-wow .breadcrumbs{ margin-bottom:26px; }
.about-wow-hero{
	position:relative; min-height:760px; padding:34px 0 92px; overflow:hidden;
	background:
		linear-gradient(115deg,rgba(255,250,243,.98) 0%,rgba(255,247,235,.90) 44%,rgba(246,225,196,.55) 100%);
}
.about-map-lines{
	position:absolute; inset:0; pointer-events:none; opacity:.36;
	background:
		linear-gradient(115deg,transparent 0 44%,rgba(214,122,26,.13) 45%,transparent 46% 100%),
		repeating-linear-gradient(155deg,transparent 0 30px,rgba(153,103,45,.10) 31px 32px);
}
.about-hero-grid{
	display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1fr); gap:56px; align-items:center;
}
.about-hero-copy h1{
	max-width:760px; margin-top:18px; font-family:var(--font-serif); font-size:clamp(58px,7vw,104px);
	line-height:.88; font-weight:650; color:#1d1e20;
}
.about-hero-note{
	margin-top:18px; max-width:680px; font-family:var(--font-serif); font-size:clamp(28px,3vw,42px);
	line-height:1.05; color:#511e03; font-weight:650; letter-spacing:0;
}
.about-hero-lede{
	margin-top:24px; max-width:650px; color:#5c5d5f; font-size:20px; line-height:1.58; font-weight:600;
}
.about-badge-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.about-mini-badge{
	display:inline-flex; align-items:center; gap:9px; min-height:40px; padding:9px 15px;
	border-radius:999px; background:rgba(255,255,255,.74); border:1px solid rgba(81,30,3,.22);
	color:#1d1e20; font-size:13px; font-weight:850; box-shadow:0 10px 24px rgba(29,30,32,.06);
}
.about-mini-badge svg{ color:#511e03; }
.about-stat-strip{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:650px; margin-top:34px;
	padding:14px; border-radius:18px; background:rgba(255,255,255,.64); border:1px solid rgba(81,30,3,.14);
	box-shadow:0 18px 58px rgba(29,30,32,.09);
}
.about-stat{
	position:relative; min-height:92px; padding:18px 16px; border-radius:14px;
	background:linear-gradient(180deg,rgba(255,253,248,.95),rgba(255,244,229,.72));
}
.about-stat:not(:last-child)::after{
	content:""; position:absolute; right:-6px; top:22px; bottom:22px; width:1px;
	background:linear-gradient(180deg,transparent,rgba(81,30,3,.38),transparent);
}
.about-stat strong{ display:block; font-family:var(--font-serif); font-size:38px; line-height:.9; color:#1d1e20; }
.about-stat small{ display:block; margin-top:9px; color:#5c5d5f; font-size:12.5px; line-height:1.25; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.about-hero-collage{ position:relative; min-height:650px; }
.about-photo-stack{ position:relative; min-height:650px; }
.about-photo-stack::before{
	content:""; position:absolute; left:8%; right:8%; top:11%; height:82%;
	border:1px solid rgba(199,118,39,.18); border-radius:42px; transform:rotate(-4deg);
	background:rgba(255,255,255,.18);
}
.about-photo-main{
	position:absolute; right:4%; top:8%; width:min(620px,88%); height:520px; object-fit:cover;
	border-radius:34px; border:8px solid rgba(255,255,255,.82); box-shadow:0 34px 90px rgba(56,35,18,.22);
}
.about-photo-small{
	position:absolute; z-index:2; object-fit:cover; border:7px solid rgba(255,255,255,.88);
	box-shadow:0 26px 62px rgba(56,35,18,.20);
}
.about-photo-small--one{ left:0; bottom:56px; width:260px; height:210px; border-radius:26px; transform:rotate(-6deg); }
.about-photo-small--two{ right:0; bottom:12px; width:226px; height:260px; border-radius:42% 42% 24px 24px; transform:rotate(5deg); }
.about-floating-note{
	position:absolute; left:36px; top:62px; z-index:3; width:250px; padding:22px 22px 24px;
	background:rgba(255,252,246,.92); border:1px solid rgba(81,30,3,.28); border-radius:18px;
	box-shadow:0 24px 60px rgba(29,30,32,.16); transform:rotate(-3deg);
}
.about-floating-note::before{
	content:""; position:absolute; left:40px; right:40px; top:-11px; height:22px; border-radius:4px;
	background:rgba(255,236,202,.72); transform:rotate(2deg);
}
.about-floating-note span{
	display:block; color:#511e03; font-size:11px; font-weight:950; text-transform:uppercase; letter-spacing:.14em;
}
.about-floating-note strong{
	display:block; margin-top:8px; font-family:var(--font-serif); font-size:26px; line-height:1.02; color:#1d1e20; font-weight:650;
}
.about-seal-wrap{ position:absolute; right:26px; top:32px; z-index:4; color:#511e03; filter:drop-shadow(0 18px 36px rgba(29,30,32,.18)); }
.about-hero-seal{ opacity:.92; }
.about-letter{ padding-top:90px; }
.about-letter-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.78fr); gap:42px; align-items:stretch; }
.about-letter-card{
	position:relative; overflow:hidden; padding:46px; border-radius:26px; background:rgba(255,255,255,.82);
	border:1px solid rgba(81,30,3,.16); box-shadow:0 30px 90px rgba(29,30,32,.11);
}
.about-letter-card::before{
	content:""; position:absolute; left:0; top:0; width:100%; height:6px;
	background:linear-gradient(90deg,#511e03,#511e03,#511e03);
}
.about-letter-kicker{
	display:inline-flex; align-items:center; gap:12px; color:#511e03; font-size:12px; font-weight:950;
	text-transform:uppercase; letter-spacing:.15em;
}
.about-letter-kicker::before{ content:""; width:38px; height:1px; background:currentColor; }
.about-field-lede{
	margin:20px 0 22px; max-width:820px; font-family:var(--font-serif); font-size:clamp(30px,3.6vw,48px);
	line-height:1.04; color:#1d1e20; font-weight:650;
}
.about-letter-card p:not(.about-field-lede){
	max-width:820px; margin-top:16px; color:#5c5d5f; font-size:17px; line-height:1.72;
}
.about-memory-frame{
	position:relative; overflow:hidden; min-height:100%; border-radius:26px; background:#1d1e20;
	box-shadow:0 30px 90px rgba(29,30,32,.15);
}
.about-memory-frame img{ width:100%; height:100%; min-height:430px; object-fit:cover; }
.about-memory-frame::after{
	content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(17,27,37,.62));
}
.about-memory-caption{
	position:absolute; left:24px; right:24px; bottom:24px; z-index:2; display:flex; align-items:center; gap:12px;
	padding:16px 18px; border-radius:16px; color:#fff; background:rgba(16,25,35,.46); border:1px solid rgba(255,255,255,.24);
	backdrop-filter:blur(10px);
}
.about-memory-caption svg{ color:#511e03; flex:0 0 auto; }
.about-memory-caption span{ font-weight:850; line-height:1.35; }
.about-promises{ background:linear-gradient(180deg,rgba(248,250,246,.2),rgba(247,234,216,.7)); }
.about-promise-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:36px; }
.about-promise-card{
	position:relative; overflow:hidden; min-height:276px; padding:26px; border-radius:20px;
	background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,248,238,.82));
	border:1px solid rgba(81,30,3,.14); box-shadow:0 22px 60px rgba(29,30,32,.08);
}
.about-promise-card::after{
	content:""; position:absolute; left:26px; right:26px; bottom:0; height:3px;
	background:linear-gradient(90deg,#511e03,#511e03,transparent);
}
.about-promise-card > span{
	width:54px; height:54px; border-radius:18px; display:flex; align-items:center; justify-content:center;
	background:#faf3b4; color:#511e03; border:1px solid rgba(81,30,3,.28);
}
.about-promise-card h3{ margin-top:22px; font-size:28px; line-height:1.02; font-weight:650; color:#1d1e20; }
.about-promise-card p{ margin-top:14px; color:#5c5d5f; font-size:15px; line-height:1.6; }
.about-timeline{ position:relative; }
.about-timeline-head{ max-width:760px; margin:0 auto 42px; text-align:center; }
.about-timeline-head h2{ margin-top:10px; font-family:var(--font-serif); font-size:clamp(42px,5.5vw,72px); line-height:.96; }
.about-timeline-note{
	margin:18px auto 0; max-width:600px; color:#511e03; font-size:20px; line-height:1.45; font-weight:750;
}
.about-timeline-rail{
	position:relative; display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1080px; margin:0 auto;
}
.about-timeline-rail::before{
	content:""; position:absolute; left:50%; top:22px; bottom:22px; width:1px;
	background:linear-gradient(180deg,transparent,rgba(81,30,3,.58),rgba(81,30,3,.38),transparent);
}
.about-timeline-item{
	position:relative; display:grid; grid-template-columns:72px 1fr; gap:18px; align-items:start;
	padding:24px; border-radius:20px; background:rgba(255,255,255,.76); border:1px solid rgba(81,30,3,.14);
	box-shadow:0 18px 48px rgba(29,30,32,.08);
}
.about-timeline-item:nth-child(even){ margin-top:54px; }
.about-timeline-number{
	width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	font-family:var(--font-serif); font-size:26px; color:#fff;
	background:linear-gradient(135deg,#511e03,#511e03); box-shadow:0 14px 32px rgba(216,99,16,.24);
}
.about-timeline-item span{
	display:block; color:#511e03; font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:950;
}
.about-timeline-item h3{ margin-top:7px; font-size:29px; line-height:1.02; font-weight:650; }
.about-timeline-item p{ margin-top:11px; color:#5c5d5f; font-size:15px; line-height:1.62; }
.about-people{ background:linear-gradient(180deg,rgba(255,248,238,.68),rgba(248,250,246,.55)); }
.about-people-grid{ display:grid; grid-template-columns:.72fr 1fr; gap:34px; align-items:start; }
.about-people-copy{
	position:sticky; top:118px; padding:34px; border-radius:24px; background:#1d1e20; color:#dce7ee;
	box-shadow:0 28px 80px rgba(23,35,50,.22); overflow:hidden;
}
.about-people-copy::after{
	content:""; position:absolute; inset:auto -12% -38% -12%; height:56%;
	background:linear-gradient(180deg,transparent,rgba(81,30,3,.34)); pointer-events:none;
}
.about-people-copy .eyebrow{ color:#511e03; }
.about-people-copy h2{ position:relative; z-index:1; margin-top:12px; color:#fff; font-size:clamp(36px,4vw,56px); line-height:.98; }
.about-people-copy p{ position:relative; z-index:1; margin-top:18px; color:#c5d1d8; line-height:1.7; }
.about-guide-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-guide-card{
	position:relative; overflow:hidden; min-height:430px; border-radius:24px; background:#1d1e20;
	box-shadow:0 28px 76px rgba(29,30,32,.17);
}
.about-guide-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.95; }
.about-guide-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 34%,rgba(12,18,25,.86)); }
.about-guide-card > div{ position:absolute; left:22px; right:22px; bottom:22px; z-index:2; color:#fff; }
.about-guide-card h3{ color:#fff; font-size:36px; line-height:.95; }
.about-guide-card span{ display:block; margin-top:8px; color:#511e03; font-weight:900; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.about-guide-card p{ margin-top:12px; color:rgba(255,255,255,.82); font-size:14px; line-height:1.48; }
.about-proof{ padding-top:82px; }
.about-proof-panel{
	position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr auto; gap:28px; align-items:center;
	padding:36px; border-radius:28px; background:linear-gradient(135deg,#f8faf6 0%,#faf3b4 54%,#faf3b4 100%);
	border:1px solid rgba(81,30,3,.16); box-shadow:0 34px 90px rgba(29,30,32,.13);
}
.about-proof-panel::before{
	content:""; position:absolute; right:-60px; top:-90px; width:340px; height:260px; opacity:.20;
	background:repeating-radial-gradient(ellipse at center,transparent 0 12px,rgba(131,89,43,.35) 13px 14px);
	transform:rotate(-18deg);
}
.about-proof-panel > *{ position:relative; z-index:1; }
.about-proof-panel h2{ margin-top:10px; font-size:clamp(32px,4vw,54px); line-height:.98; }
.about-proof-panel ul{ display:flex; flex-direction:column; gap:14px; }
.about-proof-panel li{ display:flex; align-items:flex-start; gap:12px; color:#5c5d5f; font-size:15px; font-weight:750; line-height:1.45; }
.about-proof-panel li svg{ color:#511e03; flex:0 0 auto; margin-top:2px; }
.about-proof-panel .btn{ min-width:220px; }
@media(max-width:1180px){
	.about-hero-grid{ grid-template-columns:1fr; }
	.about-hero-collage,.about-photo-stack{ min-height:600px; }
	.about-photo-main{ right:7%; }
	.about-promise-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.about-people-grid{ grid-template-columns:1fr; }
	.about-people-copy{ position:relative; top:auto; }
}
@media(max-width:900px){
	.about-letter-grid{ grid-template-columns:1fr; }
	.about-guide-grid{ grid-template-columns:1fr; }
	.about-guide-card{ min-height:360px; }
	.about-proof-panel{ grid-template-columns:1fr; }
	.about-timeline-rail{ grid-template-columns:1fr; }
	.about-timeline-rail::before{ left:32px; }
	.about-timeline-item:nth-child(even){ margin-top:0; }
}
@media(max-width:680px){
	.about-wow-hero{ min-height:auto; padding-bottom:64px; }
	.about-hero-copy h1{ font-size:52px; }
	.about-hero-note{ font-size:30px; }
	.about-hero-lede{ font-size:17px; }
	.about-stat-strip{ grid-template-columns:1fr; }
	.about-stat:not(:last-child)::after{ display:none; }
	.about-hero-collage,.about-photo-stack{ min-height:480px; }
	.about-photo-main{ left:0; right:auto; top:34px; width:100%; height:360px; border-radius:24px; }
	.about-photo-small--one{ width:180px; height:140px; bottom:30px; }
	.about-photo-small--two{ width:150px; height:178px; right:4px; bottom:0; }
	.about-floating-note{ left:14px; top:0; width:210px; padding:18px; }
	.about-floating-note strong{ font-size:27px; }
	.about-seal-wrap{ display:none; }
	.about-letter-card{ padding:30px 22px; }
	.about-field-lede{ font-size:34px; }
	.about-promise-grid{ grid-template-columns:1fr; }
	.about-timeline-item{ grid-template-columns:56px 1fr; padding:18px; }
	.about-timeline-number{ width:50px; height:50px; font-size:21px; }
	.about-timeline-item h3{ font-size:24px; }
	.about-people-copy{ padding:28px 22px; }
	.about-proof-panel{ padding:28px 20px; }
}
@media(max-width:420px){
	.about-hero-copy h1{ font-size:44px; }
	.about-hero-note{ font-size:28px; }
	.about-photo-stack{ min-height:430px; }
	.about-photo-main{ height:330px; }
	.about-memory-frame img{ min-height:340px; }
}

/* ---------- About page: vintage field desk ---------- */
.about-vintage{
	position:relative; overflow:hidden; color:#1d1e20;
	background:
		radial-gradient(circle at 10% 5%,rgba(81,30,3,.12),transparent 28%),
		radial-gradient(circle at 92% 16%,rgba(81,30,3,.10),transparent 25%),
		linear-gradient(180deg,#f8faf6 0%,#faf3b4 44%,#f8faf6 100%);
}
.about-vintage::before,
.about-vintage::after{
	content:""; position:absolute; pointer-events:none; opacity:.18; z-index:0;
	background:repeating-radial-gradient(ellipse at center,transparent 0 13px,rgba(81,30,3,.28) 14px 15px);
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 72%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 25%,#000 72%,transparent);
}
.about-vintage::before{ left:-190px; top:120px; width:520px; height:360px; transform:rotate(16deg); }
.about-vintage::after{ right:-180px; bottom:160px; width:560px; height:360px; transform:rotate(-18deg); }
.about-vintage .container{ position:relative; z-index:1; }
.about-vintage .breadcrumbs{ margin-bottom:22px; }
.about-vintage-hero{ position:relative; padding:34px 0 78px; }
.about-vintage-grid{
	display:grid; grid-template-columns:minmax(0,.82fr) minmax(460px,1fr); gap:58px; align-items:center;
}
.about-script-line{
	display:inline-flex; align-items:center; gap:12px; color:#511e03; font-family:var(--font-script);
	font-size:28px; font-weight:700; line-height:1; transform:rotate(-1.5deg);
}
.about-script-line::before{
	content:""; width:42px; height:2px; border-radius:999px;
	background:linear-gradient(90deg,rgba(81,30,3,.18),rgba(81,30,3,.76));
}
.about-vintage-copy h1{
	margin-top:22px; max-width:680px; font-family:var(--font-serif); font-size:clamp(58px,7vw,98px);
	line-height:.86; font-weight:650; letter-spacing:0; color:#1d1e20;
}
.about-vintage-lede{
	margin-top:20px; max-width:560px; color:#511e03; font-family:var(--font-serif);
	font-size:clamp(27px,3vw,42px); line-height:1.04; font-weight:600;
}
.about-vintage-copy p:not(.about-vintage-lede){
	margin-top:20px; max-width:630px; color:#5c5d5f; font-size:19px; line-height:1.62; font-weight:650;
}
.about-wood-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.about-wood-row span{
	display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:9px 16px; border-radius:999px;
	color:#f8faf6; font-size:13px; font-weight:900;
	background:
		linear-gradient(135deg,rgba(255,211,121,.12),transparent 32%),
		linear-gradient(180deg,#511e03,#351202);
	border:1px solid rgba(255,223,167,.28);
	box-shadow:0 14px 32px rgba(81,30,3,.16),0 1px 0 rgba(255,255,255,.18) inset;
}
.about-wood-row svg{ color:#511e03; }
.about-desk{ position:relative; min-height:610px; }
.about-desk::before{
	content:""; position:absolute; inset:44px 24px 24px 58px; border-radius:36px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.36),rgba(81,30,3,.08)),
		repeating-linear-gradient(95deg,rgba(106,66,32,.08) 0 1px,transparent 1px 12px);
	border:1px solid rgba(81,30,3,.16); transform:rotate(-3deg);
}
.about-desk-main{
	position:absolute; right:0; top:48px; width:min(620px,88%); height:450px; object-fit:cover;
	border-radius:30px; border:8px solid rgba(255,255,255,.78);
	box-shadow:0 36px 92px rgba(62,39,19,.24);
}
.about-desk-polaroid{
	position:absolute; left:0; bottom:42px; width:260px; height:190px; object-fit:cover;
	padding:12px 12px 38px; background:#f8faf6; border-radius:8px;
	box-shadow:0 24px 58px rgba(62,39,19,.20); transform:rotate(-6deg);
}
.about-sticky-note{
	position:absolute; left:36px; top:34px; z-index:3; width:238px; padding:22px 22px 24px;
	background:#faf3b4; border:1px solid rgba(81,30,3,.18); border-radius:8px 8px 22px 8px;
	box-shadow:0 20px 52px rgba(74,47,21,.16); transform:rotate(-3deg);
}
.about-sticky-note::before{
	content:""; position:absolute; left:48px; right:48px; top:-11px; height:20px; border-radius:4px;
	background:rgba(255,222,163,.78); transform:rotate(3deg);
}
.about-sticky-note span{
	display:block; color:#511e03; font-size:11px; font-weight:950; letter-spacing:.14em; text-transform:uppercase;
}
.about-sticky-note strong{
	display:block; margin-top:8px; font-family:var(--font-script); font-size:34px; line-height:.95; color:#1d1e20; font-weight:700;
}
.about-parent-stamp{
	position:absolute; right:34px; bottom:0; z-index:4; display:grid; gap:5px; min-width:260px; padding:18px 22px;
	border-radius:18px; background:rgba(248,250,246,.92); border:1px solid rgba(81,30,3,.22);
	box-shadow:0 22px 52px rgba(62,39,19,.15); transform:rotate(2deg);
}
.about-parent-stamp::after{
	content:""; position:absolute; inset:8px; border-radius:13px; border:1px dashed rgba(81,30,3,.18); pointer-events:none;
}
.about-parent-stamp small{
	position:relative; z-index:1; color:#7a7c7f; font-size:10px; font-weight:950; letter-spacing:.14em; text-transform:uppercase;
}
.about-parent-stamp a{
	position:relative; z-index:1; color:#1d1e20; font-family:var(--font-serif); font-size:25px; font-weight:700; line-height:1.02;
}
.about-brief{ padding-top:52px; }
.about-brief-grid{ display:grid; grid-template-columns:.82fr 1fr; gap:24px; align-items:stretch; }
.about-paper-card,
.about-mv-card,
.about-why-card,
.about-trail-card,
.about-final-paper{
	position:relative; background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.09);
}
.about-paper-card{
	padding:36px; border-radius:26px; overflow:hidden;
}
.about-paper-card::before,
.about-mv-card::before,
.about-final-paper::before{
	content:""; position:absolute; left:34px; top:-10px; width:96px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg);
	box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.about-paper-card > span,
.about-mv-card > span{
	display:block; color:#511e03; font-size:12px; font-weight:950; letter-spacing:.14em; text-transform:uppercase;
}
.about-paper-card h2,
.about-section-head h2,
.about-guide-intro h2,
.about-final-paper h2{
	margin-top:10px; font-family:var(--font-serif); font-size:clamp(38px,4vw,60px); line-height:.95; font-weight:650; color:#1d1e20;
}
.about-paper-card p{
	margin-top:18px; max-width:560px; color:#5c5d5f; font-size:17px; line-height:1.65; font-weight:650;
}
.about-mv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.about-mv-card{ padding:30px; border-radius:22px; }
.about-mv-card h3{ margin-top:12px; font-size:31px; line-height:1; color:#1d1e20; }
.about-mv-card p{ margin-top:14px; color:#5c5d5f; line-height:1.58; font-weight:650; }
.about-section-head{ max-width:740px; margin:0 auto 34px; text-align:center; }
.about-section-head .about-script-line{ justify-content:center; }
.about-why{ background:linear-gradient(180deg,rgba(255,249,239,.20),rgba(239,218,188,.56)); }
.about-why-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.about-why-card{
	min-height:216px; padding:24px; border-radius:22px; overflow:hidden;
}
.about-why-card::after{
	content:""; position:absolute; right:-30px; bottom:-38px; width:130px; height:130px; border-radius:50%;
	background:radial-gradient(circle,rgba(150,82,22,.14),transparent 66%);
}
.about-why-card > span{
	width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius:17px;
	color:#511e03; background:#faf3b4; border:1px solid rgba(81,30,3,.24);
}
.about-why-card h3{ margin-top:18px; font-size:28px; line-height:1; color:#1d1e20; }
.about-why-card p{ margin-top:12px; color:#5c5d5f; line-height:1.55; font-size:15px; font-weight:650; }
.about-timeline-vintage{ position:relative; }
.about-trail{
	position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;
}
.about-trail::before{
	content:""; position:absolute; left:7%; right:7%; top:43px; height:2px; border-radius:999px;
	background:linear-gradient(90deg,rgba(81,30,3,.72),rgba(81,30,3,.42),rgba(81,30,3,.16));
}
.about-trail-card{
	display:grid; gap:18px; padding:22px; border-radius:22px; min-height:232px;
}
.about-trail-year{
	position:relative; z-index:1; width:58px; height:58px; display:flex; align-items:center; justify-content:center;
	border-radius:50%; color:#fff; font-family:var(--font-serif); font-size:25px; font-weight:700;
	background:linear-gradient(135deg,#511e03,#511e03);
	box-shadow:0 14px 32px rgba(201,80,12,.22),0 0 0 8px rgba(255,241,219,.92);
}
.about-trail-card h3{ font-size:31px; line-height:.95; color:#1d1e20; }
.about-trail-card p{ margin-top:10px; color:#5c5d5f; line-height:1.55; font-weight:650; }
.about-guides-vintage{ background:linear-gradient(180deg,rgba(255,246,231,.58),rgba(255,252,246,.76)); }
.about-guide-shell{ display:grid; grid-template-columns:.58fr 1fr; gap:28px; align-items:start; }
.about-guide-intro{
	position:sticky; top:112px; padding:34px; border-radius:26px; overflow:hidden;
	color:#faf3b4; background:
		linear-gradient(135deg,rgba(255,179,66,.10),transparent 42%),
		linear-gradient(180deg,#1d1e20,#1d1e20);
	box-shadow:0 30px 80px rgba(23,35,50,.22);
}
.about-guide-intro .about-script-line{ color:#511e03; }
.about-guide-intro h2{ color:#fff; }
.about-guide-intro p{ margin-top:18px; color:#d2dde0; line-height:1.68; font-weight:650; }
.about-guide-portraits{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.about-owner-card{
	position:relative; overflow:hidden; min-height:590px; border-radius:30px; background:#1d1e20;
	box-shadow:0 34px 84px rgba(23,35,50,.22),0 1px 0 rgba(255,255,255,.18) inset;
}
.about-owner-card::before{
	content:""; position:absolute; left:24px; right:24px; top:24px; bottom:24px; z-index:2;
	border:1px solid rgba(255,255,255,.24); border-radius:22px; pointer-events:none;
}
.about-owner-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.about-owner-card::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg,rgba(10,16,20,.04) 28%,rgba(10,16,20,.40) 58%,rgba(10,16,20,.92));
}
.about-owner-card > div{ position:absolute; left:34px; right:34px; bottom:34px; z-index:3; color:#fff; }
.about-owner-card h3{ color:#fff; font-size:clamp(42px,4.8vw,64px); line-height:.86; }
.about-owner-card span{
	display:inline-flex; margin-top:12px; padding:8px 12px; border-radius:999px;
	color:#351202; background:#511e03; font-size:11px; font-weight:950; letter-spacing:.12em; text-transform:uppercase;
}
.about-owner-card p{ margin-top:14px; color:rgba(255,255,255,.84); line-height:1.55; font-weight:650; }
.about-final-note{ padding-bottom:96px; }
.about-final-paper{
	display:grid; grid-template-columns:minmax(0,.85fr) minmax(240px,.7fr) auto; gap:28px; align-items:center;
	padding:34px; border-radius:28px; overflow:hidden;
}
.about-final-paper p{ color:#5c5d5f; line-height:1.58; font-weight:650; }
.about-final-paper .btn{ min-width:190px; }
@media(max-width:1180px){
	.about-vintage-grid,
	.about-guide-shell,
	.about-brief-grid{ grid-template-columns:1fr; }
	.about-desk{ min-height:580px; }
	.about-guide-intro{ position:relative; top:auto; }
	.about-why-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.about-trail{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.about-trail::before{ display:none; }
}
@media(max-width:760px){
	.about-vintage-hero{ padding-bottom:54px; }
	.about-vintage-copy h1{ font-size:54px; }
	.about-script-line{ font-size:24px; }
	.about-desk{ min-height:520px; }
	.about-desk-main{ width:100%; right:auto; left:0; height:350px; border-radius:24px; }
	.about-desk-polaroid{ width:190px; height:145px; bottom:34px; }
	.about-sticky-note{ left:14px; top:0; width:205px; padding:18px; }
	.about-sticky-note strong{ font-size:29px; }
	.about-parent-stamp{ right:0; bottom:8px; min-width:220px; }
	.about-mv-grid,
	.about-why-grid,
	.about-trail,
	.about-guide-portraits,
	.about-final-paper{ grid-template-columns:1fr; }
	.about-paper-card,
	.about-mv-card,
	.about-guide-intro,
	.about-final-paper{ padding:26px 22px; }
	.about-owner-card{ min-height:500px; border-radius:24px; }
	.about-owner-card > div{ left:26px; right:26px; bottom:28px; }
}
@media(max-width:430px){
	.about-vintage-copy h1{ font-size:46px; }
	.about-vintage-lede{ font-size:27px; }
	.about-vintage-copy p:not(.about-vintage-lede){ font-size:16.5px; }
	.about-desk{ min-height:470px; }
	.about-desk-main{ height:310px; }
	.about-parent-stamp{ position:relative; right:auto; bottom:auto; margin-top:338px; transform:rotate(-1deg); }
	.about-desk-polaroid{ display:none; }
	.about-paper-card h2,.about-section-head h2,.about-guide-intro h2,.about-final-paper h2{ font-size:38px; }
	.about-owner-card{ min-height:460px; }
}

/* ---------- Front page: vintage field desk sections ---------- */
.front-vintage{
	position:relative; overflow:hidden; color:#1d1e20;
	background:
		radial-gradient(circle at 8% 2%,rgba(81,30,3,.13),transparent 25%),
		radial-gradient(circle at 90% 12%,rgba(81,30,3,.10),transparent 24%),
		linear-gradient(180deg,#f8faf6 0%,#faf3b4 42%,#f8faf6 100%);
}
.front-vintage::before,
.front-vintage::after{
	content:""; position:absolute; pointer-events:none; z-index:0; opacity:.16;
	background:repeating-radial-gradient(ellipse at center,transparent 0 13px,rgba(81,30,3,.30) 14px 15px);
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%,#000 72%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 24%,#000 72%,transparent);
}
.front-vintage::before{ left:-210px; top:76px; width:540px; height:380px; transform:rotate(15deg); }
.front-vintage::after{ right:-190px; bottom:240px; width:590px; height:380px; transform:rotate(-17deg); }
.front-vintage > *,
.front-vintage .container{ position:relative; z-index:1; }
.front-vintage .section{ padding:92px 0; background:transparent; }
.front-vintage .section--soft{ background:transparent; }
.front-vintage .section-head{ margin-bottom:38px; }
.front-vintage .section-head.text-center{ max-width:760px; }
.front-vintage .eyebrow{
	display:inline-flex; align-items:center; gap:12px; color:#511e03; font-family:var(--font-script);
	font-size:28px; line-height:1; font-weight:700; letter-spacing:0; text-transform:none; transform:rotate(-1.4deg);
}
.front-vintage .eyebrow::before{
	content:""; width:42px; height:2px; border-radius:999px;
	background:linear-gradient(90deg,rgba(81,30,3,.18),rgba(81,30,3,.76));
	box-shadow:none;
}
.front-vintage .h-section{
	margin-top:16px; max-width:760px; font-family:var(--font-serif);
	font-size:clamp(43px,5.5vw,74px); line-height:.92; font-weight:650; color:#1d1e20;
}
.front-vintage .section-head.text-center .h-section{ margin-left:auto; margin-right:auto; }
.front-vintage .lede{ color:#5c5d5f; font-size:clamp(18px,2vw,24px); line-height:1.45; font-weight:650; }

.front-vintage .search-bar-wrap{ margin-top:34px; }
.front-vintage .search-bar{
	position:relative; overflow:visible; border-radius:28px; padding:24px;
	background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.90));
	border:1px solid rgba(81,30,3,.16);
	box-shadow:0 26px 74px rgba(29,30,32,.15);
	backdrop-filter:blur(16px);
}
.front-vintage .search-bar::before{
	content:""; position:absolute; left:44px; top:-10px; width:128px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.78); transform:rotate(-2deg); box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.front-vintage .search-field{
	border-color:rgba(81,30,3,.14); border-radius:18px;
	background:rgba(255,255,255,.48);
}
.front-vintage .search-field .icon{
	width:42px; height:42px; border-radius:15px; display:flex; align-items:center; justify-content:center;
	color:#511e03; background:#faf3b4; border:1px solid rgba(81,30,3,.20);
}
.front-vintage .search-field label{ color:#511e03; font-weight:950; letter-spacing:.12em; }
.front-vintage .sf-trigger{ color:#1d1e20; font-weight:850; }
.front-vintage .search-bar .btn-primary{ border-radius:18px; box-shadow:0 18px 36px rgba(201,80,12,.24); }
.front-vintage .hero-proof-grid{
	position:relative; max-width:1120px; margin:22px auto 0; padding:20px 14px;
	border-radius:26px; background:rgba(248,250,246,.70); border:1px solid rgba(81,30,3,.14);
	box-shadow:0 18px 48px rgba(29,30,32,.08);
}
.front-vintage .hero-proof-grid::before{
	content:""; position:absolute; left:50%; top:-9px; width:118px; height:18px; border-radius:4px;
	background:rgba(250,243,180,.64); transform:translateX(-50%) rotate(1.5deg);
}
.front-vintage .proof-item{ border-right-color:rgba(81,30,3,.14); }
.front-vintage .proof-item > span{
	width:48px; height:48px; border-radius:17px; color:#511e03;
	background:linear-gradient(180deg,#511e03,#351202);
	box-shadow:0 12px 26px rgba(81,30,3,.14);
}
.front-vintage .proof-item strong{ color:#1d1e20; }

.front-vintage .dest{ margin-top:42px; padding-top:52px; }
@media(min-width:761px){
	/* Keep the destination heading clear of the search/proof stack without
	   recreating the old oversized blank band. */
	.front-vintage .dest{
		margin-top:46px;
		padding-top:58px;
	}
}
.front-vintage .dest-bg-deco{ opacity:.11; right:3%; bottom:4%; color:#511e03; }
.front-vintage .dest-cards-row{ gap:20px; }
.front-vintage .dest-card{
	position:relative; overflow:hidden; border-radius:24px;
	background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16);
	box-shadow:0 24px 58px rgba(29,30,32,.10);
}
.front-vintage .dest-card::before{
	content:""; position:absolute; left:28px; top:-9px; z-index:5; width:86px; height:18px; border-radius:4px;
	background:rgba(250,243,180,.64); transform:rotate(-3deg);
}
.front-vintage .dest-card:nth-child(2n)::before{ left:auto; right:32px; transform:rotate(2deg); }
.front-vintage .dest-card:hover{ transform:translateY(-7px) rotate(-.35deg); box-shadow:0 32px 72px rgba(29,30,32,.14); }
.front-vintage .dest-card .photo{
	margin:12px 12px 0; border-radius:18px; aspect-ratio:16/9; border:1px solid rgba(255,255,255,.66);
	box-shadow:0 16px 36px rgba(29,30,32,.10); background:#faf3b4;
}
.front-vintage .dest-card .body{ padding:18px 22px 22px; }
.front-vintage .dest-card .photo .label .name{ font-family:var(--font-serif); font-size:25px; line-height:1; font-weight:700; }
.front-vintage .dest-card .photo .label .country{ color:#511e03; letter-spacing:.05em; text-transform:uppercase; }
.front-vintage .dest-card .body p{ color:#5c5d5f !important; font-weight:650; }
.front-vintage .dest-card-pin{
	left:20px; top:20px; background:linear-gradient(180deg,#511e03,#351202); color:#511e03;
	box-shadow:0 10px 24px rgba(81,30,3,.18);
}
.front-vintage .dest-card .from b{ font-family:var(--font-serif); font-size:21px; }
.front-vintage .dest-cta{
	background:linear-gradient(180deg,#511e03,#351202); border:1px solid rgba(255,223,167,.28);
	box-shadow:0 18px 42px rgba(81,30,3,.18); color:#f8faf6;
}

.front-vintage .how-grid{
	position:relative; gap:34px; padding:28px; border-radius:34px;
	background:rgba(248,250,246,.56); border:1px solid rgba(81,30,3,.12);
	box-shadow:0 28px 78px rgba(29,30,32,.08);
}
.front-vintage .how-intro{
	position:relative; top:auto; padding:32px; border-radius:26px; overflow:hidden;
	background:linear-gradient(180deg,rgba(248,250,246,.95),rgba(255,246,231,.86));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.08);
}
.front-vintage .how-intro::before{
	content:""; position:absolute; left:32px; top:-10px; width:98px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg);
}
.front-vintage .how-eyebrow svg{ display:none; }
.front-vintage .how-step{ gap:18px; padding-bottom:20px; }
.front-vintage .how-step-body{
	position:relative; flex:1; padding:24px 24px 24px; border-radius:22px;
	background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 18px 46px rgba(29,30,32,.08);
}
.front-vintage .how-step-body::before{
	content:""; position:absolute; right:22px; top:-8px; width:72px; height:16px; border-radius:4px;
	background:rgba(250,243,180,.58); transform:rotate(2deg);
}
.front-vintage .how-step-num{
	background:linear-gradient(135deg,#511e03,#511e03);
	font-family:var(--font-serif); box-shadow:0 14px 32px rgba(201,80,12,.22),0 0 0 8px rgba(255,241,219,.82);
}
.front-vintage .how-step-icon{ color:#511e03; background:#faf3b4; border:1px solid rgba(81,30,3,.22); }
.front-vintage .how-step-body h3{ font-family:var(--font-serif); font-size:31px; line-height:.98; }
.front-vintage .how-step-body p{ color:#5c5d5f; font-weight:650; }

.front-vintage .itin{
	background:linear-gradient(180deg,rgba(255,249,239,.18),rgba(239,218,188,.48));
}
.front-vintage .itin-section-head{
	max-width:920px; margin:0 auto 42px; text-align:center;
}
.front-vintage .itin-grid{
	position:relative; padding:34px; border-radius:34px;
	background:rgba(248,250,246,.55); border:1px solid rgba(81,30,3,.12);
	box-shadow:0 26px 74px rgba(29,30,32,.08);
}
.front-vintage .badge-pill--accent{
	background:transparent; color:#511e03; padding:0; font-family:var(--font-script);
	font-size:27px; line-height:1; letter-spacing:0; text-transform:none; transform:rotate(-1.4deg);
}
.front-vintage .badge-pill--accent .dot{
	width:42px; height:2px; border-radius:999px; background:linear-gradient(90deg,rgba(81,30,3,.18),rgba(81,30,3,.76));
	box-shadow:none;
}
.front-vintage .itin-section-head .badge-pill--accent{ justify-content:center; }
.front-vintage .itin-heading{
	max-width:860px; margin:18px auto 0; color:#1d1e20;
	font-size:clamp(58px,7vw,98px); line-height:.86; font-weight:650; letter-spacing:0;
}
.front-vintage .itin-heading .itin-spark{
	display:block; width:20px; height:20px; margin:18px auto 0;
	color:#511e03; transform:rotate(8deg);
}
.front-vintage .itin-heading-accent{ color:#511e03; font-style:italic; font-weight:500; }
.front-vintage .itin-intro-note{
	position:relative; max-width:540px; padding:34px 36px 32px; border-radius:26px; overflow:hidden;
	background:linear-gradient(180deg,rgba(248,250,246,.95),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16);
	box-shadow:0 22px 58px rgba(29,30,32,.09);
}
.front-vintage .itin-intro-note::before{
	content:""; position:absolute; left:34px; top:-10px; width:104px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg);
	box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.front-vintage .itin-intro-note::after{
	content:""; position:absolute; right:-52px; bottom:-58px; width:190px; height:190px; border-radius:50%;
	background:repeating-radial-gradient(circle,rgba(81,30,3,.13) 0 1px,transparent 2px 14px);
	opacity:.42; pointer-events:none;
}
.front-vintage .itin-note-title{
	position:relative; z-index:1; display:inline-block; color:#511e03;
	font-family:var(--font-serif); font-style:italic; font-size:clamp(52px,5vw,76px);
	line-height:.86; font-weight:500;
}
.front-vintage .itin-note-title::after{
	content:""; position:absolute; left:4px; right:0; bottom:-13px; height:10px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10'%3E%3Cpath d='M1 7c4-7 8 7 12 0s8 7 12 0 8 7 12 0 8 7 12 0' stroke='%23E67E22' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat:repeat-x; background-size:60px 10px;
}
.front-vintage .itin-intro-note .lede{
	position:relative; z-index:1; margin-top:25px; max-width:500px;
	color:#5c5d5f; font-size:clamp(18px,1.9vw,23px); line-height:1.48; font-weight:650;
}
.front-vintage .itin-card{
	border-radius:20px; background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 16px 42px rgba(29,30,32,.08);
}
.front-vintage .itin-day-pill{ background:#faf3b4; color:#511e03; }
.front-vintage .itin-card-title{ font-family:var(--font-serif); font-size:23px; line-height:1; }
.front-vintage .itin-row.is-active .itin-card{
	background:#f8faf6; border-color:rgba(81,30,3,.34);
	box-shadow:0 24px 58px rgba(29,30,32,.12);
}
.front-vintage .itin-photo{
	border-radius:30px; border:8px solid rgba(255,255,255,.70);
	box-shadow:0 36px 92px rgba(62,39,19,.22);
}
.front-vintage .itin-photo-badge{
	border-radius:20px; background:rgba(248,250,246,.92); border:1px solid rgba(81,30,3,.18);
}
.front-vintage .itin-cta-pill{
	background:#f8faf6; border-color:rgba(81,30,3,.18); box-shadow:0 14px 36px rgba(29,30,32,.08);
}

.front-vintage #experiences .grid-4{ gap:18px; }
.front-vintage .feature-card{
	position:relative; min-height:250px; padding:30px 26px 28px; border-radius:24px;
	background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.09);
}
.front-vintage .feature-card::before{
	content:""; position:absolute; left:30px; top:-10px; width:88px; height:18px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg);
}
.front-vintage .feature-card:nth-child(even)::before{ left:auto; right:30px; transform:rotate(3deg); }
.front-vintage .feature-card .icon-chip{
	width:52px; height:52px; border-radius:18px; color:#511e03; background:#faf3b4;
	border:1px solid rgba(81,30,3,.22);
}
.front-vintage .feature-card h3{ font-family:var(--font-serif); font-size:30px; line-height:.98; }
.front-vintage .feature-card p{ color:#5c5d5f; font-weight:650; }

.front-vintage .testi{ background:transparent; }
.front-vintage .testimonial{
	border-radius:24px; background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.09);
}
.front-vintage .testimonial::before{
	content:""; position:absolute; left:34px; top:-10px; width:94px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg);
}
.front-vintage .testimonial--featured{
	background:#f8faf6; border-color:rgba(81,30,3,.34);
	box-shadow:0 34px 84px rgba(29,30,32,.14);
}
.front-vintage .testimonial blockquote{ color:#1d1e20; font-weight:650; }
.front-vintage .testimonial--featured blockquote{ color:#1d1e20; }
.front-vintage .testimonial .avatar{
	background:linear-gradient(180deg,#511e03,#351202); color:#511e03; font-family:var(--font-serif);
}
.front-vintage .testi-stats{
	background:rgba(248,250,246,.78); border-color:rgba(81,30,3,.16);
	box-shadow:0 22px 58px rgba(29,30,32,.09); border-radius:24px;
}
.front-vintage .testi-stat{ border-right-color:rgba(81,30,3,.14); }
.front-vintage .testi-stat strong{ font-family:var(--font-serif); font-size:32px; }

.front-vintage .cta-band{
	margin:0; border-radius:32px; padding:58px 7%; text-align:left;
	display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,43%); gap:44px; align-items:center;
	background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 30px 86px rgba(29,30,32,.12);
}
.front-vintage .cta-band::before{
	content:""; position:absolute; left:42px; top:-10px; width:132px; height:22px; border-radius:4px;
	background:rgba(250,243,180,.78); transform:rotate(-2deg); z-index:2;
}
.front-vintage .cta-band .dots{ opacity:.10; background-image:radial-gradient(rgba(81,30,3,.55) 1.2px,transparent 1.2px); }
.front-vintage .cta-copy{ position:relative; z-index:2; min-width:0; }
.front-vintage .cta-eyebrow{
	font-family:var(--font-script); color:#511e03; font-size:28px; text-transform:none; letter-spacing:0; font-weight:700;
}
.front-vintage .cta-heading{
	max-width:720px; font-family:var(--font-serif); font-size:clamp(43px,5vw,72px); line-height:.92; font-weight:650; color:#1d1e20;
}
.front-vintage .cta-heading span{ color:#511e03; font-style:italic; font-weight:500; }
.front-vintage .cta-band p{ margin-left:0; color:#5c5d5f; font-weight:650; }
.front-vintage .cta-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px; }
.front-vintage .cta-btn-dark{
	margin-top:0; background:linear-gradient(135deg,#511e03,#511e03); color:#fff; box-shadow:0 18px 42px rgba(201,80,12,.24);
}
.front-vintage .cta-phone-pill{
	margin-top:0; background:#f8faf6; border-color:rgba(81,30,3,.18); color:#5c5d5f;
}
.front-vintage .cta-visual{
	position:relative; z-index:1; margin:0; min-height:300px; aspect-ratio:1.25/1; overflow:hidden; border-radius:26px;
	border:10px solid rgba(255,250,242,.86); box-shadow:0 28px 70px rgba(29,30,32,.20), 0 0 0 1px rgba(81,30,3,.14);
	transform:rotate(1.2deg);
}
.front-vintage .cta-visual::before{
	content:""; position:absolute; left:34px; top:-7px; z-index:3; width:120px; height:18px; border-radius:4px;
	background:rgba(250,243,180,.78); transform:rotate(-5deg);
}
.front-vintage .cta-visual::after{
	content:""; position:absolute; inset:0; z-index:1;
	background:linear-gradient(180deg,rgba(17,27,37,0) 48%,rgba(17,27,37,.42) 100%);
	pointer-events:none;
}
.front-vintage .cta-visual img{ width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); }
.front-vintage .cta-visual figcaption{
	position:absolute; left:18px; bottom:18px; z-index:2; display:inline-flex; align-items:center; gap:9px;
	padding:10px 14px; border-radius:999px; background:rgba(255,250,242,.9); color:#511e03;
	font-size:13px; font-weight:950; box-shadow:0 14px 30px rgba(38,24,11,.18);
}
.front-vintage .cta-visual figcaption svg{ color:#511e03; flex-shrink:0; }
@media(max-width:980px){
	.front-vintage .cta-band{ grid-template-columns:1fr; gap:30px; }
	.front-vintage .cta-visual{ width:min(100%,620px); margin:0 auto; transform:none; }
}

@media(min-width:920px){
	.front-vintage .how-grid{ grid-template-columns:.82fr 1.18fr; }
	.front-vintage .how-intro{ position:sticky; top:118px; }
}
@media(max-width:980px){
	.front-vintage .itin-grid{ padding:24px; }
}
@media(max-width:760px){
	.front-vintage .section{ padding:72px 0; }
	.front-vintage .search-bar-wrap{ margin-top:24px; }
	.front-vintage .search-bar{ padding:14px; border-radius:22px; }
	.front-vintage .search-field{ background:transparent; border-radius:0; }
	.front-vintage .hero-proof-grid{ margin-top:18px; padding:20px; }
	.front-vintage .dest{ margin-top:26px; padding-top:42px; }
	.front-vintage .proof-item{ border-right:none; padding:0; }
	.front-vintage .itin-section-head{ margin-bottom:30px; }
	.front-vintage .itin-intro-note{ max-width:none; padding:30px 24px 28px; }
	.front-vintage .how-grid,.front-vintage .itin-grid{ padding:18px; border-radius:26px; }
	.front-vintage .how-intro{ padding:26px 22px; }
	.front-vintage .how-step-body{ padding:22px; }
	.front-vintage .cta-band{ padding:44px 24px; border-radius:26px; }
	.front-vintage .cta-actions{ flex-direction:column; align-items:flex-start; }
	.front-vintage .cta-visual{ min-height:250px; border-width:7px; border-radius:22px; }
}
@media(max-width:480px){
	.front-vintage .eyebrow,.front-vintage .badge-pill--accent,.front-vintage .cta-eyebrow{ font-size:24px; }
	.front-vintage .h-section,.front-vintage .cta-heading{ font-size:38px; }
	.front-vintage .dest-card .photo .label .name{ font-size:22px; }
	.front-vintage .how-step-body h3,.front-vintage .feature-card h3{ font-size:27px; }
	.front-vintage .itin-card-title{ font-size:20px; }
}

/* ---------- Shared vintage page skin: archives, hubs, journal, contact, policies ---------- */
.vintage-page{
	position:relative; overflow:hidden; color:#1d1e20;
	background:
		radial-gradient(circle at 9% 5%,rgba(81,30,3,.14),transparent 25%),
		radial-gradient(circle at 92% 18%,rgba(81,30,3,.09),transparent 25%),
		linear-gradient(180deg,#f8faf6 0%,#faf3b4 44%,#f8faf6 100%) !important;
}
.vintage-page::before,
.vintage-page::after{
	content:""; position:absolute; pointer-events:none; z-index:0; opacity:.15;
	background:repeating-radial-gradient(ellipse at center,transparent 0 13px,rgba(81,30,3,.30) 14px 15px);
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%,#000 72%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 24%,#000 72%,transparent);
}
.vintage-page::before{ left:-210px; top:88px; width:540px; height:380px; transform:rotate(15deg); }
.vintage-page::after{ right:-190px; bottom:160px; width:590px; height:380px; transform:rotate(-17deg); }
.vintage-page > *,
.vintage-page .container{ position:relative; z-index:1; }
.vintage-page .breadcrumbs{ margin-bottom:24px; }
.vintage-page .eyebrow{
	display:inline-flex; align-items:center; gap:12px; color:#511e03; font-family:var(--font-script);
	font-size:28px; font-weight:700; line-height:1; letter-spacing:0; text-transform:none; transform:rotate(-1.4deg);
}
.vintage-page .eyebrow::before{
	content:""; width:42px; height:2px; border-radius:999px;
	background:linear-gradient(90deg,rgba(81,30,3,.18),rgba(81,30,3,.76));
}
.vintage-page .h-section{
	margin-top:16px; font-family:var(--font-serif); font-size:clamp(48px,6vw,88px);
	line-height:.9; font-weight:650; color:#1d1e20; letter-spacing:0;
}
.vintage-page .lede{
	margin-top:20px; max-width:660px; color:#5c5d5f; font-size:clamp(18px,2vw,24px);
	line-height:1.48; font-weight:650;
}
.vintage-page .section-head,
.vintage-page .journal-head,
.vintage-page .taxonomy-hub-head{ margin-top:22px; }
.vintage-page .journal-head,
.vintage-page .taxonomy-hub-head{ max-width:780px; text-align:center; }
.vintage-page .journal-head .eyebrow,
.vintage-page .taxonomy-hub-head .eyebrow{ justify-content:center; }
.vintage-page .journal-head .lede,
.vintage-page .taxonomy-hub-head .lede{ margin-left:auto; margin-right:auto; }
.vintage-page .tour-archive-head{ margin-top:22px; }
.vintage-page .tour-archive-head > div:first-child{ max-width:760px; }

.vintage-page .tour-search-panel,
.vintage-page .tour-filter-sidebar,
.vintage-page .tour-archive-count,
.vintage-page .dest-card,
.vintage-page .post-card,
.vintage-page .journal-featured,
.vintage-page .contact-card,
.vintage-page .journal-empty,
.generic-page-paper,
.taxonomy-hub-note,
.vintage-term-card{
	position:relative; background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.09);
}
.vintage-page .dest-card,
.vintage-page .post-card,
.vintage-term-card{ border-radius:24px; overflow:hidden; }
.vintage-page .dest-card::before,
.vintage-page .post-card::before,
.vintage-term-card::before,
.generic-page-paper::before,
.taxonomy-hub-note::before,
.vintage-page .contact-card::before{
	content:""; position:absolute; left:30px; top:-10px; z-index:4; width:94px; height:19px; border-radius:4px;
	background:rgba(250,243,180,.72); transform:rotate(-3deg); box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.vintage-page .dest-card:nth-child(2n)::before,
.vintage-page .post-card:nth-child(2n)::before,
.vintage-term-card:nth-child(2n)::before{ left:auto; right:30px; transform:rotate(3deg); }
.vintage-page .dest-card:hover,
.vintage-page .post-card:hover,
.vintage-term-card:hover{ transform:translateY(-7px) rotate(-.25deg); box-shadow:0 32px 72px rgba(29,30,32,.15); }
.vintage-page .dest-card .photo,
.vintage-term-card .photo{
	position:relative; display:block; margin:12px 12px 0; border-radius:18px; aspect-ratio:16/9;
	overflow:hidden; border:1px solid rgba(255,255,255,.68); background:#faf3b4;
	box-shadow:0 16px 36px rgba(29,30,32,.10);
}
.vintage-page .dest-card .photo > img,
.vintage-page .dest-card .photo > .cover-art,
.vintage-term-card .photo > img,
.vintage-term-card .photo > .cover-art{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
.vintage-page .dest-card .photo .label .name,
.vintage-term-card .photo .label strong{
	font-family:var(--font-serif); font-size:25px; line-height:1; font-weight:700;
}
.vintage-page .dest-card .photo .label .country,
.vintage-term-card .photo .label small{
	color:#511e03; letter-spacing:.05em; text-transform:uppercase; font-size:12px; font-weight:900;
}
.vintage-page .dest-card .body,
.vintage-page .post-card-body{ padding:20px 22px 22px; }
.vintage-page .dest-card .body p,
.vintage-page .post-card-excerpt{ color:#5c5d5f !important; font-weight:650; }
.vintage-page .dest-card .from b,
.vintage-page .post-card-title,
.vintage-page .journal-featured-title{ font-family:var(--font-serif); }

.vintage-page .post-card-thumb,
.vintage-page .journal-featured-media{ margin:12px 12px 0; border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.68); }
.vintage-page .post-card-thumb img,
.vintage-page .post-card-thumb .cover-art,
.vintage-page .journal-featured-media img,
.vintage-page .journal-featured-media .cover-art{ object-fit:cover; object-position:center; }
.vintage-page .journal-featured{ border-radius:26px; }
.vintage-page .journal-featured-media{ min-height:310px; }
.vintage-page .journal-featured-body{ padding:36px; }
.vintage-page .journal-pill{ background:rgba(248,250,246,.82); border-color:rgba(81,30,3,.16); box-shadow:0 12px 30px rgba(29,30,32,.07); }

.vintage-page .tour-search-panel{ border-radius:26px; padding:20px; }
.vintage-page .tour-filter-sidebar{ border-radius:26px; overflow:hidden; margin-top:0 !important; transform:none; opacity:1; }
.vintage-page .tour-archive-results,
.vintage-page .tour-grid--filtered{ margin-top:0 !important; padding-top:0 !important; }
.vintage-page .tour-filter-sidebar::before{ background:linear-gradient(90deg,#511e03,#511e03,#511e03); }
.vintage-page .tour-search-box,
.vintage-page .tour-filter-option.is-active{ background:#f8faf6; border-color:rgba(81,30,3,.18); }
.vintage-page .tour-search-hints button{ background:#f8faf6; border-color:rgba(81,30,3,.18); }

.contact-page .contact-layout{ align-items:start; }
.contact-page .contact-card{ border-radius:26px; padding:32px; }
.contact-page .contact-card .row .icon{
	border-radius:17px; color:#511e03; background:#faf3b4; border:1px solid rgba(81,30,3,.24);
}
.contact-page .map-embed{ border-radius:26px; border-color:rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.09); }

.gallery-memory-page.vintage-page .gallery-memory-feature-button,
.gallery-memory-page.vintage-page .gallery-memory-card{
	border:8px solid rgba(255,255,255,.72); box-shadow:0 30px 86px rgba(29,30,32,.18);
}
.gallery-memory-page.vintage-page .gallery-memory-feature-button img,
.gallery-memory-page.vintage-page .gallery-memory-card img{ object-fit:cover; object-position:center; }
.gallery-memory-page.vintage-page .gallery-memory-pills span{
	background:#f8faf6; border-color:rgba(81,30,3,.18); color:#5c5d5f;
}
.gallery-memory-page.vintage-page .gallery-memory-toolbar .h-section{
	font-size:clamp(34px,4vw,54px); line-height:.95;
}

.taxonomy-hub-note{
	max-width:760px; margin:34px auto 34px; padding:24px 30px; border-radius:22px; text-align:center;
}
.taxonomy-hub-note span{
	display:block; color:#511e03; font-size:12px; font-weight:950; letter-spacing:.14em; text-transform:uppercase;
}
.taxonomy-hub-note p{ margin:8px auto 0; max-width:620px; color:#5c5d5f; line-height:1.58; font-weight:650; }
.taxonomy-hub-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:700px){ .taxonomy-hub-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1080px){ .taxonomy-hub-grid{ grid-template-columns:repeat(3,1fr); } }
.vintage-term-card{ display:block; color:inherit; transition:transform .3s var(--ease-spring), box-shadow .3s ease; }
.vintage-term-pin{
	position:absolute; left:24px; top:24px; z-index:3; width:42px; height:42px; border-radius:15px;
	display:flex; align-items:center; justify-content:center; color:#511e03;
	background:linear-gradient(180deg,#511e03,#351202); box-shadow:0 12px 26px rgba(81,30,3,.16);
}
.vintage-term-card .photo .label{ position:absolute; left:18px; right:18px; bottom:16px; z-index:2; color:#fff; }
.vintage-term-card .photo .label strong{ display:block; color:#fff; }
.vintage-term-card .photo .label small{ display:block; margin-top:4px; }
.vintage-term-card .body{ display:block; padding:20px 22px 22px; }
.vintage-term-card .body > span{ display:block; color:#5c5d5f; line-height:1.55; font-weight:650; }
.vintage-term-card .body em{
	display:inline-flex; align-items:center; gap:8px; margin-top:18px; color:#511e03; font-style:normal; font-weight:900;
}

.generic-page-container{ max-width:940px; }
.generic-page-paper{ padding:44px; border-radius:30px; overflow:hidden; }
.generic-page-paper .h-section{ max-width:760px; font-size:clamp(42px,5vw,70px); }
.generic-page-image{
	margin:28px 0 8px; border-radius:22px; overflow:hidden; border:8px solid rgba(255,255,255,.72);
	box-shadow:0 24px 64px rgba(29,30,32,.14);
}
.generic-page-image img{ width:100%; display:block; aspect-ratio:16/8; object-fit:cover; }
.generic-page .entry-content{ margin-top:28px; color:#5c5d5f; font-size:17px; line-height:1.72; font-weight:600; }
.generic-page .entry-content h2{
	margin:38px 0 12px; font-family:var(--font-serif); font-size:clamp(30px,3vw,44px);
	line-height:1; color:#1d1e20;
}
.generic-page .entry-content h3{ margin:28px 0 10px; font-size:20px; color:#1d1e20; }
.generic-page .entry-content p{ margin:0 0 18px; }
.generic-page .entry-content ul{ margin:12px 0 24px; padding-left:22px; }
.generic-page .entry-content li{ margin:8px 0; }
.generic-page .entry-content a{ color:#511e03; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px){
	.vintage-page .h-section{ font-size:clamp(40px,12vw,58px); }
	.vintage-page .tour-archive-head{ grid-template-columns:1fr; }
	.generic-page-paper{ padding:32px 22px; border-radius:24px; }
	.taxonomy-hub-note{ padding:22px; }
}

/* ---------- Decorative dotted divider ---------- */
.dotted-divider{ border-top:2px dashed var(--border-warm); margin:64px 0; opacity:.6; }

/* ---------- Mini-laptop / laptop tuning (1024–1366) ---------- */
@media(min-width:1024px) and (max-width:1366px){
	.container{ padding-left:6%; padding-right:6%; }
	.section{ padding:80px 0; }
}

/* ---------- Large desktop polish ---------- */
@media(min-width:1600px){
	.container{ max-width:1400px; }
}

/* ---------- Print ---------- */
@media print{
	.site-header,.mobile-nav,.search-bar-wrap,.cta-band,.site-footer{ display:none!important; }
}

/* ---------- Video Lightbox Modal ---------- */
.video-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s var(--ease-out);
}
.video-lightbox.is-active {
	opacity: 1;
	pointer-events: all;
}
.video-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(14, 10, 7, 0.88);
	backdrop-filter: blur(8px);
}
.video-lightbox-content {
	position: relative;
	width: min(90%, 960px);
	aspect-ratio: 16/9;
	background: #000;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 30px 80px rgba(0,0,0,0.5);
	transform: scale(0.9);
	transition: transform 0.4s var(--ease-spring);
	z-index: 2;
}
.video-lightbox.is-active .video-lightbox-content {
	transform: scale(1);
}
.video-lightbox-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	transition: background 0.2s, transform 0.2s;
}
.video-lightbox-close:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: scale(1.05);
}
.video-lightbox-player {
	width: 100%;
	height: 100%;
}
.video-lightbox-player video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.video-lightbox-player .video-lightbox-iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* Play icon animation / transition scaling inside slider */
.card-play svg {
	width: 20px;
	height: 20px;
	transition: width 0.6s var(--ease-spring), height 0.6s var(--ease-spring);
}
.hero-card--main .card-play svg {
	width: 36px;
	height: 36px;
}

/* ====================================================================
 * Services CPT — archive cards + single detail page
 * ================================================================== */
.service-archive{ padding-top:58px; }
.service-archive-hero{
	display:grid; grid-template-columns:1fr; gap:28px; align-items:end; margin:18px 0 58px;
}
@media(min-width:960px){ .service-archive-hero{ grid-template-columns:minmax(0,1fr) 330px; } }
.service-archive-note{
	position:relative; padding:26px 28px; border-radius:26px;
	background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 22px 58px rgba(29,30,32,.09);
	transform:rotate(1.5deg);
}
.service-archive-note::before{
	content:""; position:absolute; left:34px; top:-10px; width:104px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.74); transform:rotate(-4deg);
}
.service-archive-note span{
	display:block; color:#511e03; font-family:var(--font-script); font-size:27px; line-height:1; font-weight:700;
}
.service-archive-note strong{ display:block; margin-top:10px; color:#1d1e20; font-size:17px; line-height:1.45; }

.service-collections{ display:flex; flex-direction:column; gap:58px; }
.service-collection{
	position:relative; padding:34px; border-radius:32px;
	background:rgba(255,250,242,.62); border:1px solid rgba(81,30,3,.13);
	box-shadow:0 24px 70px rgba(29,30,32,.07);
}
.service-collection::before{
	content:""; position:absolute; left:50%; top:-10px; width:128px; height:20px; border-radius:4px;
	background:rgba(250,243,180,.76); transform:translateX(-50%);
}
.service-collection-head{
	display:flex; flex-direction:column; gap:8px; margin:0 0 26px;
}
.service-collection-head span{
	font-family:var(--font-serif); font-size:clamp(30px,4vw,46px); line-height:.96; color:#1d1e20; font-weight:650;
}
.service-collection-head p{ max-width:660px; color:#5c5d5f; font-size:17px; line-height:1.55; font-weight:650; }

.service-grid{ display:grid; gap:30px; grid-template-columns:1fr; }
@media(min-width:740px){ .service-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1180px){ .service-grid{ grid-template-columns:repeat(3,1fr); } }

.service-card{
	position:relative; display:flex; flex-direction:column; min-height:100%;
	background:linear-gradient(180deg,rgba(248,250,246,.98),rgba(255,248,236,.95));
	border:1px solid rgba(81,30,3,.16); border-radius:26px; overflow:hidden;
	box-shadow:0 24px 70px rgba(29,30,32,.10);
	transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.service-card::before{
	content:""; position:absolute; left:28px; top:-9px; z-index:4; width:92px; height:18px; border-radius:4px;
	background:rgba(250,243,180,.76); transform:rotate(-3deg); box-shadow:0 5px 14px rgba(29,30,32,.08);
}
.service-card:nth-child(2n)::before{ left:auto; right:28px; transform:rotate(3deg); }
.service-card:hover{ transform:translateY(-7px) rotate(-.2deg); box-shadow:0 34px 82px rgba(29,30,32,.16); }
.service-card-media{
	position:relative; display:block; margin:12px 12px 0; aspect-ratio:16/10;
	overflow:hidden; border-radius:20px; background:#faf3b4; border:1px solid rgba(255,255,255,.68);
	box-shadow:0 16px 36px rgba(29,30,32,.10);
}
.service-card-media::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg,rgba(13,20,28,.04) 38%,rgba(13,20,28,.60) 100%);
	pointer-events:none;
}
.service-card-media img,.service-card-media .cover-art{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
	transition:transform .55s cubic-bezier(.16,1,.3,1);
}
.service-card:hover .service-card-media img{ transform:scale(1.06); }
.service-card-kicker{
	position:absolute; left:18px; right:78px; bottom:18px; z-index:2; color:#fff;
	font-size:12px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.service-card-icon{
	position:absolute; right:16px; bottom:16px; z-index:2; width:48px; height:48px; border-radius:17px;
	display:flex; align-items:center; justify-content:center; color:#511e03;
	background:linear-gradient(180deg,#511e03,#351202); box-shadow:0 16px 34px rgba(81,30,3,.26);
}
.service-card-body{ display:flex; flex-direction:column; flex:1 1 auto; padding:24px 24px 26px; }
.service-card-title{ font-family:var(--font-serif); font-size:clamp(25px,2.2vw,31px); line-height:.98; color:#1d1e20; font-weight:650; }
.service-card-title a{ color:inherit; }
.service-card-title a:hover{ color:#511e03; }
.service-card-excerpt{ margin-top:12px; color:#5c5d5f; font-size:15.5px; line-height:1.58; font-weight:650; }
.service-card-features{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:9px; }
.service-card-features li{ display:flex; align-items:center; gap:9px; color:#1d1e20; font-size:14px; font-weight:800; }
.service-card-features svg{
	flex:0 0 auto; width:20px; height:20px; padding:4px; color:#511e03; border-radius:999px;
	background:#faf3b4; border:1px solid rgba(81,30,3,.20);
}
.service-card-foot{
	display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:22px;
}
.service-card-price{ color:#5c5d5f; font-size:14px; font-weight:650; }
.service-card-price b{ color:#1d1e20; font-size:21px; font-family:var(--font-serif); }
.service-card-price b span{ color:#5c5d5f; font-size:12px; font-family:var(--font-body); font-weight:800; }
.service-card-more{ display:inline-flex; align-items:center; gap:7px; color:#511e03; font-weight:950; font-size:14px; white-space:nowrap; }
.service-card:hover .service-card-more svg{ transform:translateX(3px); }
.service-card-more svg{ transition:transform .2s ease; }

/* ---------- Single service ---------- */
.service-single{ padding:58px 0 8px; }
.service-single-hero{
	display:grid; grid-template-columns:1fr; gap:34px; align-items:center; margin:18px 0 46px; padding:34px;
	border-radius:34px; background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); box-shadow:0 30px 86px rgba(29,30,32,.12);
}
@media(min-width:980px){ .service-single-hero{ grid-template-columns:minmax(0,.86fr) minmax(420px,1fr); padding:42px; } }
.service-single-copy .h-section{ max-width:760px; }
.service-single-facts{
	display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;
}
.service-single-facts span{
	display:inline-flex; align-items:center; gap:9px; padding:12px 14px; border-radius:999px;
	background:#f8faf6; border:1px solid rgba(81,30,3,.16); color:#5c5d5f; font-weight:900;
	box-shadow:0 12px 28px rgba(29,30,32,.06);
}
.service-single-facts svg{ color:#511e03; }
.service-single-visual{
	position:relative; min-height:330px; border-radius:26px; overflow:hidden; border:8px solid rgba(255,255,255,.72);
	box-shadow:0 30px 76px rgba(29,30,32,.18); background:#faf3b4;
}
.service-single-visual img,
.service-single-visual .cover-art{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.service-single-visual::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg,rgba(13,20,28,.04) 40%,rgba(13,20,28,.44) 100%);
}
.service-visual-badge{
	position:absolute; right:20px; bottom:20px; z-index:2; min-width:190px; padding:16px 18px; border-radius:18px;
	background:rgba(248,250,246,.92); border:1px solid rgba(81,30,3,.18); box-shadow:0 18px 40px rgba(0,0,0,.13);
}
.service-visual-badge span{
	display:block; color:#511e03; font-size:11px; font-weight:950; letter-spacing:.12em; text-transform:uppercase;
}
.service-visual-badge strong{ display:block; margin-top:4px; font-family:var(--font-serif); font-size:24px; line-height:1; color:#1d1e20; }
.service-single-grid{ display:grid; gap:36px; grid-template-columns:1fr; margin-top:14px; align-items:start; }
@media(min-width:1000px){ .service-single-grid{ grid-template-columns:minmax(0,1fr) 370px; } }
.service-single-paper,
.service-single-features,
.service-booking-card{
	position:relative; background:linear-gradient(180deg,rgba(248,250,246,.94),rgba(255,246,231,.88));
	border:1px solid rgba(81,30,3,.16); border-radius:28px; box-shadow:0 22px 58px rgba(29,30,32,.09);
}
.service-single-paper{ padding:34px; }
.service-single-paper::before,
.service-single-features::before,
.service-booking-card::before{
	content:""; position:absolute; left:32px; top:-10px; z-index:2; width:102px; height:19px; border-radius:4px;
	background:rgba(250,243,180,.76); transform:rotate(-3deg);
}
.service-paper-label,
.service-booking-kicker{
	display:block; color:#511e03; font-family:var(--font-script); font-size:27px; line-height:1; font-weight:700;
}
.service-single-content{ margin-top:18px; font-size:17px; line-height:1.75; color:#5c5d5f; font-weight:600; }
.service-single-content > * + *{ margin-top:20px; }
.service-single-features{ margin-top:32px; padding:32px; }
.service-single-features h2{ margin-top:10px; font-family:var(--font-serif); font-size:clamp(34px,4vw,52px); line-height:.95; color:#1d1e20; }
.service-feature-list{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:14px; grid-template-columns:1fr; }
@media(min-width:620px){ .service-feature-list{ grid-template-columns:1fr 1fr; } }
.service-feature-list li{ display:flex; align-items:flex-start; gap:12px; color:#1d1e20; font-size:15.5px; line-height:1.5; font-weight:800; }
.service-feature-tick{
	flex:0 0 auto; width:28px; height:28px; border-radius:999px; display:flex; align-items:center; justify-content:center;
	color:#511e03; background:#faf3b4; border:1px solid rgba(81,30,3,.22);
}

.service-booking-card{ padding:32px 28px; }
@media(min-width:1000px){ .service-booking-card{ position:sticky; top:108px; } }
.service-booking-icon{
	width:60px; height:60px; border-radius:20px; display:flex; align-items:center; justify-content:center; color:#511e03;
	background:linear-gradient(180deg,#511e03,#351202); box-shadow:0 16px 34px rgba(81,30,3,.24); margin-bottom:18px;
}
.service-booking-kicker{ font-size:24px; }
.service-booking-price{ display:flex; align-items:baseline; gap:9px; margin-top:12px; }
.service-booking-price small{ color:#7a7c7f; font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:.10em; }
.service-booking-price strong{ font-family:var(--font-serif); font-size:44px; line-height:1; color:#1d1e20; }
.service-booking-price strong span{ font-family:var(--font-body); font-size:14px; color:#5c5d5f; font-weight:800; }
.service-booking-note{ margin:16px 0 20px; color:#5c5d5f; font-size:14.5px; line-height:1.58; font-weight:650; }
.service-booking-card .btn-block{ justify-content:center; gap:9px; }
.service-booking-contacts{ display:flex; gap:10px; margin-top:12px; }
.service-booking-contacts a{
	flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; height:48px; border-radius:16px;
	border:1px solid rgba(81,30,3,.18); color:#1d1e20; background:#f8faf6; font-weight:900; font-size:14px;
	transition:border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}
.service-booking-contacts a:hover{ border-color:rgba(81,30,3,.38); color:#511e03; background:#faf3b4; transform:translateY(-2px); }
.service-booking-trust{ display:flex; align-items:center; gap:8px; margin-top:17px; color:#511e03; font-size:13px; font-weight:800; }
.service-booking-trust svg{ color:#511e03; }

.service-related{ margin-top:68px; padding-top:54px; border-top:1px solid rgba(81,30,3,.16); }
@media(max-width:760px){
	.nav-dropdown--services{ min-width:300px; }
	.service-archive{ padding-top:42px; }
	.service-collection,
	.service-single-hero,
	.service-single-paper,
	.service-single-features{ padding:24px; border-radius:26px; }
	.service-single-visual{ min-height:260px; }
	.service-card-foot{ align-items:flex-start; flex-direction:column; }
	.service-booking-contacts{ flex-direction:column; }
}

.single-tour-price small{
	display:block; margin:0 0 8px; font-family:var(--font-body); font-size:11px; font-weight:950;
	letter-spacing:.14em; text-transform:uppercase; color:#511e03;
}

.tour-rate-deck{
	position:relative; padding:32px; border:1px solid rgba(81,30,3,.16); border-radius:30px;
	background:
		radial-gradient(circle at 86% 8%, rgba(244,165,28,.16), transparent 28%),
		linear-gradient(180deg,rgba(248,250,246,.96),rgba(255,246,231,.9));
	box-shadow:0 24px 70px rgba(29,30,32,.10);
}
.tour-rate-deck::before,
.tour-addon-slots::before{
	content:""; position:absolute; left:44px; top:-10px; width:106px; height:20px; border-radius:5px;
	background:rgba(250,243,180,.74); transform:rotate(-2deg);
}
.tour-rate-deck-head{
	display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:26px;
}
.tour-rate-deck-head .tour-detail-heading{ margin:8px 0 10px; }
.tour-rate-deck-head p{ max-width:720px; margin:0; color:#5c5d5f; font-size:15.5px; line-height:1.65; font-weight:700; }
.tour-rate-from-card{
	flex:0 0 auto; min-width:180px; padding:19px 20px; border-radius:22px;
	background:#f8faf6; border:1px solid rgba(81,30,3,.20); box-shadow:0 16px 36px rgba(29,30,32,.09);
}
.tour-rate-from-card small{ display:block; color:#7a7c7f; font-size:11px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.tour-rate-from-card strong{ display:block; margin-top:6px; color:#1d1e20; font-family:var(--font-serif); font-size:32px; line-height:1; }
.tour-rate-from-card strong span{ font-family:var(--font-body); font-size:12px; color:#5c5d5f; font-weight:800; }
/* Live price calculator (season auto-picked from today's date). */
.tour-rate-calculator{
	position:relative; margin-bottom:24px; padding:26px; border-radius:26px;
	border:1px solid rgba(81,30,3,.20);
	background:linear-gradient(180deg,#ffffff,rgba(255,246,231,.92));
	box-shadow:0 20px 54px rgba(29,30,32,.10);
}
.tour-rate-calc-head h3{ margin:10px 0 8px; font-family:var(--font-serif); font-size:26px; line-height:1.1; color:#1d1e20; }
.tour-rate-calc-head p{ margin:0; max-width:640px; color:#5c5d5f; font-size:14.5px; line-height:1.6; font-weight:700; }
.tour-rate-calc-head p strong{ color:#511e03; }
.tour-rate-calc-grid{
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0 20px;
}
.tour-rate-field{ display:flex; flex-direction:column; gap:7px; }
.tour-rate-field > span{
	font-size:11px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; color:#511e03;
}
.tour-rate-field select{
	width:100%; padding:13px 14px; border-radius:14px; border:1px solid rgba(81,30,3,.22);
	background:#fff; color:#1d1e20; font-size:14.5px; font-weight:700; cursor:pointer;
	appearance:none; -webkit-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23511e03' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l7 7 7-7'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 14px center; padding-right:38px;
}
.tour-rate-field select:focus{ outline:none; border-color:#f4a51c; box-shadow:0 0 0 3px rgba(244,165,28,.25); }
.tour-rate-calc-result{
	display:flex; flex-wrap:wrap; align-items:center; gap:20px; padding:20px 22px; border-radius:20px;
	background:#511e03; color:#fff8ef;
}
.tour-rate-calc-price small{
	display:block; font-size:11px; font-weight:950; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,248,239,.72);
}
.tour-rate-calc-price strong{
	display:block; margin:6px 0 2px; font-family:var(--font-serif); font-size:42px; line-height:1; color:#fff;
}
.tour-rate-calc-price strong.is-na{ font-size:30px; }
.tour-rate-calc-price span{ font-size:12.5px; font-weight:800; color:rgba(255,248,239,.78); }
.tour-rate-calc-hotels{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; flex:1 1 280px; }
.tour-rate-calc-hotels small{ display:block; font-size:9.5px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,248,239,.6); }
.tour-rate-calc-hotels strong{ display:block; margin-top:2px; font-size:13px; line-height:1.3; color:#fff8ef; font-weight:700; }
.tour-rate-calc-cta{ margin-top:18px; }
.tour-rate-calc-note{ margin:12px 0 0; font-size:12.5px; line-height:1.55; color:#7a7c7f; font-weight:700; }
@media (max-width:640px){
	.tour-rate-calc-grid{ grid-template-columns:1fr; }
	.tour-rate-calc-price strong{ font-size:36px; }
}

.tour-rate-options{ display:grid; gap:18px; }
.tour-rate-option{
	overflow:hidden; border:1px solid rgba(81,30,3,.15); border-radius:24px;
	background:rgba(255,255,255,.62); box-shadow:0 14px 36px rgba(29,30,32,.07);
}
.tour-rate-option header{
	display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px;
	background:linear-gradient(135deg,rgba(255,244,226,.9),rgba(255,255,255,.7));
	border-bottom:1px solid rgba(81,30,3,.12);
}
.tour-rate-option header small,
.tour-addon-moment{
	display:inline-flex; align-items:center; min-height:28px; padding:0 12px; border-radius:999px;
	background:#f8faf6; color:#511e03; font-size:11px; font-weight:950; letter-spacing:.10em; text-transform:uppercase;
}
.tour-rate-option header h3{ margin:8px 0 0; color:#1d1e20; font-size:22px; line-height:1.1; }
.tour-rate-option header > span{
	width:46px; height:46px; border-radius:17px; display:flex; align-items:center; justify-content:center;
	color:#511e03; background:linear-gradient(180deg,#511e03,#351202);
}
.tour-rate-hotels{
	display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding:1px; background:rgba(81,30,3,.10);
}
.tour-rate-hotels div{ min-height:76px; padding:16px; background:rgba(248,250,246,.94); }
.tour-rate-hotels small{ display:block; color:#7a7c7f; font-size:10px; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }
.tour-rate-hotels strong{ display:block; margin-top:5px; color:#1d1e20; font-size:14px; line-height:1.35; }
.tour-rate-table-wrap{ overflow-x:auto; padding:16px; }
.tour-rate-table{ width:100%; min-width:620px; border-collapse:separate; border-spacing:0; font-size:14px; }
.tour-rate-table th,
.tour-rate-table td{ padding:13px 14px; text-align:left; border-bottom:1px solid rgba(81,30,3,.12); }
.tour-rate-table th{
	color:#511e03; background:#faf3b4; font-size:11px; font-weight:950; letter-spacing:.11em; text-transform:uppercase;
}
.tour-rate-table th:first-child{ border-radius:14px 0 0 14px; }
.tour-rate-table th:last-child{ border-radius:0 14px 14px 0; }
.tour-rate-table td{ color:#1d1e20; font-weight:800; }
.tour-rate-table td:not(:first-child){ color:#1d1e20; font-family:var(--font-serif); font-size:20px; font-weight:700; }
.tour-rate-notes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.tour-rate-note{
	position:relative; min-height:150px; padding:20px 20px 20px 60px; border-radius:22px;
	background:rgba(255,250,242,.82); border:1px solid rgba(81,30,3,.14);
}
.tour-rate-note > span{
	position:absolute; left:18px; top:20px; width:32px; height:32px; border-radius:999px;
	display:flex; align-items:center; justify-content:center; color:#511e03; background:#f8faf6;
}
.tour-rate-note h3{ margin:0 0 10px; font-size:18px; color:#1d1e20; }
.tour-rate-note ul{ margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.tour-rate-note li{ color:#5c5d5f; font-size:13.5px; line-height:1.45; font-weight:750; }
.tour-rate-note li::before{ content:""; display:inline-block; width:6px; height:6px; margin:0 8px 1px 0; border-radius:50%; background:#511e03; }

.tour-addon-slots{
	position:relative; padding:31px; border:1px solid rgba(81,30,3,.16); border-radius:30px;
	background:linear-gradient(180deg,rgba(248,250,246,.95),rgba(255,250,242,.9));
	box-shadow:0 24px 70px rgba(29,30,32,.08);
}
.tour-addon-head p{ max-width:740px; margin:8px 0 0; color:#5c5d5f; font-size:15.5px; line-height:1.62; font-weight:700; }
.tour-addon-grid{ display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:22px; }
.tour-addon-card{
	position:relative; min-height:210px; padding:22px; border-radius:24px; overflow:hidden;
	background:
		linear-gradient(140deg,rgba(255,255,255,.9),rgba(255,245,231,.84)),
		radial-gradient(circle at 100% 0, rgba(244,165,28,.18), transparent 32%);
	border:1px solid rgba(81,30,3,.14); box-shadow:0 15px 36px rgba(29,30,32,.08);
}
.tour-addon-card::after{
	content:""; position:absolute; right:-26px; bottom:-30px; width:115px; height:115px; border-radius:999px;
	border:1px solid rgba(81,30,3,.13);
}
.tour-addon-card h3{ margin:16px 0 8px; color:#1d1e20; font-size:24px; line-height:1.05; }
.tour-addon-card p{ margin:0; color:#5c5d5f; font-size:14.5px; line-height:1.55; font-weight:700; }
.tour-addon-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; }
.tour-addon-card-foot strong{ color:#1d1e20; font-family:var(--font-serif); font-size:21px; line-height:1; }
.tour-addon-card-foot strong span{ font-family:var(--font-body); font-size:12px; color:#5c5d5f; font-weight:800; }
.tour-addon-card-foot a{
	display:inline-flex; align-items:center; gap:7px; color:#511e03; font-size:13px; font-weight:950; text-transform:uppercase; letter-spacing:.07em;
}

.quote-trip-row em,
.quote-season-rate-card p{
	display:block; margin-top:4px; color:#7a7c7f; font-size:12px; font-style:normal; font-weight:750; line-height:1.35;
}
.quote-season-rate-card{
	display:flex; gap:16px; padding:18px 22px; border-top:1px solid rgba(81,30,3,.13);
	background:linear-gradient(135deg,rgba(255,244,226,.72),rgba(255,255,255,.7));
}
.quote-season-rate-card > span{
	flex:0 0 auto; width:42px; height:42px; border-radius:16px; display:flex; align-items:center; justify-content:center;
	color:#511e03; background:#f8faf6; border:1px solid rgba(81,30,3,.18);
}
.quote-season-rate-card small{ display:block; color:#7a7c7f; font-size:11px; font-weight:950; letter-spacing:.10em; text-transform:uppercase; }
.quote-season-rate-card strong{ display:block; margin-top:4px; color:#1d1e20; font-size:14px; line-height:1.35; }

@media(max-width:900px){
	.tour-rate-deck-head{ flex-direction:column; }
	.tour-rate-from-card{ width:100%; }
	.tour-rate-hotels,
	.tour-rate-notes,
	.tour-addon-grid{ grid-template-columns:1fr; }
}
@media(max-width:640px){
	.tour-rate-deck,
	.tour-addon-slots{ padding:24px 18px; border-radius:24px; }
	.tour-rate-option header{ align-items:flex-start; }
	.tour-addon-card-foot{ align-items:flex-start; flex-direction:column; }
}
