/* =========================================================
   Homepage content sections (new copy structure)
   ========================================================= */

/* Scroll-in animations for each homepage section */
.home-section-anim .home-anim-item{
  opacity:0;
  transform:translateY(36px);
  transition:
    opacity .85s var(--ease),
    transform .85s var(--ease),
    box-shadow .35s ease;
  transition-delay:calc(var(--i, 0) * 90ms);
  will-change:opacity, transform;
}
.home-section-anim .home-anim-item.reveal-scale,
.home-section-anim .home-anim-item.home-welcome-media,
.home-section-anim .home-anim-item.home-life-media,
.home-section-anim .home-anim-item.home-visit-media,
.home-section-anim .home-anim-item.home-exp-visual{
  transform:scale(.94) translateY(24px);
}
.home-section-anim.is-inview .home-anim-item,
.home-section-anim .home-anim-item.is-animated,
.home-section-anim .home-anim-item.is-visible{
  opacity:1;
  transform:none;
}
.home-section-anim .home-glance-cell.home-anim-item{
  transform:translateY(28px) scale(.96);
}
.home-section-anim.is-inview .home-glance-cell.home-anim-item,
.home-section-anim .home-glance-cell.home-anim-item.is-animated{
  transform:none;
}
.home-section-anim .logo-slider.home-anim-item{
  transform:translateY(30px);
}
@media (prefers-reduced-motion: reduce){
  .home-section-anim .home-anim-item{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* Shared decorative layer (unused — dots removed) */
.home-deco{ display:none; }
.home-welcome,
.home-stages,
.home-awards,
.home-glance,
.home-life,
.home-updates,
.home-visit,
#enquire.contact{
  position:relative;
  overflow:hidden;
}
.home-experience{
  position:relative;
}
.home-welcome > .wrap,
.home-experience > .wrap,
.home-stages > .wrap,
.home-awards > .wrap,
.home-glance > .wrap,
.home-life > .wrap,
.home-updates > .wrap,
.home-visit > .wrap,
#enquire.contact > .wrap,
.home-awards > .logo-slider{
  position:relative;
  z-index:1;
}
.home-deco-dots,
.home-deco-cluster{
  position:absolute;
  display:block;
  background-image:radial-gradient(circle, rgba(54,53,135,.28) 1.35px, transparent 1.55px);
  background-size:14px 14px;
  background-repeat:repeat;
}
.home-deco-dots{
  width:160px;
  height:120px;
  opacity:.9;
}
.home-deco-cluster{
  width:220px;
  height:220px;
  border-radius:50%;
  -webkit-mask-image:radial-gradient(circle, #000 42%, transparent 72%);
  mask-image:radial-gradient(circle, #000 42%, transparent 72%);
  opacity:.85;
}
.home-deco-sm{
  width:110px;
  height:90px;
  background-size:11px 11px;
}
.home-deco-tl{ top:28px; left:4%; }
.home-deco-tr{ top:18px; right:3%; }
.home-deco-bl{ bottom:36px; left:5%; }
.home-deco-br{ bottom:28px; right:4%; }
.home-deco-mid{ top:42%; left:46%; transform:translate(-50%, -50%); opacity:.45; }

.home-deco--on-dark .home-deco-dots,
.home-deco--on-dark .home-deco-cluster{
  background-image:radial-gradient(circle, rgba(245,195,7,.42) 1.35px, transparent 1.55px);
  opacity:.7;
}
.home-deco--on-dark .home-deco-cluster{
  background-image:radial-gradient(circle, rgba(255,255,255,.28) 1.35px, transparent 1.55px);
}

@media (max-width:720px){
  .home-deco-dots{ width:110px; height:84px; }
  .home-deco-cluster{ width:150px; height:150px; }
  .home-deco-mid{ display:none; }
}

/* Floating school icons + blobs */
.home-icons{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  overflow:hidden;
}
.home-icon{
  position:absolute;
  color:var(--ink);
  opacity:.18;
  font-size:1.35rem;
  line-height:1;
  filter:drop-shadow(0 6px 12px rgba(54,53,135,.12));
  animation:homeIconFloat 4.4s ease-in-out infinite;
}
.home-icons--on-dark .home-icon{
  color:var(--marigold);
  opacity:.55;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));
}
.home-icon.hi-a{ top:34px; left:5%; font-size:1.45rem; }
.home-icon.hi-b{ top:48px; right:6%; animation-delay:.55s; font-size:1.25rem; animation-name:homeIconDrift; }
.home-icon.hi-c{ bottom:42px; right:10%; animation-delay:.95s; font-size:1.2rem; }
.home-icon.hi-d{ bottom:56px; left:7%; animation-delay:1.2s; font-size:1.15rem; animation-name:homeIconPulse; }
.home-icon.hi-e{ top:52%; left:3%; animation-delay:.7s; font-size:1.1rem; animation-name:homeIconSpin; animation-duration:14s; animation-timing-function:linear; }

.home-blob{
  position:absolute;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--marigold);
  opacity:.5;
  animation:homeIconFloat 3.6s ease-in-out infinite;
}
.home-blob.hb-1{ top:16%; left:3.5%; }
.home-blob.hb-2{ top:20%; right:4%; width:11px; height:11px; animation-delay:.8s; }
.home-blob.hb-3{ bottom:18%; left:5%; width:9px; height:9px; animation-delay:1.15s; background:var(--ink); opacity:.22; }
.home-icons--on-dark .home-blob.hb-3{ background:var(--marigold); opacity:.45; }

