/* Focused homepage refresh. Inherit the existing Onyx palette and type. */
.home-focus .focus-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.home-focus .video-hero{padding-block:clamp(3.5rem,7vw,6rem);min-height:calc(100svh - 116px)}
.home-focus .focus-hero-copy{min-width:0}
.home-focus .video-hero h1{font-size:clamp(3.1rem,5.8vw,5.5rem);line-height:1.04;max-width:12ch;margin-block:.25em .35em}
.home-focus .video-hero .lead{max-width:38rem;font-size:clamp(1rem,1.35vw,1.18rem)}
.home-focus .focus-hero-visual{position:relative;min-width:0;margin:0 0 0 .5rem;isolation:isolate}
.home-focus .focus-hero-visual::before{content:"";position:absolute;inset:18px -14px -14px 18px;border:1px solid var(--green);opacity:.45;z-index:-1}
.home-focus .focus-image-frame{aspect-ratio:1/1.05;overflow:hidden;background:var(--panel)}
.home-focus .focus-image-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% center;filter:saturate(.8) contrast(1.04)}
.home-focus .focus-hero-visual figcaption{position:absolute;left:-1.25rem;right:1.4rem;bottom:1.5rem;background:var(--ink);border-left:3px solid var(--green);padding:1.2rem 1.4rem;box-shadow:var(--shadow)}
.home-focus .focus-hero-visual figcaption .eyebrow{display:block;font-size:.62rem;color:var(--muted);margin-bottom:.5rem}
.home-focus .focus-hero-visual figcaption strong{display:block;font-size:clamp(1.4rem,2.1vw,2rem);line-height:1.15;letter-spacing:-.02em}
.home-focus .focus-hero-visual figcaption a{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;padding-block:.25rem;color:var(--green);font-size:.76rem;text-decoration:none;min-height:32px}
.home-focus .focus-image-index{position:absolute;right:1rem;top:1rem;background:var(--ink);color:var(--green);padding:.4rem .65rem;font-family:"IBM Plex Mono",monospace;font-size:.65rem;letter-spacing:.1em}
.home-focus .trust-strip{position:relative;margin-top:0;border-top:0}
.home-focus .focus-programmes{padding-top:clamp(4rem,7vw,7rem)}
.home-focus .focus-programme-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}
.home-focus .focus-programme-card{grid-column:span 5;padding:0;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);transform:none}
.home-focus .focus-programme-card:nth-child(1),.home-focus .focus-programme-card:nth-child(4){grid-column:span 7}
.home-focus .focus-programme-media{height:clamp(230px,24vw,350px);overflow:hidden;position:relative}
.home-focus .focus-programme-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(5,5,5,.35),transparent 50%)}
.home-focus .focus-programme-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.7) contrast(1.06);transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.home-focus .focus-programme-card:nth-child(1) img{object-position:70% 42%}
.home-focus .focus-programme-card:nth-child(2) img{object-position:center 48%}
.home-focus .focus-programme-copy{padding:clamp(1.25rem,2.6vw,2rem);display:flex;flex-direction:column;flex:1}
.home-focus .focus-programme-copy .number{margin-bottom:.8rem;display:block}
.home-focus .focus-programme-copy h3{margin:0 0 .75rem;font-size:clamp(1.6rem,2.8vw,2.5rem)}
.home-focus .focus-programme-copy p{max-width:48ch;margin:0 0 1.3rem}
.home-focus .focus-programme-copy .card-link{align-self:flex-start;margin-top:auto;min-height:40px;display:inline-flex;align-items:center}
.home-focus .focus-utility-card{grid-column:span 6;min-width:0;border-top:2px solid var(--green);padding:1.5rem 2rem}
.home-focus .focus-utility-card h3{font-size:1.45rem}
.home-focus .focus-first-visit{position:relative;background:var(--ink)}
.home-focus .focus-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:2.5rem 0 0;counter-reset:none}
.home-focus .focus-step{position:relative;min-width:0;border-top:1px solid var(--green);padding:1.5rem 2rem 1rem 0;display:block}
.home-focus .focus-step+.focus-step{padding-left:2rem;border-left:1px solid var(--line)}
.home-focus .focus-step::before{content:"";position:absolute;width:7px;height:7px;background:var(--green);top:-4px;left:0}
.home-focus .focus-step-number{display:block;font-size:clamp(3.2rem,5vw,5rem);line-height:1.1;font-weight:700;letter-spacing:-.06em;color:var(--green);opacity:.65;margin-bottom:1.2rem}
.home-focus .focus-step h3{font-size:1.3rem;line-height:1.3;margin:0 0 .7rem}
.home-focus .focus-step p{color:var(--muted);font-size:.92rem;line-height:1.7;margin:0 0 1rem}
.home-focus .focus-step a{color:var(--text);font-size:.78rem;text-decoration:underline;text-underline-offset:5px;display:inline-block;padding:.5rem 0;min-height:40px}
.home-focus .focus-visit-footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.4rem}
.home-focus .focus-visit-footer p{font-size:.78rem;color:var(--muted);margin:0;max-width:52ch}
@media(hover:hover) and (pointer:fine){.home-focus .focus-programme-card:hover{transform:none}.home-focus .focus-programme-card:hover .focus-programme-media img,.home-focus .focus-programme-card:focus-within .focus-programme-media img{transform:scale(1.035)}}
@media(max-width:1000px){.home-focus .focus-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem}.home-focus .video-hero h1{font-size:clamp(2.6rem,5.4vw,4rem)}.home-focus .focus-hero-visual figcaption{left:-.5rem;right:.7rem;padding:1rem}.home-focus .focus-step+.focus-step{padding-left:1.2rem}.home-focus .focus-step{padding-right:1.2rem}}
@media(max-width:700px){.home-focus .video-hero{min-height:auto;padding:3rem 0 3rem}.home-focus .focus-hero-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.home-focus .video-hero h1{font-size:clamp(2.35rem,9vw,4rem);max-width:13ch}.home-focus .video-hero .lead{font-size:1.02rem}.home-focus .focus-hero-visual{margin:0 10px 0 0}.home-focus .focus-image-frame{aspect-ratio:1.6;max-height:330px}.home-focus .focus-image-frame img{object-position:center 40%}.home-focus .focus-hero-visual figcaption{left:1rem;right:1rem;bottom:1rem;padding:.85rem 1rem}.home-focus .focus-hero-visual figcaption strong{font-size:1.25rem}.home-focus .focus-hero-visual figcaption strong br{display:none}.home-focus .focus-hero-visual figcaption a{margin-top:.3rem}.home-focus .focus-hero-visual figcaption .eyebrow{font-size:.57rem;margin-bottom:.25rem}.home-focus .focus-image-index{top:.65rem;right:.65rem}.home-focus .focus-programme-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}.home-focus .focus-programme-card,.home-focus .focus-programme-card:nth-child(1),.home-focus .focus-programme-card:nth-child(4),.home-focus .focus-utility-card{grid-column:auto}.home-focus .focus-programme-media{height:auto;aspect-ratio:16/9}.home-focus .focus-programme-copy{padding:1.3rem}.home-focus .focus-utility-card{padding:1.3rem}.home-focus .focus-steps{grid-template-columns:minmax(0,1fr);margin-top:1.75rem}.home-focus .focus-step,.home-focus .focus-step+.focus-step{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;border-left:0;border-top:1px solid var(--line);padding:1.4rem 0}.home-focus .focus-step:first-child{border-top-color:var(--green)}.home-focus .focus-step-number{font-size:2.6rem;margin:0}.home-focus .focus-step::before{display:none}.home-focus .focus-visit-footer{display:block;margin-top:.5rem}.home-focus .focus-visit-footer .card-link{display:inline-flex;align-items:center;margin-top:.65rem;min-height:44px}}
@media(prefers-reduced-motion:reduce){.home-focus [data-focus-reveal],.home-focus .focus-programme-media img{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}

/* Keep complete photographs inside their frames at every breakpoint. */
.home-focus .focus-hero-visual{margin:0;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.home-focus .focus-hero-visual::before,.home-focus .focus-image-index{display:none}
.home-focus .focus-image-frame{aspect-ratio:1;max-height:none;padding:.5rem;background:var(--panel)}
.home-focus .focus-image-frame img{object-fit:contain;object-position:center}
.home-focus .focus-hero-visual figcaption{position:static;padding:1.15rem 1.4rem;border-top:1px solid var(--line);box-shadow:none}
.home-focus .focus-programme-media{background:var(--panel);border-bottom:1px solid var(--line);padding:.5rem;flex:none}
.home-focus .focus-programme-media::after{display:none}
.home-focus .focus-programme-media img,.home-focus .focus-programme-card:nth-child(1) img,.home-focus .focus-programme-card:nth-child(2) img{object-fit:contain;object-position:center;transform:none!important}
.home-focus .onyx-photo-tile{min-height:0;border:1px solid var(--line)}
.home-focus .onyx-photo-tile img{position:static;height:330px;object-fit:contain;transform:none!important;padding:.5rem;box-sizing:border-box}
.home-focus .onyx-photo-tile::after{display:none}
.home-focus .onyx-photo-copy{position:static;padding:1rem 1.15rem;border-top:1px solid var(--line)}
.home-focus .training-graphic{overflow:hidden;padding:.5rem;box-sizing:border-box}
.home-focus .training-graphic-drift,.home-focus .training-graphic-tilt,.home-focus .training-graphic img{transform:none!important;animation:none!important}
.home-focus .focus-image-frame img,.home-focus .focus-programme-media img,.home-focus .onyx-photo-tile img,.home-focus .training-graphic img{max-width:100%;box-sizing:border-box}
@media(max-width:700px){.home-focus .focus-image-frame{aspect-ratio:1;max-height:none}.home-focus .focus-hero-visual figcaption{padding:1rem 1.15rem}.home-focus .focus-programme-media{height:300px;aspect-ratio:auto}.home-focus .onyx-photo-tile img{height:300px}}

/* Match frames to photographs and keep the hero heading inside its column. */
.home-focus .focus-hero-grid{max-width:var(--wrap,1180px);grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}
.home-focus .video-hero h1{font-size:clamp(2.6rem,3.9vw,4rem);max-width:100%;overflow-wrap:anywhere}
.home-focus .video-hero h1 .heading-inner{max-width:100%;overflow-wrap:anywhere}
.home-focus .focus-image-frame{aspect-ratio:auto;padding:0}
.home-focus .focus-image-frame img{width:100%;height:auto}
.home-focus .focus-programme-card,.home-focus .focus-programme-card:nth-child(1),.home-focus .focus-programme-card:nth-child(4){grid-column:span 6;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start}
.home-focus .focus-programme-media{height:auto;aspect-ratio:auto;padding:0;border-bottom:0;align-self:start}
.home-focus .focus-programme-media img{width:100%;height:auto}
.home-focus .focus-programme-copy{padding:1.35rem;min-width:0}
.home-focus .focus-programme-copy h3{font-size:clamp(1.35rem,2vw,1.8rem)}
.home-focus .onyx-photo-tile img{width:100%;height:auto;padding:0}
@media(max-width:1000px){
 .home-focus .focus-hero-grid{grid-template-columns:minmax(0,1fr);gap:2rem}
 .home-focus .focus-hero-visual{width:min(100%,460px);justify-self:start}
 .home-focus .video-hero h1{font-size:clamp(1.8rem,7.4vw,3.4rem)!important}
}
@media(max-width:700px){
 .home-focus .focus-programme-card,.home-focus .focus-programme-card:nth-child(1),.home-focus .focus-programme-card:nth-child(4){grid-column:auto;grid-template-columns:minmax(0,1fr)}
 .home-focus .focus-programme-media{height:auto;aspect-ratio:auto}
 .home-focus .focus-programme-copy h3{font-size:1.65rem}
 .home-focus .focus-image-frame{aspect-ratio:auto}
 .home-focus .onyx-photo-tile img{height:auto}
}

/* A consistent soft black veil ties programme photos into the dark cards. */
.home-focus .focus-programme-media::after{display:block;background:rgba(0,0,0,.2);z-index:1}

/* Keep the float on the card, preserving photograph proportions and overlays. */
@media(prefers-reduced-motion:no-preference){
 .home-focus .focus-programme-card{transform:translate3d(0,var(--focus-float-y,0px),0)!important;transition:none}
}
@media(prefers-reduced-motion:reduce){
 .home-focus .focus-programme-card{transform:none!important}
}
