.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) var(--hero-inner-img-w);
  gap: var(--hero-split-gap);
  align-items: center;
  box-sizing: border-box;
}

.home-hero-copy {
  min-width: 0;
  max-width: min(760px, 100%);
}

.home-hero-kicker {
  margin: 0 0 8px;
  font-size: var(--hero-eyebrow-fs);
  font-weight: 700;
  letter-spacing: var(--hero-eyebrow-ls);
  text-transform: uppercase;
  color: var(--brand-gold, #9a7a3a);
}

.home-hero-title {
  margin: 0;
  max-width: min(760px, 100%);
  overflow-wrap: normal;
  word-break: normal;
  color: var(--brand-green, #174836);
  font-size: var(--hero-title-fs);
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: 800;
  text-wrap: balance;
}

.home-hero-lede {
  margin: 0;
  max-width: min(560px, 100%);
  font-size: var(--hero-lede-fs);
  line-height: 1.58;
  color: rgba(32, 52, 45, 0.78);
}

.home-hero-title + .home-hero-lede {
  margin-top: 16px;
}

.home-hero-lede + .home-hero-lede {
  margin-top: 0.45rem;
}

.home-hero-programmes {
  margin: 12px 0 0;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--brand-gold, #9a7a3a);
  max-width: 52ch;
}

.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  align-items: center;
}

.home-hero-actions .btn {
  min-height: 46px;
  padding-inline: 20px;
  font-size: 14px;
  border-radius: 14px;
}

.home-hero-media {
  margin: 0;
  min-width: 0;
  width: var(--hero-inner-img-w);
  max-width: 100%;
  flex-shrink: 0;
  justify-self: end;
  align-self: center;
  padding: var(--hero-img-pad-shell);
  background: var(--brand-green, #174836);
  border-radius: var(--hero-img-radius-outer);
  box-shadow: 0 16px 40px rgba(15, 35, 60, 0.14);
  box-sizing: border-box;
}

.home-hero-media-frame {
  border-radius: var(--hero-img-radius-inner);
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.home-hero-media-frame picture {
  display: block;
  width: 100%;
  height: 100%;
}

.home-hero-media-frame img {
  width: 100%;
  height: 100%;
  aspect-ratio: unset;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--hero-img-radius-inner);
}

/* Quick contact — homepage hero only */
.home-hero-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(var(--navy-rgb), 0.94), rgba(var(--navy-soft-rgb), 0.92));
  border: 1px solid rgba(var(--teal-soft-rgb), 0.18);
}

