/* =========================
UK INBOUND GROUND TRANSPORT
CLEAN FINAL PREMIUM CSS
========================= */

:root{
--bg:#f6f3ee;
--panel:#fcfaf6;
--panel-soft:#f7f3ed;
--text:#142235;
--text-soft:#5f6b7a;
--line:#e7dfd2;

--brand-navy:#142235;
--brand-red:#b76e4d;
--brand-red-dark:#9f5b3d;

--btn-primary-bg:#b76e4d;
--btn-primary-bg-hover:#9f5b3d;
--btn-primary-text:#ffffff;

--btn-secondary-bg:#ffffff;
--btn-secondary-text:#142235;
--btn-secondary-border:#d8d2c7;

--shadow:0 18px 40px rgba(20,34,53,0.08);
}

/* RESET */
*{ box-sizing:border-box; }

html,
body{
margin:0;
padding:0;
}

body{
font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
background:var(--bg);
color:var(--text);
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}

img{
max-width:100%;
display:block;
}

a,
a:visited,
a:hover,
a:active{
color:inherit;
text-decoration:none;
}

/* =========================
LAYOUT
========================= */

.container{
max-width:1240px;
margin:auto;
padding:0 32px;
}

main{
padding:56px 0 120px;
}

.section{
padding:92px 0;
}

.section-tight{
padding:40px 0;
}

.divider{
height:1px;
background:rgba(15,23,42,.08);
margin:22px 0;
}

/* =========================
TYPOGRAPHY
========================= */

h1,
h2,
h3{
margin:0;
font-family:"Fraunces", serif;
color:var(--brand-navy);
}

h1{
font-size:clamp(42px, 6vw, 76px);
line-height:.98;
letter-spacing:-0.05em;
}

h2{
font-size:clamp(30px, 4vw, 48px);
line-height:1.02;
letter-spacing:-0.03em;
}

h3{
font-size:22px;
line-height:1.2;
font-weight:600;
}

p{
margin:0;
font-size:18px;
line-height:1.85;
color:var(--text-soft);
}

.kicker{
font-size:11px;
letter-spacing:.30em;
text-transform:uppercase;
font-weight:600;
color:var(--brand-red);
}

.lead{
font-size:19px;
max-width:68ch;
line-height:1.85;
}

/* =========================
BUTTONS
========================= */

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:54px;
padding:14px 22px;
border-radius:999px;
font-size:14px;
font-weight:600;
border:1px solid rgba(15,23,42,.12);
background:#fff;
cursor:pointer;
transition:
transform .18s ease,
box-shadow .18s ease,
border-color .18s ease,
background .18s ease,
color .18s ease;
}

.btn:hover{
transform:translateY(-1px);
}

.btn-primary{
background:var(--btn-primary-bg);
border:none;
color:var(--btn-primary-text) !important;
box-shadow:var(--shadow);
}

.btn-primary:hover{
background:var(--btn-primary-bg-hover);
transform:translateY(-2px);
box-shadow:0 20px 44px rgba(0,0,0,.12);
}

.btn-outline{
background:var(--btn-secondary-bg);
border-color:var(--btn-secondary-border);
color:var(--btn-secondary-text) !important;
}

.btn-outline-light{
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.22);
color:#fff !important;
}

.btn-secondary{
background:var(--btn-secondary-bg);
color:var(--btn-secondary-text) !important;
border:1px solid var(--btn-secondary-border);
}

.cta .btn-light{
background:#ffffff !important;
color:var(--brand-navy) !important;
border:1px solid #ffffff !important;
}

.cta .btn-light:hover{
background:#f8fafc !important;
}

.cta .btn-outline-light{
color:#ffffff !important;
border:1px solid rgba(255,255,255,.22) !important;
background:rgba(255,255,255,.08) !important;
}

/* =========================
TOPBAR
========================= */

.topbar{
background:var(--brand-navy);
color:#fff;
font-size:12px;
}

.topbar-inner{
display:flex;
justify-content:center;
padding:11px 0;
}

.topbar-center{
display:flex;
gap:14px;
align-items:center;
flex-wrap:wrap;
}

.topbar-item{
color:rgba(255,255,255,.88) !important;
}

.topbar-sep{
opacity:.45;
}

/* =========================
HEADER
========================= */

.header{
position:sticky;
top:0;
z-index:200;
}

