@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

/* ── TOKENS ── */
:root{
  --font-body:'Outfit',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'Outfit',system-ui,sans-serif;
  --navy:#1a3a5c;--navy-dark:#0d2540;--red:#c8102e;--red-dark:#a00d24;
  --cream:#f7f5f0;--dark:#111820;--text:#2c3e50;
  --soft:#586879;--white:#ffffff;--border:rgba(26,58,92,.1);
  --shadow:0 2px 20px rgba(0,0,0,.08);--shadow-lg:0 8px 40px rgba(0,0,0,.14);
  --t:.3s cubic-bezier(.4,0,.2,1);--nav-main:80px;
  --page-gutter:clamp(20px,4vw,32px);
  --section-y:48px;--section-y-compact:40px;
  --block-gap:clamp(12px,2.5vw,24px);
  --content-max:calc(1200px - 2*var(--page-gutter))
}
@media(max-width:900px){:root{--section-y:36px;--section-y-compact:32px}}
@media(max-width:640px){:root{--section-y:28px;--section-y-compact:24px;--block-gap:16px}}

/* ── BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-family:var(--font-body);text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--white);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body,button,input,select,textarea{font-family:var(--font-body)!important}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;font-weight:600;line-height:1.2;color:var(--dark)}
h1{font-size:clamp(2.4rem,5.5vw,4rem)}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.65rem)}
h4{font-size:1.1rem}
p{color:var(--soft);line-height:1.8}
em{font-style:italic;color:var(--red)}
p,li,.lead,.bh-p,.prog-intro-text p,.footer-tagline,.footer-address p{line-height:1.75}
.logo-name,.mob-drawer-logo-name,.footer-bottom-motto,.ls-name,.bh-h2,.bh-h3,.bh-stat__num,.bh-banner h1,.bh-cta-band h2,.prog-stat strong,.cbc-point-num,.resource-card h3,.section-title{font-family:var(--font-display)!important}
.btn,.nav-enquire,.btn-red-solid,.btn-navy-outline,.bh-btn-white,.bh-btn-ghost,.mob-cta{font-family:var(--font-body)!important}

/* ── LAYOUT ── */
/* .container max-width and margins: single owner. Source of truth for all container sizing.
   !important: Overrides page-level or component-level width/margin declarations to prevent overflow or centering issues. */
.container{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--page-gutter)!important;padding-right:var(--page-gutter)!important;padding-top:0!important;padding-bottom:0!important}
body>.img-strip,body>.about-split,.section>.img-strip,.section>.about-split,main>.img-strip,main>.about-split{width:min(calc(100% - 2*var(--page-gutter)),var(--content-max));margin-left:auto!important;margin-right:auto!important}
/* prog-editorial is full-bleed by design — image fills one half edge-to-edge */
body>.prog-editorial,.section>.prog-editorial,.bh-section>.prog-editorial,main>.prog-editorial{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}

/* ── SECTION CHROME ── */
.section-rule{display:block;width:100%;height:1px;background:var(--border)}
.section-light{background:var(--white)}
.section-cream{background:var(--cream)}
.section-navy{background:var(--navy)}
.section-tag{font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.75rem}
.section-intro{text-align:left;max-width:620px;margin:0 0 32px}
.hr-rule{display:block;width:56px;height:3px;background:var(--red);margin:1.5rem 0 2rem;border:none}
.hr-rule-center{margin-left:auto;margin-right:auto}

/* ── SECTION SPACING ──
   NOTE: section padding is owned by site-consistency.css and applied via !important.
   Do not redefine padding here. Other properties (margin, etc.) can be set here. */
.section,.section-light,.section-cream,.section-navy,.bh-section,.prog-intro,.prog-offers,.prog-resources,.cbc-strip,.transport-hero,.transport-section,.legal-main{content-visibility:visible}
.section-intro{margin-bottom:var(--block-gap)!important}
.prog-offers-grid,.resources-grid,.bh-resources,.bh-stats,.bh-features,.values-row,.mv-grid{margin-top:var(--block-gap)}

