:root{
  --pb-bg:#ffffff;
  --pb-bg-soft:#f6f6f4;
  --pb-ink:#111111;
  --pb-ink-soft:#595959;
  --pb-line:#e7e7e2;
  --pb-dark:#101010;
  --pb-orange:#e98a2b;
  --pb-green:#3f9d63;
  --pb-blue:#3f79db;
  --pb-purple:#7c5be7;
  --pb-radius:22px;
  --pb-shadow:0 18px 50px rgba(17,17,17,.08);
}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,sans-serif;
  color:var(--pb-ink);
  background:var(--pb-bg);
  line-height:1.6;
}
a{text-decoration:none}
.pb-6{padding-bottom:5rem}
.section-block{padding:6rem 0}
.section-soft{background:var(--pb-bg-soft)}
.section-dark{background:var(--pb-dark); color:#fff}
.section-intro{max-width:850px}
.section-kicker{
  display:inline-block;
  font-size:.76rem;
  letter-spacing:.12em;
  font-weight:800;
  text-transform:uppercase;
  color:var(--pb-ink-soft);
}
.section-kicker.light{color:rgba(255,255,255,.78)}
.section-title{
  font-family:Manrope, Inter, sans-serif;
  font-weight:800;
  font-size:clamp(2rem,4vw,4.2rem);
  line-height:1.08;
  margin-top:.6rem;
  margin-bottom:.9rem;
}
.section-title.light,
.section-copy.light{color:#fff}
.section-copy{
  color:var(--pb-ink-soft);
  font-size:1.05rem;
}
.site-navbar{
  transition:background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}
.site-navbar.nav-scrolled{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(17,17,17,.08);
}
.brand-logo{height:52px; width:auto}
.brand-tagline{
  font-size:.76rem;
  color:#626262;
  white-space:nowrap;
}
.navbar .nav-link{
  color:var(--pb-ink);
  font-weight:600;
}
.navbar.nav-scrolled .nav-link{
  color:var(--pb-ink);
}
.navbar-toggler{background:rgba(255,255,255,.9); border-radius:999px; padding:.45rem .65rem}
.navbar.nav-scrolled .navbar-toggler{background:var(--pb-bg-soft)}
.btn-pill{border-radius:999px; padding:.85rem 1.3rem; font-weight:700}
.hero-section{
  min-height:100svh;
  position:relative;
  overflow:hidden;
  color:var(--pb-ink);
}
.hero-bg,.hero-overlay{
  position:absolute; inset:0;
}
.hero-bg{
  background-image:url('assets/hero-background.webp');
  background-size:cover;
  background-position:center 48%;
  transform:scale(1.01);
  filter:saturate(.94) contrast(.98) brightness(1.02);
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.55) 34%, rgba(255,255,255,.06) 68%),
    linear-gradient(180deg, rgba(255,255,255,0) 42%, rgba(255,255,255,.42) 72%, rgba(255,255,255,.94) 100%);
}
.hero-title{
  font-family:Manrope, Inter, sans-serif;
  font-size:clamp(2.8rem,7vw,6.2rem);
  line-height:.98;
  font-weight:800;
  margin-bottom:1rem;
  max-width:860px;
  letter-spacing:-.035em;
}
.hero-lead,.hero-copy{
  font-size:1.08rem;
  max-width:650px;
  color:rgba(17,17,17,.82);
}
.hero-copy-block{
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}
.info-card,
.plan-card,
.placeholder-wrap,
.form-card,
.modal-surface{
  border-radius:var(--pb-radius);
}
.info-card{
  background:#fff;
  border:1px solid var(--pb-line);
  box-shadow:var(--pb-shadow);
  padding:1.7rem;
}
.info-card p{color:var(--pb-ink-soft); margin-bottom:0}
.info-card h3{
  font-family:Manrope, Inter, sans-serif;
  font-size:1.25rem;
  font-weight:700;
  margin-bottom:.6rem;
}
.emphasis-card{position:relative}
.emphasis-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px; border-radius:22px 0 0 22px;
}
.emphasis-blue:before{background:var(--pb-blue)}
.emphasis-green:before{background:var(--pb-green)}
.icon-chip{
  width:52px; height:52px; border-radius:16px;
  display:grid; place-items:center;
  margin-bottom:1rem;
  font-size:1.1rem;
}
.icon-orange{background:rgba(233,138,43,.12); color:var(--pb-orange)}
.icon-green{background:rgba(63,157,99,.12); color:var(--pb-green)}
.icon-blue{background:rgba(63,121,219,.12); color:var(--pb-blue)}
.icon-purple{background:rgba(124,91,231,.12); color:var(--pb-purple)}
.placeholder-wrap{
  background:#fff;
  border:1px dashed rgba(17,17,17,.14);
  padding:2rem;
}
.flow-line{
  display:flex; flex-wrap:wrap; gap:1rem; align-items:center;
  font-family:Manrope, Inter, sans-serif;
  font-weight:800;
  font-size:clamp(1.1rem,3vw,2rem);
}
.placeholder-visual{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
}
.mini-card{
  background:var(--pb-bg-soft);
  border:1px solid var(--pb-line);
  border-radius:18px;
  min-height:100px;
  display:grid;
  place-items:center;
  font-weight:600;
  color:var(--pb-ink-soft);
}
.plan-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  padding:1.6rem;
}
.plan-card.featured{
  background:#fff;
  color:var(--pb-ink);
}
.plan-card h3{
  font-family:Manrope, Inter, sans-serif;
  font-size:1.55rem;
  font-weight:800;
  margin:.75rem 0;
}
.plan-card p,
.plan-card li{color:rgba(255,255,255,.82)}
.plan-card.featured p,
.plan-card.featured li{color:#4e4e4e}
.plan-list{
  list-style:none; padding:0; margin:1rem 0 1.2rem;
}
.plan-list li{
  padding:.8rem 0;
  border-top:1px solid rgba(255,255,255,.11);
}
.plan-card.featured .plan-list li{
  border-top:1px solid rgba(17,17,17,.09);
}
.plan-note{font-weight:700; margin-bottom:0}
.plan-badge{
  display:inline-flex; align-items:center;
  border-radius:999px;
  padding:.4rem .75rem;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
}
.accent-orange{background:rgba(233,138,43,.14); color:var(--pb-orange)}
.accent-blue{background:rgba(63,121,219,.14); color:var(--pb-blue)}
.accent-green{background:rgba(63,157,99,.14); color:var(--pb-green)}
.accent-purple{background:rgba(124,91,231,.14); color:var(--pb-purple)}
.faq-accordion{
  max-width:980px;
  margin:0 auto;
  --bs-accordion-border-radius:18px;
  --bs-accordion-border-color:var(--pb-line);
  --bs-accordion-btn-padding-x:1.4rem;
  --bs-accordion-btn-padding-y:1.2rem;
  --bs-accordion-btn-bg:#fff;
  --bs-accordion-active-bg:#fff;
  --bs-accordion-active-color:var(--pb-ink);
}
.faq-accordion .accordion-item{margin-bottom:.8rem; border-radius:18px; overflow:hidden; box-shadow:0 10px 32px rgba(17,17,17,.04)}
.faq-accordion .accordion-button{font-weight:700; box-shadow:none}
.faq-accordion .accordion-body{color:var(--pb-ink-soft)}
.contact-points{
  list-style:none; padding:0; margin:1.5rem 0 0;
}
.contact-points li{
  display:flex; align-items:flex-start; gap:.8rem;
  margin-bottom:.85rem;
}
.contact-points i{color:var(--pb-green); margin-top:.2rem}
.form-card{
  background:#fff;
  border:1px solid var(--pb-line);
  box-shadow:var(--pb-shadow);
  padding:1.8rem;
}
.tally-shell{
  border:1px dashed rgba(17,17,17,.14);
  border-radius:18px;
  padding:1.6rem;
  min-height:460px;
}
.tally-shell.compact{min-height:220px}
.mock-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.85rem;
}
.mock-field{
  height:46px;
  background:var(--pb-bg-soft);
  border-radius:12px;
  border:1px solid var(--pb-line);
}
.mock-field.wide{
  grid-column:1/-1;
  height:92px;
}
.consent-copy{font-size:.83rem; color:var(--pb-ink-soft)}
.site-footer{
  background:#0f0f0f;
  color:#fff;
  padding:4rem 0 2rem;
}
.footer-logo{height:56px; filter:brightness(0) invert(1)}
.footer-tagline{color:rgba(255,255,255,.8)}
.footer-copy{color:rgba(255,255,255,.65); max-width:430px}
.footer-heading{
  font-size:.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:1rem;
}
.footer-links{
  list-style:none; padding:0; margin:0;
}
.footer-links li{margin-bottom:.55rem}
.footer-links a{color:rgba(255,255,255,.78)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.58);
  font-size:.85rem;
}
.modal-surface{
  border:0;
  box-shadow:0 30px 80px rgba(0,0,0,.24);
}
@media (max-width:991.98px){
  .navbar .navbar-collapse{
    background:#fff;
    border-radius:18px;
    padding:1rem;
    margin-top:.8rem;
    box-shadow:var(--pb-shadow);
  }
  .navbar .nav-link{color:var(--pb-ink)}
  .hero-bg{background-position:47% center}
  .hero-overlay{
    background:
      linear-gradient(180deg, rgba(255,255,255,.04) 18%, rgba(255,255,255,.72) 62%, rgba(255,255,255,.98) 100%);
  }
}
@media (max-width:767.98px){
  .section-block{padding:4.25rem 0}
  .hero-title{font-size:clamp(2.2rem,12vw,4rem)}
  .hero-lead,.hero-copy{font-size:1rem}
  .mock-fields{grid-template-columns:1fr}
}

