/* Lightseed site refinements */

/* Stronger brand presence in the header and a complete footer mark. */
.ls-navbar .navbar-brand img {
  height: 72px;
  max-width: 210px;
  object-fit: contain;
}
.ls-navbar.scrolled .navbar-brand img { height: 52px; }
.ls-footer img[alt="Lightseed"] {
  width: 72px !important;
  height: 72px !important;
  padding: 5px;
  object-fit: contain !important;
  background: rgba(255,255,255,0.03);
}

/* Make the homepage proposition immediately understandable. */
.ls-hero .carousel-item:nth-child(1) .ls-hero-content h1::after {
  content: "Leadership, behavioural and workplace-development programs that turn human potential into practical performance.";
  display: block; max-width: 720px; margin-top: .9rem; font-family: 'DM Sans',sans-serif;
  font-size: clamp(1rem,1.5vw,1.2rem); line-height: 1.65; font-weight: 400; letter-spacing: 0;
  color: rgba(250,246,238,.82);
}
.ls-hero .carousel-item:nth-child(2) .ls-hero-content h1::after {
  content: "Practical leadership development for stronger teams, clearer decisions and more responsible workplaces.";
  display: block; max-width: 680px; margin-top: .9rem; font-family: 'DM Sans',sans-serif;
  font-size: clamp(1rem,1.5vw,1.2rem); line-height: 1.65; font-weight: 400; letter-spacing: 0;
  color: rgba(250,246,238,.82);
}
.ls-hero .carousel-item:nth-child(3) .ls-hero-content h1::after {
  content: "Integrated wellbeing, therapy and coaching pathways that support resilience, awareness and sustainable change.";
  display: block; max-width: 680px; margin-top: .9rem; font-family: 'DM Sans',sans-serif;
  font-size: clamp(1rem,1.5vw,1.2rem); line-height: 1.65; font-weight: 400; letter-spacing: 0;
  color: rgba(250,246,238,.82);
}

/* Impact context. */
.ls-home-stat-grid::before {
  content: "A decade of work across leadership, institutional safety, employability and wellbeing — measured through programs delivered, organisations served and people reached.";
  grid-column: 1 / -1; display: block; max-width: 760px; margin: -.5rem auto .5rem; text-align: center;
  color: var(--ls-text-muted); font-size: .95rem; line-height: 1.7;
}

/* Consistent icon treatment. */
.ls-training-icon {
  width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  background:var(--ls-green-pale);color:var(--ls-green-deep);font-size:1.15rem;margin-bottom:.8rem;
}

@media (max-width:991.98px) {
  .ls-navbar .navbar-brand img { height:58px;max-width:180px; }
  .ls-navbar.scrolled .navbar-brand img { height:46px; }
}