/* ── PAGE INTRO ── */
.page-intro{background:var(--cream);border-bottom:1px solid var(--border)}
.page-intro .page-tag{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.6rem}
.page-intro h1{color:var(--dark);margin-bottom:.6rem}
.page-intro p.lead{color:var(--soft);font-size:1rem;max-width:580px;line-height:1.75}
.page-intro h1,.page-intro p,.section-intro h2,.section-intro p,.bh-banner h1,.bh-banner-sub,.bh-cta-band h2,.bh-cta-band p{max-width:680px}

/* ── TEXT CONSTRAINTS ── */
:where(.page-intro,.page-banner,.page-header,.section,.bh-section,.prog-intro,.prog-offers,.prog-resources,.about-split-text,.prog-editorial__text,.intro-text,.intro-wrap,.content-grid,.features-grid,.card-grid,.resource-grid,.level-card-grid,.programme-grid,.values-row,.mv-grid,.cta-band,.bh-cta-band,.enrol-cta,.legal-main) :where(p,li,.lead,.bh-p,.prog-editorial__body,.prog-intro-text p){color:var(--notable-muted,var(--soft,#586879))!important;font-size:1rem;line-height:1.8!important;text-align:left!important}

/* ── ALIGNMENT ── */
.why-sikri-intro,.results-header,.testimonial-section,.quote-wrap,.cta-band,.seo-link-hub__intro,.section-intro{text-align:left!important;margin-left:0!important;margin-right:0!important}
.cta-band-light{text-align:center!important}
.cta-actions{display:flex;gap:16px;justify-content:center!important;flex-wrap:wrap}
.cta-band p,.bh-cta-band p{margin-left:0!important;margin-right:0!important}
.cta-band-light p{margin-left:auto!important;margin-right:auto!important}

/* ── NAV ── */
.main-nav{position:fixed;top:0;left:0;right:0;z-index:900;background:transparent;border-bottom:1px solid transparent;box-shadow:none;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .28s ease}
.main-nav.nav-solid{background:var(--white);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}
.main-nav.nav-up{transform:translateY(-100%)}
.main-nav.nav-down{transform:translateY(0)}
.main-nav:not(.nav-solid) .logo-name{color:#fff!important}
.main-nav:not(.nav-solid) .logo-sub{color:rgba(255,255,255,.75)!important}
.main-nav:not(.nav-solid) .nav-item>a{color:rgba(255,255,255,.9)}
.main-nav:not(.nav-solid) .nav-item>a::after{background:#fff}
.main-nav:not(.nav-solid) .nav-item:hover>a{color:#fff}
.main-nav:not(.nav-solid) .hamburger span{background:#fff}
.logo-name{color:var(--navy)!important}
.logo-sub{color:var(--soft)!important}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-main)}
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-logo img{width:48px;height:48px;object-fit:contain;flex-shrink:0}
.nav-logo .logo-white{display:block}
.nav-logo .logo-colour{display:none}
.main-nav.nav-solid .nav-logo .logo-white{display:none}
.main-nav.nav-solid .nav-logo .logo-colour{display:block}
.logo-text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}
.logo-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--dark)}
.logo-sub{font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.nav-links{display:flex;align-items:stretch;height:100%;gap:2px}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item>a{display:flex;align-items:center;gap:4px;padding:0 14px;height:var(--nav-main);font-size:.82rem;font-weight:500;color:var(--text);white-space:nowrap;transition:color var(--t);position:relative}
.nav-item>a::after{content:'';position:absolute;bottom:0;left:14px;right:14px;height:3px;background:var(--red);transform:scaleX(0);transition:transform var(--t);border-radius:2px 2px 0 0}
.nav-item:hover>a{color:var(--navy)}
.nav-item:hover>a::after,.nav-item>a.active::after{transform:scaleX(1)}
.chev{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--t);flex-shrink:0}
.nav-item:hover .chev{transform:rotate(-135deg) translateY(-2px)}
.drop-panel{position:absolute;top:100%;left:0;min-width:210px;background:var(--white);border-top:3px solid var(--red);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--t),visibility var(--t),transform var(--t);z-index:800}
.nav-item:hover .drop-panel{opacity:1;visibility:visible;transform:none}
.drop-panel a{display:block;padding:11px 20px;font-size:.8rem;color:var(--soft);border-bottom:1px solid rgba(0,0,0,.04);transition:background var(--t),color var(--t),padding-left var(--t)}
.drop-panel a:last-child{border-bottom:none}
.drop-panel a:hover{background:rgba(26,58,92,.04);color:var(--navy);padding-left:26px}
.nav-enquire{margin-left:12px;padding:10px 22px;background:var(--red);color:var(--white)!important;font-size:.8rem;font-weight:600;white-space:nowrap;transition:background var(--t)!important;display:flex;align-items:center}
.nav-enquire::after{display:none!important}
.nav-enquire:hover{background:var(--red-dark)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--dark);border-radius:1px;transition:var(--t)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .main-nav .nav-inner{height:64px}
  .nav-links{display:none}
  .hamburger{display:flex}
}

