
:root{
  --lw-forest:#28553B;
  --lw-leaf:#5F9F68;
  --lw-citrus:#A8C936;
  --lw-pale:#F2F7EE;
  --lw-cream:#FBFAF5;
  --lw-ink:#24362D;
  --lw-muted:#68766E;
  --lw-border:#DCE7DC;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}

/* Global desktop rhythm – v1.1: same design, less unused vertical space */
.lw-section{
  padding:clamp(3rem,4.8vw,4.75rem) max(28px,calc((100vw - 1180px)/2));
}
.lw-section>.wp-block-group__inner-container{max-width:1180px;margin:auto}
.lw-soft{background:var(--lw-pale)}
.lw-hero{
  padding-top:clamp(2.6rem,4.4vw,4.4rem);
  padding-bottom:clamp(2.8rem,4.6vw,4.6rem);
}
.lw-hero .wp-block-columns{align-items:center}
.lw-hero h1{margin-top:.65rem;margin-bottom:1rem}
.lw-hero p{margin-top:.75rem;margin-bottom:.9rem}

.lw-card{
  background:#fff;
  border:1px solid var(--lw-border);
  border-radius:22px;
  padding:clamp(1.25rem,2.2vw,1.8rem);
  height:100%;
  box-sizing:border-box;
}
.lw-card-lead{font-weight:700;color:var(--lw-forest)}
.lw-eyebrow{
  color:var(--lw-forest);
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase
}
.lw-muted{color:var(--lw-muted)}

.lw-button-primary .wp-block-button__link{
  background:var(--lw-forest);
  color:#fff;
  border:1px solid var(--lw-forest);
  padding:.82rem 1.25rem
}
.lw-button-secondary .wp-block-button__link{
  background:transparent;
  color:var(--lw-forest);
  border:1.5px solid var(--lw-forest);
  padding:.82rem 1.25rem
}
.wp-block-buttons{gap:.75rem;margin-top:1rem}
.wp-block-columns{gap:clamp(1rem,2vw,1.6rem)}

.lw-profile,.lw-profile-secondary{
  margin:0;
  border-radius:28px;
  overflow:hidden;
  background:var(--lw-pale)
}
.lw-profile img,.lw-profile-secondary img{
  display:block;width:100%;height:auto;object-fit:cover
}
.lw-profile img{aspect-ratio:1/1.04;object-position:50% 34%}
.lw-profile-secondary img{aspect-ratio:1/1.06;object-position:50% 35%}

/* Trust bar stays prominent but is far more compact */
.lw-trust-section{
  padding:.8rem max(28px,calc((100vw - 1180px)/2));
  background:#fff;
  border-top:1px solid var(--lw-border);
  border-bottom:1px solid var(--lw-border)
}
.lw-trust-section .lw-card{border:0;padding:.65rem;background:transparent}
.lw-trust-section p{margin:.25rem 0}

/* Timeline */
.lw-timeline{position:relative;margin-top:1.5rem}
.lw-timeline:before{
  content:"";
  position:absolute;
  top:11px;
  left:7%;right:7%;
  height:2px;
  background:#B9CFBC
}
.lw-timeline-item{position:relative;z-index:1;text-align:center}
.lw-dot{width:14px;height:14px;margin:0 auto;border-radius:50%;background:var(--lw-leaf)}
.lw-dot-strong{
  width:22px;height:22px;background:var(--lw-forest);
  border:4px solid #fff;outline:1px solid var(--lw-border)
}
.lw-timeline + .wp-block-buttons,
.lw-timeline ~ .wp-block-buttons{justify-content:center}

/* Final contact band: visible, unmistakable CTA */
.lw-contact-band{background:var(--lw-forest);color:#fff}
.lw-contact-band h2,.lw-contact-band h3{color:#fff}
.lw-contact-band a{color:inherit}
.lw-contact-band .wp-block-button__link{
  display:inline-block;
  background:#fff!important;
  color:var(--lw-forest)!important;
  border:1px solid #fff!important;
  border-radius:12px;
  padding:.9rem 1.25rem;
  font-weight:750;
}
.lw-contact-band p{max-width:760px}

/* FAQ */
.wp-block-details{border-bottom:1px solid var(--lw-border);padding:.85rem 0}
.wp-block-details summary{cursor:pointer;font-weight:700;color:var(--lw-forest)}

/* BMI */
.lw-bmi{max-width:720px;background:#fff;border:1px solid var(--lw-border);border-radius:22px;padding:1.5rem;margin:1.5rem 0}
.lw-bmi-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lw-bmi label{display:grid;gap:.4rem;font-weight:700;color:var(--lw-forest)}
.lw-bmi input{width:100%;box-sizing:border-box;border:1px solid #C9D7CC;border-radius:12px;padding:.8rem;font:inherit}
.lw-bmi-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.lw-bmi button{border:0;border-radius:12px;background:var(--lw-forest);color:#fff;padding:.82rem 1.1rem;font:inherit;font-weight:700;cursor:pointer}
.lw-bmi .lw-bmi-reset{background:#fff;color:var(--lw-forest);border:1px solid var(--lw-forest)}
.lw-bmi-result{margin-top:1rem;font-size:1.15rem;font-weight:700;color:var(--lw-forest)}

/* Header */
.lw-header{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--lw-border)
}
.lw-header-inner{
  max-width:1180px;
  margin:auto;
  padding:10px 22px;
  min-height:68px;
  display:flex;
  align-items:center;
  gap:1rem;
  justify-content:space-between
}
.lw-brand{display:block;flex:0 0 auto;line-height:0}
.lw-brand-logo{
  display:block;
  width:250px;
  height:58px;
  max-width:32vw;
  background:url('../images/logo.png') left center/contain no-repeat;
}
.lw-header-nav{display:flex;align-items:center;gap:1.15rem}
.lw-header-nav a{color:var(--lw-ink);font-size:.95rem}
.lw-header-nav a:hover{color:var(--lw-forest)}
.lw-header-contact{
  background:var(--lw-forest);
  color:#fff!important;
  padding:.72rem 1rem;
  border-radius:12px;
  font-weight:700
}
.lw-menu-toggle{
  display:none;
  background:none;
  border:1px solid var(--lw-border);
  border-radius:10px;
  padding:.55rem .7rem;
  color:var(--lw-forest)
}

/* Footer */
.lw-footer{
  background:var(--lw-forest);
  color:#fff;
  padding:3rem max(28px,calc((100vw - 1180px)/2))
}
.lw-footer h3{color:#fff}
.lw-footer a{color:#fff}
.lw-footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:2rem}
.lw-footer-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.lw-footer-bottom{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.2);font-size:.88rem;opacity:.9}
.lw-footer-brand{display:block;line-height:0;margin-bottom:1rem}
.lw-footer-logo{
  display:block;
  width:270px;
  max-width:100%;
  height:72px;
  background:url('../images/logo.png') left center/contain no-repeat;
}

/* Mobile sticky CTA hidden on desktop */
.lw-sticky-mobile{display:none}

@media(max-width:900px){
  .lw-header-inner{min-height:64px}
  .lw-brand-logo{width:210px;height:52px;max-width:60vw}
  .lw-header-nav{
    display:none;
    position:absolute;
    top:74px;
    left:14px;right:14px;
    background:#fff;
    border:1px solid var(--lw-border);
    border-radius:16px;
    padding:1rem;
    flex-direction:column;
    align-items:stretch
  }
  .lw-header-nav.is-open{display:flex}
  .lw-menu-toggle{display:block}
  .lw-footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:781px){
  /* Preserve the good mobile type scale, but reduce excess scrolling */
  .lw-section{padding:2.75rem 22px}
  .lw-hero{padding-top:2.35rem;padding-bottom:2.7rem}
  .lw-hero h1{margin-top:.8rem}
  .lw-profile{max-width:520px;margin:1.5rem auto 0}

  /* Four credentials in a compact 2x2 layout instead of a very tall stack */
  .lw-trust-section{padding:1rem 18px}
  .lw-trust-section .wp-block-columns{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:.25rem .5rem!important;
  }
  .lw-trust-section .wp-block-column{margin:0!important}
  .lw-trust-section .lw-card{padding:.85rem .35rem}
  .lw-trust-section p{font-size:.96rem;line-height:1.35}

  /* Cards stay readable, with slightly tighter rhythm */
  .lw-card{padding:1.45rem}
  .lw-section .wp-block-columns{gap:1rem}

  /* Vertical timeline remains, just tighter */
  .lw-timeline:before{display:none}
  .lw-timeline{gap:.55rem!important;margin-top:1.1rem}
  .lw-timeline-item{
    display:grid;
    grid-template-columns:32px 1fr;
    text-align:left!important;
    align-items:start
  }
  .lw-timeline-item .lw-dot{margin:.3rem 0 0}
  .lw-timeline-item p{margin:.05rem 0 .7rem}

  /* Mobile CTA: smaller and moved above the browser safe area */
  .lw-sticky-mobile{
    display:flex;
    position:fixed;
    left:14px;right:14px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:999;
    background:rgba(40,85,59,.97);
    border-radius:15px;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
    min-height:54px;
    overflow:hidden;
    backdrop-filter:blur(8px)
  }
  .lw-sticky-mobile a{
    flex:1;
    color:#fff;
    text-align:center;
    padding:.72rem .5rem;
    font-weight:700;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lw-sticky-mobile a+a{border-left:1px solid rgba(255,255,255,.28)}
  body{padding-bottom:82px}

  .lw-bmi-grid{grid-template-columns:1fr}
  .lw-footer{padding:2.75rem 24px 4.5rem}
  .lw-footer-grid{grid-template-columns:1fr;gap:1.55rem}
  .lw-footer-grid h3{margin-bottom:.55rem}
  .lw-footer-list{gap:.28rem}
  .lw-footer-bottom{margin-top:1.5rem}
  .lw-footer-logo{width:250px;height:68px}
}

@media(max-width:460px){
  .lw-brand-logo{width:200px;height:50px;max-width:63vw}
  .lw-header-inner{padding:9px 16px}
  .lw-section{padding-left:20px;padding-right:20px}
  .lw-trust-section .wp-block-columns{grid-template-columns:1fr 1fr!important}
  .lw-sticky-mobile{left:12px;right:12px}
}

/* V1.2 mobile polish */
@media(max-width:781px){
  /* Keep hero actions visually separate from the fixed quick-contact bar. */
  .lw-hero .wp-block-buttons{margin-top:1.15rem;margin-bottom:.85rem;gap:.8rem}
  .lw-hero .wp-block-button{margin-bottom:0}

  /* A slimmer, lower quick-contact bar: useful without dominating the page. */
  .lw-sticky-mobile{
    left:10px;
    right:10px;
    bottom:max(2px,env(safe-area-inset-bottom));
    min-height:46px;
    border-radius:13px;
    box-shadow:0 5px 18px rgba(0,0,0,.14)
  }
  .lw-sticky-mobile a{
    min-height:46px;
    box-sizing:border-box;
    padding:.48rem .5rem;
    font-size:.98rem;
    line-height:1.1
  }
  body{padding-bottom:68px}
  .lw-footer{padding-bottom:4.25rem}
}

@media(max-width:460px){
  .lw-sticky-mobile{left:8px;right:8px}
}


/* V1.2.1 mobile sticky-bar fix
   Keep the quick actions out of the hero CTA area and reveal them only
   after the visitor has moved past the hero actions. */
@media(max-width:781px){
  .lw-sticky-mobile{
    transform:translateY(calc(100% + 18px));
    opacity:0;
    pointer-events:none;
    transition:transform .22s ease,opacity .18s ease;
  }
  .lw-sticky-mobile.is-visible{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  body{padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){
  .lw-sticky-mobile{transition:none}
}

/* V1.2.2 mobile spacing polish – layered on top of the V1.2.1 sticky-bar behavior. */
@media(max-width:781px){
  /* Reserve a little extra scroll room so fixed quick actions never obscure the final content. */
  body{padding-bottom:88px}
  main > .wp-block-group:last-child,
  .lw-section:last-child{padding-bottom:max(3.5rem,104px)}

  /* Slightly tighten long mobile pages without changing the established visual rhythm. */
  .lw-section + .lw-section{padding-top:2.55rem}
}


/* V1.2.3 – contextual link to BMI calculator */
.lw-bmi-link{
  max-width: 820px;
  margin: 0 auto;
  padding: 32px 0;
}
.lw-bmi-link__title{
  margin: 0 0 8px;
  color: var(--wp--preset--color--primary, #245c3f);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 700;
  line-height: 1.2;
}
.lw-bmi-link p:not(.lw-bmi-link__title){
  margin: 0 0 18px;
}