.mainbar{
background:rgba(255,255,255,.80);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(15,23,42,.06);
position:relative;
}

.mainbar::after{
content:"";
position:absolute;
inset:auto 0 0 0;
height:1px;
background:linear-gradient(to right, transparent, rgba(183,110,77,.45), transparent);
opacity:.65;
}

.header-inner{
display:grid;
grid-template-columns:72px 1fr 72px;
align-items:center;
gap:20px;
padding:22px 0;
}

.brand{
font-family:"Fraunces", serif;
font-weight:600;
font-size:20px;
line-height:1.08;
letter-spacing:.18em;
text-transform:uppercase;
text-align:center;
color:var(--brand-navy) !important;
max-width:560px;
margin:0 auto;
min-width:0;
}

.icon-btn{
width:58px;
height:58px;
border-radius:999px;
border:1px solid rgba(15,23,42,.10);
background:#ffffff;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 8px 24px rgba(15,23,42,.05);
transition:all .2s ease;
}

.icon-btn:hover{
transform:translateY(-1px);
border-color:var(--brand-red);
}

.mainbar a,
.mainbar a:visited,
.nav-desktop a,
.nav-desktop a:visited,
.mobile-nav a,
.mobile-nav a:visited,
.brand,
.brand:visited{
color:#172033;
}

/* =========================
NAVIGATION
========================= */

.mobile-nav{
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%) translateY(-10px);
width:calc(100% - 32px);
max-width:420px;

margin-top:10px;
padding:16px;
border-radius:20px;
background:#ffffff;
box-shadow:0 18px 40px rgba(15,23,42,.12);
z-index:100;

opacity:0;
pointer-events:none;
transition:opacity .25s ease, transform .25s ease;
}

.mobile-nav.open{
opacity:1;
transform:translateX(-50%) translateY(0);
pointer-events:auto;
}

.mobile-nav a{
display:block;
width:100%;
padding:14px 18px;
margin-bottom:10px;
border-radius:14px;
border:1px solid rgba(15,23,42,.08);
background:#ffffff;
color:#172033 !important;
font-size:18px;
font-weight:500;
line-height:1.35;
}


.mobile-nav .btn{
display:flex !important;
width:100%;
justify-content:center;
min-height:54px;
margin-top:8px;
}




.mobile-nav a:hover{
background:#fbfaf7;
}



@media (min-width:981px){
#menuBtn{ display:none; }
.contact-icon{ display:none; }

.header-inner{
grid-template-columns:360px 1fr;
}

.brand{
text-align:left;
margin:0;
max-width:none;
}

.nav-desktop{
display:flex;
justify-content:flex-end;
gap:18px;
align-items:center;
}

.nav-desktop a{
font-size:11px;
text-transform:uppercase;
letter-spacing:.12em;
opacity:.76;
position:relative;
padding-bottom:4px;
}

.nav-desktop a::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:0;
height:1px;
background:var(--brand-red);
transition:width .25s ease;
}

.nav-desktop a:hover{
opacity:1;
}

.nav-desktop a:hover::after{
width:100%;
}

.mobile-nav{
display:none !important;
}
}

/* =========================
HAMBURGER
========================= */

.menu-btn{
position:relative;
}

.menu-btn .hamburger{
width:18px;
height:2px;
background:#0f172a;
border-radius:999px;
position:relative;
display:block;
transition:all .25s ease;
}

.menu-btn .hamburger::before,
.menu-btn .hamburger::after{
content:"";
position:absolute;
left:0;
width:18px;
height:2px;
background:#0f172a;
border-radius:999px;
}

.menu-btn .hamburger::before{ top:-6px; }
.menu-btn .hamburger::after{ top:6px; }

/* =========================
HERO
========================= */

.hero{
padding:36px 0 72px;
background:#f6f5f1;
}

.hero::after{
content:"";
display:block;
height:1px;
margin-top:28px;
background:linear-gradient(to right, transparent, rgba(15,23,42,.10), transparent);
}

.hero-visual{
position:relative;
border-radius:36px;
min-height:620px;
overflow:hidden;
background:
linear-gradient(90deg, rgba(10,18,32,.75) 0%, rgba(10,18,32,.45) 40%, rgba(10,18,32,.10) 65%, rgba(10,18,32,0) 80%),
url("../img/hero-uk-touring.png") center/cover no-repeat;
color:#fff;
padding:54px;
box-shadow:
0 40px 120px rgba(15,23,42,.18),
inset 0 1px 0 rgba(255,255,255,.04);
}

