/* Tours collection - public retail presentation only. */
:root { --tour-ink:#151A1C; --tour-blue:#24364A; --tour-gold:#9A743E; --tour-clay:#8A5A3A; --tour-red:#A7563D; --tour-sand:#C7B79B; --tour-paper:#F5F1E8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--tour-paper); color:var(--tour-ink); font-family:"Source Serif 4",Georgia,serif; }
.tour-main { overflow:hidden; }
.tour-wrap { width:min(1200px,calc(100% - 40px)); margin-inline:auto; }
.tour-breadcrumb { display:flex; gap:9px; align-items:center; padding:18px 0; overflow:hidden; color:var(--tour-blue); font:700 10px Merriweather,serif; letter-spacing:.04em; white-space:nowrap; }
.tour-breadcrumb a { color:var(--tour-clay); text-decoration:none; }
.tour-eyebrow { margin:0 0 14px; color:var(--tour-clay); font:700 10px Merriweather,serif; letter-spacing:.17em; text-transform:uppercase; }
.tour-eyebrow--light { color:var(--tour-sand); }
.tour-title, .tour-heading, .tour-card h2, .tour-day h3 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; line-height:1; }
.tour-title { max-width:800px; margin:0; color:var(--tour-paper); font-size:clamp(50px,7vw,92px); }
.tour-heading { margin:0; color:var(--tour-ink); font-size:clamp(38px,4.4vw,62px); }
.tour-copy { font-size:17px; line-height:1.72; }
.tour-hero { min-height:655px; display:flex; align-items:end; background-color:var(--tour-ink); background-image:linear-gradient(90deg,rgba(21,26,28,.9),rgba(21,26,28,.57) 53%,rgba(21,26,28,.2)),var(--tour-hero-image); background-size:cover; background-position:center; }
.tour-hero-inner { width:min(1200px,calc(100% - 40px)); margin-inline:auto; padding:125px 0 78px; }
.tour-hero .tour-copy { max-width:655px; margin:24px 0 0; color:var(--tour-paper); font-size:clamp(17px,2vw,21px); line-height:1.55; }
.tour-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.tour-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 19px; border:1px solid var(--tour-gold); background:var(--tour-gold); color:var(--tour-ink); font:700 10px Merriweather,serif; letter-spacing:.11em; text-decoration:none; text-transform:uppercase; }
.tour-button--ghost { border-color:var(--tour-paper); background:transparent; color:var(--tour-paper); }
.tour-button--dark { border-color:var(--tour-blue); color:var(--tour-blue); }
.tour-section { padding:92px 0; }
.tour-section--dark { background:var(--tour-ink); color:var(--tour-paper); }
.tour-section--dark .tour-heading, .tour-section--dark .tour-copy { color:var(--tour-paper); }
.tour-section--sand { background:var(--tour-sand); }
.tour-lead { max-width:730px; margin:22px 0 0; }
.tour-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--tour-sand); background:var(--tour-paper); }
.tour-fact { min-height:112px; padding:25px 28px; border-left:1px solid var(--tour-sand); }
.tour-fact:last-child { border-right:1px solid var(--tour-sand); }
.tour-fact span { display:block; margin-bottom:9px; color:var(--tour-clay); font:700 9px Merriweather,serif; letter-spacing:.15em; text-transform:uppercase; }
.tour-fact strong { display:block; color:var(--tour-ink); font:600 26px/1.05 "Cormorant Garamond",Georgia,serif; }
.tour-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:40px; }
.tour-card { display:flex; flex-direction:column; min-height:300px; background:var(--tour-ink); color:var(--tour-paper); text-decoration:none; border:1px solid var(--tour-ink); transition:background-color .22s ease; }
.tour-card--tone-1 { background:var(--tour-blue); border-color:var(--tour-blue); }
.tour-card--tone-2 { background:var(--tour-clay); border-color:var(--tour-clay); }
.tour-card--tone-3 { background:var(--tour-red); border-color:var(--tour-red); }
.tour-card:hover { background:var(--tour-gold); border-color:var(--tour-gold); }
.tour-card-image { aspect-ratio:1.5; overflow:hidden; background:var(--tour-blue); }
.tour-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.tour-card:hover .tour-card-image img { transform:scale(1.04); }
.tour-card-content { display:flex; flex:1; flex-direction:column; padding:25px; }
.tour-card-meta { color:var(--tour-sand); font:700 9px Merriweather,serif; letter-spacing:.14em; text-transform:uppercase; }
.tour-card h2 { margin:14px 0 12px; color:var(--tour-paper); font-size:34px; }
.tour-card p { margin:0; color:var(--tour-paper); font-size:15px; line-height:1.58; }
.tour-card-footer { display:flex; justify-content:space-between; gap:12px; margin-top:auto; padding-top:22px; color:var(--tour-gold); font:700 10px Merriweather,serif; letter-spacing:.1em; text-transform:uppercase; }
.tour-route { display:grid; grid-template-columns:240px minmax(0,1fr); gap:42px; margin-top:45px; }
.tour-route-side { padding-top:3px; color:var(--tour-clay); font:700 10px/1.7 Merriweather,serif; letter-spacing:.14em; text-transform:uppercase; }
.tour-days { border-top:1px solid var(--tour-sand); }
.tour-day { display:grid; grid-template-columns:115px minmax(0,1fr); gap:32px; padding:34px 0; border-bottom:1px solid var(--tour-sand); }
.tour-day-number { color:var(--tour-clay); font:700 10px Merriweather,serif; letter-spacing:.15em; text-transform:uppercase; }
.tour-day-number strong { display:block; margin-top:9px; color:var(--tour-ink); font:600 38px/1 "Cormorant Garamond",Georgia,serif; }
.tour-day h3 { margin:0 0 12px; color:var(--tour-ink); font-size:clamp(28px,3vw,38px); }
.tour-day p { max-width:770px; margin:0; font-size:16px; line-height:1.7; }
.tour-stay { margin-top:15px; padding-top:14px; border-top:1px solid rgba(21,26,28,.16); color:var(--tour-blue); font:600 22px/1.15 "Cormorant Garamond",Georgia,serif; }
.tour-stay span { display:block; margin-bottom:5px; color:var(--tour-clay); font:700 9px Merriweather,serif; letter-spacing:.12em; text-transform:uppercase; }
.tour-pricing { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:40px; }
.tour-rate-period + .tour-rate-period { margin-top:52px; padding-top:42px; border-top:1px solid rgba(245,241,232,.36); }
.tour-rate-period h3 { margin:0; color:var(--tour-sand); font:600 clamp(26px,3vw,36px)/1.1 "Cormorant Garamond",Georgia,serif; }
.tour-rate-period h3 + .tour-pricing { margin-top:22px; }
.tour-rate { min-height:190px; padding:27px; border:1px solid rgba(245,241,232,.4); }
.tour-rate:nth-child(2) { background:var(--tour-paper); color:var(--tour-ink); border-color:var(--tour-paper); }
.tour-rate-label { display:block; font:700 9px Merriweather,serif; letter-spacing:.14em; text-transform:uppercase; }
.tour-rate-value { display:block; margin:18px 0 10px; font:600 clamp(40px,4.8vw,59px)/.9 "Cormorant Garamond",Georgia,serif; }
.tour-rate-note { display:block; font-size:14px; line-height:1.5; }
.tour-note { max-width:880px; margin:26px 0 0; padding:20px 0; border-top:1px solid rgba(245,241,232,.36); border-bottom:1px solid rgba(245,241,232,.36); color:var(--tour-paper); font-size:15px; line-height:1.65; }
.tour-inclusions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:37px; border:1px solid var(--tour-sand); background:var(--tour-sand); }
.tour-inclusion { padding:30px; background:var(--tour-paper); }
.tour-inclusion h3 { margin:0 0 14px; color:var(--tour-ink); font:600 30px/1 "Cormorant Garamond",Georgia,serif; }
.tour-inclusion ul { margin:0; padding-left:18px; line-height:1.7; }
.tour-inclusion li { margin:8px 0; }
.tour-enquiry { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:58px; align-items:start; }
.tour-enquiry-copy .tour-copy { max-width:470px; margin:22px 0; }
.tour-form { padding:32px; border:1px solid var(--tour-sand); background:var(--tour-paper); }
.tour-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tour-form label { display:grid; gap:7px; color:var(--tour-ink); font:700 9px Merriweather,serif; letter-spacing:.09em; text-transform:uppercase; }
.tour-form input, .tour-form textarea { width:100%; padding:12px; border:1px solid var(--tour-sand); border-radius:0; background:var(--tour-paper); color:var(--tour-ink); font:16px "Source Serif 4",Georgia,serif; }
.tour-form .tour-wide { grid-column:1/-1; }
.tour-form button { margin-top:20px; cursor:pointer; }
.tour-form-status { min-height:1.4em; margin:13px 0 0; }
.tour-honey { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.tour-source { margin-top:27px; color:var(--tour-blue); font:700 10px Merriweather,serif; letter-spacing:.09em; text-transform:uppercase; }
.tour-source a { color:var(--tour-clay); }
@media (max-width:900px) { .tour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tour-enquiry { grid-template-columns:1fr; gap:35px; } .tour-route { grid-template-columns:1fr; gap:24px; } .tour-route-side { padding:0; } }
@media (max-width:650px) { .tour-wrap, .tour-hero-inner { width:min(100% - 28px,1200px); } .tour-hero { min-height:560px; } .tour-hero-inner { padding:80px 0 52px; } .tour-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; } .tour-button { min-height:44px; padding:11px 8px; font-size:8px; } .tour-section { padding:58px 0; } .tour-facts { grid-template-columns:1fr 1fr; } .tour-fact { min-height:92px; padding:18px; border-bottom:1px solid var(--tour-sand); } .tour-grid, .tour-pricing, .tour-inclusions, .tour-form-grid { grid-template-columns:1fr; } .tour-card { min-height:0; } .tour-day { grid-template-columns:74px minmax(0,1fr); gap:16px; padding:27px 0; } .tour-day-number strong { font-size:31px; } .tour-form { padding:21px 16px; } }