/* ── MOBILE DRAWER ── */
.mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1800;opacity:0;transition:opacity .3s}
.mob-overlay.open{opacity:1}
.mob-drawer{position:fixed;top:0;right:0;width:min(320px,90vw);height:100vh;background:var(--white);z-index:1900;display:flex;flex-direction:column;padding:24px 28px 120px;overflow-y:auto;transform:translate3d(110%,0,0);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 40px rgba(0,0,0,.15);will-change:transform}
.mob-drawer.open{transform:translate3d(0,0,0)}
.mob-close{width:36px;height:36px;border-radius:50%;background:var(--cream);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--dark);flex-shrink:0}
.mob-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid var(--border);margin-bottom:8px;flex-shrink:0}
.mob-drawer-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.mob-drawer-logo img{width:44px;height:44px;object-fit:contain;flex-shrink:0}
.mob-drawer-logo-text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}
.mob-drawer-logo-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--navy)}
.mob-drawer-logo-sub{font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.mob-group-label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:20px 0 6px}
.mob-link{display:block;padding:12px 0;font-size:.95rem;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);transition:color var(--t)}
.mob-link:hover{color:var(--navy)}
.mob-sub{display:block;padding:9px 0 9px 14px;font-size:.85rem;color:var(--soft);border-bottom:1px solid rgba(0,0,0,.04);transition:color var(--t)}
.mob-sub-label{display:block;padding:8px 0 4px 14px;font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin-top:8px}
.mob-sub:hover{color:var(--navy)}
.mob-cta{display:block;margin-top:24px;padding:14px;background:var(--red);color:var(--white);text-align:center;font-weight:600;font-size:.9rem}