.home-wiggle{
  position:absolute;
  width:52px;
  height:16px;
  color:var(--marigold);
  opacity:.75;
  animation:homeIconDrift 6s ease-in-out infinite;
}
.home-wiggle svg{ width:100%; height:100%; display:block; }
.home-wiggle.hw-1{ bottom:28px; left:12%; }
.home-wiggle.hw-2{ top:40px; right:16%; animation-delay:.7s; }

@keyframes homeIconFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}
@keyframes homeIconDrift{
  0%,100%{ transform:translate(0,0) rotate(0deg); }
  50%{ transform:translate(8px,-11px) rotate(8deg); }
}
@keyframes homeIconPulse{
  0%,100%{ transform:scale(1); opacity:.16; }
  50%{ transform:scale(1.16); opacity:.28; }
}
.home-icons--on-dark .home-icon.hi-d{
  animation-name:homeIconPulseDark;
}
@keyframes homeIconPulseDark{
  0%,100%{ transform:scale(1); opacity:.5; }
  50%{ transform:scale(1.16); opacity:.8; }
}
@keyframes homeIconSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@media (max-width:720px){
  .home-icon.hi-d,
  .home-icon.hi-e,
  .home-blob.hb-3,
  .home-wiggle{ display:none; }
  .home-icon{ font-size:1.05rem; opacity:.14; }
  .home-icons--on-dark .home-icon{ opacity:.4; }
}

.home-hero-school{
  margin:10px 0 14px;
  font-size:clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight:600;
  letter-spacing:.02em;
  color:rgba(255,255,255,.92);
}
.home-hero-tagline{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:18px 0 22px;
}
.home-hero-gen{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--marigold);
}
.home-hero-ready{
  font-size:clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.15;
  color:#fff;
}