.content-legal{max-width:900px}.content-legal h3{font-family:Manrope, Inter, sans-serif;font-size:1.25rem;font-weight:800;margin:2rem 0 .6rem}.content-legal p{color:var(--pb-ink-soft)}


/* === v3 Hero refinements === */
.site-navbar{
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(17,17,17,.06);
}
.navbar .nav-link{ color: var(--pb-ink); }
.navbar-toggler{ background: var(--pb-bg-soft); }

.hero-section{
  min-height: 100svh;
  color: var(--pb-ink);
}
.hero-bg{
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.06) 100%),
    url('assets/hero-background.webp');
  background-size: cover;
  background-position: center center;
  transform: none;
}
.hero-overlay{
  background:
    radial-gradient(circle at 18% 78%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 24%, rgba(255,255,255,.38) 42%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.12) 100%);
}
.hero-shell{
  padding-inline: clamp(18px, 3vw, 42px);
}
.hero-stage{
  padding-top: 110px;
  padding-bottom: clamp(26px, 4vw, 56px);
}
.hero-content-wide{
  width: 100%;
}
.hero-copy-band{
  width: 100%;
  max-width: 100%;
}
.hero-title{
  font-family: Manrope, Inter, sans-serif;
  font-size: clamp(2.35rem, 4.8vw, 4.75rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: #121212;
  margin-bottom: 1.4rem;
  max-width: 13.5ch;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
}
.hero-support-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 40px;
  align-items: end;
  max-width: min(1200px, 100%);
}
.hero-support-text{
  max-width: 760px;
}
.hero-lead,
.hero-copy{
  color: rgba(18,18,18,.92);
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.55;
  max-width: none;
}
.hero-cta-wrap{
  display: flex;
  align-items: end;
  justify-content: flex-end;
}
.hero-cta-wrap .btn{
  white-space: nowrap;
  box-shadow: 0 14px 30px rgba(17,17,17,.14);
}
@media (max-width: 991.98px){
  .hero-overlay{
    background:
      linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.28) 36%, rgba(255,255,255,.88) 100%);
  }
  .hero-title{
    max-width: 12.5ch;
    margin-bottom: 1.15rem;
  }
  .hero-support-row{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .hero-cta-wrap{
    justify-content: flex-start;
  }
}
@media (max-width: 767.98px){
  .hero-stage{
    padding-top: 92px;
    padding-bottom: 22px;
  }
  .hero-title{
    font-size: clamp(2.05rem, 9vw, 3rem);
    line-height: 1.02;
    max-width: 11ch;
  }
  .hero-lead, .hero-copy{
    font-size: .98rem;
  }
}