/* ── BUTTONS ── */
.btn-primary{display:inline-block;margin-top:2rem;padding:14px 32px;background:var(--navy);color:var(--white);font-size:.875rem;font-weight:600;letter-spacing:.03em;transition:background var(--t),transform var(--t)}
.btn-primary:hover{background:var(--navy-dark);transform:translateY(-1px)}
.btn-outline{display:inline-block;padding:13px 30px;border:1.5px solid var(--navy);color:var(--navy);font-size:.875rem;font-weight:600;transition:background var(--t),color var(--t)}
.btn-outline:hover{background:var(--navy);color:var(--white)}
.btn-outline-white{display:inline-block;padding:13px 30px;border:1.5px solid rgba(255,255,255,.72);color:var(--white);font-size:.875rem;font-weight:500;transition:border-color var(--t),background var(--t)}
.btn-outline-white:hover{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.1)}
.btn-hero-primary{padding:14px 32px;background:var(--red);color:var(--white);font-size:.875rem;font-weight:600;letter-spacing:.03em;transition:background var(--t),transform var(--t),box-shadow var(--t);display:inline-block;box-shadow:0 4px 16px rgba(200,16,46,.3)}
.btn-hero-primary:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,16,46,.4)}
.btn-cta{padding:15px 36px;background:var(--white);color:var(--navy);font-size:.9rem;font-weight:700;letter-spacing:.03em;transition:background var(--t),transform var(--t)}
.btn-cta:hover{background:var(--cream);transform:translateY(-1px)}
.btn-cta-primary{font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:16px 36px;font-size:.9rem}
.cta-band-light .btn-primary-cta,.cta-band-light .btn-cta,.cta-band-light .btn-hero-primary{display:inline-block;padding:14px 36px;background:var(--red);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .25s ease,transform .2s ease}
.cta-band-light .btn-primary-cta:hover,.cta-band-light .btn-cta:hover,.cta-band-light .btn-hero-primary:hover{background:var(--red-dark);transform:translateY(-1px)}
.cta-band-light .btn-secondary-cta,.cta-band-light .btn-outline,.cta-band-light .btn-outline-white{display:inline-block;padding:13px 30px;border:1.5px solid var(--navy);color:var(--navy);font-size:.85rem;font-weight:600;transition:background .25s ease,color .25s ease;margin-left:12px}
.cta-band-light .btn-secondary-cta:hover,.cta-band-light .btn-outline:hover,.cta-band-light .btn-outline-white:hover{background:var(--navy);color:#fff}

/* ── CTA BANDS ── */
.cta-band .section-tag{color:rgba(255,255,255,.95)}
.cta-band h2{color:var(--white);margin-bottom:1rem}
.cta-band p{color:rgba(255,255,255,.95);font-size:1rem;max-width:500px}
.cta-band-light .section-tag{color:var(--red)}
.cta-band-light h2{color:var(--dark);margin-bottom:1rem}
.cta-band-light p{color:var(--soft);max-width:500px;margin:0 auto 2.5rem;font-size:1rem}

/* ── HERO ── */
.block-hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;background:#1a2a3a}
.block-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;will-change:transform}
.block-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,21,32,.45) 0%,rgba(10,21,32,.55) 50%,rgba(10,21,32,.72) 100%)}
.block-hero-content{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 7vw 80px;max-width:100%;margin:0 auto}
.block-hero-tag{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:.75rem;display:block}
.block-hero-title{font-size:clamp(2.8rem,6vw,4.8rem);font-weight:700;color:#fff;line-height:1.08;margin-bottom:1.5rem}
.block-hero-title em{color:#fff;font-style:normal}
.block-hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
@media(max-width:640px){
  .block-hero{height:100svh;min-height:560px}
  .block-hero-bg{object-position:50% 25%}
  .block-hero-content{padding:0 24px 64px}
}

/* ── CARDS ── */
.ws-card{background:var(--white);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--t),transform var(--t);box-shadow:var(--shadow);contain:layout style}
.ws-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}
.ws-card-image{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:transparent}
.ws-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.ws-card:hover .ws-card-image img{transform:scale(1.08)}
.ws-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,20,35,.38) 0%,transparent 65%)}
.ws-card-badge{position:absolute;top:14px;right:14px;background:var(--red);color:var(--white);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;z-index:2}
.ws-card-body{padding:28px 24px 32px;display:flex;flex-direction:column;flex:1;border-top:3px solid var(--red)}
.ws-card-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(200,16,46,.08);border-radius:50%;margin-bottom:14px;flex-shrink:0}
.ws-card-icon svg{color:var(--red)}
.ws-card-body h3{font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:10px;line-height:1.3}
.ws-card-body>p{font-size:.9rem;color:var(--soft);line-height:1.65;margin-bottom:18px}
.ws-card-features{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}
.ws-card-features li{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;color:var(--text);line-height:1.5}
.ws-card-features li .feat-dot{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0;margin-top:7px}
.ws-card-link{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border-bottom:1.5px solid var(--navy);padding-bottom:2px;transition:color var(--t),border-color var(--t);width:fit-content;margin-top:auto}
.ws-card-link svg{transition:transform var(--t)}
.ws-card:hover .ws-card-link{color:var(--red);border-color:var(--red)}
.ws-card:hover .ws-card-link svg{transform:translateX(4px)}
.ws-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);margin-top:48px}
.ws-pillar{background:var(--white);padding:36px 24px;display:flex;flex-direction:column;gap:14px;transition:background var(--t)}
.ws-pillar:hover{background:var(--cream)}
.ws-pillar-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(200,16,46,.08);border-radius:50%}
.ws-pillar-icon svg{color:var(--red)}
.ws-pillar h4{font-size:1.1rem;font-weight:700;color:var(--dark);line-height:1.3}
.ws-pillar p{font-size:.875rem;line-height:1.7;margin:0}
@media(max-width:900px){.ws-pillars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ws-pillars{grid-template-columns:1fr}}
.ws-card,.resource-card,.programme-card,.value-card,.mv-card,.bh-feature,.bh-resource-card,.sibling-card,.seo-link-hub__link{contain:layout style}

