:root { --green:#193e31; --gold:#a78b55; --ivory:#faf9f5; --muted:#68746c; --line:#dfe5dd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Arial,Helvetica,sans-serif; color:var(--green); background:#fff; font-size:15px; line-height:1.7; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--gold); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
img { display:block; width:100%; object-fit:cover; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.2; letter-spacing:-.6px; }
h1 { font-size:52px; } h2 { font-size:32px; } h3 { font-size:20px; }
p { color:var(--muted); }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.container { max-width:1180px; width:calc(100% - 64px); margin-inline:auto; }
.section { padding-block:66px; }
.compact { padding-top:0; }
.label { display:block; font-size:11px; letter-spacing:1.4px; color:var(--gold); font-weight:700; margin-bottom:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; background:var(--green); color:#fff; padding:13px 21px; border:1px solid var(--green); border-radius:5px; font-size:13px; font-weight:600; transition:background .2s; }
.button:hover { color:#fff; background:#2b5945; }
.button.outline { color:var(--green); background:transparent; border-color:#becbbf; }
.button.outline:hover { background:#edf2eb; }
.navigation { display:flex; align-items:center; justify-content:space-between; min-height:82px; gap:25px; }
.brand { display:flex; align-items:center; gap:10px; font-size:23px; font-weight:700; line-height:1.2; white-space:nowrap; }
.brand-icon { display:grid; place-items:center; width:39px; height:39px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-size:29px; }
.brand small { display:block; margin-top:5px; font-size:8px; font-weight:400; letter-spacing:1.8px; }
nav { display:flex; align-items:center; gap:25px; font-size:13px; }
nav [aria-current=page] { color:var(--gold); }
.menu-button { display:none; border:1px solid var(--line); border-radius:4px; background:white; padding:8px 12px; color:var(--green); }
.hero { position:relative; min-height:520px; isolation:isolate; display:flex; align-items:center; color:#fff; }
.hero>img,.destination-hero>img { position:absolute; inset:0; height:100%; z-index:-2; }
.hero::after,.destination-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b271bd9,#0b271b38); z-index:-1; }
.hero-copy { padding-block:65px; }
.hero h1 { font-size:60px; max-width:740px; }
.hero .label { color:#e3d2ac; }
.hero p { color:#e0e8df; margin-top:22px; font-size:16px; }
.actions { display:flex; gap:14px; margin-top:29px; }
.hero .button { background:#f5f2e9; color:var(--green); border-color:#f5f2e9; }
.hero .outline { color:white; background:transparent; border-color:#ffffff80; }
.hero .outline:hover { background:#ffffff20; }
.benefits { display:flex; justify-content:space-between; padding-block:23px; border-bottom:1px solid var(--line); font-size:13px; gap:20px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:28px; }
.section-heading p { margin-top:12px; max-width:700px; font-size:14px; }
.text-link { white-space:nowrap; font-size:13px; font-weight:600; }
.trip-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.trip-card { border:1px solid var(--line); border-radius:7px; overflow:hidden; background:white; }
.card-photo { display:block; position:relative; overflow:hidden; }
.card-photo img { height:224px; transition:transform .3s; }
.card-photo:hover img { transform:scale(1.03); }
.badge { position:absolute; left:14px; bottom:14px; background:#fff; border-radius:3px; padding:4px 9px; font-size:11px; }
.card-content { padding:20px; }
.card-content .label { font-size:10px; letter-spacing:.8px; }
.card-content h3 { font-size:21px; }
.card-content p { font-size:13px; margin-top:10px; }
.card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding-top:15px; margin-top:20px; font-size:12px; }
.card-bottom strong { font-weight:500; }
.card-bottom a { font-weight:600; }
.tinted { background:var(--ivory); }
.destination-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.destination-grid.directory { grid-template-columns:repeat(3,minmax(0,1fr)); }
.destination-card { position:relative; min-height:290px; display:flex; align-items:end; isolation:isolate; overflow:hidden; border-radius:6px; color:white; }
.destination-card:hover { color:white; }
.destination-card>img { position:absolute; inset:0; height:100%; z-index:-2; }
.destination-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#0c291ee6,transparent 85%); z-index:-1; }
.destination-card>div { padding:23px 18px; }
.destination-card h3 { font-size:25px; }
.destination-card p { color:#e0e8db; font-size:12px; margin:9px 0; }
.destination-card span { font-size:11px; }
.features { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.features article>span { color:var(--gold); font-size:13px; display:block; margin-bottom:14px; }
.features h3 { font-size:19px; }
.features p { font-size:13px; margin-top:13px; }
.cta { background:#eaf0e7; padding-block:40px; }
.cta>.container { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.cta p { margin-top:12px; font-size:14px; }
footer { padding-top:45px; background:var(--ivory); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; }
.footer-grid p { margin-top:18px; font-size:13px; }
.footer-grid h3 { font-size:15px; margin-bottom:17px; }
.footer-grid>div>a:not(.brand) { display:block; margin:8px 0; color:var(--muted); font-size:13px; }
.copyright { padding-block:22px; margin-top:35px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.floating-chat { position:fixed; bottom:21px; right:21px; border-radius:30px; padding:11px 18px; color:#fff; background:var(--green); box-shadow:0 3px 12px #0002; font-size:12px; z-index:20; }
.floating-chat:hover { color:#fff; background:#2c6345; }
.skip { position:fixed; top:-100px; left:15px; background:#fff; padding:12px; z-index:50; }
.skip:focus { top:10px; }
.page-heading { padding-block:60px 38px; }
.page-heading p { margin-top:20px; max-width:720px; }
.filters { display:grid; grid-template-columns:2fr 1fr 1fr auto; align-items:end; gap:16px; padding:23px; background:var(--ivory); border:1px solid var(--line); border-radius:6px; }
label { display:block; font-size:12px; font-weight:600; }
input:not([type=checkbox]),select,textarea { display:block; width:100%; padding:11px; margin-top:7px; background:white; border:1px solid #cbd5c9; border-radius:4px; color:var(--green); min-height:44px; font-size:14px; }
textarea { resize:vertical; }
.reset { border:0; background:transparent; color:var(--green); text-decoration:underline; height:44px; font-size:12px; }
.result-count { font-size:12px; margin:20px 0; }
.empty { padding:50px 20px; text-align:center; background:var(--ivory); }
.empty p { margin:20px 0; }
.destination-hero { position:relative; isolation:isolate; color:white; min-height:340px; display:flex; align-items:end; }
.destination-hero .container { padding-block:45px; }
.destination-hero a { font-size:12px; }
.destination-hero h1 { margin-top:18px; }
.destination-hero p { color:#e4e9e1; margin-top:13px; }
.trip-hero h1 { font-size:45px; }
.trip-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:55px; padding-block:45px 70px; align-items:start; }
.trip-layout article>section,.inclusion-grid { margin-bottom:33px; }
.trip-layout h2 { font-size:25px; margin-bottom:20px; }
.tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.tags span { font-size:11px; padding:5px 10px; background:#edf2ea; border-radius:4px; }
details { border-bottom:1px solid var(--line); }
summary { padding:19px 0; cursor:pointer; font-weight:600; font-size:14px; }
summary span { color:var(--gold); margin:0 15px 0 4px; font-size:12px; }
details p { padding:0 10px 20px; font-size:14px; }
.inclusion-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
ul { padding-left:19px; color:var(--muted); font-size:13px; }
li { margin-bottom:11px; }
.notice { padding:23px; margin-top:26px; background:var(--ivory); border-left:3px solid var(--gold); overflow-wrap:anywhere; }
.notice h3 { font-size:17px; }
.notice p { margin-top:12px; font-size:13px; }
.notice small { display:block; margin-top:16px; color:var(--muted); font-size:11px; }
.quote-card { border:1px solid var(--line); padding:25px; border-radius:6px; position:sticky; top:24px; }
.quote-card h2 { margin-bottom:15px; }
.quote-card p { font-size:13px; margin-bottom:20px; }
.quote-card .button { width:100%; padding-inline:10px; font-size:12px; margin-top:10px; }
.quote-card small { display:block; font-size:10px; text-align:center; margin-top:17px; color:var(--muted); }
.form-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; padding-block:60px; align-items:start; }
.form-layout h1 { margin-bottom:25px; }
.form-layout p { font-size:14px; }
.form-layout>div>img { height:230px; border-radius:6px; }
.contact-box { padding-block:25px; margin-block:20px; border-block:1px solid var(--line); }
.contact-box h3 { margin-bottom:15px; }
.contact-box a { display:block; margin-top:8px; font-size:14px; }
.enquiry-form { padding:28px; border:1px solid var(--line); border-radius:6px; background:var(--ivory); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
label small { font-size:10px; font-weight:400; color:var(--muted); }
fieldset { border:0; padding:0; margin:22px 0; }
legend { font-size:12px; font-weight:600; margin-bottom:12px; }
.preferences { display:flex; flex-wrap:wrap; gap:12px 20px; }
.preferences label { font-weight:400; }
input[type=checkbox] { accent-color:var(--green); }
.consent { display:flex; align-items:start; gap:9px; font-weight:400; font-size:11px; margin-block:22px; }
.consent input { margin-top:5px; }
.enquiry-form .button { width:100%; }
.enquiry-form p.muted { font-size:11px; margin-top:13px; }
.muted { color:var(--muted); font-size:12px; }
.privacy { padding-bottom:65px; max-width:800px; }
.privacy p { font-size:13px; margin-top:20px; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.about img { height:400px; border-radius:6px; }
.about p { margin-top:20px; font-size:14px; }
.about .button { margin-top:25px; }
@media(max-width:1000px) { nav { gap:15px; } .brand { font-size:20px; } .trip-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .destination-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .features { grid-template-columns:1fr 1fr; } .filters { grid-template-columns:1fr 1fr; } .form-layout { gap:30px; } }
@media(max-width:800px) { .navigation { min-height:75px; } .menu-button { display:block; } nav { display:none; position:absolute; top:75px; left:0; right:0; padding:22px 32px; background:white; z-index:30; border-bottom:1px solid var(--line); } nav.open { display:flex; flex-direction:column; align-items:stretch; gap:18px; } .hero h1 { font-size:49px; } .benefits { font-size:11px; gap:14px; } .destination-grid.directory { grid-template-columns:1fr 1fr; } .form-layout,.trip-layout,.about { grid-template-columns:1fr; } .form-layout>div>img { display:none; } .quote-card { position:static; } .footer-grid { grid-template-columns:1.5fr 1fr 1fr; gap:22px; } .footer-grid .brand { font-size:17px; } .footer-grid .brand-icon { display:none; } }
@media(max-width:540px) { .container { width:calc(100% - 36px); } body { font-size:14px; } h1 { font-size:38px; } h2 { font-size:27px; } .hero { min-height:480px; } .hero h1 { font-size:43px; } .hero p { font-size:14px; } .hero p br { display:none; } .hero .label { font-size:9px; } .actions { flex-wrap:wrap; gap:10px; } .actions .button { padding:12px 15px; font-size:12px; } .benefits { flex-wrap:wrap; justify-content:center; padding-block:19px; font-size:10px; } .section { padding-block:44px; } .compact { padding-top:0; } .section-heading { display:block; } .section-heading .text-link { display:inline-block; margin-top:16px; } .section-heading .button { margin-top:20px; } .trip-grid { grid-template-columns:1fr; } .destination-grid,.destination-grid.directory { gap:12px; } .destination-card { min-height:260px; } .destination-card h3 { font-size:23px; } .destination-card>div { padding:17px 12px; } .destination-card p { font-size:11px; } .features { gap:28px 20px; } .features h3 { font-size:18px; } .features p { font-size:12px; } .cta>.container { display:block; } .cta .button { margin-top:22px; } .footer-grid { grid-template-columns:1fr 1fr; } .footer-grid>div:first-child { grid-column:1/-1; } .footer-grid .brand { font-size:23px; } .copyright { padding-bottom:75px; } .floating-chat { right:14px; bottom:14px; } .page-heading { padding-block:40px 28px; } .page-heading p { font-size:14px; } .filters { grid-template-columns:1fr; padding:18px; gap:13px; } .trip-hero h1 { font-size:36px; } .trip-layout { gap:30px; padding-top:35px; } .inclusion-grid { grid-template-columns:1fr; gap:15px; } .form-layout { padding-block:40px; } .enquiry-form { padding:20px 17px; } .form-grid { grid-template-columns:1fr; gap:17px; } input:not([type=checkbox]),select,textarea { font-size:16px; } .about img { height:270px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