.home-section-intro{
  max-width:72ch;
  margin:0 auto 40px;
  text-align:center;
}
.home-section-intro h2{
  margin:0 0 14px;
  color:var(--ink);
  font-size:clamp(1.85rem, 3vw, 2.55rem);
  line-height:1.15;
}
.home-section-intro p{
  margin:0 0 12px;
  color:var(--text-soft);
  font-size:1.05rem;
  line-height:1.65;
}
.home-section-intro p:last-child{ margin-bottom:0; }
.home-section-intro--light h2,
.home-section-intro--light p{ color:rgba(255,255,255,.92); }
.home-section-intro--light h2{ color:#fff; }
.home-section-cta{
  display:flex;
  justify-content:center;
  margin-top:36px;
}

/* Welcome */
.home-welcome{
  padding:30px 0;
  background:
    radial-gradient(ellipse 50% 40% at 8% 18%, rgba(245,195,7,.14), transparent 55%),
    radial-gradient(ellipse 40% 35% at 92% 78%, rgba(54,53,135,.06), transparent 50%),
    linear-gradient(180deg, #faf9fd 0%, #fff 48%, #f5f4fa 100%);
}
.home-welcome-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.home-welcome-copy h2{
  margin:0 0 16px;
  color:var(--ink);
  font-size:clamp(1.9rem, 3vw, 2.6rem);
  line-height:1.15;
}
.home-welcome-copy p{
  margin:0 0 14px;
  color:var(--text-soft);
  line-height:1.7;
  font-size:1.05rem;
}
.home-welcome-copy .lead{
  color:var(--ink);
  font-weight:600;
  font-size:1.12rem;
}
.home-welcome-close{
  font-style:italic;
  color:var(--ink) !important;
}
.home-welcome-copy .btn{ margin-top:10px; }
.home-life-copy .btn{ margin-top:8px; }
.home-welcome-media{
  position:relative;
  padding:18px 10px 10px 28px;
}
.home-welcome-accent{
  position:absolute;
  left:8px;
  bottom:0;
  width:58%;
  height:52%;
  border-radius:18px;
  background:linear-gradient(145deg, rgba(54,53,135,.12), rgba(245,195,7,.18));
  z-index:0;
}
.home-welcome-frame{
  position:relative;
  z-index:1;
  border-radius:20px;
  overflow:hidden;
  background:var(--ink);
  box-shadow:0 28px 60px -24px rgba(54,53,135,.45);
  aspect-ratio:16/10;
}
.home-welcome-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:0;
}

/* Experience — hub diagram matching Meru Experience mockup */
.home-experience{
  position:relative;
  padding:48px 0 40px;
  background:#f7f6f2;
  color:var(--ink);
  overflow:hidden;
}
.home-exp-layout{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:36px;
}
.home-exp-copy{
  max-width:44rem;
  text-align:center;
}
.home-exp-copy h2{
  margin:0 0 14px;
  color:var(--ink);
  font-size:clamp(1.85rem, 3.2vw, 2.6rem);
  line-height:1.12;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.home-exp-copy p{
  margin:0;
  color:rgb(33, 37, 41);
  font-size:1.02rem;
  line-height:1.7;
}
.home-exp-diagram{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px) minmax(0, 1fr);
  grid-template-rows:repeat(3, auto);
  column-gap:18px;
  row-gap:36px;
  align-items:center;
  width:100%;
  max-width:1120px;
  overflow:visible;
}
.home-exp-hub-wrap{
  --orbit:42%;
  grid-column:2;
  grid-row:1 / span 3;
  position:relative;
  width:100%;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  overflow:visible;
}
.home-exp-hub-ring{
  position:absolute;
  left:50%;
  top:50%;
  width:calc(var(--orbit) * 2);
  height:calc(var(--orbit) * 2);
  transform:translate(-50%, -50%);
  border:2px solid #f5c307;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.home-exp-hub-core{
  width:58%;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px 16px;
  box-shadow:0 18px 36px -20px rgba(54,53,135,.55);
  z-index:1;
}
.home-exp-hub-core p{
  margin:0;
  color:#fff;
  font-family:Helvetica, Arial, sans-serif;
  font-weight:700;
  font-size:clamp(.95rem, 1.6vw, 1.2rem);
  line-height:1.25;
  letter-spacing:.04em;
  text-transform:uppercase;
  max-width:8.5em;
}
.home-exp-hub-rule{
  display:block;
  width:42px;
  height:3px;
  margin-top:10px;
  border-radius:99px;
  background:var(--marigold);
}
.home-exp-item{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.home-exp-item.i1{ grid-column:1; grid-row:1; justify-content:flex-end; text-align:right; }
.home-exp-item.i3{ grid-column:1; grid-row:2; justify-content:flex-end; text-align:right; }
.home-exp-item.i5{ grid-column:1; grid-row:3; justify-content:flex-end; text-align:right; }
.home-exp-item.i2{ grid-column:3; grid-row:1; }
.home-exp-item.i4{ grid-column:3; grid-row:2; }
.home-exp-item.i6{ grid-column:3; grid-row:3; }
.home-exp-item-copy{ min-width:0; max-width:22rem; }
.home-exp-item h3{
  margin:0 0 6px;
  color:var(--ink);
  font-size:clamp(.95rem, 1.35vw, 1.08rem);
  font-weight:700;
  line-height:1.3;
}
.home-exp-item h3 span{
  color:#c9a006;
  margin-right:4px;
}
.home-exp-item p{
  margin:0;
  color:#5c5c68;
  font-size:.9rem;
  line-height:1.5;
}
.home-exp-icon{
  flex:0 0 auto;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.15rem;
  color:var(--ink);
  z-index:2;
}
.home-exp-icon.tone-gold{ background:#fde9a0; }
.home-exp-icon.tone-ice{ background:#d9e4ef; }
.home-exp-icon--orbit{
  position:absolute;
  left:calc(50% + sin(var(--a)) * var(--orbit));
  top:calc(50% - cos(var(--a)) * var(--orbit));
  margin:0;
  transform:translate(-50%, -50%);
}
.home-exp-icon--inline{ display:none; }
.home-exp-venn{
  position:relative;
  width:28px;
  height:18px;
  display:block;
}
.home-exp-venn i{
  position:absolute;
  top:2px;
  width:14px;
  height:14px;
  border:2px solid var(--ink);
  border-radius:50%;
}
.home-exp-venn i:nth-child(1){ left:0; }
.home-exp-venn i:nth-child(2){ left:7px; }
.home-exp-venn i:nth-child(3){ left:14px; }
.home-exp-cta{
  margin-top:4px;
}
@media (max-width:980px){
  .home-exp-diagram{
    display:flex;
    flex-direction:column;
    gap:12px;
    max-width:36rem;
  }
  .home-exp-hub-wrap{ display:none; }
  .home-exp-icon--orbit{ display:none; }
  .home-exp-icon--inline{ display:grid; }
  .home-exp-item,
  .home-exp-item.i1,
  .home-exp-item.i2,
  .home-exp-item.i3,
  .home-exp-item.i4,
  .home-exp-item.i5,
  .home-exp-item.i6{
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    text-align:left;
    gap:14px;
    padding:14px 16px;
    background:#fff;
    border-radius:14px;
    box-shadow:0 10px 24px -18px rgba(54,53,135,.3);
  }
  .home-exp-item.i1{ order:1; }
  .home-exp-item.i2{ order:2; }
  .home-exp-item.i3{ order:3; }
  .home-exp-item.i4{ order:4; }
  .home-exp-item.i5{ order:5; }
  .home-exp-item.i6{ order:6; }
  .home-exp-item-copy{ max-width:none; }
  .home-exp-item h3{ font-size:1.02rem; }
}
@media (max-width:720px){
  .home-experience{ padding:30px 0; }
  .home-exp-layout{ gap:22px; }
  .home-exp-copy{ text-align:left; }
  .home-exp-copy h2{
    font-size:clamp(1.45rem, 6vw, 1.9rem);
    letter-spacing:.01em;
  }
  .home-exp-copy p{ font-size:.98rem; }
  .home-exp-icon{
    width:48px;
    height:48px;
    font-size:1.05rem;
  }
  .home-exp-item p{ font-size:.88rem; }
  .home-exp-cta{
    width:fit-content;
    max-width:max-content;
    align-self:flex-start;
  }
}
@media (prefers-reduced-motion: reduce){
  .home-exp-cta:hover{ transform:none; }
}


/* Stages — image cards matching reference layout */
.home-stages{
  padding:30px 0;
  background:#f7f6f2;
}
.home-stages-head{
  margin-bottom:36px;
}
.home-stages-head h2{
  margin:0 0 10px;
  color:var(--ink);
  font-size:clamp(1.85rem, 3.2vw, 2.55rem);
  line-height:1.15;
  font-weight:700;
}
.home-stages-curricula{
  margin:0 0 16px;
  color:var(--ink);
  font-size:1.05rem;
  line-height:1.4;
}
.home-stages-curricula em{
  font-style:italic;
  font-weight:500;
  letter-spacing:.02em;
}
.home-stages-lead{
  margin:0;
   
  color:var(--text-soft);
  font-size:1.05rem;
  line-height:1.7;
}

.home-stages-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  align-items:stretch;
}
.home-stage-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px -18px rgba(54,53,135,.28);
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.home-stage-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px -20px rgba(54,53,135,.35);
}
.home-stage-card-media{
  height:300px;
  overflow:hidden;
  background:#f4f3f8;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-stage-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-stage-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:22px 22px 24px;
}
.home-stage-card-body h3{
  margin:0 0 6px;
  color:var(--ink);
  font-size:1.28rem;
  line-height:1.25;
  font-weight:700;
}
.home-stage-meta{
  margin:0 0 12px;
  color:var(--ink);
  font-size:.92rem;
  font-weight:600;
  line-height:1.35;
  opacity:.9;
}
.home-stage-copy{
  margin:0 0 18px;
  color:var(--text-soft);
  font-size:.95rem;
  line-height:1.65;
}
.home-stage-copy[hidden]{
  display:none !important;
  margin:0;
}
.home-stage-card-body .btn{
  margin-top:auto;
  align-self:flex-start;
  white-space:normal;
  text-align:center;
  padding:12px 20px;
  font-size:.88rem;
}
.home-stages-cta{
  display:flex;
  justify-content:center;
  margin-top:36px;
}

.home-awards{
  padding:30px 0;
}
.home-awards .home-section-intro{ margin-bottom:28px; }

/* Glance — compact 1-row pastel board */
.home-glance{
  position:relative;
  padding:30px 0;
  overflow:hidden;
  background:#f7f6f2;
  color:var(--ink);
}
.home-glance-head{
  margin-bottom:18px;
 
}
.home-glance-head h2{
  margin:0 0 6px;
  color:var(--ink);
  font-size:clamp(1.45rem, 2.4vw, 1.85rem);
  line-height:1.15;
}
.home-glance-head p{
  margin:0;
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.55;
}
.home-glance-board{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  width:100%;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(54,53,135,.08);
}
.home-glance-cell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  min-height:132px;
  padding:18px 10px;
  position:relative;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  background-blend-mode:multiply;
}
.home-glance-cell.tone-a{ background-color:#e4e8f5; }
.home-glance-cell.tone-b{ background-color:#f7f1df; }
.home-glance-cell.tone-c{ background-color:#ebeaf6; }
.home-glance-ico{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  color:var(--ink);
  font-size:1.35rem;
  line-height:1;
}
.home-glance-cell.tone-b .home-glance-ico{
  color:#c9a006;
}
.home-glance-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}
.home-glance-value{
  display:block;
  font-family:var(--display);
  font-size:clamp(1.15rem, 1.7vw, 1.4rem);
  font-weight:800;
  line-height:1.05;
  color:var(--ink);
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.home-glance-cell.tone-b .home-glance-value{
  color:#c9a006;
}
.home-glance-label{
  display:block;
  color:#3a3960;
  font-size:.78rem;
  font-weight:600;
  line-height:1.3;
  max-width:12ch;
}
.home-glance-sub{
  display:block;
  margin-top:2px;
  color:#6a6a75;
  font-size:.68rem;
  font-weight:600;
  line-height:1.3;
  max-width:14ch;
}

/* Life */
.home-life{
  padding:30px 0;
  background:#fff;
}
.home-life-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:center;
}
.home-life-copy h2{
  margin:0 0 16px;
  color:var(--ink);
  font-size:clamp(1.9rem, 3vw, 2.6rem);
}
.home-life-copy p{
  margin:0 0 14px;
  color:var(--text-soft);
  line-height:1.7;
  font-size:1.05rem;
}
.home-life-copy .lead{
  color:var(--ink);
  font-weight:600;
  font-size:1.12rem;
}
.home-life-stories{
  margin:22px 0 20px;
  padding:22px 20px;
  border-left:4px solid var(--marigold);
  background:rgba(54,53,135,.05);
  border-radius:0 14px 14px 0;
}
.home-life-stories h3{
  margin:0 0 8px;
  color:var(--ink);
  font-size:1.2rem;
}
.home-life-stories p{ margin:0; }
.home-life-media{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  grid-template-rows:auto auto;
  gap:12px;
  min-height:0;
  padding:0;
  align-items:stretch;
}
.home-life-shot{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:12px;
  box-shadow:0 16px 36px -18px rgba(0,0,0,.35);
  background:#f4f3f8;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-life-shot img{
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
  display:block;
}
.home-life-shot--left-top{
  grid-column:1;
  grid-row:1;
}
.home-life-shot--left-bottom{
  grid-column:1;
  grid-row:2;
}
.home-life-shot--right{
  grid-column:2;
  grid-row:1 / span 2;
}
.home-life-shot--right img{
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:contain;
}

/* Updates — featured + stacked cards (compact) */
.home-updates{
  padding:30px 0;
  background:#f3f2f0;
}
.home-updates-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px 28px;
  margin-bottom:20px;
}
.home-updates-copy{
  max-width:100ch;
}
.home-updates-copy h2{
  margin:0 0 6px;
  color:var(--ink);
  font-size:clamp(1.4rem, 2.4vw, 1.75rem);
  line-height:1.15;
}
.home-updates-copy p{
  margin:0;
  color:var(--text-soft);
  font-size:.9rem;
  line-height:1.5;
}
.home-updates-head .btn{
  flex:0 0 auto;
  margin-top:4px;
  white-space:normal;
  padding:12px 22px;
  font-size:.88rem;
}

.home-updates-layout{
  display:grid;
  grid-template-columns:1.45fr .9fr;
  gap:12px;
  align-items:stretch;
}
.home-update-feature{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:200px;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:0 10px 28px -22px rgba(54,53,135,.35);
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.home-update-feature:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px -20px rgba(54,53,135,.4);
}
.home-update-feature-media{
  min-height:100%;
  overflow:hidden;
}
.home-update-feature-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s var(--ease);
}
.home-update-feature:hover .home-update-feature-media img{
  transform:scale(1.04);
}
.home-update-feature-body{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 18px 42px;
  background:#fff;
}
.home-update-tag{
  display:block;
  margin-bottom:8px;
  color:rgba(54,53,135,.65);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.home-update-feature-body h3{
  margin:0 0 4px;
  color:var(--ink);
  font-size:clamp(1.05rem, 1.8vw, 1.3rem);
  line-height:1.2;
}
.home-update-feature-body p{
  margin:0;
  color:var(--ink);
  font-size:.88rem;
  line-height:1.4;
  opacity:.85;
}
.home-update-go{
  position:absolute;
  right:14px;
  bottom:14px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(54,53,135,.2);
  color:var(--ink);
  background:#fff;
  font-size:.72rem;
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.home-update-feature:hover .home-update-go,
.home-update-mini:hover .home-update-go{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

.home-updates-side{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.home-update-mini{
  position:relative;
  display:grid;
  grid-template-columns:88px 1fr;
  align-items:center;
  gap:0;
  flex:1;
  min-height:94px;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:0 10px 28px -22px rgba(54,53,135,.35);
  transition:transform .3s var(--ease), box-shadow .3s ease;
}
.home-update-mini:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px -20px rgba(54,53,135,.4);
}
.home-update-mini-media{
  height:100%;
  min-height:94px;
  overflow:hidden;
}
.home-update-mini-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s var(--ease);
}
.home-update-mini:hover .home-update-mini-media img{
  transform:scale(1.05);
}
.home-update-mini-body{
  padding:12px 40px 12px 14px;
}
.home-update-mini-body h3{
  margin:0;
  color:var(--ink);
  font-size:.92rem;
  line-height:1.25;
}
.home-update-mini .home-update-go{
  right:10px;
  bottom:auto;
  top:50%;
  transform:translateY(-50%);
}
.home-update-mini:hover .home-update-go{
  transform:translateY(-50%);
}

/* Visit CTA — split journey panel */
.home-visit{
  padding:30px 0;
  background:
    radial-gradient(ellipse 42% 55% at 8% 20%, rgba(245,195,7,.16), transparent 58%),
    radial-gradient(ellipse 48% 50% at 92% 78%, rgba(54,53,135,.08), transparent 60%),
    linear-gradient(180deg, #faf9fc 0%, #f0eef7 100%);
}
.home-visit-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px 56px;
  align-items:center;
}
.home-visit-copy{ position:relative; max-width:540px; }
.home-visit-mark{
  display:block;
  width:42px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--marigold), rgba(245,195,7,.2));
  margin-bottom:18px;
}
.home-visit-copy h2{
  margin:0 0 18px;
  color:var(--ink);
  font-size:clamp(1.85rem, 3.1vw, 2.55rem);
  line-height:1.18;
  letter-spacing:-.02em;
}
.home-visit-copy p{
  margin:0 0 14px;
  color:var(--text-soft);
  line-height:1.7;
  font-size:1.02rem;
}
.home-visit-copy .lead{
  color:var(--ink);
  font-size:1.12rem;
  font-weight:600;
  line-height:1.55;
}
.home-visit-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.home-visit .btn-ghost{
  color:var(--ink);
  border-color:rgba(54,53,135,.35);
}
.home-visit .btn-ghost:hover{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.home-visit-phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
  font-size:.95rem;
  opacity:.85;
  transition:opacity .2s ease, color .2s ease;
}
.home-visit-phone i{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(54,53,135,.08);
  color:var(--ink);
  font-size:.78rem;
}
.home-visit-phone:hover{ opacity:1; color:var(--ink); }

.home-visit-media{
  position:relative;
  min-height:420px;
  padding:18px 12px 12px 28px;
}
.home-visit-accent{
  position:absolute;
  right:0;
  bottom:8%;
  width:72px;
  height:72px;
  border-radius:18px;
  background:linear-gradient(145deg, var(--marigold), #f7d44a);
  opacity:.9;
  z-index:0;
  transform:rotate(12deg);
}
.home-visit-shot{
  margin:0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 48px -24px rgba(54,53,135,.45);
}
.home-visit-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s var(--ease);
}
.home-visit-shot:hover img{ transform:scale(1.04); }
.home-visit-shot--main{
  position:relative;
  z-index:1;
  width:100%;
  height:400px;
  border-radius:18px;
}
.home-visit-shot--float{
  position:absolute;
  left:0;
  bottom:0;
  z-index:2;
  width:46%;
  height:48%;
  border-radius:14px;
  border:4px solid #fff;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.35);
}
.home-visit-pin{
  position:absolute;
  top:28px;
  right:22px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  font-size:.78rem;
  font-weight:700;
  box-shadow:0 10px 28px -14px rgba(54,53,135,.45);
  backdrop-filter:blur(6px);
}
.home-visit-pin i{ color:var(--marigold); font-size:.85rem; }

@media (max-width:1024px){
  .home-welcome-grid,
  .home-life-grid,
  .home-visit-grid{ grid-template-columns:1fr; gap:32px; }
  .home-welcome-media{ padding:12px 6px 6px 18px; }
  .home-stages-cards{ grid-template-columns:1fr 1fr; gap:20px; }
  .home-stages-cards .home-stage-card:last-child{ grid-column:1 / -1; max-width:420px; justify-self:center; width:100%; }
  .home-glance-board{ grid-template-columns:repeat(4, 1fr); }
  .home-glance-cell{ min-height:110px; padding:14px 10px; }
  .home-glance-label{ font-size:.72rem; max-width:none; }
  .home-glance-sub{ max-width:none; }
  .home-glance-value{ font-size:1.15rem; }
  .home-glance-ico{ width:28px; height:28px; font-size:1.05rem; }
  .home-life-media{ order:-1; min-height:0; padding:0; }
  .home-visit-media{ order:-1; min-height:340px; padding:16px 8px 8px 20px; }
  .home-visit-shot--main{ height:320px; }
  .home-visit-copy{ max-width:none; }
  .home-updates-layout{ grid-template-columns:1fr; }
  .home-update-feature{ min-height:180px; }
  .home-update-mini{ min-height:88px; }
  .home-update-mini-media{ min-height:88px; }
}

@media (max-width:720px){
  .home-welcome,
  .home-stages,
  .home-life,
  .home-visit{ padding:30px 0; }
  .home-welcome-copy .btn,
  .home-life-copy .btn{ width:fit-content; max-width:max-content; flex:0 0 auto; }
  .home-stages-cards{
    grid-template-columns:1fr;
    gap:18px;
  }
  .home-stages-cards .home-stage-card:last-child{
    grid-column:auto;
    max-width:none;
  }
  .home-stage-card-body{ padding:18px 16px 20px; }
  .home-stage-card-media{ height:250px; }
  .home-stage-card-body .btn{
    width:fit-content;
    max-width:max-content;
    flex:0 0 auto;
    white-space:normal;
  }
  .home-stages-head{ margin-bottom:24px; }
  .home-stages-cta{ margin-top:24px; }
  .home-stages-cta .btn{
    width:fit-content;
    max-width:max-content;
  }
  .home-stages-head h2{ max-width:none; font-size:clamp(1.45rem, 6vw, 1.9rem); }
  .home-stages-lead{ font-size:.98rem; }

  .home-glance{ padding:30px 0; }
  .home-glance-board{
    grid-template-columns:repeat(2, 1fr);
    overflow-x:visible;
  }
  .home-glance-cell{ min-height:104px; padding:14px 12px; }
  .home-glance-label{ font-size:.75rem; line-height:1.25; }

  .home-life-media{
    min-height:0;
    height:auto;
    padding:0;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:10px;
  }
  .home-life-shot,
  .home-life-shot--left-top,
  .home-life-shot--left-bottom,
  .home-life-shot--right{
    grid-column:auto;
    grid-row:auto;
    width:100%;
    height:auto;
  }
  .home-life-shot img,
  .home-life-shot--right img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
  .home-life-copy h2{ font-size:clamp(1.45rem, 6vw, 1.9rem); }

  .home-visit-media{
    min-height:0;
    height:auto;
    padding:0;
  }
  .home-visit-shot--main{
    position:relative;
    height:auto;
    aspect-ratio:16 / 11;
    width:100%;
  }
  .home-visit-shot--float{
    width:42%;
    height:40%;
    bottom:10px;
    left:10px;
  }
  .home-visit-pin{ top:14px; right:12px; padding:8px 12px; font-size:.72rem; }
  .home-visit-cta{ flex-direction:column; align-items:stretch; }
  .home-visit-cta .btn{ width:fit-content; max-width:max-content; flex:0 0 auto; }
  .home-visit-copy h2{ font-size:clamp(1.45rem, 6vw, 1.9rem); }

  .home-updates{ padding:30px 0; }
  .home-updates-head{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
  }
  .home-updates-head .btn{ width:fit-content; max-width:max-content; flex:0 0 auto; }
  .home-update-feature{
    grid-template-columns:1fr;
    min-height:0;
  }
  .home-update-feature-media{ min-height:180px; }
  .home-update-feature-body{ padding:18px 16px 44px; }
  .home-update-mini{ grid-template-columns:84px 1fr; min-height:84px; }
  .home-update-mini-media{ min-height:84px; }

  .home-icons{ opacity:.55; }
  .home-icon.hi-e{ display:none; }
}

@media (max-width:480px){
  .home-welcome,
  .home-stages,
  .home-life,
  .home-visit{ padding:30px 0; }
  .home-welcome-copy h2,
  .home-life-copy h2,
  .home-visit-copy h2{ font-size:clamp(1.35rem, 7vw, 1.7rem); }
  .home-welcome-copy p,
  .home-life-copy p,
  .home-visit-copy p{ font-size:.95rem; }
  .home-glance-board{ gap:8px; }
  .home-glance-cell{ min-height:96px; padding:12px 8px; border-radius:12px; }
  .home-glance-value{ font-size:1.05rem; }
  .home-life-media{ gap:8px; }
  .home-visit-shot--float{ display:none; }
  .home-visit-pin{ font-size:.68rem; padding:7px 10px; }
  .home-update-feature-media{ min-height:150px; }
  .home-update-mini{ grid-template-columns:72px 1fr; }
  .home-update-mini-body h3{ font-size:.92rem; }
}