/* Mobile: navigation floats directly on the hero image with no solid header block. */
@media (max-width:767.98px) {
  .ls-navbar.fixed-top {
    position:absolute;top:0;left:0;right:0;z-index:1100;
    background:transparent !important;
    border-bottom:0 !important;box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  }
  .ls-navbar.fixed-top::after {
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:linear-gradient(180deg,rgba(3,14,10,.30) 0%,rgba(3,14,10,.10) 55%,rgba(3,14,10,0) 100%);
  }
  .ls-navbar.fixed-top.scrolled {
    position:fixed;background:rgba(3,14,10,.82) !important;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(250,246,238,.08) !important;
  }
  .ls-navbar.fixed-top.scrolled::after { display:none; }
  .ls-navbar .container { min-height:70px;padding-left:14px;padding-right:14px; }
  .ls-navbar .navbar-brand { display:flex;align-items:center;margin:0;padding:0; }
  .ls-navbar .navbar-brand img { height:58px;width:auto;max-width:155px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3)); }
  .ls-navbar .brand-text { display:none !important; }
  .ls-navbar .navbar-toggler { width:44px;height:44px;padding:9px;margin-right:0;border-radius:12px;background:rgba(4,20,15,.12);box-shadow:none !important; }
  .ls-navbar .navbar-toggler:focus { box-shadow:none !important; }
  .ls-navbar .navbar-toggler-icon { width:25px;height:25px;background-image:none !important;position:relative;display:block;border-top:2px solid rgba(250,246,238,.9);border-bottom:2px solid rgba(250,246,238,.9); }
  .ls-navbar .navbar-toggler-icon::after { content:"";position:absolute;left:0;right:0;top:10px;border-top:2px solid rgba(250,246,238,.9); }
  .ls-navbar .navbar-collapse { margin-top:8px;padding:10px 14px 14px;border-radius:14px;background:rgba(7,27,21,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(250,246,238,.08); }
  .ls-navbar .nav-link { color:rgba(250,246,238,.94) !important; }
  .ls-navbar .btn-connect { text-align:center;margin-top:6px; }

  /* Keep Bootstrap's carousel display rules intact. The previous display:block rule
     caused every slide to remain rendered at once and prevented slide 2 from appearing. */
  .ls-hero,.ls-hero-slider,.ls-hero-slider .carousel-inner,.ls-hero-slider .carousel-item { min-height:0 !important;height:auto !important; }
  .ls-hero-slider .carousel-item { position:relative;height:min(720px,100svh) !important;min-height:610px !important;overflow:hidden;background:#0b1d17; }
  .ls-hero-slider .ls-hero-slide-bg { position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:hidden; }
  .ls-hero-slider .ls-hero-slide-bg img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:none !important; }
  .ls-hero-slider .carousel-item:nth-child(1) .ls-hero-slide-bg img { object-position:68% 45%; }
  .ls-hero-slider .carousel-item:nth-child(2) .ls-hero-slide-bg img { object-position:68% 42%; }
  .ls-hero-slider .carousel-item:nth-child(3) .ls-hero-slide-bg img { object-position:55% 42%; }

  .ls-hero-slider .ls-hero-layer { display:block;position:absolute;inset:0;z-index:1;
    background:linear-gradient(90deg,rgba(5,22,16,.78) 0%,rgba(5,22,16,.50) 42%,rgba(5,22,16,.12) 82%,rgba(5,22,16,.05) 100%),
               linear-gradient(180deg,rgba(5,22,16,.16) 0%,rgba(5,22,16,.05) 42%,rgba(5,22,16,.42) 100%); }
  .ls-hero-slider .ls-hero-content { position:relative;inset:auto;z-index:2;width:100%;height:100%;min-height:0;padding:0 24px 88px;display:flex;align-items:center;background:transparent; }
  .ls-hero-slider .ls-hero-content .row,.ls-hero-slider .ls-hero-content .row.min-vh-100 { width:100%;min-height:0 !important;height:auto !important;padding-top:0 !important;padding-bottom:0 !important;margin:0; }
  .ls-hero-slider .ls-hero-content .row.g-5 { --bs-gutter-y:0 !important; }
  .ls-hero-slider .ls-hero-content .py-5 { padding-top:0 !important;padding-bottom:0 !important; }
  .ls-hero-slider .ls-hero-content .col-12 { padding-left:0;padding-right:0; }
  .ls-hero-slider .ls-hero-content .eyebrow { display:inline-block;margin-bottom:.7rem;text-shadow:0 1px 14px rgba(0,0,0,.35); }
  .ls-hero-slider .ls-hero-content h1 { font-size:clamp(2.35rem,10.5vw,3.15rem);line-height:.98;margin-bottom:10px;max-width:9ch;text-shadow:0 2px 18px rgba(0,0,0,.3); }
  .ls-hero-slider .ls-hero-content h1::after { max-width:31ch;margin-top:.65rem;font-size:.92rem;line-height:1.48;text-shadow:0 1px 12px rgba(0,0,0,.3); }
  .ls-hero-slider .ls-hero-content .d-flex { gap:.55rem !important;margin-top:.85rem; }
  .ls-hero-slider .ls-hero-content .btn-ls-primary,.ls-hero-slider .ls-hero-content .btn-ls-outline { padding:.62rem .82rem;font-size:.67rem;white-space:nowrap;backdrop-filter:blur(4px); }
  .ls-hero-slider .carousel-control-prev,.ls-hero-slider .carousel-control-next { top:auto;bottom:18px;width:42px;height:42px;z-index:7;background:rgba(0,0,0,.12);border-radius:50%; }
  .ls-hero-slider .carousel-control-prev { left:10px; }.ls-hero-slider .carousel-control-next { right:10px; }
  .ls-hero-slider .carousel-control-prev-icon,.ls-hero-slider .carousel-control-next-icon { width:1.35rem;height:1.35rem; }
  .ls-hero-slider .ls-hero-indicators { bottom:7px;z-index:8; }.ls-hero-slider .ls-hero-indicators [data-bs-target] { width:24px;height:3px; }.ls-hero-slider .ls-hero-indicators .active { width:38px; }
}

@media (max-width:390px) {
  .ls-navbar .container { min-height:64px; }.ls-navbar .navbar-brand img { height:52px; }
  .ls-hero-slider .carousel-item { height:min(690px,100svh) !important;min-height:570px !important; }
  .ls-hero-slider .ls-hero-content { padding-left:18px;padding-right:18px;padding-bottom:78px; }
  .ls-hero-slider .ls-hero-content h1 { font-size:2.25rem; }.ls-hero-slider .ls-hero-content h1::after { font-size:.88rem; }
}