/* =========================================================
   v4 MICRO-REFINEMENT
   2) Full-width Hero composition
   3) Calmer section-title typography
   ========================================================= */

/* --- HERO: use the full available page width --- */
.hero-shell{
  width: 100%;
  max-width: none;
  padding-inline: clamp(20px, 4.2vw, 76px);
}

.hero-stage{
  width: 100%;
}

.hero-content-wide,
.hero-copy-band{
  width: 100%;
  max-width: none;
}

/* Let the headline behave like a page-wide statement rather than a narrow text block. */
.hero-title{
  width: 100%;
  max-width: 1500px;
  font-size: clamp(2.2rem, 4.1vw, 4.25rem);
  line-height: 1.01;
  letter-spacing: -0.035em;
  font-weight: 750;
  margin-bottom: clamp(1.15rem, 2vw, 1.8rem);
  text-wrap: balance;
}

/* Supporting content now uses the entire horizontal band. */
.hero-support-row{
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, .55fr);
  gap: clamp(24px, 5vw, 80px);
  align-items: end;
  padding-right: clamp(0px, 2vw, 28px);
}

.hero-support-text{
  max-width: 900px;
}

.hero-cta-wrap{
  justify-content: flex-end;
  align-items: end;
}

/* --- SECTION TITLES: quieter, more premium hierarchy --- */
.section-intro{
  max-width: 780px;
}

