/* ==========================================================================
   BNA WORLDWIDE — NEWCASTLE CENTRE PAGE
   ========================================================================== */

/* ------------------------------- Full-bleed hero ---------------------------- */
.nc-hero{
  position:relative;
  min-height:92vh;
  display:flex; align-items:flex-end;
  color:#fff; overflow:hidden;
}
.nc-hero-bg{ position:absolute; inset:0; z-index:0; }
.nc-hero-bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nc-hero-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,11,26,.35) 0%, rgba(8,11,26,.15) 35%, rgba(8,11,26,.92) 100%);
}
.nc-hero-inner{ position:relative; z-index:2; padding-bottom:var(--space-9); width:100%; }
.nc-hero-inner h1{ font-size:var(--fs-hero); max-width:16ch; margin-top:1.25rem; }
.nc-hero-inner p{ color:rgba(255,255,255,.72); font-size:var(--fs-body-lg); max-width:48ch; margin-top:1.5rem; }
.nc-hero-actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; }

/* --------------------------------- Stats ------------------------------------- */
/* The stats-forward centrepiece of this page: one oversized hero tile (Tests
   Delivered) anchors a bento of four supporting figures, all rendered as
   .card-dark tiles so they pick up the shared pointer-tilt interaction. */
.nc-stats{ background:var(--navy-800); color:#fff; position:relative; overflow:hidden; padding-block:var(--section-pad-y-lg); }
.nc-stats-head{ margin-bottom:var(--space-8); text-align:center; }
.nc-stats-head h2{ font-size:var(--fs-display-lg); max-width:26ch; margin:1rem auto 0; }
.nc-stats-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:repeat(2, 1fr);
  gap:1.1rem;
  position:relative; z-index:2;
}
.nc-stats-grid .stat{
  border-radius:var(--radius-lg);
  padding:var(--space-7) var(--space-6);
  display:flex; flex-direction:column; justify-content:center; gap:.75rem;
}
.nc-stats-grid .stat-hero{
  grid-column:1/2; grid-row:1/3;
  align-items:flex-start; justify-content:center;
  padding:var(--space-8) var(--space-7);
}
.nc-stats-grid .stat-hero .stat-num{ font-size:clamp(3.6rem, 5vw + 1.5rem, 7.5rem); }
.nc-stats-grid .stat-hero .stat-label{ font-size:.85rem; }
@media (max-width:980px){
  .nc-stats-grid{ grid-template-columns:1fr 1fr; grid-template-rows:none; }
  .nc-stats-grid .stat-hero{ grid-column:1/-1; grid-row:auto; }
}
@media (max-width:600px){ .nc-stats-grid{ grid-template-columns:1fr; } }

/* ---------------------------- Workstation feature ----------------------------- */
.nc-feature{ display:grid; grid-template-columns:1.2fr .8fr; gap:var(--space-8); align-items:center; }
.nc-feature-photo{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/3; }
.nc-feature-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nc-feature-copy h2{ font-family:var(--font-display); font-size:var(--fs-display-lg); max-width:15ch; margin:1.25rem 0 1.6rem; }
.nc-feature-copy p:not(.eyebrow){ color:var(--ink-soft); font-size:var(--fs-body-lg); max-width:44ch; }
@media (max-width:900px){ .nc-feature{ grid-template-columns:1fr; } .nc-feature-photo{ order:-1; } }

/* --------------------------------- Programs ------------------------------------ */
.nc-programs-head{ text-align:center; margin-bottom:var(--space-7); }
.nc-programs-head h2{ font-size:var(--fs-display-lg); max-width:26ch; margin:1rem auto 0; }
.nc-programs-head p:not(.eyebrow){ color:var(--ink-soft); max-width:52ch; margin:1rem auto 0; }
.logo-tile{
  display:flex; align-items:center; justify-content:center;
  height:64px; padding-inline:1.5rem;
  filter:grayscale(1) opacity(.55);
  transition:filter .4s var(--ease-out), transform .4s var(--ease-out);
}
.logo-tile:hover{ filter:grayscale(0) opacity(1); transform:translateY(-2px); }
.logo-tile img{ max-height:100%; width:auto; object-fit:contain; }
.programs-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:1rem; align-items:center; margin-top:var(--space-6); }
.programs-grid .logo-tile{ border:1px solid var(--line-on-light); border-radius:var(--radius-md); height:88px; }
@media (max-width:900px){ .programs-grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:560px){ .programs-grid{ grid-template-columns:repeat(2,1fr); } }

/* -------------------------------- Facilities ------------------------------------ */
.nc-facilities{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); align-items:start; }
.nc-facilities-copy h2{ font-family:var(--font-display); font-size:var(--fs-display-lg); max-width:16ch; margin:1.25rem 0 1.6rem; }
.nc-facilities-copy > p:not(.eyebrow){ color:var(--ink-soft); font-size:var(--fs-body-lg); max-width:48ch; margin-bottom:1.75rem; }
.nc-pills{ display:flex; flex-wrap:wrap; gap:.65rem; }
.nc-facilities-photos{ display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; }
.nc-facilities-photos .main-photo{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:3/4; grid-row:1/3; }
.nc-facilities-photos .main-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nc-facilities-photos .side-photo{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:1/1; align-self:end; }
.nc-facilities-photos .side-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nc-facilities-photos .side-caption{ margin-top:.6rem; font-family:var(--font-mono); font-size:.7rem; color:var(--ink-soft); letter-spacing:.03em; }
@media (max-width:900px){ .nc-facilities{ grid-template-columns:1fr; } }
@media (max-width:600px){ .nc-facilities-photos{ grid-template-columns:1fr; } .nc-facilities-photos .main-photo{ grid-row:auto; } }

/* --------------------------------- Growth teaser --------------------------------- */
.nc-growth{ background:var(--navy-900); color:#fff; text-align:center; padding-block:var(--section-pad-y-lg); cursor:default; }
.nc-growth h2{ font-size:var(--fs-display-lg); max-width:22ch; margin:1.25rem auto 1.5rem; }
.nc-growth-copy{ color:rgba(255,255,255,.65); font-size:var(--fs-body-lg); max-width:56ch; margin-inline:auto; }
.nc-growth-links{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2.25rem; }

/* ----------------------------------- CTA -------------------------------------- */
.nc-cta{ background:var(--navy-900); color:#fff; padding-block:var(--section-pad-y-lg); text-align:center; position:relative; overflow:hidden; }
.nc-cta h2{ font-family:var(--font-display); font-size:var(--fs-display-xl); max-width:22ch; margin-inline:auto; }
.nc-cta p{ color:rgba(255,255,255,.65); max-width:48ch; margin:1.5rem auto 0; font-size:var(--fs-body-lg); }
.nc-cta .cta-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2.75rem; }