/* ── RESULTS ── */
.results-header{text-align:left;margin-bottom:56px}
.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.1)}
.result-item{background:var(--navy);padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.result-num{font-size:3.5rem;font-weight:700;color:var(--white);line-height:1}
.result-label{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@media(max-width:900px){.results-grid{grid-template-columns:repeat(2,1fr)}}

/* ── TESTIMONIAL ── */
.testimonial-section{text-align:left}
.quote-wrap{max-width:760px;margin:0}
.quote-mark{font-size:7rem;line-height:.4;color:var(--red);opacity:.2;display:block;margin-bottom:1rem}
.quote-text{font-size:clamp(1.4rem,3vw,2rem);font-style:italic;font-weight:400;color:var(--dark);line-height:1.5;margin-bottom:1.5rem}
.quote-cite{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}

/* ── IMAGE FRAMES ── */
.img-frame,.intro-img,.about-split-img,.bh-split__img,.ws-card-image,.banner-img,.fleet-image,.safety-img,.gs-item,.gg-item,.prog-editorial__img{position:relative!important;overflow:hidden!important;box-shadow:none!important}
/* Card/thumbnail frames get rounded corners; editorial image panels do not */
.img-frame,.intro-img,.about-split-img,.bh-split__img,.ws-card-image,.banner-img,.fleet-image,.safety-img,.gs-item,.gg-item{border-radius:4px!important}
.prog-editorial__img{border-radius:0!important}
.about-split-img,.intro-img,.bh-split__img{aspect-ratio:4/3!important;background:transparent}
.banner-img{aspect-ratio:16/9!important}
.ws-card-image,.fleet-image,.safety-img,.gs-item,.gg-item,.img-frame{aspect-ratio:3/2!important}
/* prog-editorial__img fills its grid column — height driven by the row, not a fixed ratio */
.prog-editorial__img{aspect-ratio:unset!important;min-height:420px}
.img-frame>img,.intro-img>img,.about-split-img>img,.bh-split__img>img,.ws-card-image>img,.banner-img>img,.fleet-image>img,.safety-img>img,.gs-item>img,.gg-item>img,.prog-editorial__img>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;transition:transform .6s cubic-bezier(.4,0,.2,1)!important}
.img-frame:hover>img,.intro-img:hover>img,.about-split-img:hover>img,.bh-split__img:hover>img,.ws-card-image:hover>img,.banner-img:hover>img,.fleet-image:hover>img,.safety-img:hover>img,.gs-item:hover>img,.gg-item:hover>img,.prog-editorial__img:hover>img{transform:scale(1.04)!important}
.img-strip>img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;display:block!important}
.site-natural-image-frame{aspect-ratio:var(--site-image-ratio)}
.school-img-side{position:relative;overflow:hidden;min-height:480px;background:#c0d0dc}
.school-img-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.school-img-side:hover img{transform:scale(1.04)}
@media(max-width:900px){.school-img-side{min-height:280px}}

/* ── FOOTER ── */
.footer{background:var(--white)}
.footer-top{display:grid;grid-template-columns:1.4fr 1.6fr 1fr 1fr;background:var(--navy-dark);border-top:none}
.footer-top-col{padding:52px 40px;border-right:1px solid rgba(255,255,255,.07)}
.footer-top-col:last-child{border-right:none}
.footer-logo-img{width:92px;height:auto;object-fit:contain;margin-bottom:1rem}
.footer-tagline{font-size:.82rem;color:rgba(255,255,255,.76);line-height:1.75;max-width:220px;margin-top:.5rem}
.footer-col-label{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ff8fa0;margin-bottom:1.25rem;display:block}
.footer-address p{font-size:.85rem;color:rgba(255,255,255,.76);line-height:1.75;margin-bottom:.25rem}
.footer-address a{color:rgba(255,255,255,.76);transition:color var(--t)}
.footer-address a:hover{color:rgba(255,255,255,.95)}
.footer-address .addr-group{margin-bottom:1.25rem}
.footer-address .addr-group:last-child{margin-bottom:0}
.footer-nav-col a{display:block;font-size:.85rem;color:rgba(255,255,255,.76);margin-bottom:.6rem;transition:color var(--t),padding-left var(--t)}
.footer-nav-col a:hover{color:rgba(255,255,255,.95);padding-left:4px}
.footer-social-list{list-style:none;padding:0;margin:0}
.footer-social-list li{display:flex;align-items:center;gap:12px;margin-bottom:.85rem}
.footer-social-list li:last-child{margin-bottom:0}
.footer-social-icon-wrap{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t)}
.footer-social-list li:hover .footer-social-icon-wrap{background:rgba(255,255,255,.2)}
.footer-social-list li:hover .footer-social-icon-wrap svg{fill:white!important}
.footer-social-label{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.8);transition:color var(--t)}
.footer-social-list li:hover .footer-social-label{color:rgba(255,255,255,.95)}
.footer-bottom{background:#0a1520;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 40px}
.footer-bottom-brand{display:flex;align-items:center;gap:14px}
.footer-bottom-badge{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.2);padding:5px 10px;border-radius:2px}
.footer-bottom-motto{font-style:italic;font-size:.95rem;color:rgba(255,255,255,.76)}
.footer-bottom-right{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.footer-copyright{font-size:.72rem;color:rgba(255,255,255,.72)}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.footer-legal a{font-size:.72rem;color:rgba(255,255,255,.72);transition:color var(--t)}
.footer-legal a:hover{color:rgba(255,255,255,.85)}
@media(max-width:1100px){.footer-top{grid-template-columns:1fr 1fr}.footer-top-col{border-bottom:1px solid rgba(26,58,92,.08)}.footer-top-col:nth-child(2n){border-right:none}}
@media(max-width:640px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top-col{border-right:none;padding:28px 18px}.footer-bottom{flex-direction:column;align-items:flex-start;padding:20px 24px}.footer-logo-img{width:72px}.footer-tagline{font-size:.78rem;max-width:none}}

/* ── SEO LINK HUB ── */
.seo-link-hub{background:var(--white);padding:0 0 24px}
.seo-link-hub__intro{max-width:720px;margin:0 0 var(--block-gap);text-align:left}
.seo-link-hub__intro p{color:var(--soft);margin-top:.75rem}
.seo-link-hub__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.seo-link-hub__link{display:flex;flex-direction:column;justify-content:space-between;padding:24px 22px;border:1px solid var(--border);border-top:3px solid var(--red);background:var(--white);transition:box-shadow var(--t),transform var(--t),border-top-color var(--t);text-decoration:none}
.seo-link-hub__link:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-top-color:var(--navy)}
.seo-link-hub__link strong{font-size:1.05rem;font-weight:700;color:var(--dark);line-height:1.35;display:block;margin-bottom:12px}
.seo-link-hub__link span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:5px}
.seo-link-hub__link span::after{content:'\2192';font-size:.85em;transition:transform var(--t)}
.seo-link-hub__link:hover span{color:var(--navy)}
.seo-link-hub__link:hover span::after{transform:translateX(3px)}
@media(max-width:900px){.seo-link-hub__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.seo-link-hub__grid{gap:10px}.seo-link-hub__link{padding:18px 14px}.seo-link-hub__link strong{font-size:.92rem}}

/* ── WHATSAPP FAB ── */
.wa-btn{position:fixed;bottom:28px;right:28px;z-index:9999;width:54px;height:54px;border-radius:50%;background:#0f7a41;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:transform .2s,box-shadow .2s}
.wa-btn svg{color:#fff;fill:#fff}
.wa-btn:hover{transform:scale(1.1);box-shadow:0 8px 28px rgba(37,211,102,.55)}

/* ── STICKY CTA ── */
#stickyCTA{display:none!important;visibility:hidden!important}

/* ── REVEAL ANIMATION ── */
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,1,.3,1);will-change:opacity,transform}
.reveal.active{opacity:1;transform:translate3d(0,0,0);will-change:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}img.lazyload{transition:none}}

/* ── LAZY IMAGES ── */
img.lazyload{opacity:0;transition:opacity .5s ease}
img.lazyload.loaded{opacity:1}

/* ── PERFORMANCE ── */
.block-hero-bg,.page-hero-bg{will-change:transform}
