:root { --ink:#10251f; --forest:#123d31; --green:#1f6b52; --lime:#d7ef9f; --cream:#f4f1e8; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Manrope",sans-serif; }
a { color:inherit; text-decoration:none; }
.container { width:min(1120px,calc(100% - 48px)); margin:auto; }
.tour-hero { position:relative; min-height:650px; overflow:hidden; color:white; background-position:center; background-size:cover; }
.tour-hero::before { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#071b17ed 0%,#123d31c7 48%,#10251f3d 100%); }
.tour-hero::after { position:absolute; inset:0; content:""; opacity:.17; background-image:radial-gradient(#fff .8px,transparent .8px); background-size:18px 18px; }
.tour-nav { position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; height:90px; border-bottom:1px solid #ffffff26; }
.logo { font-size:18px; font-weight:800; letter-spacing:2px; }
.logo span { color:var(--lime); }
.brand-logo { display:inline-flex; align-items:center; gap:10px; }
.brand-avatar { width:42px; height:42px; object-fit:cover; border:2px solid #ffffff45; border-radius:50%; }
.back-link { font-size:13px; opacity:.75; }
.hero-copy { position:relative; z-index:2; padding-top:95px; }
.eyebrow { margin:0 0 18px; color:var(--lime); font-size:11px; font-weight:800; letter-spacing:3px; text-transform:uppercase; }
.eyebrow.dark { color:var(--green); }
h1,h2 { margin:0; font-family:"Playfair Display",serif; line-height:1; }
h1 { font-size:clamp(70px,10vw,130px); }
.hero-copy>p:not(.eyebrow) { max-width:550px; margin:25px 0 45px; color:#ffffffb5; font-size:17px; line-height:1.7; }
.hero-art { position:absolute; right:10%; bottom:110px; z-index:1; font-size:150px; filter:drop-shadow(0 25px 35px #061712aa); }
.quick-facts { display:flex; gap:55px; }
.quick-facts div { display:flex; flex-direction:column; gap:8px; padding-left:15px; border-left:2px solid var(--lime); }
.quick-facts span { color:#ffffff88; font-size:10px; text-transform:uppercase; letter-spacing:1px; }
.quick-facts strong { font-size:14px; }
.detail-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:90px; padding-top:100px; padding-bottom:110px; }
.program h2 { margin-bottom:55px; font-size:clamp(42px,5vw,65px); }
.timeline { display:grid; gap:0; }
.timeline-item { position:relative; display:grid; grid-template-columns:70px 1fr; gap:20px; padding:0 0 35px; }
.timeline-item::before { position:absolute; top:24px; bottom:0; left:19px; width:1px; content:""; background:#1f6b5230; }
.timeline-item:last-child::before { display:none; }
.timeline-number { position:relative; z-index:1; display:grid; place-items:center; width:40px; height:40px; color:var(--green); font-size:11px; font-weight:800; background:var(--lime); border-radius:50%; }
.timeline-item h3 { margin:2px 0 8px; font-size:17px; }
.timeline-item p { margin:0; color:#6c7873; font-size:13px; line-height:1.6; }
.booking-card { position:sticky; top:30px; align-self:start; padding:34px; color:white; background:var(--forest); border-radius:5px; box-shadow:0 25px 60px #0e2b201e; }
.booking-card>p { margin:0 0 10px; color:#ffffff80; font-size:11px; text-transform:uppercase; letter-spacing:1.5px; }
.booking-card h2 { margin-bottom:28px; color:var(--lime); font-size:48px; }
.booking-card ul { display:grid; gap:14px; padding:22px 0; margin:0 0 25px; list-style:none; border-top:1px solid #ffffff26; }
.booking-card li { color:#ffffffb0; font-size:12px; }
.booking-card a { display:flex; align-items:center; justify-content:space-between; padding:17px 18px; color:var(--ink); font-size:12px; font-weight:800; background:var(--lime); border-radius:3px; }
.booking-card small { display:block; margin-top:14px; color:#ffffff65; font-size:10px; text-align:center; }
.attractions-section { padding:105px 0 120px; background:#e9e5da; }
.attractions-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:45px; }
.attractions-heading h2 { max-width:680px; font-size:clamp(42px,5vw,65px); }
.attractions-heading p { max-width:360px; margin:0; color:#6c7873; font-size:13px; line-height:1.7; }
.attractions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.attraction-card { position:relative; min-height:360px; overflow:hidden; color:white; background:#173c31; border-radius:5px; }
.attraction-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.attraction-card:hover img { transform:scale(1.05); }
.attraction-card::after { position:absolute; inset:0; content:""; background:linear-gradient(transparent 35%,#071914ec); }
.attraction-card-content { position:absolute; right:20px; bottom:20px; left:20px; z-index:1; }
.attraction-card-number { display:block; margin-bottom:9px; color:var(--lime); font-size:10px; letter-spacing:2px; }
.attraction-card h3 { margin:0 0 8px; font-family:"Playfair Display",serif; font-size:24px; line-height:1.1; }
.attraction-card p { margin:0; color:#ffffffa0; font-size:11px; line-height:1.5; }
.attraction-card:nth-child(n+5) { min-height:280px; }
footer { padding:35px 0; color:white; background:#091c17; }
footer .container { display:flex; align-items:center; justify-content:space-between; }
footer p { font-size:12px; opacity:.65; }
@media(max-width:900px){.attractions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.tour-hero{min-height:690px}.hero-art{right:5%;bottom:160px;font-size:100px;opacity:.55}.quick-facts{flex-wrap:wrap;gap:25px}.detail-grid{grid-template-columns:1fr;gap:55px}.booking-card{position:static}.back-link{font-size:0}.back-link::after{content:"←";font-size:22px}.attractions-heading{align-items:start;flex-direction:column}}
@media(max-width:520px){body{overflow-x:hidden}.container{width:calc(100% - 32px)}.tour-nav{height:72px}.brand-logo{max-width:190px;font-size:12px;line-height:1.1}.brand-avatar{flex:0 0 auto;width:36px;height:36px}.hero-copy{padding-top:70px}h1{font-size:clamp(50px,16vw,68px);overflow-wrap:anywhere}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-art{bottom:190px;font-size:76px}.quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quick-facts div:last-child{grid-column:1/-1}.detail-grid{padding-top:70px;padding-bottom:70px}.program h2,.attractions-heading h2{font-size:42px;line-height:1.05}.booking-card{padding:26px}.booking-card a{justify-content:space-between;width:100%}.attractions-section{padding:75px 0}.attractions-grid{grid-template-columns:1fr}.attraction-card,.attraction-card:nth-child(n+5){min-height:330px}footer .container{align-items:flex-start;flex-direction:column;gap:12px}}