/* Smaller and calmer than previous oversized treatment */
.section-title{
  font-family: Manrope, Inter, sans-serif;
  font-size: clamp(1.85rem, 2.9vw, 3.15rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
  font-weight: 700;
  margin-top: .72rem;
  margin-bottom: 1rem;
  text-wrap: balance;
}

/* Placeholder sections should follow the same hierarchy */
.placeholder-wrap .section-title{
  font-size: clamp(1.8rem, 2.65vw, 2.85rem);
  max-width: 760px;
}

/* Plan / FAQ / contact titles get a little breathing room */
#plans .section-title,
#faq .section-title,
#contact .section-title,
#why-us .section-title{
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

#contact .section-title,
.placeholder-wrap .section-title{
  margin-left: 0;
  margin-right: 0;
}

/* Kicker becomes more important as the title gets quieter */
.section-kicker{
  font-size: .72rem;
  letter-spacing: .15em;
  font-weight: 800;
}

/* Body copy sits closer to a premium editorial scale */
.section-copy{
  font-size: clamp(.98rem, 1.2vw, 1.08rem);
  line-height: 1.7;
}

/* --- RESPONSIVE HERO RECOMPOSITION --- */
@media (max-width: 1199.98px){
  .hero-title{
    max-width: 1100px;
    font-size: clamp(2.15rem, 5vw, 3.8rem);
  }

  .hero-support-row{
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: 32px;
  }
}

@media (max-width: 991.98px){
  .hero-shell{
    padding-inline: clamp(18px, 5vw, 42px);
  }

  .hero-title{
    width: 100%;
    max-width: none;
    font-size: clamp(2.05rem, 6.2vw, 3.35rem);
    line-height: 1.04;
  }

  .hero-support-row{
    grid-template-columns: 1fr;
    gap: 20px;
    padding-right: 0;
  }

  .hero-support-text{
    max-width: 720px;
  }

  .hero-cta-wrap{
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px){
  .hero-shell{
    padding-inline: 18px;
  }

  .hero-stage{
    padding-bottom: 26px;
  }

  .hero-title{
    font-size: clamp(2rem, 9.5vw, 2.9rem);
    line-height: 1.03;
    letter-spacing: -0.03em;
  }

  .hero-support-text{
    max-width: none;
  }

  .hero-cta-wrap,
  .hero-cta-wrap .btn{
    width: 100%;
  }

  .hero-cta-wrap .btn{
    text-align: center;
  }

  .section-title{
    font-size: clamp(1.72rem, 8vw, 2.35rem);
    line-height: 1.15;
  }
}


/* =========================================================
   v5 — Bays Experience, How It Works, Locations
   ========================================================= */
.experience-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--pb-line);
  border:1px solid var(--pb-line);
  border-radius:var(--pb-radius);
  overflow:hidden;
}
.experience-step{
  position:relative;
  background:#fff;
  padding:clamp(1.7rem,3vw,2.5rem);
  min-height:340px;
  overflow:hidden;
}
.experience-step:after{content:"";position:absolute;inset:auto 0 0 0;height:4px}
.experience-orange:after{background:var(--pb-orange)}
.experience-blue:after{background:var(--pb-blue)}
.experience-purple:after{background:var(--pb-purple)}
.experience-index{
  position:absolute;right:1.25rem;top:.65rem;
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(3.2rem,5vw,5rem);
  line-height:1;font-weight:800;color:rgba(17,17,17,.035);
}
.experience-icon{
  width:54px;height:54px;border-radius:18px;display:grid;place-items:center;
  margin-bottom:2.7rem;font-size:1.1rem;background:var(--pb-bg-soft);
}
.experience-orange .experience-icon{color:var(--pb-orange)}
.experience-blue .experience-icon{color:var(--pb-blue)}
.experience-purple .experience-icon{color:var(--pb-purple)}
.experience-step h3{
  font-family:Manrope,Inter,sans-serif;
  font-size:clamp(1.5rem,2vw,2rem);font-weight:750;margin-bottom:.8rem;
}
.experience-step p{color:var(--pb-ink-soft);max-width:34ch;margin-bottom:0}
.experience-footer-note{
  max-width:820px;margin:2rem auto 0;display:flex;align-items:flex-start;
  justify-content:center;gap:.8rem;color:var(--pb-ink-soft);text-align:center;
}
.experience-dot{
  flex:0 0 8px;width:8px;height:8px;border-radius:50%;
  background:var(--pb-green);margin-top:.55rem;
}

