: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;text-align:center}
.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:15px;font-weight:900;letter-spacing:.2px;margin-top:8px;text-align:center;padding-left:0}
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-desktop-v5.png?v=20260926-10?v=20260926-10') 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(48px,5.7vw,76px);line-height:.92;letter-spacing:-3.5px;margin:0 0 20px;font-weight:900;max-width:760px}
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?v=20260926-10?v=20260926-10') 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;align-items:center;gap:24px}
.footer-brand{line-height:.9;display:flex;flex-direction:column;text-align:center}
.footer-brand b{color:var(--red);font-size:18px;font-weight:900;letter-spacing:-.7px}
.footer-brand strong{font-size:19px;font-weight:900;letter-spacing:-.7px}
.footer-brand small{font-size:12px;font-weight:900;margin-top:8px;letter-spacing:.1px;text-align:center}
.footer-contact{font-size:10px;color:#ddd;display:flex;gap:22px;flex-wrap:wrap}
.footer-contact a{text-decoration:none}
.footer-links{display:none!important}
.footer-links a{display:none!important}
@media(max-width:1050px){
.header-inner{grid-template-columns:230px 1fr 150px}.brand b,.brand strong{font-size:21px}.brand small{font-size:14px;padding-left:0;text-align:center}
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:13px;padding-left:0;text-align:center}
.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}
}
@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:12px;padding-left:0;text-align:center}
.hero{height:620px}.hero-inner{padding-top:64px}.hero-bg{background-position:center center;background-size:cover}
.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}
}


/* Mobile hero v5: dedicated composition keeps Spitfire, tank and Mayflower visible while copy sits in open sky. */
@media(max-width:560px){
  .hero{height:650px;min-height:650px;background:#101b28;}
  .hero-bg{background-image:url('assets/hero-mobile-one-hurricane-20260926.png?v=20260926-14');background-position:center top;background-size:cover;}
  .hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.18) 57%,rgba(0,0,0,.60) 100%);}
  .hero-inner{padding-top:34px;width:calc(100% - 28px);}
  .hero-inner h1{font-size:34px;line-height:1.0;letter-spacing:-1.5px;max-width:310px;margin:0 0 12px;text-shadow:0 2px 14px rgba(0,0,0,.42);}
  .hero-inner>p{font-size:12px;line-height:1.35;max-width:300px;margin:0;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);}
  .hero-inner .benefits{display:none;}
}
/* Header CTA: no decorative arrow on any viewport. */
.header-cta{padding-right:18px;padding-left:18px;}


