/* Public Home pages only: keep dashboard and booking component styles isolated. */
.uk-home { --uk-ink:#122b40; --uk-muted:#526779; --uk-blue:#075dc1; background:#f7f9fc !important; color:var(--uk-ink); margin-bottom:0; }
.uk-home > .container { max-width:1240px; }
.uk-home main { min-width:0; }
.uk-home h1,.uk-home h2,.uk-home h3 { color:var(--uk-ink); line-height:1.14; letter-spacing:-.035em; }
.uk-home h1 { font-size:clamp(2.35rem,4.6vw,4.6rem); font-weight:750; }
.uk-home h2 { font-size:clamp(1.8rem,3vw,2.65rem); font-weight:700; }
.uk-home h3 { font-size:1.3rem; font-weight:700; letter-spacing:-.015em; }
.uk-home p { line-height:1.7; }
.uk-home .lm-navbar { background:#fff !important; padding:14px 0; }
.uk-home .lm-navbar .container-fluid { max-width:1240px; gap:12px; }
.uk-home .lm-navbar .nav-link { color:var(--uk-ink) !important; font-weight:600; }
.uk-home .lm-navbar .nav-link:hover { color:var(--uk-blue) !important; }
.uk-home .navbar-brand { gap:10px; }
.uk-home .uk-brand-label { display:flex; flex-direction:column; color:var(--uk-ink); font-size:1.1rem; line-height:1.3; font-weight:750; }
.uk-home .uk-brand-label span { font-size:.75rem; font-weight:500; letter-spacing:.04em; }
.uk-home .btn-primary { background:var(--uk-blue); border-color:var(--uk-blue); box-shadow:none; }
.uk-home .btn { border-radius:9px; font-weight:650; white-space:normal; }
.uk-home .btn-primary:hover { background:#064c9d; border-color:#064c9d; }
.uk-home .btn-outline-secondary { color:var(--uk-ink); border-color:#b4c3d0; }
.uk-home .btn-outline-secondary:hover { color:white; background:var(--uk-ink); }
.uk-home a:focus-visible,.uk-home button:focus-visible,.uk-home summary:focus-visible { outline:3px solid #d89912; outline-offset:4px; }
.uk-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:48px; padding:64px 0 48px; }
.uk-hero h1 span { color:var(--uk-blue); }
.uk-eyebrow { font-size:.77rem; font-weight:750; letter-spacing:.14em; color:var(--uk-blue); margin-bottom:18px; }
.uk-lead { font-size:1.18rem; color:var(--uk-muted); max-width:620px; }
.uk-note { color:var(--uk-muted); font-size:.92rem; margin-top:18px; }
.uk-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 16px; }
.uk-hero-visual { position:relative; min-width:0; border-radius:22px; background:#e4eef6; overflow:hidden; box-shadow:0 18px 40px #142c4012; }
.uk-hero-visual > img { width:100%; height:auto; object-fit:contain; display:block; }
.uk-image-caption { display:flex; align-items:center; gap:16px; background:white; padding:20px 24px; }
.uk-image-caption strong,.uk-image-caption div > span { display:block; }
.uk-image-caption div > span { color:var(--uk-muted); font-size:.9rem; margin-top:3px; }
.uk-caption-icon { font-size:2rem; color:var(--uk-blue); }
.uk-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:25px 0; border-top:1px solid #dce5ed; border-bottom:1px solid #dce5ed; gap:24px; }
.uk-benefits strong,.uk-benefits span { display:block; }
.uk-benefits span { color:var(--uk-muted); font-size:.95rem; margin-top:5px; }
.uk-section { padding:64px 0; }
.uk-section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:28px; }
.uk-section-heading a { flex-shrink:0; color:var(--uk-blue); }
.uk-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.uk-service-card { border:1px solid #e0e7ee; border-radius:16px; overflow:hidden; background:white; text-decoration:none; color:var(--uk-ink); transition:box-shadow .15s; }
.uk-service-card:hover { box-shadow:0 10px 25px #142c4015; color:var(--uk-ink); }
.uk-service-card img { display:block; width:100%; aspect-ratio:1.5; object-fit:contain; background:#fff; }
.uk-service-card > div { padding:22px; }
.uk-service-card p { color:var(--uk-muted); font-size:.96rem; }
.uk-service-card div > span { color:var(--uk-blue); font-weight:700; }
.uk-coverage { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:42px; background:#eaf1f8; border-radius:22px; }
.uk-coverage > div > p { color:var(--uk-muted); }
.uk-nations { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.uk-nations > div { background:white; padding:22px; border-radius:12px; }
.uk-nations > div > span { font-size:.8rem; color:var(--uk-blue); font-weight:700; }
.uk-nations h3 { margin-top:12px; }
.uk-nations p { color:var(--uk-muted); font-size:.9rem; margin-bottom:0; }
.uk-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.uk-steps article { background:white; border:1px solid #e0e7ee; border-radius:14px; padding:28px; }
.uk-steps article > span { display:inline-block; background:#eaf1f8; color:var(--uk-blue); font-weight:700; padding:8px 12px; border-radius:8px; margin-bottom:22px; }
.uk-steps p { color:var(--uk-muted); margin-bottom:0; }
.uk-cta { display:flex; justify-content:space-between; align-items:center; gap:28px; border-radius:20px; padding:40px; margin:16px 0 56px; background:#122b40; color:white; }
.uk-cta h2,.uk-cta .uk-eyebrow { color:white; }
.uk-cta p { margin-bottom:0; color:#d1e1ed; }
.uk-cta .btn { flex-shrink:0; }
.uk-page-intro { padding:52px 0 30px; max-width:850px; }
.uk-van-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:48px; }
.uk-van-card { background:white; border:1px solid #e0e7ee; border-radius:16px; overflow:hidden; }
.uk-van-card > img { display:block; width:100%; height:auto; object-fit:contain; }
.uk-van-card > div { padding:26px; }
.uk-van-card h2 { font-size:1.65rem; }
.uk-van-card summary { cursor:pointer; color:var(--uk-blue); font-weight:650; padding:12px 0; }
.uk-van-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:14px; }
.uk-van-card dd { text-align:right; }
.uk-home .affiliate-hero img { max-height:400px; width:100%; object-fit:contain; }
.uk-home .affiliate-hero .row { row-gap:24px; }
.uk-home .footer { position:static; line-height:1.8; padding:24px 0; margin-top:auto; }
@media(max-width:991px) {
 .uk-hero { gap:28px; padding-top:36px; }
 .uk-service-grid { grid-template-columns:1fr 1fr; }
 .uk-coverage { padding:28px; gap:24px; }
 .uk-section-heading { align-items:start; flex-direction:column; }
 .uk-steps { gap:16px; }
 .uk-steps article { padding:20px; }
}
@media(max-width:767px) {
 .uk-home > .container { padding-left:20px; padding-right:20px; }
 .uk-hero,.uk-coverage,.uk-steps,.uk-van-grid { grid-template-columns:1fr; }

 .uk-benefits { grid-template-columns:1fr; gap:18px; }
 .uk-section { padding:40px 0; }
 .uk-coverage { padding:24px; }
 .uk-cta { flex-direction:column; align-items:start; padding:28px; }
 .uk-nations { gap:12px; }
 .uk-nations > div { padding:16px; }
 .uk-home .navbar-brand img { height:38px !important; }

}
@media(max-width:440px) { .uk-service-grid,.uk-nations { grid-template-columns:1fr; } .uk-actions .btn { width:100%; } }
@media(prefers-reduced-motion:reduce) { .uk-home *, .uk-home *::before, .uk-home *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
.uk-home .navbar-toggler-icon { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23122b40' stroke-width='2.5' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
.uk-home .navbar-collapse.show { background:#fff !important; }