.process-track{
  display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:0;
}
.process-track:before{
  content:"";position:absolute;left:8%;right:8%;top:28px;height:1px;
  background:linear-gradient(90deg,var(--pb-orange),var(--pb-green),var(--pb-blue),var(--pb-purple));
  opacity:.45;
}
.process-step{position:relative;padding:0 clamp(.8rem,1.6vw,1.35rem);z-index:1}
.process-number{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid var(--pb-line);box-shadow:0 8px 24px rgba(17,17,17,.07);
  font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:.82rem;margin-bottom:1.5rem;
}
.process-step:nth-child(1) .process-number{border-color:rgba(233,138,43,.45)}
.process-step:nth-child(2) .process-number{border-color:rgba(63,157,99,.45)}
.process-step:nth-child(3) .process-number{border-color:rgba(63,121,219,.45)}
.process-step:nth-child(4) .process-number{border-color:rgba(124,91,231,.45)}
.process-step:nth-child(5) .process-number{border-color:rgba(17,17,17,.25)}
.process-body h3{
  font-family:Manrope,Inter,sans-serif;font-size:1.12rem;font-weight:750;margin-bottom:.45rem;
}
.process-body p{color:var(--pb-ink-soft);font-size:.94rem;margin-bottom:0}

.locations-section{background:#fff}
.location-feature{
  display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  border:1px solid var(--pb-line);border-radius:calc(var(--pb-radius) + 4px);
  overflow:hidden;box-shadow:var(--pb-shadow);
}
.location-visual{
  min-height:470px;
  background:
    radial-gradient(circle at 30% 35%,rgba(63,121,219,.16),transparent 26%),
    radial-gradient(circle at 70% 65%,rgba(124,91,231,.14),transparent 25%),
    linear-gradient(145deg,#f6f7f8,#eceeea);
  position:relative;display:grid;place-items:center;overflow:hidden;
}
.location-visual:before{
  content:"";position:absolute;inset:9%;
  background-image:
    linear-gradient(rgba(17,17,17,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,17,17,.045) 1px,transparent 1px);
  background-size:34px 34px;transform:rotate(-8deg) scale(1.2);
}
.location-pin{
  width:82px;height:82px;border-radius:50%;background:#111;color:#fff;
  display:grid;place-items:center;font-size:1.8rem;position:relative;z-index:2;
  box-shadow:0 18px 48px rgba(17,17,17,.18);
}
.location-orbit{position:absolute;border:1px solid rgba(17,17,17,.08);border-radius:50%}
.location-orbit-one{width:190px;height:190px}
.location-orbit-two{width:320px;height:320px}
.location-city{
  position:absolute;bottom:2rem;left:2rem;
  font-family:Manrope,Inter,sans-serif;font-size:clamp(2.2rem,5vw,4.8rem);
  font-weight:800;letter-spacing:-.05em;color:rgba(17,17,17,.055);
}
.location-content{padding:clamp(2rem,4vw,4rem);align-self:center}
.location-status{
  display:inline-flex;padding:.45rem .8rem;border-radius:999px;
  background:rgba(233,138,43,.13);color:#b56416;font-size:.73rem;
  font-weight:800;text-transform:uppercase;letter-spacing:.08em;
}
.location-meta{color:var(--pb-ink-soft);font-size:.88rem}
.location-content h3{
  font-family:Manrope,Inter,sans-serif;font-size:clamp(1.8rem,3vw,3rem);
  font-weight:750;letter-spacing:-.025em;margin-bottom:1rem;
}
.location-content > p{color:var(--pb-ink-soft);max-width:60ch}
.location-facts{display:grid;gap:.8rem;margin-top:1.6rem}
.location-facts div{display:flex;gap:.85rem;align-items:flex-start;color:#333}
.location-facts i{color:var(--pb-blue);width:20px;margin-top:.28rem}
.location-forward{font-size:.86rem;color:var(--pb-ink-soft)}

@media(max-width:991.98px){
  .experience-grid{grid-template-columns:1fr}
  .experience-step{min-height:0}
  .process-track{grid-template-columns:1fr;gap:1.4rem}
  .process-track:before{
    left:27px;right:auto;top:28px;bottom:28px;width:1px;height:auto;
    background:linear-gradient(180deg,var(--pb-orange),var(--pb-green),var(--pb-blue),var(--pb-purple));
  }
  .process-step{display:grid;grid-template-columns:56px 1fr;gap:1rem;padding:0}
  .process-number{margin:0}
  .process-body{padding-top:.3rem}
  .location-feature{grid-template-columns:1fr}
  .location-visual{min-height:320px}
}
@media(max-width:575.98px){
  .experience-step{padding:1.5rem}
  .experience-icon{margin-bottom:1.8rem}
  .location-content{padding:1.5rem}
}


/* v6 amenities */
.amenities-section{background:#fff}
.amenities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,2.4rem);max-width:1050px;margin-left:auto;margin-right:auto}
.amenities-column{display:grid;gap:.8rem}
.amenity-item{display:flex;align-items:center;gap:1rem;min-height:68px;padding:.9rem 1rem;border-bottom:1px solid var(--pb-line);font-weight:600}
.amenity-icon{flex:0 0 42px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--pb-bg-soft);color:var(--pb-blue)}
.amenities-column:nth-child(1) .amenity-item:nth-child(1) .amenity-icon,.amenities-column:nth-child(1) .amenity-item:nth-child(3) .amenity-icon,.amenities-column:nth-child(1) .amenity-item:nth-child(6) .amenity-icon{color:var(--pb-orange)}
.amenities-column:nth-child(1) .amenity-item:nth-child(4) .amenity-icon,.amenities-column:nth-child(1) .amenity-item:nth-child(5) .amenity-icon,.amenities-column:nth-child(2) .amenity-item:nth-child(1) .amenity-icon{color:var(--pb-green)}
.amenities-column:nth-child(2) .amenity-item:nth-child(5) .amenity-icon,.amenities-column:nth-child(2) .amenity-item:nth-child(6) .amenity-icon{color:var(--pb-purple)}
@media(max-width:767.98px){.amenities-grid{grid-template-columns:1fr;gap:0}}


/* =========================================================
   v7 — Desktop review implementation
   ========================================================= */

/* Header / logo */
.brand-logo{height:58px;width:auto;object-fit:contain}
.brand-tagline{font-size:1.105rem;font-style:italic;font-weight:600;white-space:nowrap}

/* Hero: centered vertical hierarchy */
.hero-stage{align-items:center!important;justify-content:center;padding-top:92px;padding-bottom:54px}
.hero-content-wide{width:min(1180px,92vw);margin:0 auto;text-align:center}
.hero-copy-band{display:flex;flex-direction:column;align-items:center;gap:1.55rem;background:rgba(255,255,255,.80);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:clamp(2rem,4vw,3.6rem);border-radius:28px}
.hero-title{max-width:1050px;margin:0 auto}
.hero-support-text{max-width:780px;margin:0 auto;text-align:center}
.hero-cta-wrap{margin-top:.25rem}

/* Experience */
.experience-heading{display:flex;align-items:center;gap:.9rem;margin-bottom:1.35rem}
.experience-heading .experience-icon{margin:0;flex:0 0 auto}
.experience-heading h3{margin:0}
.experience-footer-note{justify-content:center;text-align:center;font-size:1.06rem;font-weight:600}
.experience-footer-note p{max-width:850px}

/* Plans: all white cards with aligned internal rows */
.plan-row>.col-lg-4{display:flex}
.plan-card{background:#fff!important;color:var(--pb-ink)!important;border:1px solid rgba(255,255,255,.18);display:grid;grid-template-rows:auto auto minmax(150px,auto) minmax(190px,auto) 1fr;width:100%;box-shadow:0 16px 42px rgba(0,0,0,.16)}
.plan-card h3,.plan-card p,.plan-card li,.plan-best{color:var(--pb-ink)!important}
.plan-best{line-height:1.65}
.plan-list{margin:0;padding-top:.3rem}
.plan-note{align-self:end;margin-bottom:0}

/* Locations */
.location-map-wrap{min-height:460px;border-radius:24px;overflow:hidden;background:#ececec}
.location-map{width:100%;height:100%;min-height:460px;border:0;display:block}

/* Contact */
.contact-methods{display:grid;gap:1rem;margin-top:2rem}
.contact-method{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--pb-line);border-radius:16px;color:var(--pb-ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.contact-method:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.07);color:var(--pb-ink)}
.contact-method-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--pb-bg-soft);color:var(--pb-blue);flex:0 0 44px}
.contact-method small{display:block;color:var(--pb-ink-soft);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.15rem}
.contact-method strong{font-size:.98rem}