/* Final requested homepage refinements — desktop review section remains below the hero; mobile gets a compact in-hero rating only. */
.hero-categories{font-size:15px;line-height:1.45;font-weight:800;color:#fff;max-width:900px;margin-top:8px;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hero-categories i{font-style:normal;color:rgba(255,255,255,.72);padding:0 7px}
.mobile-hero-rating{display:none}
.read-reviews{display:inline-block;margin-left:7px;font-size:17px;font-weight:900;letter-spacing:.1px;color:var(--red);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.read-reviews:hover{text-decoration:underline}
.tour-copy p{font-size:13px;line-height:1.4;font-weight:700;margin:0 0 6px;color:#555}
.tour-copy p span{padding:0 5px;color:#999}
@media(max-width:560px){
  .hero-bg{background-position:calc(50% + 16px) 14px;}
  .hero-inner>p{max-width:325px}
  .hero-categories{font-size:11px;line-height:1.35;margin-top:10px;max-width:340px;font-weight:800}
  .hero-categories i{padding:0 3px}
  .read-reviews{font-size:16px;margin-left:0;margin-top:5px;text-decoration:underline;text-underline-offset:3px}
  .review-intro{line-height:1.55}
  .tour-copy p{font-size:11.5px;line-height:1.35}
  .tour-copy p span{padding:0 3px}
}


/* 2026-09-26 final responsive polish */
/* Hero category/separator line removed from the first picture section on every device. */
.hero-categories{display:none!important}
/* Hero title colours: Museums red; all other title words white. */
h1 em{font-style:normal;color:#fff}
h1 .title-red{color:var(--red)}
h1 .title-white{color:#fff}
/* Reviews CTA has no decorative arrow. */
.read-reviews{font-size:19px;margin-left:7px}

/* Tablets use the laptop/desktop composition rather than the phone stack. */
@media (min-width:561px) and (max-width:1100px){
  .wrap,.header-inner,.hero-inner{width:calc(100% - 44px)}
  .site-header{height:72px}
  .header-inner{grid-template-columns:220px 1fr 155px;gap:14px}
  .header-inner nav{display:flex}
  .brand b,.brand strong{font-size:20px}
  .brand small{font-size:13px}
  nav{gap:18px;font-size:12px}
  .header-cta{font-size:10px;padding:11px 12px}
  .hero{height:500px}
  .hero-inner{padding-top:72px}
  h1{font-size:clamp(50px,6vw,66px)}
  .hero-inner>p{font-size:14px}
  .review-grid,.tour-grid{grid-template-columns:repeat(2,1fr)}
  .tour-card{height:280px}
}

/* Phone portrait + phone landscape: use the dedicated mobile hero composition. */
@media (max-width:560px), (max-height:600px) and (max-width:900px){
  .site-header{height:65px}
  .header-inner{grid-template-columns:1fr auto;width:calc(100% - 28px)}
  .header-inner nav{display:none}
  .brand b,.brand strong{font-size:18px}
  .brand small{font-size:12px}
  .header-cta{font-size:9px;padding:10px 9px}
  .hero{height:650px;min-height:650px}
  .hero-bg{background-image:url('assets/hero-mobile-one-hurricane-20260926.png?v=20260926-14');background-size:cover;background-position:calc(50% + 8px) 24px;background-repeat:no-repeat;background-color:#101b28}
  .hero-inner{width:calc(100% - 28px);padding-top:34px}
  .hero-inner h1{font-size:34px;line-height:1;letter-spacing:-1.5px;max-width:310px;margin:0 0 12px}
  .hero-inner>p{font-size:12px;line-height:1.35;max-width:325px;margin:0}
  /* Do not repeat the 5.0 rating underneath the hero on phones. */
  .reviews .rating-line{display:none}
  .review-intro{margin-top:0}
  .read-reviews{font-size:19px;margin-left:0;margin-top:5px}
  .review-grid{grid-template-columns:1fr}
  .tour-grid{grid-template-columns:1fr}
  .tour-copy p{font-size:11.5px;line-height:1.35}
  .tour-copy p span{padding:0 3px}
}

/* In phone landscape keep the same mobile header but use the available horizontal space sensibly. */
@media (orientation:landscape) and (max-width:900px) and (max-height:600px){
  .hero{height:430px;min-height:430px}
  .hero-bg{background-position:calc(50% + 8px) 0}
  .hero-inner{padding-top:26px}
  .hero-inner h1{font-size:32px;max-width:430px}
  .hero-inner>p{font-size:12px;max-width:410px}
  .mobile-hero-rating{bottom:14px}
  .review-grid{grid-template-columns:repeat(3,1fr)}
  .tour-grid{grid-template-columns:repeat(2,1fr)}
  .tour-card{height:250px}
}

/* No arrow glyphs in primary CTA/button labels. */
button,.header-cta,.read-reviews{white-space:nowrap}


/* 2026-09-26-09 — hard cache-busted responsive correction.
   The hero must contain only the headline/subhead plus the mobile in-hero rating;
   the platform/category separator line never belongs in the hero. */
.hero-categories{display:none!important;}
.read-reviews{font-size:19px!important;margin-left:0!important;text-decoration:underline!important;text-underline-offset:3px;}
@media (max-width:560px){
  .hero-categories{display:none!important;}
  .reviews .rating-line{display:none!important;}
  .mobile-hero-rating{display:flex!important;position:absolute!important;left:14px!important;right:14px!important;bottom:20px!important;z-index:4!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;color:#fff!important;}
  .mobile-hero-rating strong{font-size:25px!important;line-height:1!important;}
  .mobile-stars{font-size:23px!important;letter-spacing:1px!important;color:#f5b52c!important;line-height:1!important;}
  .mobile-hero-rating b{font-size:13px!important;line-height:1.1!important;}
  .read-reviews{font-size:19px!important;margin-left:0!important;margin-top:5px!important;}
}
@media (orientation:landscape) and (max-width:900px) and (max-height:600px){
  .mobile-hero-rating{bottom:14px!important;}
}

/* 2026-09-26-11 — mobile reviews link: explicit size, red colour and underline. */
@media (max-width:560px){.read-reviews{font-size:20px!important;font-weight:900!important;color:var(--red)!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;display:inline-block!important;}}
