/* ==========================================================================
   Clearwater / Home (views/site/index.php). Built on css/theme.css tokens only.
   1. Hero   2. About teaser   3. Offerings   4. Mission and vision   5. Motto
   ========================================================================== */


/* 1. Hero: the theme's water window; home only sets proportions. ========== */

.home-hero .hero__card { max-width: 46rem; }
.home-hero .hero__title { max-width: 14ch; }
.home-hero .hero__panel { max-width: 30rem; justify-self: end; }
@media (max-width: 899.98px) {
  .home-hero .hero__panel { max-width: none; justify-self: stretch; }
}


/* 2. About teaser: photo with an overlapping glass capability card ======== */

.home-about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(3rem, 1rem + 6vw, 7rem);
  align-items: center;
}
.home-about__media {
  position: relative;
  padding: 0 clamp(1rem, 4vw, 3rem) clamp(7rem, 5rem + 4vw, 9rem) 0;
}
.home-about__photo { aspect-ratio: 1 / 1.05; }
.home-about__photo img { object-position: 56% 40%; }
.home-about__media > .bubbles {
  --bubbles-size: clamp(6.5rem, 4rem + 5vw, 10rem);
  top: clamp(-3.5rem, -2rem - 1.5vw, -2rem);
  right: 0;
  z-index: 3;
}
.home-about__caps {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: min(94%, 31rem);
  padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  border-radius: var(--r-lg);
  background: var(--glass-strong);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-lg), var(--glass-inset);
}
.home-about__caps-title {
  margin-bottom: 1rem;
  color: var(--ink);
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.4;
}
.home-about__caps .tag {
  min-height: 1.85rem;
  padding: .3rem .75rem;
  font-size: var(--fs-xs);
  background: rgba(255, 255, 255, .9);
}
.home-about { padding-bottom: calc(var(--section-y) * .7); }
.home-about__title { max-width: 13ch; }
.home-about__lead { margin-top: 1.5rem; }
.home-about__body { margin-top: 1.25rem; color: var(--muted); }
.home-about__actions { margin-top: 2.25rem; }

@media (max-width: 899.98px) {
  .home-about__grid { grid-template-columns: minmax(0, 1fr); }
  .home-about__media { width: min(100%, 36rem); }
  .home-about__photo { aspect-ratio: 4 / 3.4; }
}
@media (max-width: 539.98px) {
  .home-about__media { padding: 0; }
  .home-about__photo { aspect-ratio: 4 / 3.6; }
  .home-about__caps { position: relative; width: auto; margin: -3.5rem .75rem 0; }
  .home-about__media > .bubbles { --bubbles-size: 6rem; top: -2.25rem; right: -.5rem; }
}


/* 3. Offerings: one glass sheet over aqua light and bubbles ================= */

.home-offerings__stage { position: relative; }
.home-offerings__stage::before {
  content: "";
  position: absolute;
  inset: 6% -3% -4% -3%;
  z-index: 0;
  background:
    radial-gradient(28% 42% at 14% 26%, rgba(34, 195, 214, .5), transparent 70%),
    radial-gradient(26% 40% at 86% 74%, rgba(14, 127, 192, .4), transparent 70%),
    radial-gradient(24% 34% at 56% 44%, rgba(127, 227, 210, .55), transparent 70%);
  pointer-events: none;
}
.home-offerings__grid { z-index: 1; }
.home-offerings__fluux { z-index: 1; max-width: 52rem; margin: clamp(3rem, 2rem + 3vw, 4.5rem) auto 0; }
.home-offerings__fluux .callout__body p { color: var(--muted); }
.home-offerings__fluux .link-arrow { margin-top: .9rem; }
.home-offerings__bubbles--a { --bubbles-size: clamp(8rem, 5rem + 7vw, 14rem); top: clamp(-5rem, -3rem - 2vw, -3rem); right: clamp(-4rem, -2rem - 2vw, -1.5rem); z-index: 0; }
.home-offerings__bubbles--b { --bubbles-size: clamp(6rem, 4rem + 4vw, 9rem); bottom: clamp(-5rem, -3rem - 2vw, -3rem); left: clamp(-4.5rem, -2.5rem - 2vw, -2rem); z-index: 0; }
@media (max-width: 639.98px) {
  .home-offerings__bubbles--a { --bubbles-size: 7rem; top: -3.25rem; right: -1.25rem; }
  .home-offerings__bubbles--b { display: none; }
}


/* 4. Mission and vision: the page's one deep section ======================= */

.home-mission__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-areas:
    "title   title"
    "vision  media"
    "mission mission";
  gap: clamp(2.5rem, 1.5rem + 3vw, 4rem) clamp(3rem, 2rem + 5vw, 7rem);
  align-items: center;
}
.home-mission__title { grid-area: title; max-width: 14ch; }
.home-mission__vision { grid-area: vision; }
.home-mission__mission { grid-area: mission; }
.home-mission__media { grid-area: media; position: relative; }
.home-mission__photo { aspect-ratio: 587 / 367; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .55); }
.home-mission__media > .bubbles { --bubbles-size: clamp(6rem, 4rem + 4vw, 9rem); top: clamp(-4rem, -2rem - 2vw, -2.5rem); right: -1.5rem; z-index: 3; }

.home-mission__label {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.25rem;
  color: var(--mint);
  font-size: var(--fs-body);
  font-weight: 700;
  letter-spacing: -.01em;
}
.section--deep .home-mission__label { color: var(--mint); }
.home-mission__mission {
  padding-top: clamp(2.5rem, 2rem + 2vw, 3.5rem);
  border-top: 1px solid var(--on-deep-line);
}
.home-mission__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; list-style: none; }
.home-mission__list li {
  position: relative;
  padding: 1.15rem 1.35rem 1.15rem 3.1rem;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
  line-height: 1.6;
}
.home-mission__list li::before {
  content: "";
  position: absolute;
  left: 1.3rem;
  top: 1.6rem;
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mint), var(--aqua));
  box-shadow: 0 0 0 4px rgba(127, 227, 210, .12);
}

@media (max-width: 999.98px) {
  .home-mission__list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899.98px) {
  .home-mission__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "media" "vision" "mission";
  }
  .home-mission__media { width: min(100%, 34rem); }
}


/* 5. Motto: photo left, text right, promise as a glass callout ============== */

.home-motto__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "media   text"
    "promise text";
  gap: clamp(2rem, 1rem + 2vw, 3rem) clamp(3rem, 1rem + 6vw, 7rem);
  align-items: start;
}
.home-motto__media { grid-area: media; position: relative; margin-top: .75rem; }
.home-motto__text { grid-area: text; }
.home-motto__photo { aspect-ratio: 587 / 367; }
.home-motto__media > .bubbles { --bubbles-size: clamp(6rem, 4rem + 4vw, 9rem); top: clamp(-4rem, -2rem - 2vw, -2.5rem); left: clamp(-3rem, -1rem - 2vw, -1rem); z-index: 3; }
.home-motto__lead {
  margin-top: 1.5rem;
  color: var(--ink);
  font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.home-motto__body { margin-top: 1.5rem; color: var(--muted); max-width: 40rem; }
.home-motto__callout { grid-area: promise; align-items: center; }
.home-motto__promise {
  color: var(--ink);
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.015em;
}

@media (max-width: 899.98px) {
  .home-motto__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "media" "text" "promise"; }
  .home-motto__media { margin-top: 0; width: min(100%, 34rem); }
}