/* Footer logo: use supplied logo as-is; never invert it */
.footer-logo{height:68px;width:auto;filter:none!important;background:#fff;border-radius:8px;padding:5px}
.footer-tagline{font-style:italic}

@media(max-width:1199.98px){
  .brand-tagline{font-size:1rem}
}
@media(max-width:991.98px){
  .hero-stage{padding-top:110px}
  .plan-card{grid-template-rows:auto auto auto auto auto}
  .location-map-wrap,.location-map{min-height:360px}
}
@media(max-width:767.98px){
  .hero-copy-band{padding:1.6rem 1.2rem;border-radius:20px;gap:1.2rem}
  .experience-heading{flex-direction:column;align-items:flex-start;gap:.65rem}
  .location-map-wrap,.location-map{min-height:300px}
  .footer-logo{height:58px}
}

/* =========================================================
   v8 — Hero contrast + plan-card spacing refinement
   ========================================================= */

/* Production hero uses the local WebP repository asset only. */
.hero-bg{
  background-image:url('assets/hero-background.webp');
  background-size:cover;
  background-position:center center;
  filter:saturate(.90) contrast(1.05) brightness(.78);
}
.hero-overlay{
  background:
    linear-gradient(180deg, rgba(8,12,16,.38) 0%, rgba(8,12,16,.30) 42%, rgba(8,12,16,.44) 100%),
    radial-gradient(circle at 50% 46%, rgba(0,0,0,.08) 0%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.32) 100%);
}
.hero-copy-band{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-radius:0!important;
  padding:clamp(1.2rem,3vw,2rem)!important;
  box-shadow:none!important;
}
.hero-title{
  color:#fff!important;
  text-shadow:0 3px 20px rgba(0,0,0,.42)!important;
}
.hero-lead,
.hero-copy{
  color:rgba(255,255,255,.95)!important;
  text-shadow:0 2px 14px rgba(0,0,0,.40);
}
.hero-cta-wrap .btn{
  box-shadow:0 8px 28px rgba(0,0,0,.24);
}