.hero-visual::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to top, rgba(7,11,20,.62), rgba(7,11,20,.10));
pointer-events:none;
}

.hero-visual > *{
position:relative;
z-index:1;
}

.hero-meta-tag{
position:static;
display:block;
margin-bottom:16px;
padding:0;
border:0;
background:none;
backdrop-filter:none;
font-size:12px;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
font-weight:600;
}

.hero-copy{
position:relative;
}

.hero-visual h1{
color:#fff;
max-width:8ch;
text-shadow:0 10px 34px rgba(0,0,0,.38);
margin:0;
}

.hero-visual .lead{
color:rgba(255,255,255,.94);
max-width:30ch;
font-size:17px;
line-height:1.72;
}

.hero-cta,
.hero-actions{
margin-top:18px;
display:flex;
gap:12px;
flex-wrap:wrap;
}

.hero-trust{
margin-top:14px;
font-size:13px;
color:rgba(255,255,255,.75);
max-width:360px;
line-height:1.5;
}

.hero-premium{
position:relative;
overflow:hidden;
border-radius:34px;
min-height:620px;
background-image:url("../img/hero-uk-touring.png");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
box-shadow:0 40px 100px rgba(15,23,42,.18);
}

.hero-overlay{
position:absolute;
inset:0;
background:
linear-gradient(to bottom, rgba(6,16,32,.22), rgba(6,16,32,.84)),
radial-gradient(circle at 25% 10%, rgba(183,110,77,.12), transparent 40%);
}

.hero-content{
position:relative;
z-index:2;
color:#ffffff;
padding:44px 28px;
max-width:760px;
width:100%;
overflow-wrap:break-word;
}

.hero-content h1{
color:#ffffff;
letter-spacing:-0.045em;
text-shadow:0 8px 30px rgba(0,0,0,.42);
}

.hero-content .lead{
color:rgba(255,255,255,.92);
max-width:52ch;
}

.hero-content .kicker{
color:rgba(255,255,255,.72);
}

@media (min-width:981px){
.hero-visual{
display:grid;
grid-template-columns:1.1fr 0.9fr;
align-items:end;
gap:40px;
}

.hero-copy-left{
align-self:end;
}

.hero-copy-right{
align-self:center;
justify-self:start;
max-width:460px;

background:rgba(10,18,32,.55);
backdrop-filter:blur(6px);
padding:28px;
border-radius:18px;
box-shadow:0 20px 60px rgba(0,0,0,.25);

}
}

/* =========================
PILLS
========================= */

.pills{
margin-top:18px;
display:flex;
flex-wrap:wrap;
gap:12px;
}

.pill{
font-size:14px;
padding:12px 18px;
border-radius:999px;
background:rgba(255,255,255,.78);
border:1px solid rgba(15,23,42,.07);
color:#0f172a;
display:inline-flex;
align-items:center;
justify-content:center;
box-shadow:0 4px 12px rgba(15,23,42,.04);
font-weight:500;
}

.hero-visual .pill,
.hero-premium .pill,
.hero-content .pill{
background:rgba(255,255,255,.10);
border:1px solid rgba(255,255,255,.18);
color:#ffffff;
box-shadow:none;
backdrop-filter:blur(4px);
}

/* =========================
PANELS
========================= */

.panel{
position:relative;
background:var(--panel);
border-radius:28px;
padding:54px;
border:1px solid rgba(15,23,42,.06);
box-shadow:0 20px 60px rgba(15,23,42,.06);
margin-bottom:28px;
transition:box-shadow .25s ease;
height:100%;
display:flex;
flex-direction:column;
}


.panel p{
line-height:1.85;
color:#4b5563;
}

.panel small{
color:#64748b;
}

/* =========================
GRIDS + CARDS
========================= */

.grid{
display:grid;
gap:32px;
align-items:stretch;
}