/* Mobile hero should touch the viewport edges: no outer card spacing, margin or rounded frame. */
@media (max-width:767.98px) {
  html, body { margin:0 !important; padding:0 !important; }
  .ls-hero,
  .ls-hero-slider-wrap,
  .ls-hero-slider,
  .ls-hero-slider .carousel-inner,
  .ls-hero-slider .carousel-item {
    width:100% !important;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .ls-hero-slider-wrap { padding:0 !important; }
  .ls-hero-slider .carousel-item { min-height:100svh !important; }
}

/* Reference-style mobile hero: full-bleed image, readable left copy, floating navigation. */
@media (max-width:767.98px) {
  .ls-hero-slider-wrap,
  .ls-hero,
  .ls-hero-slider,
  .ls-hero-slider .carousel-inner,
  .ls-hero-slider .carousel-item {
    width:100vw !important;
    max-width:100vw !important;
    height:100svh !important;
    min-height:100svh !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .ls-hero-slider .carousel-item .ls-hero-slide-bg,
  .ls-hero-slider .carousel-item .ls-hero-slide-bg img,
  .ls-hero-slider .carousel-item .ls-hero-layer {
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
  }

  .ls-hero-slider .carousel-item .ls-hero-slide-bg img {
    object-fit:cover !important;
    object-position:68% center !important;
  }
  .ls-hero-slider .carousel-item:nth-child(2) .ls-hero-slide-bg img { object-position:70% center !important; }
  .ls-hero-slider .carousel-item:nth-child(3) .ls-hero-slide-bg img { object-position:56% center !important; }

  .ls-hero-slider .ls-hero-layer {
    background:
      linear-gradient(90deg, rgba(3,18,13,.78) 0%, rgba(3,18,13,.55) 36%, rgba(3,18,13,.18) 68%, rgba(3,18,13,.06) 100%),
      linear-gradient(180deg, rgba(3,18,13,.48) 0%, rgba(3,18,13,.10) 32%, rgba(3,18,13,.06) 62%, rgba(3,18,13,.62) 100%) !important;
  }

  .ls-hero-slider .ls-hero-content {
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    padding:0 24px 82px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  .ls-hero-slider .ls-hero-content .row,
  .ls-hero-slider .ls-hero-content .row.min-vh-100 {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
  }
  .ls-hero-slider .ls-hero-content .col-12 { width:100% !important; max-width:58% !important; padding:0 !important; }
  .ls-hero-slider .ls-hero-content .eyebrow {
    margin-bottom:.7rem !important;
    font-size:.62rem !important;
    letter-spacing:.34em !important;
  }
  .ls-hero-slider .ls-hero-content h1 {
    font-size:clamp(2.65rem,11vw,3.65rem) !important;
    line-height:.95 !important;
    max-width:7ch !important;
    margin:0 !important;
    text-shadow:0 3px 20px rgba(0,0,0,.42) !important;
  }
  .ls-hero-slider .ls-hero-content h1::after {
    max-width:29ch !important;
    margin-top:1rem !important;
    font-size:.92rem !important;
    line-height:1.55 !important;
    text-shadow:0 2px 14px rgba(0,0,0,.48) !important;
  }
  .ls-hero-slider .ls-hero-content .d-flex {
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:.55rem !important;
    margin-top:1.15rem !important;
  }
  .ls-hero-slider .ls-hero-content .btn-ls-primary,
  .ls-hero-slider .ls-hero-content .btn-ls-outline {
    padding:.72rem .82rem !important;
    font-size:.64rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
    min-height:42px !important;
  }

  .ls-navbar.fixed-top {
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    background:linear-gradient(180deg,rgba(3,18,13,.54),rgba(3,18,13,.04)) !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .ls-navbar .container {
    min-height:78px !important;
    padding:0 22px !important;
  }
  .ls-navbar .navbar-brand img {
    height:64px !important;
    width:auto !important;
    max-width:165px !important;
  }
  .ls-navbar .navbar-toggler {
    width:48px !important;
    height:48px !important;
    padding:10px !important;
    border-radius:12px !important;
    background:rgba(0,0,0,.10) !important;
  }
  .ls-navbar .navbar-toggler-icon {
    width:28px !important;
    height:28px !important;
    border-top-width:3px !important;
    border-bottom-width:3px !important;
  }
  .ls-navbar .navbar-toggler-icon::after { top:11px !important; border-top-width:3px !important; }

  .ls-hero-slider .ls-hero-indicators {
    bottom:24px !important;
    z-index:10 !important;
  }
  .ls-hero-slider .ls-hero-indicators [data-bs-target] {
    width:26px !important;
    height:4px !important;
    margin:0 4px !important;
    border:0 !important;
    border-radius:20px !important;
    opacity:.78 !important;
  }
  .ls-hero-slider .ls-hero-indicators .active { width:40px !important; opacity:1 !important; }
  .ls-hero-slider .carousel-control-prev,
  .ls-hero-slider .carousel-control-next { display:none !important; }
}

@media (max-width:390px) {
  .ls-hero-slider .ls-hero-content { padding-left:18px !important; padding-right:18px !important; }
  .ls-hero-slider .ls-hero-content .col-12 { max-width:63% !important; }
  .ls-hero-slider .ls-hero-content h1 { font-size:2.35rem !important; }
  .ls-hero-slider .ls-hero-content h1::after { font-size:.84rem !important; }
  .ls-navbar .container { min-height:70px !important; padding:0 18px !important; }
  .ls-navbar .navbar-brand img { height:56px !important; }
}
