:root{--red:#ed1c24;--black:#090909;--ink:#111;--muted:#666;--paper:#f7f7f5;--line:#e5e5e5;--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{width:min(var(--max),calc(100% - 64px));margin:0 auto}
.site-header{height:72px;background:#fff;border-bottom:1px solid #ececec;position:sticky;top:0;z-index:50}
.header-inner{width:min(var(--max),calc(100% - 64px));height:100%;margin:auto;display:grid;grid-template-columns:270px 1fr 190px;align-items:center;gap:18px}
.brand{text-decoration:none;display:block;line-height:.83;white-space:nowrap}
.brand span{display:block}
.brand b{color:var(--red);font-size:24px;font-weight:900;letter-spacing:-1.5px}
.brand strong{font-size:24px;font-weight:900;letter-spacing:-1.5px;margin-left:5px}
.brand small{display:block;font-size:9px;font-weight:800;letter-spacing:.15px;margin-top:7px;text-align:left;padding-left:70px}
nav{display:flex;justify-content:center;align-items:center;gap:34px;font-size:13px;font-weight:600}
nav a{text-decoration:none;position:relative;padding:27px 0}
nav a:after{content:"";position:absolute;height:2px;background:var(--red);left:0;right:0;bottom:15px;transform:scaleX(0);transition:.2s}
nav a:hover:after,nav a:first-child:after{transform:scaleX(1)}
.header-cta{justify-self:end;background:var(--red);color:#fff;text-decoration:none;font-size:12px;font-weight:800;padding:13px 16px;border-radius:6px;white-space:nowrap}
.hero{height:500px;position:relative;overflow:hidden;background:#222}
.hero-bg{position:absolute;inset:0;background:url('assets/hero-composite-new.png') center center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 39%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.08) 100%)}
.hero-inner{position:relative;z-index:2;width:min(var(--max),calc(100% - 64px));margin:auto;padding-top:92px;color:#fff}
.eyebrow{font-size:12px;letter-spacing:2.8px;font-weight:800;margin-bottom:23px;display:flex;align-items:center;gap:12px}
.eyebrow i{display:block;width:32px;height:4px;background:var(--red)}
h1{font-size:clamp(55px,6.1vw,82px);line-height:.88;letter-spacing:-4px;margin:0 0 20px;font-weight:900}
h1 em{font-style:normal;color:var(--red)}
.hero-inner>p{font-size:15px;line-height:1.42;max-width:570px;margin:0 0 20px;font-weight:600;color:#f4f4f4}
.benefits{display:flex;gap:25px;flex-wrap:wrap;font-size:13px;font-weight:700}
.benefits span{display:flex;align-items:center;gap:7px}
.benefits b{font-size:17px;color:#fff}
.reviews{background:#fff;padding:20px 0 24px}
.rating-line{display:flex;justify-content:center;align-items:center;gap:12px;font-size:18px}
.rating-line strong{font-size:29px}
.stars,.mini-stars{color:#f5b52c;letter-spacing:2px}
.review-intro{max-width:900px;text-align:center;margin:7px auto 18px;font-size:13px;line-height:1.45;color:#666}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-card{min-height:143px;border:1px solid #e6e6e6;border-radius:10px;padding:17px 20px;background:#fff;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.035);transition:transform .2s,box-shadow .2s}
.review-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.08)}
.review-head{display:flex;justify-content:space-between;align-items:flex-start;min-height:30px}
.platform{font-weight:900}
.viator{font-size:22px;color:#087f7b}
.gyg{font-size:14px;line-height:.72;color:var(--red)}
.ta{font-size:15px;color:#111;display:flex;gap:6px;align-items:center}
.ta-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#00aa6c;color:#fff;font-size:9px}
.mini-stars{font-size:14px;letter-spacing:1px}
.review-card blockquote{font-size:13px;line-height:1.35;margin:8px 0 9px;color:#333}
.review-card small{font-size:10px;color:#777}
.booking-band{display:grid;grid-template-columns:1.03fr .97fr;min-height:280px;background:var(--black);color:#fff}
.booking-copy{padding:37px max(32px,calc((100vw - var(--max))/2)) 34px  max(32px,calc((100vw - var(--max))/2))}
.small-kicker{font-size:9px;letter-spacing:1.8px;color:#bbb;font-weight:800;margin-bottom:10px}
.booking-copy h2{font-size:41px;line-height:.94;letter-spacing:-2.2px;margin:0 0 13px}
.booking-copy h2 em{font-style:normal;color:var(--red)}
.booking-copy p{font-size:14px;line-height:1.48;color:#ddd;max-width:590px;margin:0}
.partner-row{display:flex;gap:8px;align-items:center;margin-top:17px;flex-wrap:wrap}
.pill{min-height:39px;padding:9px 13px;border-radius:6px;background:#fff;text-decoration:none;color:#111;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;line-height:.82}
.pill.direct{background:var(--red);color:#fff}
.gyg-pill{color:var(--red);font-size:10px}
.viator-pill{color:#087f7b;font-size:20px}
.ta-pill{font-size:10px;gap:5px}
.car-photo{min-height:280px;background:url('assets/booking-car.jpg') center/cover no-repeat}
.positioning{text-align:center;padding:30px 0 27px;background:#fff}
.narrow{max-width:1000px}
.positioning h2{font-size:27px;letter-spacing:-1.5px;margin:0 0 7px;font-weight:900}
.positioning h2 em{font-style:normal;color:var(--red)}
.positioning p{font-size:14px;line-height:1.5;color:#666;margin:0}
.experiences{background:#fafafa;padding:0 0 27px}
.section-heading{text-align:center;font-size:26px;letter-spacing:-1.4px;font-weight:900;margin:0 0 13px}
.section-heading em{font-style:normal;color:var(--red)}
.tour-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tour-item{min-width:0}
.tour-copy{padding:0 4px 10px}
.tour-copy h3{font-size:22px;letter-spacing:-.6px;margin:0 0 3px;font-weight:900}
.tour-copy p{font-size:14px;font-weight:800;margin:0 0 5px;color:#333}
.tour-copy small{font-size:13px;line-height:1.4;display:block;color:#666;max-width:600px}
.tour-card{height:280px;border-radius:10px;overflow:hidden;position:relative;background:#222}
.tour-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.tour-card:hover img{transform:scale(1.025)}
.tour-desc{position:absolute;left:0;right:0;bottom:0;padding:30px 20px 16px;background:linear-gradient(transparent,rgba(0,0,0,.88));color:#fff;font-size:14px;line-height:1.35;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.enquire{background:#f1f1ee;padding:26px 0}
.enquire-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
.section-heading.left{text-align:left;margin:0 0 10px}
.enquire-copy p{font-size:14px;line-height:1.5;color:#666;max-width:440px;margin:0 0 12px}
.contact-inline{display:flex;gap:18px;flex-wrap:wrap;font-size:11px}
.contact-inline a,.contact-inline span{font-weight:800;text-decoration:none}
.enquiry-form{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 11px}
.enquiry-form label{font-size:9px;font-weight:800;color:#444}
.enquiry-form label b{color:var(--red)}
.enquiry-form label small{font-weight:500;color:#888}
.enquiry-form input,.enquiry-form textarea{display:block;width:100%;border:1px solid #d7d7d7;border-radius:5px;background:#fff;padding:9px 10px;margin-top:4px;font:inherit;font-size:11px;outline:none}
.enquiry-form textarea{min-height:64px;resize:vertical}
.enquiry-form .full{grid-column:1/3}
.enquiry-form button{grid-column:3;align-self:end;border:0;background:var(--red);color:#fff;border-radius:6px;padding:12px 15px;font-size:11px;font-weight:800;cursor:pointer}
.honeypot{position:absolute!important;left:-10000px!important;opacity:0!important}
.footer{background:#080808;color:#fff;padding:17px 0}
.footer-inner{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:24px}
.footer-brand{line-height:.82;display:flex;flex-direction:column}
.footer-brand b{color:var(--red);font-size:18px}
.footer-brand strong{font-size:19px}
.footer-brand small{font-size:7px;margin-top:6px}
.footer-contact{font-size:10px;color:#ddd;display:flex;gap:22px;flex-wrap:wrap}
.footer-contact a{text-decoration:none}
.footer-links{display:flex;gap:7px}
.footer-links a{font-size:9px;font-weight:800;border:1px solid #444;border-radius:5px;padding:7px 9px;text-decoration:none}
@media(max-width:1050px){
.header-inner{grid-template-columns:230px 1fr 150px}.brand b,.brand strong{font-size:21px}.brand small{padding-left:58px}
nav{gap:20px;font-size:12px}.header-cta{font-size:10px;padding:11px}
.hero-inner{padding-top:68px}.hero{height:490px}h1{font-size:61px}
}
@media(max-width:820px){
.wrap,.header-inner,.hero-inner{width:min(100% - 34px,var(--max))}
.site-header{height:65px}.header-inner{grid-template-columns:1fr auto}.header-cta{display:block}.header-inner nav{display:none}
.brand b,.brand strong{font-size:21px}.brand small{font-size:8px;padding-left:57px}
.hero{height:600px}.hero-inner{padding-top:72px}.hero-bg{background-position:center}
h1{font-size:52px;letter-spacing:-2.5px}.hero-inner>p{font-size:14px;max-width:500px}
.review-grid,.tour-grid{grid-template-columns:1fr}.review-card{min-height:auto}.booking-band,.enquire-inner{grid-template-columns:1fr}.booking-copy{padding:34px 20px}.car-photo{min-height:240px;background-position:center}
.enquiry-form{grid-template-columns:1fr 1fr}.enquiry-form .full{grid-column:1/3}.enquiry-form button{grid-column:1/3}
.footer-inner{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
}
@media(max-width:560px){
.wrap,.header-inner,.hero-inner{width:calc(100% - 28px)}
.header-cta{font-size:9px;padding:10px 9px}.brand b,.brand strong{font-size:18px}.brand small{font-size:7px;padding-left:49px}
.hero{height:620px}.hero-inner{padding-top:64px}.hero-bg{background-position:56% center}
.eyebrow{font-size:9px;letter-spacing:2px}.eyebrow i{width:24px}
h1{font-size:45px;letter-spacing:-2.2px}.hero-inner>p{font-size:13px}.benefits{gap:11px;font-size:11px}
.rating-line{flex-wrap:wrap;gap:7px}.rating-line strong{font-size:25px}.rating-line b{font-size:14px}
.review-intro{font-size:12px}.booking-copy h2{font-size:34px}.positioning h2{font-size:23px}.desktop{display:none}
.section-heading{font-size:23px}.tour-card{height:270px}.tour-copy h3{font-size:20px}
.tour-copy p{font-size:13px}
.tour-desc{font-size:13px}
.enquiry-form{grid-template-columns:1fr}.enquiry-form .full,.enquiry-form button{grid-column:auto}.enquiry-form button{justify-self:stretch}
}