.grid-2{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.grid-3{
grid-template-columns:repeat(3, minmax(0, 1fr));
}

.grid-4{
grid-template-columns:repeat(4, minmax(0, 1fr));
}

.card{
background:transparent;
border:0;
border-radius:0;
padding:0;
box-shadow:none;
display:flex;
flex-direction:column;
transition:box-shadow .25s ease;
}

.card .btn{
align-self:flex-start;
margin-top:6px;
}

.route{
margin-top:14px;
font-weight:600;
line-height:1.75;
color:#0f172a;
}

/* =========================
LISTS
========================= */

.list{
padding-left:18px;
color:#475569;
}

.list li{
margin:8px 0;
}

/* =========================
CTA
========================= */

.cta{
background:
radial-gradient(circle at top left, rgba(183,110,77,.12), transparent 35%),
#08111f;
color:#fff;
border-radius:30px;
padding:34px;
box-shadow:0 24px 60px rgba(8,17,31,.20);
}

.cta,
.cta p,
.cta h2{
color:#ffffff;
}

.cta p{
color:rgba(255,255,255,.88);
}

.cta .kicker{
color:rgba(255,255,255,.64);
}

.cta-actions{
margin-top:20px;
display:flex;
gap:12px;
flex-wrap:wrap;
}

/* =========================
ENQUIRY FORM
========================= */

main form{
max-width:900px;
margin:40px auto;
padding:32px;
background:#ffffff;
border-radius:20px;
border:1px solid rgba(15,23,42,.06);
box-shadow:0 20px 60px rgba(15,23,42,.08);
}

main form label{
font-weight:600;
color:#0f172a;
display:block;
margin-bottom:6px;
}

main form input,
main form select,
main form textarea{
width:100% !important;
max-width:100% !important;
display:block;
padding:14px 16px;
margin-bottom:18px;
border-radius:10px;
border:1px solid #e2e8f0;
font-size:16px;
background:#fff;
}

main form textarea{
min-height:140px;
}

main form input:focus,
main form select:focus,
main form textarea:focus{
outline:none;
border-color:#caa75e;
box-shadow:0 0 0 3px rgba(202,167,94,.15);
}

main form input[type="submit"],
main form button{
background:var(--btn-primary-bg);
border:none;
color:#fff;
padding:14px 26px;
border-radius:999px;
font-weight:600;
cursor:pointer;
}

/* =========================
LUXURY ENQUIRY FORM
========================= */

.enquiry-shell{
padding:20px 0 60px;
}

.enquiry-wrap{
max-width:1120px;
margin:0 auto;
}

.enquiry-header{
max-width:820px;
margin-bottom:32px;
}

.enquiry-header .eyebrow{
display:inline-block;
margin-bottom:14px;
padding:8px 12px;
border:1px solid rgba(183,110,77,0.22);
border-radius:999px;
background:rgba(255,255,255,0.55);
color:var(--brand-red);
font-size:12px;
font-weight:700;
letter-spacing:0.12em;
text-transform:uppercase;
}

.enquiry-header h1{
margin:0 0 14px;
}

.enquiry-header p{
max-width:900px;
}

.lux-form{
display:grid;
gap:24px;
}

.form-card{
padding:28px;
border:1px solid var(--line);
border-radius:24px;
background:rgba(255,255,255,0.82);
box-shadow:0 20px 60px rgba(23,32,51,0.08);
transition:box-shadow .25s ease;
}

.card-head{
margin-bottom:22px;
}

.card-head h2{
margin:0 0 6px;
font-size:1.35rem;
line-height:1.2;
}

.card-head p{
margin:0;
color:#667085;
line-height:1.6;
}

.form-grid{
display:grid;
gap:18px 20px;
}

.form-grid.one{
grid-template-columns:1fr;
}

.form-grid.two{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.form-grid.three{
grid-template-columns:repeat(3, minmax(0, 1fr));
}

.field{
display:flex;
flex-direction:column;
gap:8px;
}

.field label{
color:#0f172a;
font-weight:600;
font-size:0.98rem;
letter-spacing:-0.01em;
}

.field label span{
color:#667085;
font-weight:500;
}

.field small{
color:#667085;
font-size:0.88rem;
line-height:1.5;
}

.field input,
.field select,
.field textarea{
width:100%;
border:1px solid #e8dfd2;
border-radius:14px;
background:#ffffff;
color:#0f172a;
font:inherit;
transition:border-color .2s ease, box-shadow .2s ease;
}

.field input,
.field select{
min-height:56px;
padding:0 16px;
}

.field textarea{
min-height:160px;
padding:16px;
resize:vertical;
}

.field input::placeholder,
.field textarea::placeholder{
color:#98a2b3;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
outline:none;
border-color:var(--brand-red);
box-shadow:0 0 0 4px rgba(183,110,77,0.12);
}

.form-footer{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding-top:4px;
}

.submit-note{
margin:0;
color:#667085;
font-size:0.96rem;
line-height:1.6;
}

.form-actions{
display:flex;
gap:14px;
align-items:center;
}

.field-span-1{
grid-column:span 1;
}

/* =========================
TRUST STRIP
========================= */

.trust-strip{
background:#ffffff;
border-top:1px solid rgba(15,23,42,.05);
border-bottom:1px solid rgba(15,23,42,.05);
}

.trust-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
padding:24px 0;
text-align:center;
}

.trust-item strong{
display:block;
font-size:16px;
font-weight:600;
color:#0b0b5a;
margin-bottom:4px;
}

.trust-item span{
font-size:13px;
color:#6b7280;
}

/* =========================
SAFE POLISH
========================= */

.card:hover,
.panel:hover,
.form-card:hover{
box-shadow:0 16px 34px rgba(15,23,42,.08);
}

.btn:hover{
box-shadow:0 10px 22px rgba(15,23,42,.12);
}

/* =========================
FOOTER
========================= */

.footer-ultra{
background:var(--brand-navy);
color:#ffffff;
padding:56px 0 28px;
}

.footer-ultra a,
.footer-ultra a:visited{
color:rgba(255,255,255,.88);
text-decoration:none;
}

.footer-ultra a:hover{
color:#ffffff;
}

.footer-ultra-top{
margin-bottom:28px;
padding-bottom:20px;
border-bottom:1px solid rgba(255,255,255,.12);
}

.footer-ultra-brand{
display:flex;
align-items:center;
gap:12px;
}

.footer-ultra-mark{
width:16px;
height:16px;
border-radius:999px;
background:var(--brand-red);
box-shadow:0 6px 18px rgba(183,110,77,.28);
}

.footer-ultra-name{
font-family:"Fraunces", serif;
font-size:22px;
color:#ffffff;
letter-spacing:.01em;
}

.footer-ultra-sub{
font-size:13px;
color:rgba(255,255,255,.75);
margin-top:4px;
}

.footer-ultra-grid{
display:grid;
grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;
gap:32px;
align-items:start;
}

.footer-ultra-title{
font-size:12px;
font-weight:600;
letter-spacing:.08em;
text-transform:uppercase;
color:rgba(255,255,255,.72);
margin-bottom:12px;
}

.footer-ultra-links{
display:flex;
flex-direction:column;
gap:10px;
}

.footer-ultra-links a{
display:block;
line-height:1.5;
}

.footer-ultra-meta{
font-size:15px;
line-height:1.7;
color:rgba(255,255,255,.92);
}

.footer-ultra-hq{
margin-top:14px;
font-size:13px;
line-height:1.6;
color:rgba(255,255,255,.72);
}

.footer-ultra-dot{
opacity:.55;
}

.footer-ultra-bottom{
margin-top:28px;
padding-top:18px;
border-top:1px solid rgba(255,255,255,.12);
}

.footer-ultra-small{
font-size:13px;
line-height:1.6;
color:rgba(255,255,255,.72);
}

.footer-ultra-cta{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.footer-ultra-btn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:12px 18px;
border-radius:999px;
background:var(--btn-primary-bg);
color:#fff !important;
font-size:13px;
font-weight:600;
border:none;
}

.footer-ultra-btn-ghost{
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.16);
color:#fff !important;
}

