.lloyds-hub { --lloyds-green:#006a4d; --crisis-red:#e1261c; --hub-ink:#17242e; }
.programme-header { position:relative; z-index:20; border-bottom:1px solid #d8e0e4; background:#fff; }
.programme-header__inner { min-height:6rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:.85rem; }
.programme-header__partners { display:flex; align-items:center; gap:1rem; min-width:0; }
.programme-header__partners img:first-child { width:min(15rem,42vw); height:auto; max-height:4.25rem; }
.programme-header__partners img:last-child { width:5rem; height:5rem; object-fit:contain; }
.programme-header__partners span { color:#74818a; font-size:1.5rem; }
.programme-header__inner > strong { color:#3d4d56; font-size:.86rem; letter-spacing:.06em; text-align:right; text-transform:uppercase; }
.lloyds-hero { min-height:34rem; position:relative; display:grid; align-items:end; overflow:hidden; color:#fff; background:#17242e; }
.lloyds-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,21,28,.96) 0%,rgba(8,21,28,.82) 48%,rgba(8,21,28,.35) 100%); }
.lloyds-hero__media,.lloyds-hero__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lloyds-hero__content { position:relative; z-index:1; padding-top:4rem; padding-bottom:3.5rem; }
.lloyds-lockup { margin:0 0 .75rem; color:#fff; font:800 clamp(1rem,2vw,1.35rem)/1.2 Montserrat,sans-serif; letter-spacing:.04em; text-transform:uppercase; text-shadow:0 2px 8px rgba(0,0,0,.65); }
.lloyds-lockup span { color:#fff; padding:0 .25em; }
.lloyds-hero h1 { margin:0; color:#fff; font-size:clamp(3rem,8vw,6rem); text-shadow:0 3px 12px rgba(0,0,0,.55); }
.lloyds-hero .lead { max-width:40rem; margin:.75rem 0 1.5rem; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.delivery-mark { display:flex; align-items:center; gap:.85rem; flex-wrap:wrap; color:#fff; font-weight:700; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.delivery-mark img { width:auto; height:3rem; object-fit:contain; }
.lloyds-hero__collection { margin:.7rem 0 0; color:#fff; font-style:italic; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.participant-video { padding-block:clamp(1.5rem,4vw,2.5rem); background:#eef5f2; }
.participant-video__panel { display:grid; grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr); gap:clamp(1.25rem,3vw,2.5rem); align-items:center; padding:clamp(1.25rem,4vw,2rem); border:2px solid var(--lloyds-green); border-radius:1rem; background:#fff; box-shadow:0 12px 35px rgba(19,47,59,.1); }
.participant-video__copy { max-width:30rem; }
.participant-video__panel .eyebrow { margin-bottom:.35rem; }
.participant-video__panel h2 { margin:0; font-size:clamp(1.55rem,3vw,2.35rem); }
.participant-video__copy p { margin:.6rem 0 0; color:#44525b; font-weight:600; }
.participant-video__embed { overflow:hidden; aspect-ratio:16/9; border-radius:.8rem; background:#0b171c; box-shadow:0 10px 28px rgba(19,47,59,.18); }
.participant-video__embed iframe { display:block; width:100%; height:100%; border:0; }
.participant-video__fallback { grid-column:2; margin:-.8rem 0 0; color:#44525b; font-size:.88rem; }
.participant-video__fallback a { color:var(--lloyds-green); font-weight:700; }
.walk-prep { padding-top:clamp(2rem,5vw,3.5rem); padding-bottom:clamp(2rem,5vw,3.5rem); background:#eef5f2; }
.walk-prep__panel { padding:clamp(1.4rem,4vw,2.5rem); border:2px solid var(--lloyds-green); border-radius:1rem; background:#fff; box-shadow:0 12px 35px rgba(19,47,59,.12); }
.walk-prep__intro { max-width:58rem; }
.walk-prep__intro h2 { margin:.3rem 0 .8rem; }
.walk-prep__intro p { margin:.5rem 0; }
.walk-prep__note { margin-top:1rem !important; padding:.8rem 1rem; border-left:4px solid var(--crisis-red); background:#fff3f1; }
.walk-prep__brief { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-top:1.5rem; padding:1.15rem 1.25rem; border-radius:.8rem; color:#fff; background:var(--hub-ink); }
.walk-prep__brief > div { display:flex; align-items:center; gap:1rem; }
.walk-prep__brief-icon { width:3rem; height:3rem; display:grid; flex:none; place-items:center; border-radius:.5rem; color:#fff; background:var(--crisis-red); font-size:.72rem; font-weight:800; }
.walk-prep__brief h3 { margin:0 0 .25rem; color:#fff; font-size:1.15rem; }
.walk-prep__brief p { margin:0; color:#fff; }
.walk-prep__brief div span:last-child { color:#c7d1d6; font-size:.8rem; }
.walk-prep__brief .button { flex:none; margin:0; }
.walk-prep__apps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.walk-prep__app { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:start; padding:1.25rem; border:1px solid #d6dfe3; border-radius:.8rem; background:#f8faf9; }
.walk-prep__step { width:2.25rem; height:2.25rem; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--lloyds-green); font-family:Montserrat,sans-serif; font-weight:800; }
.walk-prep__app-icon { width:3.75rem; height:3.75rem; grid-column:3; grid-row:1; border-radius:.85rem; box-shadow:0 4px 12px rgba(19,47,59,.18); }
.walk-prep__app > div { min-width:0; grid-column:2; grid-row:1; }
.walk-prep__app h3 { margin:0 0 .4rem; font-size:1.2rem; }
.walk-prep__app p { margin:0; color:#465862; }
.walk-prep__links { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.walk-prep__links a { padding:.62rem .8rem; border:2px solid var(--lloyds-green); border-radius:.45rem; color:var(--lloyds-green); background:#fff; font-size:.88rem; font-weight:800; text-decoration:none; }
.walk-prep__links a:hover,.walk-prep__links a:focus-visible { color:#fff; background:var(--lloyds-green); }
.walk-prep__smallprint { margin:1rem 0 0; color:#596871; font-size:.82rem; }
.city-finder { border-bottom:1px solid #dce3e6; }
.city-finder__intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-bottom:1.5rem; }
.city-finder .section-heading { margin-bottom:1.25rem; }
.city-finder__controls { max-width:32rem; margin-bottom:1.25rem; }
.city-finder__controls label { display:block; margin-bottom:.4rem; font-weight:700; }
.city-finder__controls input { width:100%; min-height:3.25rem; padding:.75rem 1rem; border:2px solid #7b8992; border-radius:.5rem; font:inherit; }
.lloyds-city-selector { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.75rem; }
.lloyds-city-selector a { min-height:7.2rem; padding:.8rem; display:grid; grid-template-columns:3.7rem 1fr; align-items:center; gap:.75rem; border:2px solid #dce3e6; border-radius:.7rem; color:var(--hub-ink); text-decoration:none; background:#fff; transition:.16s ease; }
.lloyds-city-selector a:hover,.lloyds-city-selector a:focus-visible { border-color:var(--lloyds-green); box-shadow:0 7px 22px rgba(19,47,59,.12); transform:translateY(-2px); }
.lloyds-city-selector img { width:3.7rem; height:3.7rem; object-fit:contain; }
.lloyds-city-selector a > span { min-width:0; }
.lloyds-city-selector strong { font-family:Montserrat,sans-serif; font-size:1.12rem; }
.lloyds-city-selector small { display:block; margin-top:.25rem; color:#53636d; font-size:.78rem; line-height:1.25; }
.city-finder__empty { padding:1rem; background:#f5f7f8; }
.client-logo-panel { padding:clamp(1.5rem,4vw,2.5rem); border:1px solid #d7dee1; border-radius:1rem; background:#fff; box-shadow:0 10px 32px rgba(19,47,59,.08); }
.client-logo-panel > span { display:block; margin-bottom:1.35rem; color:#53636d; font-size:.78rem; font-weight:800; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.client-logo-panel__marks { display:grid; grid-template-columns:minmax(0,1.35fr) auto minmax(5.5rem,.65fr); gap:1.15rem; align-items:center; }
.client-logo-panel__marks img:first-child { width:100%; height:auto; max-height:5rem; }
.client-logo-panel__marks img:last-child { width:min(100%,7rem); height:auto; justify-self:center; }
.client-logo-panel__marks b { color:#7d888f; font-size:1.5rem; font-weight:500; }
.lloyds-events [data-lloyds-events] { display:grid; gap:2rem; }
.lloyds-event { scroll-margin-top:7rem; overflow:hidden; border:1px solid #d8e0e4; border-radius:1rem; box-shadow:0 10px 35px rgba(19,47,59,.08); background:#fff; }
.lloyds-event__header { min-height:13rem; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr); background:var(--hub-ink); color:#fff; }
.lloyds-event__header > div { padding:2rem; align-self:center; }
.lloyds-event__identity { display:flex; align-items:center; gap:1.35rem; }
.lloyds-event__identity > img { width:6.5rem; height:6.5rem; flex:0 0 6.5rem; object-fit:contain; filter:drop-shadow(0 6px 15px rgba(0,0,0,.22)); }
.lloyds-event__header h3 { margin:.4rem 0 .25rem; font-size:clamp(2rem,5vw,3.4rem); color:#fff; }
.lloyds-event__banner { width:100%; height:100%; min-height:13rem; object-fit:cover; }
.lloyds-carousel { position:relative; min-width:0; background:#0d171d; outline-offset:-3px; }
.lloyds-carousel__viewport { height:100%; min-height:13rem; overflow:hidden; }
.lloyds-carousel__viewport img { width:100%; height:100%; min-height:13rem; object-fit:cover; }
.lloyds-carousel__viewport img[hidden] { display:none; }
.lloyds-carousel__button { position:absolute; z-index:2; top:50%; width:2.8rem; height:2.8rem; padding:0; border:2px solid #fff; border-radius:50%; color:#17242e; background:rgba(255,255,255,.94); box-shadow:0 2px 10px rgba(0,0,0,.35); font:700 2rem/1 sans-serif; cursor:pointer; transform:translateY(-50%); }
.lloyds-carousel__button:hover,.lloyds-carousel__button:focus-visible { color:#fff; background:var(--lloyds-green); }
.lloyds-carousel__button--previous { left:.75rem; }
.lloyds-carousel__button--next { right:.75rem; }
.lloyds-carousel__footer { position:absolute; z-index:2; right:.65rem; bottom:.55rem; left:.65rem; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.lloyds-carousel__dots { display:flex; gap:.35rem; }
.lloyds-carousel__dots span { width:.5rem; height:.5rem; border:1px solid #fff; border-radius:50%; background:rgba(0,0,0,.45); }
.lloyds-carousel__dots span.is-active { background:#fff; }
.lloyds-carousel__count { padding:.25rem .48rem; border-radius:1rem; color:#fff; background:rgba(0,0,0,.72); font-size:.75rem; font-weight:700; }
.lloyds-event__date { margin:0; font-size:1.15rem; font-weight:700; }
.lloyds-event__body { padding:clamp(1.25rem,4vw,2.25rem); }
.lloyds-event__intro { max-width:52rem; font-size:1.1rem; }
.lloyds-event__supporter { display:flex; align-items:baseline; gap:.45rem; width:fit-content; margin:-.35rem 0 1.25rem; padding:.48rem .72rem; border-left:3px solid var(--crisis-red); border-radius:.25rem; color:#3f4f59; background:#f4f6f6; font-size:.9rem; }
.lloyds-event__supporter span { color:#64727b; }
.lloyds-event__supporter strong { color:#1d282e; }
.lloyds-event__body > .lloyds-carousel { max-width:62rem; margin:1.5rem auto 2rem; overflow:hidden; border-radius:.8rem; box-shadow:0 8px 28px rgba(19,47,59,.18); }
.lloyds-event__body > .lloyds-carousel .lloyds-carousel__viewport { height:auto; min-height:0; aspect-ratio:3/2; }
.lloyds-event__body > .lloyds-carousel .lloyds-carousel__viewport img { height:100%; min-height:0; }
.lloyds-event__body > .lloyds-carousel .lloyds-carousel__viewport img.lloyds-carousel__legacy { object-fit:contain; background:#fff; }
.lloyds-event__body > .lloyds-carousel .lloyds-carousel__viewport img.lloyds-carousel__portrait { object-fit:contain; background:#101a20; }
.lloyds-event__facts { display:grid; grid-template-columns:1fr 1.3fr; gap:2rem; margin:1.5rem 0; }
.lloyds-event__facts h4,.lloyds-routes > h4,.lloyds-indicative-map h4 { margin:0 0 .75rem; font-size:1.15rem; }
.lloyds-event address { max-width:30rem; font-style:normal; line-height:1.65; }
.lloyds-timings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.lloyds-timing { padding:1rem; border-radius:.6rem; background:#f3f6f5; }
.lloyds-timing h4 { margin:0 0 .55rem; }
.lloyds-timing dl { margin:0; }
.lloyds-timing dl div,.lloyds-locations div { display:grid; grid-template-columns:6rem 1fr; gap:.5rem; padding:.2rem 0; }
.lloyds-timing dt,.lloyds-locations dt { font-weight:700; }
.lloyds-timing dd,.lloyds-locations dd { margin:0; }
.lloyds-locations { margin:0 0 1rem; }
.lloyds-notice { margin:1.25rem 0; padding:1rem 1.15rem; border-left:5px solid #d88b00; background:#fff7e7; }
.lloyds-notice p { margin:.35rem 0 0; }
.lloyds-indicative-map { margin:1.75rem 0; overflow:hidden; border:1px solid #d6dfe3; border-radius:.8rem; background:#fff; box-shadow:0 6px 22px rgba(19,47,59,.1); }
.lloyds-indicative-map__heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding:1.2rem 1.35rem; }
.lloyds-indicative-map__heading p { max-width:48rem; margin:0; color:#53636d; }
.lloyds-indicative-map__heading > a { flex:none; font-weight:700; }
.lloyds-indicative-map__image { display:block; border-top:1px solid #d6dfe3; background:#f4f7f8; }
.lloyds-indicative-map__image img { display:block; width:100%; height:auto; }
.lloyds-indicative-map__pending { padding:1.35rem; border-top:1px solid #d6dfe3; background:#f4f7f8; }
.lloyds-indicative-map__pending p { margin:.35rem 0 0; }
.lloyds-routes { padding:1.35rem; border:2px solid var(--lloyds-green); border-radius:.75rem; background:#f3faf7; }
.lloyds-routes__intro { margin:-.35rem 0 1rem; color:#53636d; }
.lloyds-route-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lloyds-route { min-width:0; padding:1.1rem; border:1px solid #c9ded6; border-radius:.65rem; background:#fff; }
.lloyds-route h5 { margin:0 0 .75rem; color:var(--hub-ink); font:800 1.05rem/1.25 Montserrat,sans-serif; }
.lloyds-route__actions { display:grid; align-items:start; gap:.65rem; }
.lloyds-route__actions .button { width:100%; white-space:normal; text-align:center; }
.lloyds-checkpoints { margin-top:1rem; overflow:hidden; border:1px solid #b9d2c9; border-radius:.75rem; background:#fff; box-shadow:0 8px 24px rgba(19,47,59,.08); }
.lloyds-checkpoints > header { padding:1.2rem 1.35rem; color:#fff; background:linear-gradient(120deg,var(--hub-ink),#173f3a); }
.lloyds-checkpoints > header span { color:#9cd5c2; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.lloyds-checkpoints > header h5 { margin:.25rem 0 .35rem; color:#fff; font:800 clamp(1.2rem,2vw,1.5rem)/1.2 Montserrat,sans-serif; }
.lloyds-checkpoints > header p { max-width:48rem; margin:0; color:#e1ece8; }
.lloyds-checkpoints ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; }
.lloyds-checkpoints li { min-width:0; padding:1.1rem; border-right:1px solid #d8e4df; }
.lloyds-checkpoints li:last-child { border-right:0; }
.lloyds-checkpoint__mile { display:inline-block; margin-bottom:.75rem; padding:.3rem .55rem; border-radius:999px; color:#fff; background:var(--lloyds-green); font-size:.76rem; font-weight:800; }
.lloyds-checkpoints h6 { margin:0 0 .2rem; color:var(--hub-ink); font:800 .95rem/1.25 Montserrat,sans-serif; }
.lloyds-checkpoint__location { margin:0 0 .55rem; color:#344751; font-weight:700; }
.lloyds-checkpoint__words { display:inline-block; overflow-wrap:anywhere; color:var(--crisis-red); font-size:.82rem; font-weight:800; text-decoration:none; }
.lloyds-checkpoint__words:hover,.lloyds-checkpoint__words:focus-visible { text-decoration:underline; }
.lloyds-checkpoint__services { margin:.8rem 0 0; padding-top:.7rem; border-top:1px solid #e0e7e4; color:#314b43; font-size:.86rem; font-weight:700; }
.lloyds-checkpoint__note { margin:.45rem 0 0; color:#5a6870; font-size:.78rem; line-height:1.4; }
.lloyds-gpx-pending { margin:0; padding:.8rem .9rem; border-left:4px solid #d88b00; background:#fff7e7; }
.lloyds-gpx-pending strong,.lloyds-gpx-pending span { display:block; }
.lloyds-gpx-pending strong { color:#614000; }
.lloyds-gpx-pending span { margin-top:.25rem; color:#675b45; font-size:.82rem; }
.lloyds-indicative-link { display:inline-block; margin-top:.8rem; font-weight:700; }
.lloyds-back { display:inline-block; margin-top:1.25rem; }
.lloyds-help { border:1px solid #cad5da; border-radius:.8rem; background:#fff; }
.lloyds-help summary { cursor:pointer; padding:1.25rem; font-family:Montserrat,sans-serif; font-weight:800; }
.lloyds-help summary span { display:block; margin-top:.2rem; color:#53636d; font:500 .9rem Inter,sans-serif; }
.lloyds-help > div { padding:0 1.25rem 1.25rem; }
.lloyds-discovery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.lloyds-discovery-card { overflow:hidden; color:inherit; text-decoration:none; }
.lloyds-discovery-card img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.lloyds-discovery-card > div { padding:1.25rem; }
.lloyds-discovery-card h3 { margin:.35rem 0; }
.lloyds-discovery-card > div > span { color:#5c6971; font-size:.84rem; font-weight:700; text-transform:uppercase; }
.lloyds-discovery__all { margin:1.5rem 0 0; text-align:center; }
.lloyds-relationship { padding:1.5rem 0; border-top:1px solid #dce3e6; background:#fff; }
.lloyds-relationship .container { display:flex; align-items:center; gap:1.5rem; }
.lloyds-relationship img { width:auto; height:3rem; object-fit:contain; }
.lloyds-relationship p { margin:.25rem 0 0; }
.programme-footer { padding-block:1.35rem; border-top:1px solid #d8e0e4; color:#53636d; background:#f5f7f7; font-size:.86rem; }
.programme-footer .container { display:flex; align-items:center; justify-content:space-between; gap:1rem 2rem; }
.programme-footer p { margin:0; color:inherit; }
.programme-footer div div { display:flex; flex-wrap:wrap; gap:1rem; }
.programme-footer a,.programme-footer button { padding:0; border:0; color:inherit; background:none; font:inherit; text-decoration:underline; }
@media (max-width:900px) { .participant-video__panel { grid-template-columns:1fr; } .participant-video__copy { max-width:42rem; } .participant-video__fallback { grid-column:1; margin:-.6rem 0 0; } .city-finder__intro { grid-template-columns:1fr; gap:1rem; } .client-logo-panel { max-width:34rem; } .lloyds-city-selector { grid-template-columns:repeat(2,minmax(0,1fr)); } .lloyds-event__facts { grid-template-columns:1fr; } .lloyds-checkpoints ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .lloyds-checkpoints li { border-right:1px solid #d8e4df; border-bottom:1px solid #d8e4df; } .lloyds-checkpoints li:nth-child(2n) { border-right:0; } .lloyds-checkpoints li:last-child { border-bottom:0; } .lloyds-discovery { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .programme-header__inner { min-height:5rem; gap:1rem; } .programme-header__partners { gap:.55rem; } .programme-header__partners img:first-child { width:min(11rem,42vw); } .programme-header__partners img:last-child { width:3.7rem; height:3.7rem; } .programme-header__inner > strong { max-width:8.5rem; font-size:.68rem; } .lloyds-hero { min-height:29rem; } .lloyds-hero::after { background:linear-gradient(0deg,rgba(8,21,28,.98) 0%,rgba(8,21,28,.82) 62%,rgba(8,21,28,.58) 100%); } .lloyds-hero__content { padding-top:2.5rem; padding-bottom:2.5rem; } .delivery-mark img { height:2.4rem; } .participant-video__panel { align-items:start; } .walk-prep__brief { align-items:stretch; flex-direction:column; } .walk-prep__brief .button { width:100%; text-align:center; } .walk-prep__apps { grid-template-columns:1fr; } .walk-prep__app { grid-template-columns:auto minmax(0,1fr) auto; } .walk-prep__links { flex-direction:column; } .walk-prep__links a { text-align:center; } .lloyds-city-selector { grid-template-columns:1fr 1fr; gap:.55rem; } .lloyds-city-selector a { min-height:6.7rem; grid-template-columns:3rem 1fr; padding:.7rem; gap:.55rem; } .lloyds-city-selector img { width:3rem; height:3rem; } .lloyds-event__header { grid-template-columns:1fr; } .lloyds-event__banner { order:-1; height:auto; min-height:0; aspect-ratio:10/3; object-fit:cover; } .lloyds-event__header > div { padding:1.25rem; } .lloyds-event__identity > img { width:5rem; height:5rem; flex-basis:5rem; } .lloyds-timings,.lloyds-discovery,.lloyds-route-grid { grid-template-columns:1fr; } .lloyds-indicative-map__heading { align-items:flex-start; flex-direction:column; gap:.75rem; } .lloyds-relationship .container,.programme-footer .container { align-items:flex-start; flex-direction:column; } }
@media (max-width:380px) { .lloyds-city-selector { grid-template-columns:1fr; } }
@media (max-width:640px) { .lloyds-checkpoints ol { grid-template-columns:1fr; } .lloyds-checkpoints li,.lloyds-checkpoints li:nth-child(2n) { border-right:0; border-bottom:1px solid #d8e4df; } .lloyds-checkpoints li:last-child { border-bottom:0; } }
@media (prefers-reduced-motion:reduce) { .lloyds-city-selector a { transition:none; } }