.home-hero-meta-item {
  padding: 0.55rem 0.65rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.home-hero-meta-item strong {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 700;
}

.home-hero-meta-item span {
  display: block;
  margin-top: 0.22rem;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
}

.home-hero-meta-item a {
  color: #fff;
  text-decoration: none;
}

.home-hero-meta-item a:hover {
  text-decoration: underline;
}

.hero-quicklink {
  color: inherit;
}
.trust-strip{padding:1.2rem 0;border-top:1px solid rgba(var(--teal-rgb), .12);border-bottom:1px solid rgba(var(--teal-rgb), .12);background:#ffffff}
.trust-strip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.home-stack-first{padding-top:1.15rem;padding-bottom:.42rem}
.home-stack{padding-top:.72rem;padding-bottom:1.35rem}
.home-stack-alt{padding-top:1.35rem;padding-bottom:1.45rem}
.home-stack-last{padding-top:.95rem;padding-bottom:.85rem}
.trust-pill{display:flex;align-items:center;gap:.8rem;padding:1.1rem;border-radius:20px;background:var(--cream);border:1px solid rgba(var(--teal-rgb), .16);box-shadow:var(--shadow-card-strong)}
.trust-pill-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--teal-pale);font-size:1rem;color:var(--teal-hover);font-weight:700}
.trust-pill strong{display:block;font-size:.84rem;color:var(--ink)}
.trust-pill span{display:block;font-size:.74rem;color:var(--muted-strong)}
.why-grid-home,.proof-grid,.testimonial-grid,.programme-grid,.story-grid,.cta-grid{display:grid;gap:1.125rem}
.skill-lab-highlight{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1rem,2.8vw,1.5rem);align-items:start;margin:1.15rem 0 0;padding:1.2rem;border-radius:32px;background:var(--cream);border:1px solid rgba(var(--teal-rgb), .14);box-shadow:var(--shadow-card-strong)}
.skill-lab-visual{position:relative;min-height:clamp(200px,36vw,280px);aspect-ratio:16/10;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg)}
.skill-lab-visual picture{position:absolute;inset:0;display:block}
.skill-lab-visual img{width:100%;height:100%;object-fit:cover}
.skill-lab-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--overlay-rgb),.04),rgba(var(--overlay-rgb),.28))}
.skill-lab-copy h3{font-size:clamp(1.16rem,1.76vw,1.46rem);color:var(--navy);max-width:13ch}
.skill-lab-copy p{margin-top:.8rem;font-size:.95rem;color:var(--muted);max-width:58ch;line-height:1.8}
.skill-lab-points{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.skill-lab-pill{display:inline-flex;align-items:center;padding:.55rem .82rem;border-radius:12px;background:rgba(255,255,255,.86);border:1px solid rgba(var(--teal-rgb), .14);font-size:.76rem;font-weight:700;color:var(--teal-strong)}
.why-grid-home{grid-template-columns:1fr;gap:1rem;margin-top:1.7rem}
.why-card-home,.testimonial-card,.story-card{padding:1.1rem;border-radius:22px;background:var(--cream);border:1px solid rgba(var(--ink-rgb), .09);box-shadow:var(--shadow-card)}
.proof-card,.programme-card{padding:1.1rem;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,252,248,.99));border:1px solid rgba(var(--teal-rgb), .16);box-shadow:var(--shadow-card-strong)}
.why-card-home{display:grid;grid-template-columns:auto minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1.1rem}
.why-card-home:hover,.proof-card:hover,.testimonial-card:hover,.programme-card:hover,.story-card:hover{transform:translateY(-4px);transition:transform .25s var(--ease),box-shadow .25s var(--ease);box-shadow:var(--shadow)}
.icon-badge{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--teal-pale);font-size:1.1rem;color:var(--teal-strong);font-weight:700}
.why-card-home h3,.proof-card h3,.story-card h3{margin-top:0;font-size:1.14rem}
.why-card-home p,.proof-card p,.story-card p{margin-top:.25rem;font-size:.86rem;color:var(--muted)}
.why-card-home .why-lead{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-strong);line-height:1.2}
.programme-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem;align-items:stretch}
.programme-card{display:flex;flex-direction:column;gap:.48rem;padding:1.05rem 1.1rem;border-top:4px solid rgba(var(--teal-rgb), .32);min-height:100%}
.programme-card p{margin:0;font-size:.81rem;color:var(--muted);line-height:1.55;max-width:62ch}
.programme-card .programme-cta{margin-top:auto}
.programme-card.featured{grid-column:auto;background:var(--navy);color:white}
.programme-card.featured p,.programme-card.featured .programme-meta,.programme-card.featured .programme-link{color:rgba(255,255,255,.75)}
.programme-duration{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.programme-card.featured .programme-duration{color:var(--teal-soft)}
.programme-name{font-family:var(--font-sans);font-size:clamp(1.05rem,1.9vw,1.2rem);font-weight:700;letter-spacing:-.025em;line-height:1.18}
.programme-full{font-size:.79rem;color:var(--muted)}
.programme-meta{margin-top:.08rem;padding-top:.55rem;border-top:1px solid rgba(var(--ink-rgb),.12);font-size:.76rem;color:var(--muted-strong)}
.programme-card.featured .programme-meta{border-top-color:rgba(255,255,255,.12)}
.programme-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--navy)}
.programme-link::after{content:"→";font-size:.9rem}
.story-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(1rem,2.8vw,1.5rem);padding:1.2rem;border-radius:34px;background:var(--cream);border:1px solid rgba(var(--teal-rgb), .12)}
.story-media{position:relative;min-height:0;height:clamp(260px,34vw,380px)}
.story-photo-main{position:absolute;inset:0 16% 0 0;border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg)}
.story-photo-main picture,.story-photo-small picture{position:absolute;inset:0;display:block}
.story-photo-main img,.story-photo-small img{width:100%;height:100%;object-fit:cover}
.story-photo-main::after,.story-photo-small::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--overlay-rgb), 0),rgba(var(--overlay-rgb), .38))}
.story-photo-small{position:absolute;right:0;bottom:1.2rem;width:40%;height:220px;border-radius:24px;overflow:hidden;border:6px solid white;box-shadow:var(--shadow)}
.story-callout{display:flex;gap:1rem;align-items:flex-start;margin-top:1.15rem;padding:1rem 1.1rem;border-radius:20px;background:rgba(var(--teal-rgb), .08);border:1px solid rgba(var(--teal-rgb), .14)}
.story-callout p{font-size:.84rem;color:var(--muted-strong)}
.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.35rem}
.proof-card{padding:1.15rem 1.2rem;background:var(--cream);border-top:4px solid rgba(var(--teal-rgb), .28)}
.proof-card .proof-number{font-family:var(--font-sans);font-size:1.72rem;color:var(--teal);font-weight:700}
.proof-card .proof-caption{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-strong);line-height:1.2}
.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.35rem}
.testimonial-card{display:flex;flex-direction:column;gap:.75rem;padding:1.15rem 1.2rem;background:var(--cream)}
.testimonial-card:last-child{grid-column:1 / -1}
.testimonial-stars{font-size:.85rem;letter-spacing:.18em;color:var(--teal-soft)}
.testimonial-card blockquote{margin:0;font-size:.91rem;line-height:1.78;color:var(--ink-soft)}
.testimonial-card cite{font-style:normal}
.testimonial-name{font-weight:700;color:var(--ink)}
.testimonial-role{font-size:.76rem;color:var(--muted)}
.cta-shell{position:relative;overflow:hidden;padding:2rem;border-radius:34px;background:var(--navy);box-shadow:var(--shadow-panel)}
.cta-shell::before{content:"";position:absolute;top:-130px;right:-100px;width:360px;height:360px;border-radius:999px;background:rgba(var(--teal-soft-rgb), .2)}
.cta-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.cta-shell .s-label{display:inline-flex;width:fit-content}
.cta-shell h2{font-size:clamp(1.34rem,2.05vw,1.74rem);color:white;max-width:14ch}
.cta-shell p{margin-top:1rem;max-width:620px;color:rgba(255,255,255,.84)}
.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end}
.home-section-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(260px,.72fr);align-items:start;justify-items:start;gap:1rem clamp(1rem,2.8vw,1.5rem)}
.home-section-head > a,
.home-section-head > .btn,
.home-section-head > p{margin-top:0}
.home-section-head > a,
.home-section-head > .btn,
.home-section-head > p{justify-self:end}
.home-section-head > p{max-width:31rem;font-size:.86rem;color:var(--muted);line-height:1.72}
@media (max-width: 900px) {
  .home-hero-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .home-hero-media {
    justify-self: start;
    width: min(100%, var(--hero-inner-img-w));
  }

  .home-hero-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .story-grid,
  .cta-grid,
  .skill-lab-highlight,
  .home-section-head {
    grid-template-columns: 1fr;
  }

  .trust-strip-grid,
  .testimonial-grid {
    grid-template-columns: 1fr 1fr;
  }

  .why-card-home {
    grid-template-columns: auto 1fr;
  }

  .why-card-home > :last-child {
    grid-column: 2;
  }

  .cta-actions {
    justify-content: flex-start;
  }

  .home-section-head > a,
  .home-section-head > .btn,
  .home-section-head > p {
    justify-self: start;
  }

  .home-section-head > p {
    max-width: none;
  }
}
@media(max-width:760px){.trust-strip-grid,.proof-grid,.testimonial-grid,.programme-grid{grid-template-columns:1fr}.story-media,.skill-lab-visual{min-height:auto}.story-media{height:clamp(300px,62vw,380px)}.story-photo-main{inset:0 8% 0 0}.story-photo-small{width:44%;height:180px}.cta-shell{padding:1.85rem}.why-card-home{grid-template-columns:1fr}.why-card-home > :last-child{grid-column:auto}.home-hero-title,.home-hero-lede{max-width:none}.home-stack-first{padding-top:1.1rem;padding-bottom:.45rem}.home-stack,.home-stack-alt{padding-top:.8rem;padding-bottom:1.3rem}.home-stack-last{padding-top:1rem;padding-bottom:1rem}}