/* =========================
MOBILE + RESPONSIVE
========================= */

@media (max-width:1100px){
.footer-ultra-grid{
grid-template-columns:1fr 1fr 1fr;
}
}

@media (max-width:1024px){
.form-grid.three{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width:980px){
.nav-desktop{
display:none !important;
}

.mobile-nav{
display:none;
}

.mobile-nav.open{
display:block;
}
}

@media (min-width:981px){
.nav-desktop{
display:flex !important;
}

.mobile-nav{
display:none !important;
}

.international-page .hero-visual{
display:grid;
grid-template-columns:1.05fr 0.95fr;
gap:40px;
align-items:end;
}

.international-page .hero-copy-left{
align-self:end;
}

.international-page .hero-copy-right{
align-self:center;
justify-self:start;
max-width:460px;
}

.international-page .hero-meta-tag{
position:static;
display:block;
margin-bottom:16px;
padding:0;
border:0;
background:none;
backdrop-filter:none;
font-size:12px;
letter-spacing:.18em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
}

.international-page .hero-visual h1,
.international-page .hero-content h1{
font-size:clamp(36px, 4vw, 54px) !important;
line-height:1.06 !important;
max-width:9ch !important;
}

.international-page .hero-visual .lead,
.international-page .hero-content .lead{
max-width:30ch !important;
font-size:16px !important;
line-height:1.75 !important;
}

.international-page .hero-copy-right .pills{
max-width:360px;
}
}

@media (max-width:700px){
.container{
padding:0 20px;
}

.topbar{
padding:0;
}

.topbar-inner{
padding:8px 0 10px;
}

.topbar-center{
display:grid;
gap:4px;
justify-items:center;
}

.topbar-item{
font-size:12px;
line-height:1.3;
text-align:center;
word-break:break-word;
}

.topbar-sep{
display:none;
}

.header-inner{
grid-template-columns:56px 1fr 56px;
gap:12px;
padding:14px 0;
}

.brand{
font-size:15px;
line-height:1.08;
letter-spacing:.06em;
max-width:320px;
}

.icon-btn{
width:52px;
height:52px;
}

.hero{
padding:12px 0 18px !important;
}

.hero::after{
margin-top:16px !important;
}

.hero-visual,
.hero-premium{
min-height:auto !important;
height:auto !important;
display:block !important;
padding:24px 18px 22px !important;
border-radius:24px !important;
overflow:hidden !important;
background-position:center center !important;
background-size:cover !important;
}

.hero-copy,
.hero-copy-left,
.hero-copy-right,
.hero-content{
width:100% !important;
max-width:100% !important;
display:block !important;
}

.hero-meta-tag,
.hero-visual .kicker,
.hero-content .kicker{
font-size:11px !important;
line-height:1.45 !important;
letter-spacing:.14em !important;
margin-bottom:10px !important;
}

.hero-visual h1,
.hero-premium h1,
.hero-content h1{
max-width:100% !important;
font-size:clamp(24px, 8vw, 36px) !important;
line-height:1.06 !important;
margin:0 0 12px !important;
word-break:normal !important;
overflow-wrap:break-word !important;
}

.hero-visual .lead,
.hero-premium .lead,
.hero-content .lead{
max-width:100% !important;
font-size:14px !important;
line-height:1.65 !important;
margin-top:0 !important;
}

.hero-cta,
.hero-actions{
display:flex !important;
flex-direction:column !important;
align-items:stretch;
gap:10px !important;
margin-top:16px !important;
}

.hero-cta .btn,
.hero-actions .btn{
width:100% !important;
min-height:52px !important;
justify-content:center;
font-size:15px !important;
}

.pills{
display:flex !important;
flex-direction:column !important;
gap:10px !important;
margin-top:14px !important;
margin-bottom:10px;
}

.pill{
width:100% !important;
max-width:100% !important;
justify-content:center !important;
padding:11px 14px !important;
font-size:14px !important;
text-align:center;
}

.hero-trust{
max-width:100% !important;
margin-top:12px !important;
font-size:12px !important;
line-height:1.5 !important;
}

main{
padding:24px 0 52px;
}

.section{
padding:32px 0;
}

.section-tight{
padding:26px 0;
}

.grid-2,
.grid-3,
.grid-4{
grid-template-columns:1fr !important;
}

.grid{
gap:24px;
}

.card{
width:100%;
}

.panel{
margin-bottom:18px;
padding:28px 24px;
border-radius:24px;
}

.footer-ultra{
padding:40px 0 24px;
overflow-x:hidden;
}

.footer-ultra-top{
gap:18px;
margin-bottom:22px;
padding-bottom:16px;
}

.footer-ultra-grid{
grid-template-columns:1fr !important;
gap:24px;
}

.footer-ultra-brand{
align-items:flex-start;
}

.footer-ultra-name{
font-size:20px;
}

.footer-ultra-sub{
font-size:12px;
}

.footer-ultra-title{
font-size:12px;
margin-bottom:10px;
}

.footer-ultra-links{
gap:8px;
margin-bottom:0;
}

.footer-ultra-links a{
padding:0;
}

.footer-ultra-meta{
line-height:1.8;
}

.footer-ultra-bottom{
margin-top:28px;
}

.footer-ultra-cta{
width:100%;
flex-direction:column;
}

.footer-ultra-btn,
.footer-ultra-btn-ghost{
width:100%;
}

h1{
font-size:clamp(34px, 10vw, 48px) !important;
line-height:1.02 !important;
}

h2{
font-size:clamp(26px, 8vw, 34px);
line-height:1.06;
}

p{
font-size:16px;
}

.cta{
padding:24px !important;
border-radius:26px !important;
}

.cta h2{
font-size:26px !important;
line-height:1.08 !important;
}

.cta p{
font-size:15px !important;
line-height:1.7 !important;
}

.cta-actions{
display:flex !important;
flex-direction:column !important;
gap:12px !important;
align-items:stretch !important;
}

.cta-actions .btn{
width:100% !important;
justify-content:center !important;
min-height:56px !important;
font-size:15px !important;
}

.trust-grid{
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.trust-item strong{
font-size:15px;
}

.enquiry-shell{
padding:8px 0 36px;
}

.form-card{
padding:20px;
border-radius:20px;
}

.form-grid.two,
.form-grid.three{
grid-template-columns:1fr;
}

.form-footer{
flex-direction:column;
align-items:stretch;
}

.form-actions{
flex-direction:column-reverse;
width:100%;
}

.form-actions .btn{
width:100%;
justify-content:center;
}
}

/* =========================================
   PREMIUM DESKTOP UPGRADE
   Hero + cards + typography
   ========================================= */

/* ---- Global type scale ---- */
h1 {
  font-size: clamp(44px, 6vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

h3 {
  line-height: 1.2;
  letter-spacing: -0.01em;
}

p,
.list li {
  line-height: 1.75;
}

.lead {
  font-size: 1.12rem;
  line-height: 1.7;
  max-width: 58ch;
}

/* ---- Section spacing ---- */
.section {
  padding: 88px 0;
}

.section-tight {
  padding: 42px 0;
}

/* ---- Hero redesign ---- */
.hero {
  padding-top: 24px;
}

.hero-visual {
  min-height: 620px;
  border-radius: 28px;
  padding: 64px;
  overflow: hidden;
  position: relative;
  background:
    linear-gradient(90deg, rgba(10, 18, 32, 0.80) 0%, rgba(10, 18, 32, 0.58) 42%, rgba(10, 18, 32, 0.18) 72%, rgba(10, 18, 32, 0.00) 100%),
    url("../img/hero-uk-touring.png") center/cover no-repeat;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.16);
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.hero-copy-left {
  max-width: 640px;
}

.hero-copy-right {
  max-width: 560px;
}

.hero-meta-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hero h1,
.hero .lead,
.hero-trust {
  color: #fff;
}

.hero h1 {
  max-width: 11ch;
  margin-bottom: 18px;
}

.hero .lead {
  opacity: 0.96;
}

.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}

.hero-trust {
  margin-top: 20px;
  opacity: 0.88;
  font-size: 1rem;
}

.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pill {
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ---- Button polish ---- */
.btn {
  transition: transform 0.22s ease, box-shadow 0.22s ease, opacity 0.22s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary:hover,
.btn-light:hover {
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16);
}

/* ---- Card and panel hover effects ---- */
.card,
.panel {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background-color 0.25s ease;
}

.card:hover,
.panel:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
}

/* ---- Better card feel ---- */
.card {
  border-radius: 22px;
  padding: 28px;
}

.panel {
  border-radius: 24px;
}

.card h3 {
  margin-bottom: 10px;
}

.list {
  margin-top: 14px;
}

.list li + li {
  margin-top: 6px;
}

/* ---- Cleaner content width ---- */
.panel > p,
.panel .lead {
  max-width: 70ch;
}

/* ---- CTA section polish ---- */
.cta {
  border-radius: 28px;
  padding: 44px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

/* ---- Footer refinement ---- */
.footer-ultra {
  margin-top: 48px;
}

.footer-ultra-links a {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.footer-ultra-links a:hover {
  opacity: 0.9;
  transform: translateX(2px);
}

/* ---- Desktop emphasis ---- */
@media (min-width: 1100px) {
  .container {
    max-width: 1280px;
  }

  .grid.grid-3 {
    gap: 28px;
  }

  .grid.grid-2 {
    gap: 28px;
  }

  .hero-visual {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: end;
    gap: 36px;
  }
}

/* ---- Tablet ---- */
@media (max-width: 1024px) {
  .section {
    padding: 72px 0;
  }

  .hero-visual {
    min-height: 560px;
    padding: 42px;
  }

  .hero h1 {
    max-width: none;
  }
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
  .section {
    padding: 58px 0;
  }

  .section-tight {
    padding: 28px 0;
  }

  .hero-visual {
    min-height: auto;
    padding: 28px;
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(10, 18, 32, 0.76) 0%, rgba(10, 18, 32, 0.54) 45%, rgba(10, 18, 32, 0.30) 100%),
      url("../img/hero-uk-touring.jpg") center/cover no-repeat;
  }

  .hero-copy-left,
  .hero-copy-right {
    max-width: none;
  }

  .hero h1 {
    font-size: clamp(36px, 11vw, 54px);
    margin-bottom: 14px;
  }

  .hero-meta-tag {
    font-size: 0.8rem;
    padding: 8px 12px;
  }

  .hero-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .btn,
  .btn-primary,
  .btn-outline-light,
  .btn-light {
    width: 100%;
    justify-content: center;
  }

  .card {
    padding: 22px;
  }

  .panel {
    border-radius: 20px;
  }

  .cta {
    padding: 30px 24px;
    border-radius: 22px;
  }
}

/* Fix operations cards layout */
.operations-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
margin-top:30px;
}

.operations-card{
text-align:center;
max-width:320px;
margin:0 auto;
}

.operations-card h3{
margin-top:12px;
margin-bottom:10px;
}

.operations-card p{
line-height:1.6;
font-size:15px;
}

/* Fix vertical text in cards */
.card p{
max-width:260px;
margin:10px auto 0 auto;
line-height:1.6;
font-size:15px;
}

.grid.grid-3{
grid-template-columns:repeat(3,1fr);
gap:32px;
}

/* ---------- world class polish ---------- */

.section{
  padding: 84px 0;
}

.section-tight{
  padding: 34px 0;
}

.panel{
  border-radius: 26px;
  padding: 42px;
  box-shadow: 0 18px 50px rgba(20,34,53,.06);
  border: 1px solid rgba(20,34,53,.05);
}

.panel:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(20,34,53,.09);
}

.grid{
  align-items: stretch;
}

h2{
  max-width: 14ch;
}

.panel > p{
  max-width: 70ch;
}

.list{
  padding-left: 18px;
}

.list li{
  margin: 8px 0;
}

.section-soft{
  background: linear-gradient(to bottom, #f7f4ef, #f5f1eb);
}

.section-blue{
  background: linear-gradient(to bottom, #f3f7fb, #eef4f9);
}

.btn-primary{
  box-shadow: 0 12px 30px rgba(183,110,77,.22);
}

.btn-outline{
  background: #fff;
}

@media (max-width: 768px){
  .panel{
    padding: 26px;
    border-radius: 20px;
  }

  .section{
    padding: 56px 0;
  }

  .section-tight{
    padding: 24px 0;
  }

  h2{
    max-width: none;
  }
}

.container-narrow{
  max-width:980px;
  margin:0 auto;
}

.intro-copy{
  max-width:72ch;
  font-size:18px;
  line-height:1.8;
  margin-top:16px;
}

.panel{
  border-radius:26px;
  padding:42px;
  box-shadow:0 18px 50px rgba(20,34,53,.06);
  border:1px solid rgba(20,34,53,.05);
}

.panel:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 60px rgba(20,34,53,.09);
}

.grid{
  align-items:stretch;
}

.section-soft{
  background:linear-gradient(to bottom, #f7f4ef, #f5f1eb);
}

.section-blue{
  background:linear-gradient(to bottom, #f3f7fb, #eef4f9);
}

.btn-primary{
  box-shadow:0 12px 30px rgba(183,110,77,.22);
}

@media (max-width:980px){
  h2{
    max-width:none !important;
  }
}