/* Compact, consistent plan-card rhythm while retaining aligned rows. */
.plan-card{
  grid-template-rows:auto auto minmax(112px,auto) minmax(146px,auto) auto!important;
  row-gap:0!important;
  padding:1.65rem!important;
}
.plan-card .plan-badge{margin-bottom:.8rem!important}
.plan-card h3{margin-bottom:1rem!important}
.plan-best{
  line-height:1.5!important;
  margin:0!important;
  padding-bottom:1rem!important;
}
.plan-list{
  margin:0!important;
  padding:.95rem 0 .85rem!important;
  align-self:start;
}
.plan-list li{
  margin-bottom:.55rem!important;
  line-height:1.48!important;
}
.plan-list li:last-child{margin-bottom:0!important}
.plan-note{
  margin-top:.8rem!important;
  padding-top:1rem!important;
}

@media(max-width:991.98px){
  .plan-card{grid-template-rows:auto!important}
  .plan-best{padding-bottom:.45rem!important}
  .plan-list{padding-top:.5rem!important}
}


/* v9 — Tally conversion integration */
.contact-conversion{
  position:relative;
  overflow:hidden;
}
.contact-conversion-inner{
  max-width:820px;
  padding:1rem 0 .5rem;
}
.contact-conversion .section-copy{
  max-width:700px;
  margin-bottom:1.75rem;
}
.contact-primary-cta{
  min-width:220px;
  margin-bottom:.85rem;
}
.contact-reassurance{
  color:var(--pb-ink-soft);
  font-size:.92rem;
}
.contact-direct-row{
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--pb-line);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.1rem;
  flex-wrap:wrap;
}
.contact-direct-link{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:var(--pb-ink);
  text-decoration:none;
  font-weight:600;
}
.contact-direct-link i{
  color:var(--pb-blue);
}
.contact-direct-link:hover{
  color:var(--pb-blue);
}
.contact-direct-divider{
  width:1px;
  height:20px;
  background:var(--pb-line);
}
@media (max-width: 575.98px){
  .contact-direct-row{
    flex-direction:column;
    gap:.85rem;
  }
  .contact-direct-divider{display:none;}
  .contact-primary-cta{width:100%;}
}


