
:root{--navy:#071b33;--navy2:#0d2948;--navy3:#15395f;--red:#e12631;--green:#168b55;--gold:#caa65a;--white:#fff;--cream:#f7f8fa;--ink:#142033;--muted:#637083;--line:#dce2e9;--shadow:0 18px 55px rgba(7,27,51,.12);--r:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6;background:#fff}body.modal-open{overflow:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;top:-60px;left:10px;background:#fff;padding:10px;z-index:200}.skip-link:focus{top:10px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid #ffd166;outline-offset:3px}
.site-header{position:sticky;top:0;z-index:80;background:rgba(7,27,51,.97);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.1)}.site-header.scrolled{box-shadow:0 12px 35px rgba(4,16,31,.25)}.nav-wrap{height:80px;display:flex;align-items:center;gap:26px}.brand{display:flex;flex-direction:column;line-height:1;min-width:max-content}.brand strong{font-size:27px;letter-spacing:.08em;color:#fff}.brand strong span{display:inline-grid;place-items:center;background:var(--red);width:29px;height:33px;transform:skew(-8deg);margin:0 2px}.brand small{font-size:10px;letter-spacing:.25em;color:#d8e2ed;margin-top:6px}.nav-wrap nav{display:flex;gap:20px;margin-left:auto}.nav-wrap nav a{font-size:14px;font-weight:800;color:#e8eef5}.nav-wrap nav a:hover,.nav-wrap nav a[aria-current="true"]{color:#fff}.menu-toggle{display:none;margin-left:auto;background:none;border:0;width:45px;height:45px;padding:10px}.menu-toggle i{display:block;height:2px;background:#fff;margin:6px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 21px;border-radius:12px;border:1px solid transparent;font-weight:900;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.red{background:var(--red);color:#fff}.green{background:var(--green);color:#fff}.outline{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.04)}.navy-outline{color:var(--navy);border-color:var(--navy);background:#fff}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 25%,rgba(225,38,49,.16),transparent 25%),linear-gradient(180deg,#0b2a4a,#06182d);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,38,.98),rgba(7,27,51,.76) 58%,rgba(7,27,51,.25))}.city{position:absolute;inset:0;opacity:.35;background:linear-gradient(170deg,transparent 0 63%,#193b5b 64% 76%,#071b33 77%),repeating-linear-gradient(90deg,transparent 0 62px,rgba(255,255,255,.04) 63px 64px)}.city:after{content:"";position:absolute;right:4%;bottom:140px;width:43%;height:300px;background:linear-gradient(90deg,#163b5f 0 10%,transparent 10% 13%,#244b6e 13% 29%,transparent 29% 33%,#153554 33% 45%,transparent 45% 49%,#244b6e 49% 61%,transparent 61% 65%,#153554 65% 78%,transparent 78%);clip-path:polygon(0 35%,12% 35%,12% 14%,28% 14%,28% 28%,45% 28%,45% 4%,60% 4%,60% 22%,78% 22%,78% 40%,100% 40%,100% 100%,0 100%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center;min-height:680px;padding:85px 0}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.22em;font-weight:900;margin:0 0 16px}.red-text{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.055em;margin-bottom:27px}h1 em{font-style:normal;color:#ff5360}.lead{font-size:19px;color:#d2deea;max-width:690px}.ticks{display:grid;grid-template-columns:repeat(2,max-content);gap:10px 25px;margin:28px 0;color:#fff;font-weight:800}.actions{display:flex;flex-wrap:wrap;gap:12px}.postcode-card{background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.4);border-radius:var(--r);padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.24)}.postcode-card h2{font-size:32px;line-height:1.1}.postcode-card p,.postcode-card small{color:var(--muted)}.postcode-card form{display:grid;gap:10px}.postcode-card input{height:52px;border:1px solid var(--line);border-radius:11px;padding:0 15px}.postcode-result{min-height:27px;margin-top:13px;font-weight:800}.postcode-result.good{color:#167a4c}.postcode-result.maybe{color:#9a6700}
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr)}.trust-grid div{text-align:center;padding:23px 10px;border-right:1px solid var(--line)}.trust-grid div:last-child{border:0}.trust-grid b,.trust-grid span{display:block}.trust-grid b{color:var(--navy)}.trust-grid span{color:var(--muted);font-size:13px}.section{padding:92px 0}.light{background:var(--cream)}.dark{background:var(--navy);color:#fff}.two-col{display:grid;grid-template-columns:.78fr 1.22fr;gap:75px;align-items:start}.copy h2,.section-head h2{font-size:clamp(35px,4vw,53px);line-height:1.08;letter-spacing:-.04em}.copy p{font-size:18px;color:var(--muted)}.text-link{color:var(--red);font-weight:900}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card,.price-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.card span{color:var(--red);font-weight:900}.card h3{margin:26px 0 8px}.card p{color:var(--muted);margin:0}.section-head{text-align:center;max-width:790px;margin:0 auto 44px}.section-head p{color:var(--muted)}.four-grid,.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dark-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px}.dark-card i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(225,38,49,.18);color:#ff6470;font-style:normal;font-weight:900;margin-bottom:28px}.dark-card p{color:#c9d5e2}.price-card{text-align:center;position:relative}.price-card strong{font-size:47px;display:block;line-height:1;color:var(--navy)}.price-card span{color:var(--muted)}.price-card.featured{background:var(--navy);color:#fff;transform:translateY(-10px)}.price-card.featured strong{color:#fff}.price-card.featured b{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--red);padding:4px 13px;border-radius:99px;font-size:11px}.note{text-align:center;margin:30px 0 0;color:var(--muted);font-weight:800}.areas{background:linear-gradient(135deg,#0f3154,#071b33);color:#fff}.areas .copy p{color:#c8d6e4}.tags{display:flex;flex-wrap:wrap;gap:11px}.tags span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:99px;padding:10px 15px}.postcodes{grid-column:1/-1;color:#c4d1df}
.passes-section{background:#fff;color:var(--ink)}.passes-section .section-head p{color:var(--muted)}.split{max-width:none;display:flex;justify-content:space-between;text-align:left;align-items:end}.split>p{max-width:500px}.gallery-shell{position:relative}.pass-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px}.pass-track::-webkit-scrollbar{display:none}.pass-item{scroll-snap-align:start;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:0;text-align:left;cursor:pointer;box-shadow:0 12px 34px rgba(7,27,51,.1);min-height:355px}.pass-item img{width:100%;height:285px;object-fit:cover;display:block}.pass-caption{display:block;padding:18px 20px}.pass-caption b,.pass-caption small{display:block}.pass-caption small{color:var(--muted)}.slider-button{position:absolute;z-index:2;top:132px;width:46px;height:46px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:28px;box-shadow:0 8px 24px rgba(7,27,51,.25)}.slider-button.prev{left:-23px}.slider-button.next{right:-23px}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:30px}.gallery-controls span{color:var(--muted);font-size:14px}
.reviews{background:var(--cream);color:var(--ink)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:29px;box-shadow:var(--shadow)}.stars{color:var(--gold);letter-spacing:.12em}.review-card p{font-size:17px;color:#344154}.review-card b{color:var(--muted);font-size:13px}.review-actions{text-align:center;margin-top:32px}.google{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:var(--shadow)}.google span{color:#4285f4;font-size:20px;margin-right:8px}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.accordion details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0 20px}.accordion summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:900;display:flex;justify-content:space-between}.accordion summary::-webkit-details-marker{display:none}.accordion details p{color:var(--muted);padding:0 0 20px;margin:0}.accordion details[open] summary span{transform:rotate(45deg)}.accordion summary span{transition:.2s}.cta-band{background:linear-gradient(100deg,#0d3156,#071b33);color:#fff;padding:62px 0}.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-grid h2{font-size:clamp(32px,4vw,48px);max-width:750px;margin:0}.reassurance{background:#fff;border-bottom:1px solid var(--line)}.reassurance-grid{display:grid;grid-template-columns:repeat(3,1fr)}.reassurance-grid div{padding:28px 20px;text-align:center;border-right:1px solid var(--line)}.reassurance-grid div:last-child{border-right:0}.reassurance-grid strong,.reassurance-grid span{display:block}.reassurance-grid strong{color:var(--navy);font-size:18px}.reassurance-grid span{color:var(--muted);font-size:14px}.contact{background:var(--cream);color:var(--ink)}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:75px}.contact .copy p{color:var(--muted)}.contact-links{display:flex;flex-direction:column;font-weight:900;color:var(--navy)}.form{background:#fff;color:var(--ink);padding:32px;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:1fr 1fr;gap:17px;box-shadow:var(--shadow)}.form label{display:grid;gap:7px;font-size:14px;font-weight:900}.form input,.form select,.form textarea{border:1px solid #ced6df;border-radius:10px;padding:13px;background:#fafbfc}.wide{grid-column:1/-1}.form small{color:var(--muted)}.consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:600!important}.consent input{width:18px;height:18px;margin-top:3px}footer{background:var(--navy);color:#fff;padding:65px 0 23px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:60px}.footer-grid p{color:#bdcad8}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:7px}.footer-grid h3{font-size:14px;text-transform:uppercase;letter-spacing:.1em}.footer-grid a{color:#d7e1eb}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;color:#aebdcb;font-size:13px}.mobile-bar{display:none}.lightbox{position:fixed;inset:0;z-index:150;background:rgba(2,10,19,.94);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:25px}.lightbox[hidden],.all-passes-modal[hidden]{display:none}.lightbox figure{margin:0;text-align:center}.lightbox img{max-width:min(100%,1050px);max-height:82vh;border-radius:14px}.lightbox figcaption{color:#fff;margin-top:10px}.lightbox-close,.all-passes-close{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}.lightbox-nav{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--navy);border:0;font-size:32px;cursor:pointer}.all-passes-modal{position:fixed;inset:0;z-index:140;background:rgba(2,10,19,.82);padding:24px;overflow:auto}.all-passes-panel{position:relative;width:min(1120px,100%);margin:20px auto;background:#fff;border-radius:24px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.all-passes-head{display:flex;justify-content:space-between;align-items:flex-start;padding-right:54px}.all-passes-head h2{font-size:clamp(34px,5vw,58px);line-height:1;margin-bottom:28px;color:var(--navy)}.all-passes-close{color:var(--navy);top:18px;right:24px}.all-passes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.all-pass-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;padding:0;text-align:left;cursor:pointer;box-shadow:0 8px 25px rgba(7,27,51,.08)}.all-pass-card img{width:100%;height:250px;object-fit:cover;display:block}.all-pass-card span{display:block;padding:14px}.all-pass-card b,.all-pass-card small{display:block}.all-pass-card small{color:var(--muted)}.reveal{opacity:0;transform:translateY(17px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.desktop-book{display:none}.menu-toggle{display:block}.nav-wrap nav{display:none;position:fixed;top:80px;left:0;right:0;background:var(--navy);flex-direction:column;padding:22px;margin:0;border-bottom:1px solid rgba(255,255,255,.1)}.nav-wrap nav.open{display:flex}.hero-grid,.two-col,.faq-layout,.contact-grid{grid-template-columns:1fr}.four-grid,.price-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}.pass-track{grid-auto-columns:calc((100% - 18px)/2)}.all-passes-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.container{width:min(100% - 28px,1160px)}.nav-wrap{height:70px}.nav-wrap nav{top:70px}.brand strong{font-size:23px}.hero-grid{min-height:auto;padding:64px 0}.hero:before{background:rgba(5,20,38,.88)}h1{font-size:47px}.ticks{grid-template-columns:1fr}.actions{display:grid}.actions .btn{width:100%}.postcode-card{padding:24px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div{border-bottom:1px solid var(--line)}.section{padding:68px 0}.copy h2,.section-head h2{font-size:37px}.benefits,.four-grid,.price-grid,.review-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.split,.cta-grid{display:block}.split>p{margin-top:15px}.pass-track{grid-auto-columns:86%;padding-left:0}.pass-item img{height:310px}.slider-button{display:none}.gallery-controls{display:grid;text-align:center}.form{grid-template-columns:1fr;padding:23px}.form .wide{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{padding-bottom:58px;gap:12px}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:90}.mobile-bar a{text-align:center;padding:13px 5px;color:#fff;font-weight:900;background:var(--navy2)}.mobile-bar a:first-child{background:var(--red)}.mobile-bar a:nth-child(2){background:var(--green)}.reassurance-grid{grid-template-columns:1fr}.reassurance-grid div{border-right:0;border-bottom:1px solid var(--line)}.all-passes-modal{padding:10px}.all-passes-panel{margin:8px auto;padding:22px 14px;border-radius:18px}.all-passes-head{padding-right:44px}.all-passes-head h2{font-size:40px}.all-passes-grid{grid-template-columns:repeat(2,1fr);gap:10px}.all-pass-card img{height:190px}.all-pass-card span{padding:10px}.lightbox{grid-template-columns:1fr;padding:14px}.lightbox-nav{position:absolute;bottom:22px}.lightbox-prev{left:22px}.lightbox-next{right:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* Cross-browser dark-theme protection — Samsung Internet / forced dark mode */
:root{
  color-scheme:dark;
  --hero-bg:#071b33;
  --hero-copy:#dce7f2;
}
html,body{
  background-color:#071b33;
}
.hero{
  background-color:#071b33!important;
  background-image:linear-gradient(180deg,#0b2a4a 0%,#06182d 100%)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff;
}
.hero:before{
  background:linear-gradient(90deg,#051426 0%,#071b33 58%,#0a2948 100%)!important;
  opacity:.94!important;
}
.hero h1,.hero h2,.hero h3,.hero .ticks,.hero .ticks span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hero h1 em{
  color:#ff5360!important;
  -webkit-text-fill-color:#ff5360!important;
}
.hero .lead{
  color:#dce7f2!important;
  -webkit-text-fill-color:#dce7f2!important;
  opacity:1!important;
}
.hero .eyebrow{
  color:#d8b466!important;
  -webkit-text-fill-color:#d8b466!important;
}
.site-header{
  background-color:#061629!important;
}
.mobile-bar a{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
@media(max-width:640px){
  .hero:before{
    background:#061a30!important;
    opacity:.92!important;
  }
  .hero .lead{
    color:#dce7f2!important;
    -webkit-text-fill-color:#dce7f2!important;
  }
}


/* Version 6 premium refinement */
:root{color-scheme:light}
html,body{background:#fff}
.site-header .brand{transition:transform .25s ease,filter .25s ease}
.site-header .brand:hover{transform:translateY(-1px);filter:drop-shadow(0 7px 15px rgba(0,0,0,.22))}
.menu-toggle{position:relative;border-radius:10px;transition:background .2s ease}
.menu-toggle:hover{background:rgba(255,255,255,.07)}
.menu-toggle i{transform-origin:center;transition:transform .28s ease,opacity .2s ease,width .25s ease}
.menu-toggle[aria-expanded="true"] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0;transform:scaleX(.2)}
.menu-toggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.postcode-card{
  align-self:center;display:grid;grid-template-columns:52px 1fr;gap:0 17px;
  padding:25px;border-radius:22px;min-height:0;background:rgba(255,255,255,.97)!important;
  color:var(--ink)!important;box-shadow:0 24px 65px rgba(0,0,0,.2);-webkit-text-fill-color:initial
}
.postcode-card .postcode-icon{
  grid-row:1 / span 2;width:52px;height:52px;display:grid;place-items:center;border-radius:16px;
  background:linear-gradient(145deg,#eef4fa,#fff);border:1px solid #dbe4ed;
  box-shadow:0 10px 25px rgba(7,27,51,.08)
}
.postcode-icon svg,.postcode-field svg{width:23px;fill:var(--red)}
.postcode-copy{min-width:0}
.postcode-card .eyebrow{margin:1px 0 6px;color:#af8a3d!important;-webkit-text-fill-color:#af8a3d!important}
.postcode-card h2{
  margin:0 0 7px;font-size:clamp(24px,2.5vw,31px);line-height:1.08;letter-spacing:-.025em;
  color:var(--navy)!important;-webkit-text-fill-color:var(--navy)!important
}
.postcode-card p{
  margin:0;font-size:15px;line-height:1.5;color:#5d6878!important;-webkit-text-fill-color:#5d6878!important
}
.postcode-form{
  grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:10px!important;margin-top:20px
}
.postcode-field{
  height:51px;display:flex;align-items:center;gap:10px;border:1px solid #ccd6e0;
  border-radius:12px;padding:0 14px;background:#f7f9fb;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease
}
.postcode-field:focus-within{background:#fff;border-color:#7397bb;box-shadow:0 0 0 4px rgba(21,57,95,.1)}
.postcode-field svg{width:19px;flex:0 0 auto}
.postcode-card input{
  width:100%;height:auto!important;padding:0!important;border:0!important;outline:0!important;
  border-radius:0!important;background:transparent!important;color:#172438!important;
  -webkit-text-fill-color:#172438!important;font-size:17px
}
.postcode-card input::placeholder{color:#758092;opacity:1}
.postcode-form .btn{min-width:104px;height:51px;min-height:51px;padding-inline:19px;border-radius:12px}
.postcode-result{grid-column:1/-1;min-height:0;margin:12px 0 0;padding:0;font-size:14px;line-height:1.45}
.postcode-result:not(:empty){padding:10px 12px;border-radius:10px}
.postcode-result.good{background:#e6f6ed;color:#126840!important}
.postcode-result.maybe{background:#fff3da;color:#7b5300!important}
.postcode-card small{
  grid-column:1/-1;margin-top:10px;color:#7a8493!important;-webkit-text-fill-color:#7a8493!important;font-size:12px
}
.all-passes-modal,.lightbox{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.all-passes-panel{border:1px solid rgba(255,255,255,.5);animation:modal-rise .28s ease both}
.all-pass-card,.pass-item{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.all-pass-card:hover,.pass-item:hover{transform:translateY(-4px);border-color:#bdcddd;box-shadow:0 18px 40px rgba(7,27,51,.15)}
.lightbox figure{animation:modal-rise .25s ease both}
.lightbox img{box-shadow:0 25px 80px rgba(0,0,0,.45)}
@keyframes modal-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:980px){
  .nav-wrap nav{
    opacity:0;visibility:hidden;display:flex!important;transform:translateY(-12px);pointer-events:none;
    transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
    box-shadow:0 18px 35px rgba(0,0,0,.25)
  }
  .nav-wrap nav.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
}
@media(max-width:640px){
  .hero-grid{gap:32px;padding-top:54px;padding-bottom:54px}
  .postcode-card{grid-template-columns:44px 1fr;gap:0 13px;padding:21px 18px;border-radius:20px}
  .postcode-card .postcode-icon{width:44px;height:44px;border-radius:13px}
  .postcode-card h2{font-size:25px}
  .postcode-card p{font-size:14px}
  .postcode-form{grid-template-columns:1fr auto;margin-top:17px}
  .postcode-form .btn{min-width:90px;padding-inline:14px}
  .section{padding:62px 0}
  .pass-item{min-height:0}
  .pass-item img{height:285px}
  .all-passes-panel{box-shadow:0 20px 60px rgba(0,0,0,.4)}
}
@media(max-width:390px){
  .postcode-form{grid-template-columns:1fr}
  .postcode-form .btn{width:100%}
}


/* Version 7 bespoke skyline and road hero */
.hero{
  background:
    linear-gradient(90deg,#06101d 0%,rgba(6,16,29,.96) 34%,rgba(6,16,29,.72) 58%,rgba(6,16,29,.32) 100%),
    url("../assets/hero-skyline-road.jpg") center right / cover no-repeat !important;
}
.hero:before{
  background:
    linear-gradient(180deg,rgba(3,9,16,.08),rgba(3,9,16,.18)),
    linear-gradient(90deg,rgba(3,10,18,.96) 0%,rgba(3,10,18,.86) 40%,rgba(3,10,18,.42) 72%,rgba(3,10,18,.2) 100%) !important;
}
.hero .city{display:none!important}
.hero-grid{
  min-height:760px;
  align-items:center;
}
.hero-copy{
  max-width:760px;
  text-shadow:0 2px 24px rgba(0,0,0,.42);
}
.hero-copy .lead{
  color:#e0e7ef!important;
  -webkit-text-fill-color:#e0e7ef!important;
}
.hero-copy .ticks{
  text-shadow:0 2px 16px rgba(0,0,0,.55);
}
@media(min-width:981px){
  .hero{
    background-attachment:fixed!important;
  }
}
@media(max-width:980px){
  .hero{
    background:
      linear-gradient(90deg,rgba(6,16,29,.95),rgba(6,16,29,.78)),
      url("../assets/hero-skyline-road.jpg") 68% center / cover no-repeat !important;
    background-attachment:scroll!important;
  }
}
@media(max-width:640px){
  .hero{
    background:
      linear-gradient(180deg,rgba(6,16,29,.96),rgba(6,16,29,.9)),
      url("../assets/hero-skyline-road.jpg") 72% center / cover no-repeat !important;
  }
  .hero-grid{min-height:auto}
}
@media(prefers-reduced-motion:reduce){
  .hero{background-attachment:scroll!important}
}


/* Version 8 Birmingham-inspired abstract hero */
.hero{
  background:
    linear-gradient(90deg,#06101d 0%,rgba(6,16,29,.97) 34%,rgba(6,16,29,.76) 58%,rgba(6,16,29,.28) 100%),
    url("../assets/hero-birmingham-abstract.jpg") center right / cover no-repeat !important;
}
.hero:before{
  background:
    radial-gradient(circle at 77% 44%,rgba(225,38,49,.08),transparent 28%),
    linear-gradient(90deg,rgba(3,10,18,.97) 0%,rgba(3,10,18,.88) 40%,rgba(3,10,18,.48) 72%,rgba(3,10,18,.16) 100%) !important;
}
.hero .city{display:none!important}
.hero-grid{
  min-height:770px;
  align-items:center;
}
.hero-copy{
  max-width:760px;
  text-shadow:0 2px 24px rgba(0,0,0,.46);
}
.hero-copy .lead{
  color:#e4ebf3!important;
  -webkit-text-fill-color:#e4ebf3!important;
}
.hero-copy .ticks{
  text-shadow:0 2px 16px rgba(0,0,0,.55);
}
@media(min-width:981px){
  .hero{background-attachment:fixed!important}
}
@media(max-width:980px){
  .hero{
    background:
      linear-gradient(90deg,rgba(6,16,29,.96),rgba(6,16,29,.78)),
      url("../assets/hero-birmingham-abstract.jpg") 70% center / cover no-repeat !important;
    background-attachment:scroll!important;
  }
}
@media(max-width:640px){
  .hero{
    background:
      linear-gradient(180deg,rgba(6,16,29,.97),rgba(6,16,29,.91)),
      url("../assets/hero-birmingham-abstract.jpg") 72% center / cover no-repeat !important;
  }
  .hero-grid{min-height:auto}
}
@media(prefers-reduced-motion:reduce){
  .hero{background-attachment:scroll!important}
}


/* Version 9 — Samsung Internet colour consistency */
:root{
  color-scheme:only light!important;
  supported-color-schemes:light;
}
html{
  color-scheme:only light!important;
  background:#ffffff!important;
}
body{
  color-scheme:only light!important;
}

/* Preserve the intended white cards and light controls */
.postcode-card,
.card,
.price-card,
.form,
.accordion details,
.all-passes-panel,
.review-card.light-card,
.light-card{
  background-color:#ffffff!important;
  background-image:none!important;
  color:#172438!important;
  -webkit-text-fill-color:initial!important;
  forced-color-adjust:none;
}
.postcode-card h2,
.postcode-card p,
.postcode-card small,
.postcode-card label,
.postcode-card input,
.postcode-card input::placeholder,
.form,
.form label,
.form input,
.form textarea,
.form select,
.accordion details,
.accordion summary,
.accordion details p{
  color:#172438!important;
  -webkit-text-fill-color:#172438!important;
}
.postcode-card p,
.postcode-card small,
.accordion details p{
  color:#657183!important;
  -webkit-text-fill-color:#657183!important;
}
.postcode-card .eyebrow{
  color:#b18b3d!important;
  -webkit-text-fill-color:#b18b3d!important;
}
.postcode-field,
.form input,
.form textarea,
.form select{
  background-color:#f7f9fb!important;
  background-image:none!important;
  border-color:#ccd6e0!important;
  color:#172438!important;
  -webkit-text-fill-color:#172438!important;
  caret-color:#172438!important;
  forced-color-adjust:none;
}
.postcode-field svg{
  fill:#ef4454!important;
}
.postcode-form .btn,
.form .btn{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Repeat the light-card palette when the device/browser reports dark mode */
@media (prefers-color-scheme:dark){
  :root,html,body{color-scheme:only light!important}
  .postcode-card,
  .card,
  .price-card,
  .form,
  .accordion details,
  .all-passes-panel{
    background-color:#ffffff!important;
    color:#172438!important;
  }
  .postcode-field,
  .form input,
  .form textarea,
  .form select{
    background-color:#f7f9fb!important;
    color:#172438!important;
    -webkit-text-fill-color:#172438!important;
  }
}

/* Samsung/Chromium form-control protection */
input,textarea,select,button{
  color-scheme:only light!important;
}


/* EmailJS enquiry form feedback */
.form-status{display:block;padding:13px 15px;border-radius:11px;font-weight:800;line-height:1.45}
.form-status[hidden]{display:none!important}
.form-status.sending{background:#eef3f8;color:#23415f;border:1px solid #cbd8e5}
.form-status.success{background:#e3f6eb;color:#11663c;border:1px solid #a8ddbe}
.form-status.error{background:#fde7e9;color:#8d1720;border:1px solid #f2b7bc}
.form button[disabled]{opacity:.72;cursor:wait;transform:none!important}