/* v10 — mobile navbar containment */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

@supports (overflow:clip){
  html,
  body{overflow-x:clip;}
}

@media(max-width:991.98px){
  .site-navbar,
  .site-navbar .container-xl{
    width:100%;
    max-width:100%;
  }

  .site-navbar .container-xl{
    flex-wrap:wrap;
  }

  .navbar-brand{
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 64px);
    margin-right:.5rem;
  }

  .brand-logo{
    display:block;
    width:auto;
    height:auto;
    max-height:56px;
    max-width:100%;
  }

  .navbar-toggler{
    flex:0 0 auto;
    margin-left:auto;
  }

  .navbar-collapse{
    flex-basis:100%;
    width:100%;
    max-width:100%;
  }
}


/* =========================================================
   v11 — validated sub-500px viewport containment
   Fixes mobile header/page width divergence below 500px.
   ========================================================= */
@media (max-width: 500px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    overflow-x: hidden;
  }

  @supports (overflow: clip) {
    html,
    body {
      overflow-x: clip;
    }
  }

  body > .site-navbar,
  body > header,
  body > main,
  body > footer,
  .section-block,
  .hero-section,
  .hero-shell,
  .hero-stage {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .site-navbar .container-xl {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    column-gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .navbar-brand {
    grid-column: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
  }

  .brand-logo {
    display: block;
    width: auto;
    max-width: min(100%, 220px);
    height: auto;
    max-height: 54px;
    object-fit: contain;
  }

  .navbar-toggler {
    grid-column: 2;
    width: 44px;
    height: 44px;
    min-width: 44px;
    max-width: 44px;
    margin: 0;
    padding: .35rem;
    justify-self: end;
    box-sizing: border-box;
  }

  .navbar-collapse {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl,
  .row,
  [class*="col-"],
  .experience-grid,
  .experience-step,
  .process-track,
  .process-step,
  .plan-row,
  .plan-card,
  .location-feature,
  .location-content,
  .contact-conversion-inner,
  .contact-direct-row,
  .amenities-grid,
  .amenities-column,
  .amenity-item {
    min-width: 0;
    max-width: 100%;
  }

  img,
  iframe,
  svg {
    max-width: 100%;
  }

  .contact-direct-link,
  .contact-direct-link span,
  .footer-links a {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .btn,
  .contact-primary-cta,
  .hero-cta-wrap,
  .hero-cta-wrap .btn {
    max-width: 100%;
    min-width: 0;
  }
}
