/* Shared site stylesheet generated from the current page packages. */
/* Each page is scoped with a body class so selectors can coexist in one file. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Nunito+Sans:wght@400;600;700;800&display=swap');

@font-face{

  src: url("assets/fonts/AdelonSerial-Medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

html{
  scrollbar-gutter: stable;
}

/* home */
body.page-home{
  --ink:#073d46;
  --teal:#0e6f78;
  --teal-dark:#0b5660;
  --aqua:#51aeb1;
  --aqua-dark:#41999b;
  --coral:#f15d45;
  --coral-dark:#e94933;
  --gold:#eab765;
  --mist:#f3f8f8;
  --line:#dce9e9;
  --card:#ffffff;
  --text:#12313a;
  --soft-shadow:0 12px 28px rgba(7,61,70,.06);
}
body.page-home *{box-sizing:border-box}
body.page-home{scroll-behavior:smooth}
body.page-home{
  margin:0;
  
  
  
  
  
}
body.page-home a{color:inherit;text-decoration:none}
body.page-home img{display:block;max-width:100%;height:auto}
body.page-home .container{width:min(1190px,calc(100% - 78px));margin-inline:auto}
body.page-home .hero{display:grid;grid-template-columns:405px 1fr;gap:70px;align-items:center;margin-top:14px}
body.page-home .hero h1{margin:0 0 18px}
body.page-home .accent-line,
body.page-home .section-rule{display:block;width:56px;height:2px;background:var(--coral);border-radius:4px}
body.page-home .hero-copy p{font-size:17px;margin:24px 0 0;color:var(--ink);line-height:1.5;letter-spacing:.01em}
body.page-home .hero-copy .service-line{margin-top:18px;color:var(--teal-dark);font-size:15.5px;font-weight:600}
body.page-home .keep-together{white-space:nowrap}
body.page-home .button-row{display:flex;gap:18px;align-items:center;margin-top:25px}
body.page-home .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 26px;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.06em;min-height:45px;white-space:nowrap}
body.page-home .btn-primary{background:var(--coral);color:#fff;box-shadow:0 9px 20px rgba(241,93,69,.16)}
body.page-home .btn-primary:hover{background:var(--coral-dark)}
body.page-home .btn-secondary{background:#fff;border:1.8px solid var(--teal);color:var(--teal-dark);padding-inline:30px}
body.page-home .rounded-img{border-radius:58px;overflow:hidden;box-shadow:var(--soft-shadow)}
body.page-home .hero-image{margin:0;aspect-ratio:3300/2191;background:var(--mist)}
body.page-home .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
body.page-home .section{padding-top:54px;text-align:center}
body.page-home .section h2{margin:0;}
body.page-home .section-rule{margin:12px auto 0;width:52px}
body.page-home .help-grid{display:grid;gap:24px;margin-top:40px}
body.page-home .five-up{grid-template-columns:repeat(5,1fr)}
body.page-home .four-up{grid-template-columns:repeat(4,1fr)}
body.page-home .mini-card{background:var(--card);border:1px solid var(--line);border-radius:16px;min-height:222px;padding:24px 18px 20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:var(--soft-shadow)}
body.page-home .icon-circle{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#f1f6f6;margin-bottom:18px;flex:0 0 auto}
body.page-home .icon-circle img{width:48px;height:48px;object-fit:contain}body.page-home .icon-circle.large{width:94px;height:94px;margin:0 30px 0 0}body.page-home .icon-circle.large img{width:60px;height:60px}
body.page-home .mini-card p{margin:0;color:#083b45;font-size:15px;line-height:1.45;font-weight:700;letter-spacing:.005em}
body.page-home .callout-strip{margin-top:22px;border-radius:14px;background:linear-gradient(90deg,#f4f8f8 0%,#eef6f6 100%);min-height:93px;display:flex;align-items:center;justify-content:center;position:relative;padding:22px 115px 22px 70px;box-shadow:var(--soft-shadow)}
body.page-home .callout-strip p{color:var(--ink);font-size:22px;line-height:1.45;margin:0;text-align:center;letter-spacing:.02em}body.page-home .callout-strip img{position:absolute;right:62px;top:50%;transform:translateY(-50%);width:58px;height:58px}
body.page-home .how-section{padding-top:23px}body.page-home .how-subheading{text-align:center;margin:18px 0 0}body.page-home .how-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:29px}body.page-home .wide-card{background:#fff;border:1px solid var(--line);border-radius:16px;min-height:150px;padding:24px 40px 24px 36px;display:flex;align-items:center;text-align:left;box-shadow:var(--soft-shadow)}
body.page-home .card-bullet{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,#fff 0 7px,var(--teal) 7.5px);margin:0 24px 0 2px}
body.page-home .wide-card h3{margin:0 0 10px}body.page-home .wide-card p{margin:0;font-size:15.2px;line-height:1.48;font-weight:650;color:#1d2a2d}
@media(max-width:980px){body.page-home .card-bullet{display:block;margin:0 auto 14px}}
body.page-home .choose-section{padding-top:32px}body.page-home .choice-card{min-height:195px}body.page-home .choice-card .icon-circle{margin-bottom:14px}body.page-home .choice-card p{font-size:14.8px}body.page-home .cta-band{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden;min-height:280px;box-shadow:var(--soft-shadow);background:var(--aqua)}
body.page-home .cta-photo{margin:0;min-height:280px;background:#eee}body.page-home .cta-photo img{width:100%;height:100%;object-fit:cover;object-position:center}body.page-home .cta-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,#5eb7b9 0%,#3b989b 100%);color:#fff;padding:35px 285px 34px 58px;text-align:center}body.page-home .cta-panel h2{margin:0;}body.page-home .flourish{display:block;color:#f1c77a;font-size:28px;line-height:1;margin:13px 0 13px}body.page-home .cta-panel p{font-size:16px;line-height:1.52;margin:0 auto 22px;max-width:410px}body.page-home .cta-panel .btn{padding-inline:30px}body.page-home .branch{position:absolute;right:33px;bottom:19px;width:205px;opacity:.98;pointer-events:none}body.page-home .testimonials{padding-top:42px;padding-bottom:55px}body.page-home .testimonial-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:28px;margin-top:35px}body.page-home .quote-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;min-height:215px;padding:30px 45px 30px 54px;text-align:left;box-shadow:var(--soft-shadow)}body.page-home .quote-card img{width:52px;height:auto;margin:0 0 12px -16px}body.page-home .quote-card p{margin:0;color:#151a1c;font-size:18px;line-height:1.55}body.page-home .quote-card:nth-child(2) p{font-size:14.5px;font-weight:400;line-height:1.44}
body.page-home .site-footer{border-top:1px solid #eef3f3;padding:26px 0 32px}body.page-home .footer-inner{display:grid;grid-template-columns:190px 270px 1fr auto;align-items:center;gap:36px}body.page-home .footer-logo img{width:162px}body.page-home .footer-inner p{margin:0;color:var(--teal-dark);font-size:15.5px;font-weight:700;line-height:1.45}body.page-home .footer-nav{display:flex;justify-content:flex-end;gap:51px;color:var(--teal-dark);text-transform:uppercase;font-size:14px;font-weight:800;letter-spacing:.05em}body.page-home .socials{display:flex;gap:22px;align-items:center}body.page-home .socials img{width:32px;height:32px}
@media (max-width:980px){body.page-home .hero{grid-template-columns:1fr;gap:28px}body.page-home .hero-image{order:-1}body.page-home .five-up,
body.page-home .four-up,
body.page-home .how-grid,
body.page-home .testimonial-grid,
body.page-home .cta-band{grid-template-columns:1fr}body.page-home .cta-panel{display:flex;flex-direction:column;align-items:center;padding-right:24px;padding-left:24px}body.page-home .cta-panel .btn{display:flex;width:fit-content;margin-inline:auto}body.page-home .branch{opacity:.25}body.page-home .footer-inner{grid-template-columns:1fr;text-align:center}body.page-home .footer-logo img{margin:auto}body.page-home .footer-nav{justify-content:center;gap:22px;flex-wrap:wrap}body.page-home .socials{justify-content:center}body.page-home .container{width:min(100% - 36px,700px)}body.page-home .callout-strip{padding:25px 50px}body.page-home .callout-strip img{display:none}body.page-home .wide-card{display:block;text-align:center}body.page-home .icon-circle.large{margin:0 auto 16px}body.page-home .desktop-break{display:none}body.page-home .home-mobile-keep{white-space:nowrap}body.page-home .home-desktop-card-break{display:none}}
@media (max-width:560px){body.page-home .button-row{flex-wrap:nowrap;gap:8px}body.page-home .button-row .btn{padding-inline:12px}body.page-home .button-row .btn-secondary{padding-inline:14px}body.page-home .mini-card{min-height:auto}body.page-home .callout-strip p{font-size:18px}body.page-home .quote-card{padding:26px}body.page-home .rounded-img{border-radius:32px}}

@media (max-width:980px){
  body.page-home .hero{
    row-gap:0;
  }

  body.page-home .hero-copy{
    display:contents;
  }

  body.page-home .hero-copy > h1{
    grid-row:1;
  }

  body.page-home .hero-copy > .accent-line{
    grid-row:2;
  }

  body.page-home .hero-image{
    grid-row:4;
    order:initial;
    margin-top:28px;
  }

  body.page-home .hero-copy > p:not(.service-line){
    grid-row:3;
  }

  body.page-home .hero-copy > .service-line{
    grid-row:5;
  }

  body.page-home .hero-copy > .button-row{
    grid-row:6;
  }
}


body.page-home .callout-strip{
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

body.page-home .cta-panel{
  padding: 35px 58px 34px;
}

@media (max-width:980px){
  body.page-home .cta-panel{
    padding-right:24px;
    padding-left:24px;
  }
}

body.page-home .detailed-icon{
  overflow: hidden;
}

body.page-home .detailed-icon img{
  width: 100%;
  height: 100%;
  transform: scale(1.5);
}

/* about */

body.page-about{
  --teal:#0c4b4d; --teal-2:#0f7376; --coral:#f25b45; --gold:#f5a542;
  --sage:#7cae91; --ink:#11181b; --pale:#edf5f4; --cream:#fff6ec; --line:#f16a53;
  --max:1160px; --radius:28px;
}
body.page-about *{box-sizing:border-box} body.page-about{margin:0;color:var(--ink);line-height:1.52} body.page-about a{text-decoration:none;color:inherit} body.page-about img{max-width:100%;display:block}body.page-about .wrap{width:min(var(--max),calc(100% - 76px));margin-inline:auto}body.page-about .contact{background:linear-gradient(135deg,#ff704f,#ef422f);color:white;padding:14px 28px;border-radius:999px;box-shadow:0 12px 22px rgba(242,91,69,.16)}
body.page-about h1,
body.page-about h2,
body.page-about h3{margin:0}body.page-about .hero{display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:center;padding:36px 0 36px}body.page-about .hero-copy{padding-top:18px}body.page-about .hero h1{margin-bottom:20px}body.page-about .short-line{display:block;width:52px;height:3px;background:var(--line);margin:0 0 22px}body.page-about .hero p{max-width:410px;font-size:18px;line-height:1.55;font-weight:600}body.page-about .hero-photo{margin:0;border-radius:0 30px 30px 30px;overflow:hidden;height:310px}body.page-about .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%}body.page-about .approach{padding:10px 0 24px}body.page-about .approach>h2{text-align:center;margin:0 0 20px}body.page-about .approach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}body.page-about .approach-card{border-radius:28px;min-height:335px;box-shadow:0 14px 34px rgba(31,63,68,.06);position:relative;overflow:hidden}body.page-about .approach-text{background:linear-gradient(135deg,#edf5f4 0%,#f7fbfa 100%);padding:54px 58px 42px}body.page-about .circle{width:84px;height:84px;border-radius:50%;background:white;display:grid;place-items:center;margin:0 auto 28px;box-shadow:0 14px 26px rgba(31,63,68,.07)}body.page-about .circle img{width:48px}body.page-about .approach-text p{font-size:19px;line-height:1.58;font-weight:600;max-width:430px;margin:0 auto}body.page-about .corner-leaf{position:absolute;width:118px;right:26px;bottom:18px;opacity:.38;transform:rotate(18deg)}body.page-about .solution-card{background:linear-gradient(135deg,#fff8ef 0%,#fff2e5 100%);padding:34px 46px}body.page-about .solution-card h3{text-align:center;margin-bottom:16px}body.page-about .solution-row{display:grid;grid-template-columns:92px 1fr;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(216,158,91,.42)}body.page-about .solution-row:last-child{border-bottom:0}body.page-about .solution-row p{font-size:19px;line-height:1.42;font-weight:700;margin:0;max-width:430px}body.page-about .icon-bubble{width:76px;height:76px;border-radius:50%;background:white;display:grid;place-items:center;box-shadow:0 10px 24px rgba(31,63,68,.06)}body.page-about .icon-bubble img{width:44px}body.page-about .full-card{border-radius:24px;padding:22px 42px 24px;margin-top:2px;box-shadow:0 14px 34px rgba(31,63,68,.055)}body.page-about .full-card h2{margin:0}body.page-about .full-card .short-line{margin:9px 0 12px;width:48px}body.page-about .full-card p{font-size:19px;line-height:1.52;font-weight:600;margin:0 0 14px;max-width:1060px}body.page-about .full-card p:last-child{margin-bottom:0}body.page-about .experience{background:#fff;min-height:185px}body.page-about .why{background:linear-gradient(135deg,#fff7ed 0%,#fffaf4 100%);margin-top:22px;min-height:424px}body.page-about .closing-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:start;padding:24px 0 24px}body.page-about .outside .short-line{width:50px;margin:8px 0 18px}body.page-about .outside p{font-size:17px;line-height:1.54;font-weight:600;margin:0;max-width:415px}body.page-about .cup-bowl{width:175px;margin:10px auto 0}body.page-about .crew h2{margin-bottom:0}body.page-about .caption-title{margin:0 0 10px;color:var(--teal-2);font-weight:800;font-size:17px}body.page-about .crew img{width:100%;height:205px;object-fit:cover;object-position:center;border-radius:24px 24px 24px 0}body.page-about .crew{padding-left:8px}@media (max-width:900px){body.page-about .wrap{width:min(100% - 32px,var(--max))}body.page-about .hero{grid-template-columns:1fr;gap:24px}body.page-about .hero-photo{height:260px}body.page-about .approach-grid,
body.page-about .closing-grid{grid-template-columns:1fr}body.page-about .solution-row{grid-template-columns:70px 1fr}body.page-about .full-card{padding:24px}body.page-about .full-card p{font-size:16px}body.page-about .approach-text p,
body.page-about .solution-row p{font-size:16px}}


/* services */
body.page-services{
  --cream: #fbfaf6;
  --paper: #fffefb;
  --mist: #eef5f4;
  --line: #dce6e4;
  --teal: #05494c;
  --teal-2: #0c7f84;
  --teal-deep: #006b6f;
  --coral: #f45a45;
  --coral-dark: #e64f3c;
  --gold: #f4b052;
  --text: #101a1a;
  --shadow: 0 18px 38px rgba(5, 56, 58, 0.06);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Nunito Sans", Arial, sans-serif;
}

body.page-services *{ box-sizing: border-box; }
body.page-services{ scroll-behavior: smooth; }
body.page-services{
  margin: 0;
  
  
  
  
  
}

body.page-services .page-shell{
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  background: rgba(255, 254, 251, 0.55);
  overflow: hidden;
}

body.page-services .hero-section{
  display: grid;
  grid-template-columns: 390px 1fr;
  gap: 10px;
  padding: 0 40px 0 51px;
  align-items: center;
}

body.page-services .hero-copy{
  padding-top: 8px;
}

body.page-services h1{
  margin: 0;
  
  
  
  
  
  
}

body.page-services .short-line,
body.page-services .title-accent{
  display: block;
  width: 52px;
  height: 2px;
  background: var(--coral);
}

body.page-services .hero-copy .short-line{
  margin: 22px 0 22px 0;
}

body.page-services .hero-copy p{
  width: 330px;
  margin: 0 0 21px 0;
  font-size: 15px;
  line-height: 1.47;
  letter-spacing: 0.015em;
  font-weight: 600;
}

body.page-services .button-primary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  height: 42px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--coral);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.045em;
  box-shadow: 0 12px 25px rgba(244, 90, 69, 0.18);
}

body.page-services .hero-photo-wrap{
  height: auto;
  aspect-ratio: 3300 / 1546;
  margin-top: 1px;
  border-radius: 56px 22px 22px 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

body.page-services .hero-photo{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.page-services .hero-photo-wrap picture{
  display: block;
  width: 100%;
  height: 100%;
}

body.page-services .values-card{
  margin: 45px 40px 0;
  min-height: 193px;
  border-radius: 17px;
  background: linear-gradient(180deg, rgba(241, 247, 246, 0.95), rgba(245, 248, 247, 0.95));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  box-shadow: var(--shadow);
}

body.page-services .value-item{
  position: relative;
  text-align: center;
  padding: 28px 29px 22px;
}

body.page-services .value-item:not(.last)::after{
  content: "";
  position: absolute;
  right: 0;
  top: 52px;
  bottom: 22px;
  width: 1px;
  background: rgba(4, 73, 76, 0.15);
}

body.page-services .icon-bubble,
body.page-services .circle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e8f1f0;
}

body.page-services .icon-bubble{
  width: 65px;
  height: 65px;
  margin-bottom: 10px;
}

body.page-services .icon-bubble img{ width: 39px; height: 39px; }

body.page-services .icon-bubble.family-centered-icon{ overflow: hidden; }
body.page-services .icon-bubble.family-centered-icon img{
  width: 82px;
  height: 82px;
  max-width: none;
  flex: 0 0 82px;
}

body.page-services .value-item h2{
  
  
  margin: 0 0 11px;
}

body.page-services .value-item p{
  margin: 0;
  font-size: 13.6px;
  line-height: 1.42;
  font-weight: 600;
}

body.page-services .services-section{
  padding: 26px 50px 0;
  text-align: center;
}

body.page-services .section-title{
  margin: 0;
  color: var(--teal);
  
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .01em;
}

body.page-services .title-accent{
  margin: 12px auto 22px;
}

body.page-services .service-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 16px;
}

body.page-services .service-card{
  min-height: 204px;
  border: 1px solid rgba(4, 73, 76, 0.13);
  border-radius: 11px;
  background: rgba(255, 254, 251, 0.85);
  text-decoration: none;
  color: inherit;
  padding: 16px 29px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-shadow: 0 10px 24px rgba(7, 63, 65, 0.035);
}

body.page-services .circle{
  width: 66px;
  height: 66px;
  margin-bottom: 12px;
}

body.page-services .circle img{ width: 39px; height: 39px; }
body.page-services .circle.soft-coral{ background: #ffe0db; }
body.page-services .circle.soft-blue{ background: #e9f2f1; }
body.page-services .circle.small{ width: 55px; height: 55px; margin-bottom: 10px; }
body.page-services .circle.small img{ width: 33px; height: 33px; }

body.page-services .service-card h3{
  
  
  margin: 0 0 12px;
}

body.page-services .service-card p{
  margin: 0;
  font-size: 13.8px;
  line-height: 1.35;
  font-weight: 600;
}

body.page-services .process-section{
  padding: 7px 51px 0;
  text-align: center;
}

body.page-services .process-section .title-accent{
  margin-bottom: 21px;
}

body.page-services .process-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  position: relative;
}

body.page-services .process-grid::before{
  content: "";
  position: absolute;
  left: 190px;
  right: 190px;
  top: 50px;
  border-top: 3px dotted #0a6c70;
  opacity: .65;
  z-index: 0;
}

body.page-services .process-card{
  position: relative;
  z-index: 1;
  min-height: 155px;
  border: 1px solid rgba(4, 73, 76, 0.13);
  border-radius: 10px;
  background: rgba(255, 254, 251, 0.96);
  padding: 19px 18px 15px;
  box-shadow: 0 10px 24px rgba(7, 63, 65, 0.035);
}

body.page-services .step-dot{
  position: absolute;
  left: 50%;
  top: -13px;
  transform: translateX(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--teal);
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 13px;
}

body.page-services .process-card h3{
  margin: 0 0 7px;
  
  
}

body.page-services .process-card p{
  margin: 0;
  font-size: 13px;
  line-height: 1.28;
  font-weight: 600;
}

body.page-services .cta-band{
  margin: 40px 40px 0;
  height: 158px;
  border-radius: 23px 23px 0 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: 410px 1fr;
  background: linear-gradient(135deg, #1f8e91 0%, #0a7078 100%);
  box-shadow: var(--shadow);
}

body.page-services .cta-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.page-services .cta-copy{
  position: relative;
  color: #fff;
  padding: 17px 34px;
  overflow: hidden;
}

body.page-services .cta-copy h2{
  
  
  
  margin: 0;
  
}

body.page-services .cta-copy .short-line{
  margin: 14px 0 10px;
  width: 49px;
}

body.page-services .cta-copy p{
  width: 360px;
  margin: 0 0 13px;
  font-size: 13.7px;
  line-height: 1.36;
  font-weight: 600;
}

body.page-services .cta-copy .button-primary{
  background: var(--coral);
  min-width: 222px;
  height: 39px;
  font-size: 12px;
  position: relative;
  z-index: 2;
}

body.page-services .cta-copy .branch{
  position: absolute;
  right: 19px;
  top: 9px;
  width: 163px;
  opacity: 0.92;
}

body.page-services .site-footer{
  height: 78px;
  display: flex;
  align-items: center;
  padding: 7px 39px 0;
  gap: 55px;
  background: rgba(255,255,255,0.85);
}

body.page-services .footer-brand img{ width: 157px; display: block; }
body.page-services .footer-nav{
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 49px;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.06em;
  font-weight: 800;
}
body.page-services .footer-nav a{
  text-decoration: none;
  color: var(--teal);
  white-space: nowrap;
}
body.page-services .footer-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 91px;
  height: 28px;
  border-radius: 999px;
  background: var(--coral);
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
}

@media (max-width: 850px) {
  body.page-services .page-shell{ max-width: 100%; }
  body.page-services .service-mobile-keep{ white-space: nowrap; }
  body.page-services .hero-section{ grid-template-columns: 1fr; padding: 16px 24px 0; }
  body.page-services .hero-copy p{ width: auto; }
  body.page-services .hero-photo-wrap{ height: auto; aspect-ratio: 3300 / 2191; }
  body.page-services .values-card,
body.page-services .service-grid,
body.page-services .process-grid,
body.page-services .cta-band{ grid-template-columns: 1fr; }
  body.page-services .values-card{ margin: 30px 24px 0; }
  body.page-services .value-item:not(.last)::after,
body.page-services .process-grid::before{ display: none; }
  body.page-services .services-section,
body.page-services .process-section{ padding-left: 24px; padding-right: 24px; }
  body.page-services .cta-band{ margin: 30px 24px 0; height: auto; border-radius: 23px; }
  body.page-services .cta-image{ height: 190px; }
  body.page-services .cta-copy p{ width: auto; }
  body.page-services .site-footer{ height: auto; flex-wrap: wrap; padding: 18px 24px; justify-content: center; gap: 18px; }
  body.page-services .footer-nav{ order: 3; flex-basis: 100%; gap: 20px; flex-wrap: wrap; }
}


/* allergies */
body.page-allergies{
  --teal:#164d5a;
  --teal2:#1f6070;
  --coral:#ff6e59;
  --line:#dfe9e6;
  --mint:#eaf6f4;
  --peach:#fde0d4;
  --sand:#f6e8bd;
  --soft:#f2f8f7;
}
body.page-allergies *{box-sizing:border-box}
body.page-allergies{margin:0;color:#152f36;min-width:846px}body.page-allergies .container{width:756px;margin:0 auto}body.page-allergies .contact{background:var(--coral);color:#fff;border-radius:999px;padding:11px 17px}body.page-allergies a{text-decoration:none;color:inherit}body.page-allergies .hero{display:grid;grid-template-columns:285px 1fr;gap:36px;align-items:center;margin-bottom:31px}body.page-allergies .hero h1{margin:0 0 15px;}body.page-allergies .accent{width:42px;height:2px;background:var(--coral);margin-bottom:15px}body.page-allergies .hero p{font-size:14px;line-height:1.55;margin:0 0 17px}body.page-allergies .button{display:inline-block;background:var(--coral);color:white;border-radius:999px;padding:13px 20px;font-size:11px;font-weight:800;letter-spacing:.03em}body.page-allergies .hero-image{width:100%;height:272px;object-fit:cover;border-radius:30px}body.page-allergies h2{text-align:center;margin:18px 0 17px;}body.page-allergies .grid{display:grid;gap:18px}body.page-allergies .three{grid-template-columns:repeat(3,1fr)}body.page-allergies .four{grid-template-columns:repeat(4,1fr)}body.page-allergies .card,
body.page-allergies .mini-card{border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center}body.page-allergies .card{min-height:225px;padding:22px 22px 18px}body.page-allergies .mini-card{min-height:222px;padding:19px 13px 16px}body.page-allergies .icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px}body.page-allergies .icon img{width:37px;height:37px}body.page-allergies .mint{background:var(--mint)}body.page-allergies .peach{background:var(--peach)}body.page-allergies .sand{background:var(--sand)}body.page-allergies h3{margin:0 0 9px;}body.page-allergies .card p,
body.page-allergies .mini-card p{font-size:12.7px;line-height:1.34;margin:0}body.page-allergies .statement{position:relative;background:var(--soft);border-radius:11px;text-align:center;margin:16px 0 16px;padding:15px 62px 15px 42px;color:var(--teal);font-size:22px;line-height:1.05}body.page-allergies .statement img{position:absolute;right:21px;top:50%;transform:translateY(-50%);width:36px}body.page-allergies .expect-section h2{margin-top:14px}body.page-allergies .divider{display:block;width:60px;height:3px;margin:9px auto 18px;background:var(--coral)}body.page-allergies .cta-band{display:grid;grid-template-columns:377px 1fr;border-radius:20px;overflow:hidden;margin-top:21px}body.page-allergies .cta-band>img{width:100%;height:211px;object-fit:cover}body.page-allergies .cta-panel{position:relative;background:#5caeb2;color:white;padding:23px 46px 20px;text-align:center}body.page-allergies .cta-panel h2{margin:0 0 17px}body.page-allergies .cta-panel p{font-size:13px;line-height:1.45;margin:0 0 15px}body.page-allergies .white{background:white;color:var(--coral)}body.page-allergies .branch{position:absolute;right:25px;bottom:23px;width:80px}body.page-allergies .sessions h2{margin-top:15px}body.page-allergies .session-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}body.page-allergies .session-card{border:1px solid var(--line);border-radius:13px;min-height:128px;padding:22px 24px 20px;display:grid;grid-template-columns:63px 1fr;gap:20px}body.page-allergies .round{width:52px;height:52px;border-radius:50%;background:var(--teal2);display:grid;place-items:center}body.page-allergies .round img{width:32px;filter:brightness(0) invert(1)}body.page-allergies .session-card p{font-size:13.5px;line-height:1.39;margin:0}body.page-allergies .footer{height:40px}body.page-allergies .socials{display:flex;justify-content:flex-end;gap:12px;padding:9px 6px}body.page-allergies .socials img{width:20px;height:20px}

body.page-allergies .session-ring{
  width:52px;
  height:52px;
  box-sizing:border-box;
  border:13px solid #07545b;
  border-radius:50%;
  background:#fff;
}

body.page-allergies main .hero{
  grid-template-columns:360px minmax(0,760px);
  gap:24px;
  justify-content:start;
  align-items:start;
}
body.page-allergies main .hero-text{
  padding-top:51px;
}
body.page-allergies main .hero-text h1{
  white-space:nowrap;
}
body.page-allergies main .hero-image{
  width:100%;
  height:324px;
  aspect-ratio:auto;
  object-fit:cover;
  align-self:start;
  margin-top:51px;
}
body.page-allergies main .statement{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  padding:18px 0;
}
body.page-allergies main .cta-panel{
  background:linear-gradient(135deg,#1f8e91 0%,#0a7078 100%);
}
@media(max-width:850px){
  body.page-allergies main .hero{grid-template-columns:1fr;gap:0;}
  body.page-allergies main .hero-text{padding-top:20px;}
  body.page-allergies main .hero-text h1{white-space:normal;}
  body.page-allergies main .hero-image{height:auto;aspect-ratio:6240 / 1918;margin-top:24px;}
}


/* picky-eating */
body.page-picky-eating{
  --dark: #064F60;
  --teal: #0D8791;
  --orange: #FF5A1A;
  --pale-blue: #EAF5F5;
  --soft-aqua: #AEE3DF;
  --border: #e8ecec;
  --ink: #1d2326;
}

body.page-picky-eating *{ box-sizing: border-box; }
body.page-picky-eating{
  margin: 0;
  --picky-page-gutter: 40px;
  
  
  
  -webkit-font-smoothing: antialiased;
}
body.page-picky-eating a{ color: inherit; text-decoration: none; }
body.page-picky-eating .site{
  width: 1024px;
  min-height: 1535px;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
}
body.page-picky-eating .hero{
  display: grid;
  grid-template-columns: 402px 1fr;
  column-gap: 18px;
  padding: 0 var(--picky-page-gutter);
}
body.page-picky-eating .hero-copy{ padding-top: 51px; }
body.page-picky-eating h1,
body.page-picky-eating h2,
body.page-picky-eating h3,
body.page-picky-eating p{ margin: 0; }
body.page-picky-eating .orange-rule{ width: 60px; height: 3px; background: var(--orange); margin: 25px 0 20px; }
body.page-picky-eating .orange-rule.small{ width: 42px; margin: 10px auto 0; height: 3px; }
body.page-picky-eating .hero-copy p{
  width: 353px;
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: .04em;
  margin-bottom: 18px;
}
body.page-picky-eating .button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 245px;
  height: 38px;
  padding: 0 18px;
  border-radius: 20px;
  background: var(--orange);
  color: #fff;
  font-weight: 850;
  letter-spacing: .06em;
  font-size: 13px;
}
body.page-picky-eating .button span{ font-size: 27px; line-height: 1; transform: translateY(-1px); }
body.page-picky-eating .hero-image-wrap{
  width: 546px;
  height: 411px;
  position: relative;
}
body.page-picky-eating .hero-image{
  width: 546px;
  height: 411px;
  object-fit: cover;
  display: block;
  image-rendering: -webkit-optimize-contrast;
  filter: contrast(1.04) saturate(1.02);
}
body.page-picky-eating .self-section{ padding: 41px var(--picky-page-gutter) 0; text-align: center; }
body.page-picky-eating .tiny-rule{ width: 36px; height: 2px; background: var(--site-accent); margin: 10px auto 8px; }
body.page-picky-eating .cards{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 8px;
}
body.page-picky-eating .card{
  height: auto;
  min-height: 280px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 1px 7px rgba(4, 52, 61, .035);
  padding: 24px 15px 18px;
}
body.page-picky-eating .card-icon{ width: 65px; height: 65px; margin-bottom: 8px; }
body.page-picky-eating .card h3{
  
  
  
  
  
  margin-bottom: 9px;
}
body.page-picky-eating .card p{
  font-size: 12.5px;
  line-height: 1.62;
  letter-spacing: .03em;
}
body.page-picky-eating .reassurance{
  margin: 22px var(--picky-page-gutter) 0;
  height: auto;
  padding: 18px 0;
  border-radius: 0;
  background: transparent;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-picky-eating .reassurance p{
  
  color: var(--dark);
  font-size: 23px;
  line-height: 1.55;
  letter-spacing: .04em;
  font-weight: 500;
  text-align: center;
}
body.page-picky-eating .leaf-left{ position: absolute; left: 16px; top: 10px; width: 160px; height: 90px; }
body.page-picky-eating .heart-large{
  position: absolute;
  width: 72px;
  height: 72px;
  right: 33px;
  top: 17px;
}
body.page-picky-eating .heart-large circle{ display: none; }
body.page-picky-eating .expect-section{ padding: 26px var(--picky-page-gutter) 0; text-align: center; }
body.page-picky-eating .expect-grid{
  margin: 14px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  height: auto;
  grid-auto-rows: minmax(140px, auto);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
body.page-picky-eating .expect-item{
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 16px;
  text-align: left;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
body.page-picky-eating .expect-item:nth-child(3n){ border-right: 0; }
body.page-picky-eating .expect-item:nth-child(n+4){ border-bottom: 0; }
body.page-picky-eating .expect-item img{ width: 76px; height: 76px; flex: 0 0 76px; }
body.page-picky-eating .expect-item h3{
  
  
  
  
  
  margin-bottom: 10px;
}
body.page-picky-eating .expect-item p{
  font-size: 13.4px;
  line-height: 1.55;
  letter-spacing: .02em;
}

@media (min-width: 801px){
  body.page-picky-eating .picky-desktop-keep{ white-space: nowrap; }
}

@media (max-width: 800px){
  body.page-picky-eating .picky-mobile-keep{ white-space: nowrap; }
}
body.page-picky-eating .sessions-work{
  margin: 42px var(--picky-page-gutter) 0;
  text-align: center;
}
body.page-picky-eating .sessions-work h2{
  margin: 0;
}
body.page-picky-eating .sessions-ornament{
  display: block;
  width: 60px;
  height: 3px;
  margin: 8px auto 18px;
  background: var(--orange);
}
body.page-picky-eating .sessions-ornament::before,
body.page-picky-eating .sessions-ornament::after{
  content: none;
}
body.page-picky-eating .sessions-ornament span{
  display: none;
}
body.page-picky-eating .sessions-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
body.page-picky-eating .session-item{
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  align-items: start;
  min-height: 150px;
  padding: 24px 28px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  text-align: left;
}
body.page-picky-eating .session-icon{
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--dark);
}
body.page-picky-eating .session-icon img{
  width: 30px;
  height: 30px;
  filter: brightness(0) invert(1);
}
body.page-picky-eating .session-item p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}
body.page-picky-eating .journey-banner{
  display: grid;
  grid-template-columns: minmax(300px, 34%) 1fr;
  min-height: 220px;
  margin: 42px var(--picky-page-gutter) 36px;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(105deg, #0d8c91, #08777d 75%);
  box-shadow: var(--shadow);
}
body.page-picky-eating .journey-banner-image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.page-picky-eating .journey-banner-copy{
  position: relative;
  padding: 26px 36px 25px;
  color: #fff;
  text-align: left;
}
body.page-picky-eating .journey-banner-copy h2{
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff !important;
  text-align: left !important;
  font-size: clamp(30px, 3vw, 43px) !important;
  line-height: 1.08 !important;
}
body.page-picky-eating .journey-banner-line{
  display: block;
  width: 58px;
  height: 2px;
  margin: 14px 0 10px;
  background: var(--orange);
}
body.page-picky-eating .journey-banner-copy p{
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
}
body.page-picky-eating .journey-banner-button{
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 26px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
body.page-picky-eating .cta{
  margin: 40px 48px 0;
  min-height: 220px;
  height: auto;
  border-radius: 18px;
  background: linear-gradient(90deg, #a7dfdc, #9bdad6);
  position: relative;
  overflow: hidden;
}
body.page-picky-eating .bowl{
  position: absolute;
  left: 16px;
  top: -16px;
  width: 244px;
  height: 236px;
  object-fit: cover;
}
body.page-picky-eating .cta-copy{ position: absolute; left: 347px; top: 26px; text-align: left; }
body.page-picky-eating .cta h2{
  
  
  
  
  
  
  margin-bottom: 10px;
}
body.page-picky-eating .cta p{
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .025em;
  margin-bottom: 14px;
}
body.page-picky-eating .cta .button{ height: 44px; min-width: 300px; border-radius: 24px; font-size: 15px; }
body.page-picky-eating .leaf-white{ position: absolute; right: 22px; top: 18px; width: 186px; height: 112px; transform: rotate(-4deg); opacity: .98; }
body.page-picky-eating .footer{
  height: 80px;
  padding: 18px 48px 0;
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
body.page-picky-eating .footer-brand{ display: flex; align-items: center; gap: 15px; flex: 1; }
body.page-picky-eating .footer-brand img{ width: 54px; height: auto; }
body.page-picky-eating .footer-brand span{ color: var(--teal); font-size: 12.5px; letter-spacing: .03em; }
body.page-picky-eating .footer-nav{ display: flex; align-items: center; gap: 33px; margin-top: 18px; color: var(--teal); font-weight: 850; font-size: 12px; letter-spacing: .06em; }
body.page-picky-eating .socials{ display: flex; gap: 13px; margin-top: 9px; }
body.page-picky-eating .socials img{ width: 30px; height: 30px; display: block; }

@media (max-width: 1040px) {
  body.page-picky-eating{ --picky-page-gutter: 28px; }
  body.page-picky-eating .site{ width: 100%; min-height: auto; }
  body.page-picky-eating .hero{ grid-template-columns: 1fr; padding: 0 28px; }
  body.page-picky-eating .hero-copy{ padding-top: 20px; }
  body.page-picky-eating .hero-image-wrap,
body.page-picky-eating .hero-image{ width: 100%; height: auto; }
  body.page-picky-eating .self-section,
body.page-picky-eating .expect-section{ padding-left: 28px; padding-right: 28px; }
  body.page-picky-eating .sessions-grid{ grid-template-columns: 1fr; }
  body.page-picky-eating .cards{ grid-template-columns: repeat(2, 1fr); }
  body.page-picky-eating .reassurance,
body.page-picky-eating .cta{ margin-left: 28px; margin-right: 28px; }
  body.page-picky-eating .expect-grid{ width: 100%; grid-template-columns: 1fr; height: auto; }
  body.page-picky-eating .expect-item{ border-right: 0 !important; border-bottom: 1px solid var(--border) !important; }
  body.page-picky-eating .expect-item:last-child{ border-bottom: 0 !important; }
}

@media (max-width: 800px) {
  body.page-picky-eating .hero-copy .button{
    display: flex;
    width: fit-content;
    margin-right: auto;
    margin-bottom: 16px;
    margin-left: auto;
  }

  body.page-picky-eating .card{
    height: auto;
    min-height: 300px;
  }

  body.page-picky-eating .session-item{
    grid-template-columns: 36px 1fr;
    gap: 12px;
  }

  body.page-picky-eating .session-icon{
    width: 32px;
    height: 32px;
  }

  body.page-picky-eating .session-icon img{
    width: 18px;
    height: 18px;
  }

  body.page-picky-eating .journey-banner{
    grid-template-columns: 1fr;
    margin: 34px 28px 28px;
  }
  body.page-picky-eating .journey-banner-image{
    height: 210px;
  }
  body.page-picky-eating .journey-banner-copy{
    padding: 28px;
  }
}

/* growth-weight-concerns */
body.page-growth-weight-concerns{
  --teal:#0b4b51;
  --blue:#00798b;
  --aqua:#148f98;
  --coral:#ef523d;
  --gold:#efb24a;
  --soft:#f5f8f8;
  --line:#dbe5e5;
  --ink:#0b2027;
  --growth-page-gutter:40px;
}
body.page-growth-weight-concerns *{box-sizing:border-box}
body.page-growth-weight-concerns{margin:0;line-height:1.45;}
body.page-growth-weight-concerns .page-pad{
  width:calc(100% - (2 * var(--growth-page-gutter)));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
body.page-growth-weight-concerns .detailed-icon-bubble{
  overflow:hidden;
}
body.page-growth-weight-concerns .icon-bubble.detailed-icon-bubble img{
  width:100%;
  height:100%;
  transform:scale(1.48);
}
body.page-growth-weight-concerns .hero{display:grid;grid-template-columns:360px 1fr;gap:34px;padding:18px 5px 0;align-items:start}body.page-growth-weight-concerns .hero-copy{padding-left:15px}body.page-growth-weight-concerns .hero h1{margin:12px 0 12px;}body.page-growth-weight-concerns .coral-line{width:39px;height:2px;background:var(--coral);margin:0 0 13px}body.page-growth-weight-concerns .hero p{max-width:295px;margin:0 0 20px;font-size:14px;line-height:1.45}body.page-growth-weight-concerns .button{display:inline-block;background:var(--coral);color:#fff;text-decoration:none;border-radius:22px;padding:11px 22px;font-size:12px;font-weight:900;letter-spacing:.6px}body.page-growth-weight-concerns .hero-image{height:293px;border-radius:82px 16px 14px 82px;overflow:hidden}body.page-growth-weight-concerns .hero-image img{width:100%;height:100%;object-fit:cover;display:block}
body.page-growth-weight-concerns h2{text-align:center;margin:0}body.page-growth-weight-concerns .self{padding:9px 20px 0}body.page-growth-weight-concerns .self h2{margin-bottom:12px}body.page-growth-weight-concerns .cards{display:grid;gap:18px}body.page-growth-weight-concerns .cards.four{grid-template-columns:repeat(4,1fr)}body.page-growth-weight-concerns .card{border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 9px 18px rgba(19,61,71,.045);min-height:178px;padding:20px 15px}body.page-growth-weight-concerns .centered{text-align:center}body.page-growth-weight-concerns .icon-bubble{width:58px;height:58px;border-radius:50%;background:#eef3f3;display:inline-flex;align-items:center;justify-content:center;margin-bottom:11px}body.page-growth-weight-concerns .icon-bubble img{width:35px;height:35px}body.page-growth-weight-concerns .card h3{margin:0 0 9px}body.page-growth-weight-concerns .card p{font-size:12px;line-height:1.35;margin:0;font-weight:700;color:#223}
body.page-growth-weight-concerns .statement{margin-top:18px;background:transparent;border-radius:0;box-shadow:none;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:18px 0}body.page-growth-weight-concerns .statement p{color:var(--site-heading);text-align:center;font-size:19px;line-height:1.25;margin:0}body.page-growth-weight-concerns .expect{padding:31px 5px 0}body.page-growth-weight-concerns .expect h2{margin-bottom:14px}body.page-growth-weight-concerns .expect-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}body.page-growth-weight-concerns .expect-col{border:1px solid var(--line);border-radius:11px;padding:12px 24px 17px 27px;min-height:355px}body.page-growth-weight-concerns .expect-col h3{text-align:center;margin:0 0 17px}body.page-growth-weight-concerns .expect-col ul{padding-left:18px;margin:0}body.page-growth-weight-concerns .expect-col li{font-size:14.5px;line-height:1.28;margin:0 0 12px;padding-left:13px}body.page-growth-weight-concerns .expect-col li::marker{color:#004b51;font-size:13px}body.page-growth-weight-concerns .cta{margin-top:17px;display:grid;grid-template-columns:448px 1fr;min-height:196px;border-radius:24px;overflow:hidden;background:linear-gradient(100deg,#0e8c98,#189aa2);}body.page-growth-weight-concerns .cta-photo img{width:100%;height:100%;object-fit:cover;display:block}body.page-growth-weight-concerns .cta-copy{position:relative;color:#fff;text-align:center;padding:18px 150px 18px 35px}body.page-growth-weight-concerns .cta-copy h2{margin:0 0 3px}body.page-growth-weight-concerns .gold-ornament{font-size:24px;color:#e9c66c;line-height:1;margin:0 0 11px}body.page-growth-weight-concerns .cta-copy p{font-size:13px;line-height:1.5;margin:0 auto 14px;max-width:342px}body.page-growth-weight-concerns .button.light{background:#fff;color:var(--coral);padding:10px 28px}body.page-growth-weight-concerns .branch{position:absolute;right:23px;bottom:13px;width:113px;height:113px;opacity:.98}body.page-growth-weight-concerns .note{padding:27px 0 0}body.page-growth-weight-concerns .note h2{margin-bottom:9px}body.page-growth-weight-concerns .note h2:after{content:"";display:block;width:38px;height:2px;background:var(--coral);margin:11px auto 0}body.page-growth-weight-concerns .note-box{border:1px solid var(--line);border-radius:10px;padding:16px 52px 18px;background:#fff}body.page-growth-weight-concerns .note-box p{font-size:15px;line-height:1.43;margin:0 0 19px}body.page-growth-weight-concerns .note-box p:last-child{margin-bottom:0}body.page-growth-weight-concerns .footer{display:flex;align-items:center;gap:16px;min-height:63px;padding:10px 5px 8px}body.page-growth-weight-concerns .footer-logo img{width:91px;display:block}body.page-growth-weight-concerns .footer p{color:#00798b;font-size:12px;margin:0 auto 0 0}body.page-growth-weight-concerns .footer nav{display:flex;gap:31px;align-items:center}body.page-growth-weight-concerns .footer a{color:#00798b;text-decoration:none;font-weight:800;font-size:13px}body.page-growth-weight-concerns .footer .social{font-size:24px;line-height:1}
body.page-growth-weight-concerns .statement-followup{
  display:block;
  margin-top:12px;
}
body.page-growth-weight-concerns main .hero{
  grid-template-columns:360px minmax(0,680px);
  gap:24px;
  justify-content:start;
}
body.page-growth-weight-concerns main .hero-image{
  width:100%;
  max-width:680px;
  height:auto;
  aspect-ratio:478 / 289;
}

body.page-growth-weight-concerns main{
  padding-bottom:40px;
}
@media (max-width:760px){body.page-growth-weight-concerns{--growth-page-gutter:28px}body.page-growth-weight-concerns .hero{display:block}body.page-growth-weight-concerns .hero-copy{text-align:center;padding-left:0}body.page-growth-weight-concerns .hero p{margin-left:auto;margin-right:auto}body.page-growth-weight-concerns .coral-line{margin-left:auto;margin-right:auto}body.page-growth-weight-concerns .hero-image{margin-top:24px;border-radius:32px;height:auto}body.page-growth-weight-concerns .cards.four,
body.page-growth-weight-concerns .expect-grid,
body.page-growth-weight-concerns .cta{grid-template-columns:1fr}body.page-growth-weight-concerns .cta-copy{padding:24px}body.page-growth-weight-concerns .branch{display:none}body.page-growth-weight-concerns .statement{padding:20px}body.page-growth-weight-concerns .statement img{display:none}body.page-growth-weight-concerns .footer{display:block;text-align:center}body.page-growth-weight-concerns .footer p{margin:8px}body.page-growth-weight-concerns .footer nav{justify-content:center;flex-wrap:wrap;gap:16px}body.page-growth-weight-concerns .note-box{padding:18px}body.page-growth-weight-concerns .expect-col{min-height:0}}


/* eating-disorders */
body.page-eating-disorders{
  --ink: #123d3e;
  --ink-dark: #082f31;
  --teal: #0f7f83;
  --teal-soft: #eaf4f2;
  --teal-deep: #2f8d91;
  --coral: #f35b3d;
  --coral-soft: #ffe7e0;
  --gold: #f2b24a;
  --gold-soft: #fff1d8;
  --paper: #fffefa;
  --wash: #f8fbf8;
  --line: #dfe9e5;
  --shadow: 0 18px 45px rgba(8, 47, 49, .09);
  --radius: 20px;
  --display: Georgia, 'Times New Roman', serif;
  --body: 'Trebuchet MS', Verdana, sans-serif;
}

body.page-eating-disorders *{ box-sizing: border-box; }

body.page-eating-disorders{ scroll-behavior: smooth; }

body.page-eating-disorders{
  margin: 0;
  
  
  
  
  
}

body.page-eating-disorders a{ color: inherit; text-decoration: none; }

body.page-eating-disorders img{ max-width: 100%; display: block; }

body.page-eating-disorders .button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--coral);
  color: #fff;
  box-shadow: 0 12px 24px rgba(243, 91, 61, .24);
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
}

body.page-eating-disorders .button{
  min-height: 44px;
  padding: 13px 27px;
  font-size: 13px;
}

body.page-eating-disorders .section-shell{
  width: min(1180px, calc(100% - 74px));
  margin-left: auto;
  margin-right: auto;
}

body.page-eating-disorders .hero{
  display: block;
  padding: 36px 0 16px;
}

body.page-eating-disorders .hero-copy{
  width: 100%;
}

body.page-eating-disorders .hero-copy h1{
  
  margin: 0 0 15px;
}

body.page-eating-disorders .hero-copy p{
  max-width: none;
  color: #223f40;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 23px;
}

body.page-eating-disorders .short-rule{
  width: 55px;
  height: 2px;
  background: var(--coral);
  margin: 0 0 17px;
}

body.page-eating-disorders .short-rule.centered{ margin: 6px auto 22px; }

body.page-eating-disorders .hero-image-wrap{
  position: relative;
  border-radius: 72px 22px 72px 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

body.page-eating-disorders .hero-image{
  width: 100%;
  min-height: 380px;
  object-fit: cover;
}

body.page-eating-disorders .intro-cards{ padding: 12px 0 4px; }

body.page-eating-disorders section h2{
  
  margin: 0 0 20px;
  text-align: center;
}

body.page-eating-disorders .card-grid{
  display: grid;
  gap: 20px;
}

body.page-eating-disorders .concern-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-eating-disorders .card,
body.page-eating-disorders .mini-card,
body.page-eating-disorders .step-card{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 28px rgba(8, 47, 49, .045);
}

body.page-eating-disorders .centered-card{
  min-height: 236px;
  padding: 25px 24px 22px;
  text-align: center;
}

body.page-eating-disorders .centered-card img{
  width: 74px;
  margin: 0 auto 14px;
}
body.page-eating-disorders .centered-card img.body-image-icon{
  width: 106px;
  margin: -14px auto -4px;
}

body.page-eating-disorders .card h3,
body.page-eating-disorders .mini-card h3{
  
  
  
  
  margin: 0 0 10px;
  
}

body.page-eating-disorders .card p,
body.page-eating-disorders .mini-card p,
body.page-eating-disorders .step-card p{
  margin: 0;
  color: #263d3e;
  font-size: 14px;
  line-height: 1.52;
}

body.page-eating-disorders .support-strip{
  display:block;
  margin-top: 20px;
  margin-bottom: 12px;
  padding:23px 0;
  border-radius:0;
  background:none;
  box-shadow:none;
}

body.page-eating-disorders .ed-desktop-line{
  display:block;
  white-space:nowrap;
}

body.page-eating-disorders .support-strip p{
  margin: 0 auto;
  max-width: 850px;
  text-align: center;
  color: var(--ink-dark);
  
  font-size: clamp(1.22rem, 2vw, 1.7rem);
  line-height: 1.24;
  letter-spacing: .02em;
}

body.page-eating-disorders .support-strip img{ width: 74px; }

body.page-eating-disorders .expectations-section{ padding: 20px 0 18px; }

body.page-eating-disorders .accent-squiggle{
  color: var(--gold);
  font-weight: 800;
  letter-spacing: -3px;
  text-align: center;
  font-size: 24px;
  line-height: 1;
  margin: 3px 0 7px;
}

body.page-eating-disorders .accent-squiggle.light{ color: var(--gold-soft); opacity: .92; }

body.page-eating-disorders .help-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-eating-disorders .mini-card{
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 18px;
  align-items: center;
  padding: 20px 24px;
  min-height: 150px;
}

body.page-eating-disorders .mini-card img{ width: 78px; }
body.page-eating-disorders .mini-card.no-icon{ grid-template-columns:1fr; }
body.page-eating-disorders .wide-mini-card{ grid-column: 1 / -1; }

body.page-eating-disorders .cta-band{
  min-height: 0;
  aspect-ratio: 2.8 / 1;
  margin-top: 10px;
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(120deg, #3f9899, #0f7f83);
  box-shadow: var(--shadow);
}

body.page-eating-disorders .cta-photo-panel{
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg,#e1ddd4 0%,#ebe8e1 50%,#e3e3db 100%) left / 50.1% 100% no-repeat,
    linear-gradient(180deg,#f7f6f1 0%,#fdfdfb 50%,#fefefe 100%) right / 50.1% 100% no-repeat;
}

body.page-eating-disorders .cta-photo-panel::before{
  content:none;
}

body.page-eating-disorders .cta-photo-panel::after{
  content:none;
}

body.page-eating-disorders .cta-photo-panel img{
  position:static;
  width:auto;
  max-width:none;
  height:100%;
  display:block;
  margin:0 auto;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
  opacity:1;
}

body.page-eating-disorders .soft-orb{
  position: absolute;
  border-radius: 50%;
  z-index: 1;
}

body.page-eating-disorders .orb-one{
  width: 148px;
  height: 148px;
  left: 58px;
  top: 42px;
  background: rgba(243, 91, 61, .16);
}

body.page-eating-disorders .orb-two{
  width: 116px;
  height: 116px;
  left: 210px;
  top: 76px;
  background: rgba(15, 127, 131, .18);
}

body.page-eating-disorders .cta-copy{
  position: relative;
  padding: 44px 70px 42px 44px;
  color: white;
}

body.page-eating-disorders .cta-copy::after{
  content: "";
  position: absolute;
  right: 28px;
  bottom: 22px;
  width: 132px;
  height: 132px;
  border: 2px solid rgba(255,255,255,.2);
  border-radius: 50%;
}

body.page-eating-disorders .cta-copy h2{
  
  margin: 0;
  
  text-align: left;
}

body.page-eating-disorders .cta-copy .accent-squiggle{ text-align: left; margin: 10px 0 12px; }
body.page-eating-disorders .cta-copy p{ max-width: 520px; margin: 0 0 22px; color: rgba(255,255,255,.9); }
body.page-eating-disorders .button-light{ background: white; color: var(--coral); box-shadow: 0 12px 24px rgba(8, 47, 49, .16); }

body.page-eating-disorders .sessions-section{ padding-bottom: 14px; }

body.page-eating-disorders .step-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.page-eating-disorders .step-card{
  position: relative;
  padding: 24px 24px 26px;
  min-height: 270px;
}

body.page-eating-disorders .step-card img{ width: 62px; margin: 0 auto 15px; }

body.page-eating-disorders .step-number{
  position: absolute;
  top: 16px;
  left: 16px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--teal);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
}

body.page-eating-disorders .site-footer{
  width: min(1180px, calc(100% - 74px));
  margin: 0 auto;
  padding: 22px 0 18px;
  display: grid;
  grid-template-columns: 1.2fr auto auto;
  gap: 28px;
  align-items: center;
  color: var(--teal);
}

body.page-eating-disorders .footer-brand{
  display: flex;
  align-items: center;
  gap: 18px;
}

body.page-eating-disorders .footer-brand img{ width: 86px; }
body.page-eating-disorders .footer-brand p{ margin: 0; font-size: 14px; color: var(--teal); }
body.page-eating-disorders .site-footer nav{ display: flex; gap: 36px; font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body.page-eating-disorders .socials{ display: flex; gap: 14px; align-items: center; font-size: 31px; font-weight: 800; }

@media (max-width: 1000px) {
  body.page-eating-disorders .hero{ grid-template-columns: 1fr; gap: 24px; }
  body.page-eating-disorders .concern-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-eating-disorders .cta-band{ grid-template-columns: 1fr; aspect-ratio: auto; }
  body.page-eating-disorders .cta-photo-panel{ min-height: 190px; }
  body.page-eating-disorders .cta-photo-panel img{ height: 320px; transform:none; }
}

@media (max-width: 760px) {
  body.page-eating-disorders .ed-desktop-line{ display:inline; white-space:normal; }
  body.page-eating-disorders .concern-grid .out-of-control-card{ order:8; }
  body.page-eating-disorders .concern-grid .logistics-card{ order:9; }
  body.page-eating-disorders .section-shell,
body.page-eating-disorders .site-footer{ width: min(100% - 34px, 1180px); padding-left: 0; padding-right: 0; }
  body.page-eating-disorders .concern-grid,
body.page-eating-disorders .help-grid,
body.page-eating-disorders .step-grid{ grid-template-columns: 1fr; }
  body.page-eating-disorders .mini-card,
body.page-eating-disorders .support-strip{ grid-template-columns: 1fr; text-align: center; }
  body.page-eating-disorders .mini-card img,
body.page-eating-disorders .support-strip img{ margin: 0 auto; }
  body.page-eating-disorders .wide-mini-card{ grid-column: auto; }
  body.page-eating-disorders .cta-copy{ padding: 36px 26px; }
  body.page-eating-disorders .site-footer{ grid-template-columns: 1fr; }
  body.page-eating-disorders .site-footer nav{ flex-wrap: wrap; gap: 18px; }
}


/* family-nutrition */
body.page-family-nutrition{
  --ink:#073f44;
  --ink2:#082f35;
  --teal:#16868c;
  --deep-teal:#05717b;
  --soft-teal:#eaf3f2;
  --sage:#dfe9e5;
  --coral:#f5553e;
  --soft-coral:#ffdcd5;
  --gold:#f4b75e;
  --soft-gold:#fff0d2;
  --paper:#fffdfb;
  --line:#e7eeee;
  --shadow:0 14px 40px rgba(9,55,61,.06);
  --radius:22px;
}
body.page-family-nutrition *{box-sizing:border-box}
body.page-family-nutrition{margin:0;color:var(--ink2);line-height:1.45;letter-spacing:.01em}
body.page-family-nutrition:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 18% 8%,rgba(206,230,225,.22),transparent 24%),radial-gradient(circle at 85% 52%,rgba(248,230,196,.18),transparent 22%),linear-gradient(180deg,#fff 0%,#fffdf9 100%)}
body.page-family-nutrition h1,
body.page-family-nutrition h2,
body.page-family-nutrition h3{margin:0}
body.page-family-nutrition p{margin:0}body.page-family-nutrition .footer-nav a{color:#052f37;text-decoration:none}
body.page-family-nutrition .section-pad{max-width:1360px;margin:0 auto;padding-left:65px;padding-right:65px}body.page-family-nutrition .section-pad-small{max-width:1280px;margin:0 auto}body.page-family-nutrition .hero{display:grid;grid-template-columns:410px minmax(0,1fr);gap:87px;align-items:start;padding-top:6px}body.page-family-nutrition .hero h1{margin-top:22px}body.page-family-nutrition .short-line{width:64px;height:2px;background:var(--coral);margin:30px 0 23px}body.page-family-nutrition .hero p{font-size:18px;line-height:1.74;max-width:410px;margin-bottom:29px}body.page-family-nutrition .button{display:inline-block;text-transform:uppercase;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.04em;border-radius:32px}body.page-family-nutrition .button-coral{background:var(--coral);color:#fff;padding:14px 29px}body.page-family-nutrition .button-light{background:#fff;color:var(--coral);padding:13px 32px}body.page-family-nutrition .hero-image-wrap{margin:0;height:446px;border-radius:34px;overflow:hidden}body.page-family-nutrition .hero-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 42%}
body.page-family-nutrition section h2{text-align:center;}body.page-family-nutrition .familiar{padding-top:30px}body.page-family-nutrition .familiar h2{margin-bottom:22px}body.page-family-nutrition .cards{display:grid;gap:12px}body.page-family-nutrition .six-cards{grid-template-columns:repeat(6,1fr)}body.page-family-nutrition .four-cards{grid-template-columns:repeat(4,1fr)}body.page-family-nutrition .card,
body.page-family-nutrition .mini-card,
body.page-family-nutrition .step-card,
body.page-family-nutrition .family-meals{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}body.page-family-nutrition .vertical-card{min-height:260px;text-align:center;padding:31px 18px 22px}body.page-family-nutrition .circle{width:82px;height:82px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:19px}body.page-family-nutrition .circle img{width:48px;height:48px}body.page-family-nutrition .circle.pale{background:#eef3f3}body.page-family-nutrition .circle.coral{background:#ffd9d3}body.page-family-nutrition .circle.sage{background:#dfe9e5}body.page-family-nutrition .circle.gold{background:#fde4af}body.page-family-nutrition .vertical-card h3{margin-bottom:13px}body.page-family-nutrition .vertical-card p{font-size:16px;line-height:1.56}body.page-family-nutrition .statement{margin-top:18px;background:linear-gradient(90deg,#f4f8f8,#eef5f4);border-radius:15px;min-height:96px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #edf2f2}body.page-family-nutrition .statement p{text-align:center;font-size:25px;line-height:1.38;color:var(--ink)}body.page-family-nutrition .statement img{position:absolute;right:35px;top:24px;width:58px;height:58px}body.page-family-nutrition .expect{padding-top:17px}body.page-family-nutrition .ornament{text-align:center;color:var(--coral);font-size:22px;line-height:1;margin:3px 0 15px;letter-spacing:-3px}body.page-family-nutrition .expect-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}body.page-family-nutrition .mini-card{min-height:288px;padding:29px 19px 22px;text-align:center}body.page-family-nutrition .mini-card .circle{width:80px;height:80px;margin:0 auto 12px}body.page-family-nutrition .mini-card h3{margin-bottom:12px}body.page-family-nutrition .mini-card p{font-size:14.7px;line-height:1.45}body.page-family-nutrition .cta-band{margin-top:24px;display:grid;grid-template-columns:1fr 1.36fr;min-height:292px;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#1f8e91 0%,#0a7078 100%);border:1px solid #0a6e75;box-shadow:var(--shadow);padding-left:0;padding-right:0;max-width:1280px}body.page-family-nutrition .cta-band figure{margin:0;min-height:292px}body.page-family-nutrition .cta-band figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;image-rendering:-webkit-optimize-contrast}body.page-family-nutrition .cta-content{position:relative;color:#fff;padding:29px 56px 20px 78px}body.page-family-nutrition .cta-content h2{text-align:left;}body.page-family-nutrition .gold-line{width:192px;height:18px;border-top:3px solid #eebd63;border-bottom:0;margin:17px 0 20px;position:relative}body.page-family-nutrition .gold-line:after{content:"<<<";position:absolute;top:-15px;left:74px;color:#eebd63;letter-spacing:-4px;font-size:20px}body.page-family-nutrition .cta-content p{font-size:17px;line-height:1.62;max-width:572px;margin-bottom:24px}body.page-family-nutrition .branch{position:absolute;right:56px;top:76px;width:160px;height:160px;filter:brightness(0) invert(87%) sepia(26%) saturate(605%) hue-rotate(345deg) brightness(104%) contrast(89%);opacity:.85}body.page-family-nutrition .sessions{padding-top:17px}body.page-family-nutrition .sessions h2{margin-bottom:18px}body.page-family-nutrition .step-card{position:relative;min-height:172px;padding:31px 24px 20px 79px}body.page-family-nutrition .step-card .num{position:absolute;top:22px;left:24px;background:#006066;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}body.page-family-nutrition .step-card img{position:absolute;left:24px;bottom:32px;width:52px;height:52px}body.page-family-nutrition .step-card h3{margin-bottom:9px}body.page-family-nutrition .step-card p{font-size:14.6px;line-height:1.35}body.page-family-nutrition .family-meals{margin-top:25px;margin-bottom:28px;min-height:146px;background:linear-gradient(90deg,#eef6f5,#f8fbfa);display:grid;grid-template-columns:230px 1fr;align-items:center;padding:17px 52px 17px 88px;max-width:1280px}body.page-family-nutrition .family-meals>img{width:120px;height:120px}body.page-family-nutrition .family-meals h2{text-align:left;margin-bottom:10px}body.page-family-nutrition .family-meals p{font-size:16px;line-height:1.35;max-width:840px}body.page-family-nutrition .site-footer{height:99px;max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 58px 14px 57px}body.page-family-nutrition .footer-left{display:flex;align-items:center;gap:39px}body.page-family-nutrition .footer-left img{width:154px}body.page-family-nutrition .footer-left p{color:#047582;font-size:15px;font-weight:700;line-height:1.3}body.page-family-nutrition .footer-nav{display:flex;gap:78px;text-transform:uppercase;font-size:14px;font-weight:800;color:#047582}body.page-family-nutrition .social{display:flex;gap:26px;color:#087d85;font-size:34px;align-items:center}
@media(max-width:1000px){body.page-family-nutrition .section-pad{padding-left:24px;padding-right:24px}body.page-family-nutrition .hero{grid-template-columns:1fr;gap:24px}body.page-family-nutrition .hero-image-wrap{height:280px}body.page-family-nutrition .six-cards,
body.page-family-nutrition .expect-grid{grid-template-columns:repeat(2,1fr)}body.page-family-nutrition .four-cards{grid-template-columns:1fr}body.page-family-nutrition .cta-band{grid-template-columns:1fr}body.page-family-nutrition .family-meals{grid-template-columns:1fr;padding:24px;text-align:center}body.page-family-nutrition .family-meals h2{text-align:center}body.page-family-nutrition .site-footer{height:auto;padding:24px;flex-direction:column;gap:20px}body.page-family-nutrition .footer-nav{gap:24px}body.page-family-nutrition .footer-left{flex-direction:column;gap:8px;text-align:center}}
@media(max-width:640px){body.page-family-nutrition .six-cards,
body.page-family-nutrition .expect-grid{grid-template-columns:1fr}body.page-family-nutrition .statement p{font-size:20px;padding:0 70px 0 20px}body.page-family-nutrition .cta-content{padding:28px}body.page-family-nutrition .branch{opacity:.25;right:20px}}

@media(max-width:640px){body.page-family-nutrition .family-mobile-keep{white-space:nowrap}}

@media(min-width:1001px){body.page-family-nutrition .family-desktop-keep{white-space:nowrap}}


body.page-family-nutrition .statement{
  background: none;
  border: 0;
  border-radius: 0;
}

body.page-family-nutrition .expect-grid .mini-card .circle{
  display:flex;
  margin-right:auto;
  margin-left:auto;
}

body.page-family-nutrition .family-real-life{
  white-space:nowrap;
}

body.page-family-nutrition .family-meals{
  grid-template-columns:125px 1fr;
}

@media(max-width:1000px){
  body.page-family-nutrition .family-meals{
    grid-template-columns:1fr;
  }

  body.page-family-nutrition .family-meals > img{
    display:none;
  }
}

@media(max-width:640px){
  body.page-family-nutrition .family-meals{
    margin-left:24px;
    margin-right:24px;
    padding-left:40px;
    padding-right:40px;
  }
}

body.page-family-nutrition .help-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

body.page-family-nutrition .help-card{
  min-height:182px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding:25px 28px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow);
}

body.page-family-nutrition .help-marker{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#07545b;
}

body.page-family-nutrition .help-marker::after{
  width:23px;
  height:23px;
  border-radius:50%;
  background:#fff;
  content:"";
}

body.page-family-nutrition .help-card p{
  margin:0;
  font-size:15px;
  line-height:1.55;
}

@media(max-width:850px){
  body.page-family-nutrition .help-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  body.page-family-nutrition .statement p{padding:0 20px}

  body.page-family-nutrition .help-card{
    grid-template-columns:26px minmax(0,1fr);
    gap:10px;
  }

  body.page-family-nutrition .help-marker{
    width:24px;
    height:24px;
  }

  body.page-family-nutrition .help-marker::after{
    width:10px;
    height:10px;
  }
}

/* parent-support */
body.page-parent-support{
  --ink:#0b3d47;
  --teal:#1599a1;
  --teal-dark:#0f7f88;
  --coral:#f0523c;
  --gold:#f2bd5c;
  --cream:#f8f5ef;
  --line:#e5ebe8;
  --soft:#f1f6f4;
}
body.page-parent-support *{box-sizing:border-box} body.page-parent-support{margin:0;}
body.page-parent-support a{color:inherit;text-decoration:none}body.page-parent-support .page{width:min(1040px,100%);margin:0 auto;padding:20px 45px 0}body.page-parent-support .logo-mark{width:86px;height:auto}body.page-parent-support .brand-text{letter-spacing:.08em;color:#16879c;font-weight:700;line-height:.9;font-size:15px;padding-top:7px}body.page-parent-support .brand-text strong{display:block;color:var(--coral);font-size:34px;letter-spacing:.13em}
body.page-parent-support .hero{display:grid;grid-template-columns:390px 1fr;gap:35px;align-items:start}body.page-parent-support .eyebrow{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.14em;margin:0 0 22px}body.page-parent-support .hero h1{margin:0 0 18px;}body.page-parent-support .redline{width:48px;height:2px;background:var(--coral);margin:0 0 18px}body.page-parent-support .hero h2{margin:0 0 14px;}body.page-parent-support .hero p:not(.eyebrow){font-size:15px;line-height:1.65;font-weight:700;max-width:360px}body.page-parent-support .hero-image{margin:0}body.page-parent-support .hero-image img{display:block;width:100%;height:354px;object-fit:cover;border-radius:78px 8px 78px 8px}body.page-parent-support .quote-card{position:relative;margin:30px 0 26px;border:0;border-radius:0;background:none;box-shadow:none;padding:29px 0 28px;text-align:center}body.page-parent-support .quote-card p{font-size:25px;line-height:1.55;letter-spacing:.03em;margin:0}body.page-parent-support .quote-icon{position:absolute;width:32px;left:53px;top:95px}body.page-parent-support .intro-pill{width:760px;max-width:80%;margin:0 auto 28px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 45px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.04)}body.page-parent-support .intro-pill p{font-size:14px;font-weight:800;line-height:1.55;margin:0}body.page-parent-support .includes{text-align:center;margin-top:0}body.page-parent-support .includes h2,
body.page-parent-support .includes .quote-intro{margin:18px auto 20px;font-size:16px;line-height:1.55;font-weight:400;letter-spacing:0}
body.page-parent-support .hero{display:grid;grid-template-columns:390px 1fr;gap:35px;align-items:start}body.page-parent-support .eyebrow{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.14em;margin:0 0 22px}body.page-parent-support .hero h1{margin:0 0 18px;}body.page-parent-support .redline{width:48px;height:2px;background:var(--coral);margin:0 0 18px}body.page-parent-support .hero h2{margin:0 0 14px;}body.page-parent-support .hero p:not(.eyebrow){font-size:15px;line-height:1.65;font-weight:700;max-width:360px}body.page-parent-support .hero-image{margin:0}body.page-parent-support .hero-image img{display:block;width:100%;height:354px;object-fit:cover;border-radius:78px 8px 78px 8px}body.page-parent-support .quote-card{position:relative;margin:30px 0 26px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 20px 45px rgba(0,0,0,.05);padding:29px 52px 28px 145px;text-align:center}body.page-parent-support .quote-card p{font-size:25px;line-height:1.55;letter-spacing:.03em;margin:0}body.page-parent-support .quote-icon{position:absolute;width:32px;left:53px;top:95px}body.page-parent-support .intro-pill{width:760px;max-width:80%;margin:0 auto 28px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 45px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.04)}body.page-parent-support .intro-pill p{font-size:14px;font-weight:800;line-height:1.55;margin:0}body.page-parent-support .includes{text-align:center;margin-top:0}body.page-parent-support .includes h2,
body.page-parent-support .how h2{margin:0;}body.page-parent-support .wave{width:48px;margin:14px auto 21px;display:block}body.page-parent-support .cards.five{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}body.page-parent-support .small-card{height:180px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.8);box-shadow:0 14px 28px rgba(0,0,0,.04);padding:32px 18px 18px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column}body.page-parent-support .small-card h3{margin:18px 0 0;}body.page-parent-support .icon-bubble,
body.page-parent-support .process-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:0 0 auto}body.page-parent-support .icon-bubble{width:54px;height:54px}body.page-parent-support .icon-bubble img{width:31px;height:31px}body.page-parent-support .gold{background:#fde4b1}body.page-parent-support .gray{background:#eff4f2}body.page-parent-support .coral{background:#ffd3c9}body.page-parent-support .how{margin-top:48px;text-align:center}body.page-parent-support .how .centered{margin:17px auto 10px}body.page-parent-support .process-card{margin-top:0;text-align:left;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 18px 35px rgba(0,0,0,.04);padding:20px 33px}body.page-parent-support .process-row{display:grid;grid-template-columns:150px 1fr;align-items:center;min-height:107px;border-bottom:1px solid #e8ecea}body.page-parent-support .process-row:last-child{border-bottom:0}body.page-parent-support .process-icon{width:62px;height:62px;justify-self:center}body.page-parent-support .process-icon img{width:33px;height:33px}body.page-parent-support .process-row p{font-size:14px;font-weight:400;line-height:1.55;margin:0}body.page-parent-support .cta-band{margin:45px 0 24px;display:grid;grid-template-columns:445px 1fr;border-radius:16px;overflow:hidden;background:linear-gradient(120deg,#178f98,#2ca1a6);height:200px}body.page-parent-support .cta-photo img{width:100%;height:100%;object-fit:cover;display:block}body.page-parent-support .cta-content{position:relative;color:#fff;padding:28px 54px}body.page-parent-support .cta-content h2{margin:0 0 16px}body.page-parent-support .cta-content p{font-weight:700;font-size:14px;margin:0 0 22px}body.page-parent-support .button{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.08em;border-radius:24px;padding:13px 26px}body.page-parent-support .button.white{background:#fff;color:var(--coral)}body.page-parent-support .branch{position:absolute;width:120px;right:30px;bottom:22px}body.page-parent-support .site-footer{width:min(1040px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:7px 35px 10px;color:#1590a3;font-size:12px;font-weight:700}body.page-parent-support .footer-brand{display:flex;align-items:center;gap:8px}body.page-parent-support .footer-brand img{width:40px}body.page-parent-support .footer-brand span{color:var(--coral);letter-spacing:.15em}body.page-parent-support .footer-brand em{font-style:normal}body.page-parent-support .site-footer nav{display:flex;gap:36px}body.page-parent-support .site-footer p{text-align:right;margin:0}
body.page-parent-support .quote-card{
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  margin-top:8px;
  margin-bottom:0;
  padding:8px 0 10px;
}

body.page-parent-support .quote-card .quote-lead{
  margin-bottom:18px;
}

body.page-parent-support .quote-card > p:not(.quote-intro){
  font-size:16px;
  text-align:left;
  margin-right:var(--page-template-gutter);
  margin-left:var(--page-template-gutter);
}

body.page-parent-support .small-card{
  position:relative;
  height:270px;
  justify-content:center;
  padding:82px 18px 18px;
}

body.page-parent-support .small-card .icon-bubble{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
}

body.page-parent-support .small-card h3{
  margin:0;
}

body.page-parent-support .small-card.health-support-card{
  justify-content:flex-start;
  padding-top:92px;
}

@media(min-width:851px){
  body.page-parent-support .cards.five{
    grid-auto-rows:270px;
    align-items:stretch;
  }

  body.page-parent-support .cards.five .small-card{
    height:100%;
  }
}

body.page-parent-support .small-card:nth-child(2) h3{
  transform:translateY(-18px);
}

body.page-parent-support .cta-band{
  height:280px;
}

body.page-parent-support .cta-photo{
  height:280px;
  overflow:hidden;
}

body.page-parent-support .cta-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 43% !important;
}

@media(max-width:850px){body.page-parent-support .page{padding:18px 22px}body.page-parent-support .hero{grid-template-columns:1fr}body.page-parent-support .hero-image img{height:280px}body.page-parent-support .quote-card{padding:26px 0}body.page-parent-support .quote-icon{position:static;margin-bottom:12px}body.page-parent-support .intro-pill{max-width:100%;width:100%}body.page-parent-support .cards.five{grid-template-columns:1fr 1fr}body.page-parent-support .process-row{grid-template-columns:70px 1fr}body.page-parent-support .cta-band{grid-template-columns:1fr;height:auto}body.page-parent-support .cta-photo{height:190px}body.page-parent-support .site-footer{grid-template-columns:1fr;gap:12px;text-align:center}body.page-parent-support .site-footer p{text-align:center}}


/* pricing-insurance */
body.page-pricing-insurance{
  --bg: #fcfdfb;
  --text: #2f3b3d;
  --teal: #0f5b66;
  --teal-soft: #84cfc7;
  --teal-lighter: #edf7f5;
  --coral: #f5724f;
  --coral-dark: #ea6b49;
  --gold: #e8bd53;
  --yellow-soft: #f6e8a4;
  --pink-soft: #f9ddda;
  --border: #dfe7e4;
  --shadow: 0 10px 28px rgba(12, 56, 63, 0.05);
  --radius-xl: 32px;
  --radius-lg: 26px;
  --radius-md: 20px;
}

body.page-pricing-insurance *{ box-sizing: border-box; }
body.page-pricing-insurance,
body.page-pricing-insurance{ margin: 0; padding: 0;   }
body.page-pricing-insurance a{ color: inherit; text-decoration: none; }
body.page-pricing-insurance img{ display: block; max-width: 100%; }

body.page-pricing-insurance .page-shell{
  width: min(1122px, 100%);
  margin: 0 auto;
  padding: 26px 28px 34px;
}
body.page-pricing-insurance .primary-btn,
body.page-pricing-insurance .footer-cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #ff8a62 0%, var(--coral) 100%);
  color: #fff;
  border-radius: 999px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .03em;
  box-shadow: var(--shadow);
}

body.page-pricing-insurance .hero{
  display: grid;
  grid-template-columns: .98fr 1.26fr;
  gap: 32px;
  align-items: center;
  margin: 6px 0 46px;
}
body.page-pricing-insurance .hero-copy h1,
body.page-pricing-insurance .section h2,
body.page-pricing-insurance .band-content h2,
body.page-pricing-insurance .footer-cta-title{
  
  
  margin: 0;
  
}
body.page-pricing-insurance .title-line{
  width: 66px;
  height: 4px;
  background: var(--coral);
  border-radius: 999px;
  margin: 24px 0 28px;
}
body.page-pricing-insurance .hero-copy p{
  max-width: 430px;
  font-size: 25px;
  line-height: 1.58;
  margin: 0 0 32px;
}
body.page-pricing-insurance .primary-btn{
  height: 54px;
  min-width: 247px;
  padding: 0 28px;
  font-size: 15px;
}
body.page-pricing-insurance .hero-media{
  justify-self: end;
  width: 100%;
  transform: translateX(-18px);
}
body.page-pricing-insurance .hero-media img{
  width: 100%;
  aspect-ratio: 589/301;
  object-fit: cover;
  border-radius: 40px;
}

body.page-pricing-insurance .section{
  margin-top: 34px;
}
body.page-pricing-insurance .section h2{
  text-align: center;
  
  
  margin-bottom: 6px;
}
body.page-pricing-insurance .section-accent{
  text-align: center;
  color: var(--gold);
  
  font-size: 34px;
  line-height: 1;
  margin-bottom: 12px;
}
body.page-pricing-insurance .section-intro{
  text-align: center;
  font-size: 22px;
  line-height: 1.5;
  margin: 0 0 28px;
}
body.page-pricing-insurance .card-grid{
  display: grid;
  gap: 24px;
}
body.page-pricing-insurance .pricing-grid{
  grid-template-columns: repeat(3, 1fr);
}
body.page-pricing-insurance .insurance-grid{
  grid-template-columns: repeat(2, 1fr);
}
body.page-pricing-insurance .info-card{
  background: #fff;
  border: 1.6px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 3px 10px rgba(12, 56, 63, 0.03);
}
body.page-pricing-insurance .pricing-card{
  min-height: 332px;
  padding: 32px 20px 28px;
  text-align: center;
}
body.page-pricing-insurance .icon{ width: 84px; height: 84px; margin: 0 auto 18px; }
body.page-pricing-insurance .child-attendance-icon{ width: 68px; height: 68px; }
body.page-pricing-insurance .info-card h3{
  
  
  
  
  margin: 0 0 16px;
}
body.page-pricing-insurance .sub-label{
  color: #7f8d8d;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .06em;
  margin-bottom: 10px;
}
body.page-pricing-insurance .mini-line{
  width: 28px;
  height: 3px;
  margin: 0 auto 14px;
  background: #eadfb2;
  border-radius: 999px;
}
body.page-pricing-insurance .price{
  color: #829598;
  
  font-size: 34px;
  font-weight: 600;
}

body.page-pricing-insurance .band{
  display: grid;
  grid-template-columns: 130px 1fr 82px;
  align-items: center;
  gap: 18px;
  border: 1.6px solid var(--border);
  background: linear-gradient(180deg, #f8fbfa 0%, #f5faf8 100%);
  border-radius: 22px;
  padding: 26px 28px;
  margin: 28px 0 24px;
}
body.page-pricing-insurance .band-deco.left{ width: 104px; }
body.page-pricing-insurance .band-deco.right{ width: 40px; justify-self: end; }
body.page-pricing-insurance .reduced-fee-band{
  grid-template-columns: 1fr;
  border: 0;
  border-radius: 0;
  background: none;
  margin-bottom: 8px;
  padding-right: var(--page-template-gutter);
  padding-bottom: 10px;
  padding-left: var(--page-template-gutter);
}
body.page-pricing-insurance .reduced-fee-band .band-content p{
  text-align: left;
}
body.page-pricing-insurance .pricing-section,
body.page-pricing-insurance .insurance-section{
  padding-right: var(--page-template-gutter);
  padding-left: var(--page-template-gutter);
}
body.page-pricing-insurance .band-content h2{
  text-align: center;
  
  
  margin-bottom: 10px;
}
body.page-pricing-insurance .band-content p{
  margin: 0;
  text-align: center;
  font-size: 20px;
  line-height: 1.6;
}

body.page-pricing-insurance .insurance-card{
  min-height: 148px;
  padding: 22px 28px;
}
body.page-pricing-insurance .horizontal{
  display: grid;
  grid-template-columns: 92px 1fr;
  align-items: center;
  gap: 8px 12px;
}
body.page-pricing-insurance .horizontal .icon{ margin: 0 auto; }
body.page-pricing-insurance .horizontal h3{
  margin-bottom: 6px;
  
}
body.page-pricing-insurance .horizontal p{
  margin: 0;
  font-size: 18px;
  line-height: 1.48;
}

body.page-pricing-insurance .footer-cta{
  margin-top: 54px;
  margin-right: var(--page-template-gutter);
  margin-left: var(--page-template-gutter);
  background: linear-gradient(135deg, #1f8e91 0%, #0a7078 100%);
  border-radius: 24px;
  min-height: 160px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 32px;
  padding: 28px 48px;
}
body.page-pricing-insurance .footer-cta-title{
  color: #f8f1df;
  font-size: 42px;
  line-height: 1;
}
body.page-pricing-insurance .footer-cta-copy{
  color: rgba(255,255,255,0.92);
  text-align: center;
  font-size: 17px;
  line-height: 1.4;
}
body.page-pricing-insurance .footer-cta-btn{
  background: #fff8f4;
  color: var(--coral);
  justify-self: center;
  min-width: 246px;
  height: 54px;
  font-size: 14px;
}

@media (max-width: 980px) {
  body.page-pricing-insurance .page-shell{ padding: 18px; }
  body.page-pricing-insurance .hero{ grid-template-columns: 1fr; }
  body.page-pricing-insurance .hero-media{ transform: none; }
  body.page-pricing-insurance .hero-copy p{ font-size: 20px; }
  body.page-pricing-insurance .hero-copy .primary-btn{
    display: flex;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
  body.page-pricing-insurance .pricing-grid,
body.page-pricing-insurance .insurance-grid{ grid-template-columns: 1fr; }
  body.page-pricing-insurance .band{ grid-template-columns: 1fr; }
  body.page-pricing-insurance .band-deco.left,
body.page-pricing-insurance .band-deco.right{ justify-self: center; }
  body.page-pricing-insurance .footer-cta{ grid-template-columns: 1fr; padding: 26px; border-radius: 32px; text-align: center; }
  body.page-pricing-insurance .footer-cta-btn{ justify-self: center; }
  body.page-pricing-insurance .footer-cta-title,
body.page-pricing-insurance .footer-cta-copy{ text-align: center; }
}


/* faq */
body.page-faq{
  --bg: #fbfaf8;
  --paper: #ffffff;
  --ink: #174b53;
  --body: #223535;
  --muted: #5a6467;
  --line: #e7e7e4;
  --teal: #2d7d86;
  --teal-light: #c9e6e8;
  --coral: #f46e52;
  --coral-dark: #f05f42;
  --leaf: #f1d4b8;
  --shadow: 0 0 0 1px rgba(17, 24, 39, 0.03), 0 10px 30px rgba(17, 24, 39, 0.04);
}

body.page-faq *{ box-sizing: border-box; }
body.page-faq,
body.page-faq{ margin: 0; padding: 0; }

body.page-faq a{ color: var(--teal); text-decoration: none; }
body.page-faq a:hover{ text-decoration: underline; }
body.page-faq img{ max-width: 100%; display: block; }

body.page-faq .page-shell{
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px 46px 22px;
}

body.page-faq .hero{
  margin-top: 6px;
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(400px, 1.15fr);
  gap: 52px;
  align-items: start;
}
body.page-faq .hero-copy{
  padding-top: 24px;
}
body.page-faq .hero-copy h1{
  
  
  margin: 0 0 18px;
  
  
}
body.page-faq .accent-line{
  width: 66px;
  height: 4px;
  background: var(--coral);
  border-radius: 8px;
  margin: 0 0 28px;
}
body.page-faq .hero-copy p{
  margin: 0 0 28px;
  max-width: 430px;
  font-size: 17px;
  line-height: 1.7;
  color: #2b3a3b;
}
body.page-faq .hero-media img{
  width: 100%;
  aspect-ratio: 1.62 / 1;
  object-fit: cover;
  border-radius: 38px;
}
body.page-faq .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff7c5f 0%, var(--coral) 100%);
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 18px rgba(244, 110, 82, 0.15);
}
body.page-faq .btn:hover{ text-decoration: none; filter: brightness(0.98); }
body.page-faq .btn-small{
  min-height: 48px;
  padding: 12px 22px;
  font-size: 18px;
}

body.page-faq .faq-list{
  margin-top: 40px;
  display: grid;
  gap: 16px;
}
body.page-faq .faq-card{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: start;
  padding: 24px 28px 24px 36px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
body.page-faq .faq-card-lg{ padding-bottom: 30px; }
body.page-faq .faq-body h2{



  margin: 0 0 10px;
}
body.page-faq .faq-body p{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.7;
  color: #223538;
}
body.page-faq .faq-body p:last-child{ margin-bottom: 0; }
body.page-faq .faq-icon{
  width: 40px;
  margin-top: 8px;
}

body.page-faq .cta-panel{
  position: relative;
  margin-top: 18px;
  background: linear-gradient(90deg, #cdebec 0%, #c3e3e5 55%, #c7e7e7 100%);
  border-radius: 28px;
  padding: 30px 24px 28px;
  text-align: center;
  overflow: hidden;
}
body.page-faq .cta-panel h2{
  margin: 0;
  
  
  
}
body.page-faq .accent-line-center{
  margin: 10px auto 14px;
  width: 52px;
  height: 3px;
}
body.page-faq .cta-panel p{
  margin: 0 0 22px;
  font-size: 16px;
  color: #2d3a3d;
}
body.page-faq .cta-leaf{
  position: absolute;
  bottom: 18px;
  width: 112px;
  opacity: 1;
}
body.page-faq .cta-leaf-left{ left: 26px; }
body.page-faq .cta-leaf-right{ right: 26px; }

body.page-faq .site-footer{
  display: grid;
  grid-template-columns: 1.4fr 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 18px 4px 6px;
}
body.page-faq .footer-left{
  display: flex;
  align-items: center;
  gap: 14px;
}
body.page-faq .footer-left img{ width: 58px; }
body.page-faq .footer-left p{
  margin: 0;
  color: #31a3b0;
  font-size: 16px;
  font-weight: 700;
}
body.page-faq .footer-nav{
  display: flex;
  justify-content: center;
  gap: 32px;
}
body.page-faq .footer-nav a,
body.page-faq .footer-social a{
  color: #2a8b96;
  font-size: 16px;
  font-weight: 800;
}
body.page-faq .footer-social{
  display: flex;
  gap: 16px;
}
body.page-faq .footer-social img{ width: 28px; height: 28px; }

@media (max-width: 1080px) {
  body.page-faq .page-shell{ padding: 20px; }
  body.page-faq .hero{ grid-template-columns: 1fr; gap: 24px; }
  body.page-faq .site-footer{
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  body.page-faq .footer-left{ flex-direction: column; }
}

@media (max-width: 700px) {
  body.page-faq .faq-card{ grid-template-columns: 1fr; padding: 22px; }
  body.page-faq .faq-icon{ display: none; }
  body.page-faq .cta-leaf{ display: none; }
  body.page-faq .footer-nav{ flex-wrap: wrap; gap: 18px; }
}


/* contact */
body.page-contact{--teal:#073f40;--teal2:#0b737b;--coral:#f2543d;--cream:#fbfaf6;--mint:#edf7f6;--mint2:#eaf6f6;--peach:#fff4e5;--ink:#0c2c34;--line:#f2543d}body.page-contact *{box-sizing:border-box}body.page-contact{margin:0;color:var(--ink);line-height:1.58}body.page-contact a{text-decoration:none;color:inherit}body.page-contact main{max-width:1260px;margin:0 auto;padding:0 48px 26px}body.page-contact .hero{display:grid;grid-template-columns:455px 1fr;gap:82px;align-items:start;padding-top:18px}body.page-contact .hero h1{margin:18px 0 14px}body.page-contact .accent{display:block;width:74px;height:3px;background:var(--line);margin:0 0 28px}body.page-contact .accent.centered{margin:6px auto 0}body.page-contact .accent.small{width:70px;height:2px;margin-top:12px;margin-bottom:23px}body.page-contact .hero-copy p{font-size:19px;line-height:1.7;margin:0 0 28px;max-width:435px}body.page-contact .btn{display:inline-flex;align-items:center;justify-content:center;background:var(--coral);color:white;border-radius:999px;padding:15px 31px;font-size:15px;font-weight:900;letter-spacing:.07em;box-shadow:0 11px 24px rgba(242,84,61,.2)}body.page-contact .email-link{margin-top:36px;display:flex;align-items:center;gap:22px;color:#0d7377;font-size:24px;letter-spacing:.02em}body.page-contact .email-link img{width:34px;height:auto}body.page-contact .hero-photo{margin:0;overflow:hidden;border-radius:44px;width:100%;height:545px;box-shadow:0 16px 35px rgba(7,63,64,.07)}body.page-contact .hero-photo img{width:100%;height:100%;object-fit:cover;display:block}body.page-contact .schedule-section{text-align:center;padding-top:70px}body.page-contact .schedule-section>h2{margin:0}body.page-contact .cards{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:42px;text-align:center}body.page-contact .card{position:relative;overflow:hidden;min-height:665px;border-radius:28px;padding:61px 54px 42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}body.page-contact .card-blue{background:linear-gradient(135deg,#edf8f8,#f4fbfb)}body.page-contact .card-peach{background:linear-gradient(135deg,#fff8ed,#fff1dc)}body.page-contact .card-icon{width:103px;height:103px;object-fit:contain;margin-bottom:28px}body.page-contact .card-icon.people{width:122px;height:122px;margin-bottom:10px}body.page-contact .card h3{margin:0;}body.page-contact .card p{font-size:20px;line-height:1.65;margin:0 auto 12px;max-width:395px}body.page-contact .card .lead{margin-bottom:8px}body.page-contact .card .btn{margin-top:26px;z-index:2}body.page-contact .booking-link{display:flex;align-items:center;gap:14px;color:#0b737b;font-size:22px;margin-top:28px;z-index:2}body.page-contact .booking-link img{width:28px}body.page-contact .branch{position:absolute;right:34px;bottom:25px;width:145px;opacity:.7}body.page-contact .time-strip{margin-top:34px;background:linear-gradient(135deg,#eaf6f6,#edf8f8);border-radius:27px;min-height:180px;padding:28px 64px;display:grid;grid-template-columns:155px 1fr 170px;align-items:center;gap:10px}body.page-contact .strip-icon{width:116px}body.page-contact .time-strip h2{margin:0 0 12px}body.page-contact .time-strip .accent{margin-bottom:17px}body.page-contact .time-strip p{font-size:21px;margin:0;line-height:1.5}body.page-contact .heart-leaf{width:145px;justify-self:end;opacity:.9}body.page-contact .site-footer{max-width:1260px;margin:0 auto;border-top:1px solid rgba(7,63,64,.15);padding:18px 48px 20px;display:flex;align-items:center;justify-content:space-between;color:#08727c}body.page-contact .footer-brand{display:flex;align-items:center;gap:19px;font-size:15px}body.page-contact .footer-brand img{width:82px;height:auto;object-fit:contain}body.page-contact .site-footer nav{display:flex;gap:43px;font-size:14px;font-weight:800;letter-spacing:.08em}body.page-contact .social{display:flex;gap:20px;font-weight:900;font-size:25px;color:#0b737b;align-items:center}@media(max-width:900px){body.page-contact main{padding:0 22px}body.page-contact .hero{grid-template-columns:1fr;gap:30px}body.page-contact .hero-photo{height:340px}body.page-contact .cards{grid-template-columns:1fr}body.page-contact .time-strip{grid-template-columns:1fr;text-align:center}body.page-contact .time-strip .accent{margin-left:auto;margin-right:auto}body.page-contact .heart-leaf,
body.page-contact .strip-icon{justify-self:center}body.page-contact .site-footer{padding:20px;flex-direction:column;gap:16px}body.page-contact .site-footer nav{gap:20px}}

body.page-contact .contact-booking-widget[hidden]{display:none}
body.page-contact .contact-booking-widget{width:100%;margin-top:30px;scroll-margin-top:24px}
body.page-contact .better-inline-booking-widget{width:100%;max-width:550px;height:800px;margin:0 auto}
body.page-contact .better-inline-booking-widget iframe{width:100%;height:100%;border:0}
body.page-contact .booking-fallback{font-size:14px;line-height:1.5;margin:12px auto 0;max-width:550px}
body.page-contact .booking-fallback a{color:var(--teal2);font-weight:800;text-decoration:underline}

/* Booking confirmation */
body.page-booking-confirmation{
  --confirmation-teal:#0b737b;
  --confirmation-dark:#073f40;
  --confirmation-coral:#f2543d;
  margin:0;
  color:var(--confirmation-dark);
  background:linear-gradient(145deg,#f4fbfa 0%,#fffaf2 100%);
}

body.page-booking-confirmation .confirmation-main{
  width:min(100% - 48px,1260px);
  min-height:650px;
  margin:0 auto;
  padding:72px 0 88px;
  display:grid;
  place-items:center;
}

body.page-booking-confirmation .confirmation-card{
  width:min(100%,760px);
  padding:58px 72px 62px;
  border:1px solid rgba(11,115,123,.16);
  border-radius:32px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 50px rgba(7,63,64,.09);
  text-align:center;
}

body.page-booking-confirmation .confirmation-icon{
  width:82px;
  height:82px;
  margin:0 auto 22px;
}

body.page-booking-confirmation .confirmation-icon svg{
  width:100%;
  height:100%;
  overflow:visible;
}

body.page-booking-confirmation .confirmation-icon circle{
  fill:#edf8f7;
  stroke:var(--confirmation-teal);
  stroke-width:2.5;
}

body.page-booking-confirmation .confirmation-icon path{
  fill:none;
  stroke:var(--confirmation-coral);
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.page-booking-confirmation .confirmation-kicker{
  margin:0 0 8px;
  color:var(--confirmation-teal);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.page-booking-confirmation .confirmation-card h1{
  margin:0;
  color:var(--confirmation-dark);
  font-size:clamp(38px,5vw,62px);
  line-height:1.08;
}

body.page-booking-confirmation .confirmation-accent{
  display:block;
  width:76px;
  height:3px;
  margin:23px auto 27px;
  background:var(--confirmation-coral);
}

body.page-booking-confirmation .confirmation-card > p:not(.confirmation-kicker){
  max-width:590px;
  margin:0 auto 12px;
  font-size:18px;
  line-height:1.65;
}

body.page-booking-confirmation .confirmation-card .confirmation-lead{
  font-size:21px;
  font-weight:600;
}

body.page-booking-confirmation .confirmation-help{
  margin:34px auto 30px;
  padding:23px 28px;
  border-radius:20px;
  background:#edf8f7;
}

body.page-booking-confirmation .confirmation-help h2{
  margin:0 0 5px;
  font-size:24px;
}

body.page-booking-confirmation .confirmation-help p{
  margin:0;
  font-size:17px;
}

body.page-booking-confirmation .confirmation-help a{
  color:var(--confirmation-teal);
  font-weight:800;
  text-decoration:underline;
}

body.page-booking-confirmation .confirmation-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:13px 30px;
  border-radius:999px;
  background:var(--confirmation-coral);
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.07em;
  text-decoration:none;
  box-shadow:0 11px 24px rgba(242,84,61,.2);
}

@media(max-width:700px){
  body.page-booking-confirmation .confirmation-main{
    width:min(100% - 32px,1260px);
    min-height:auto;
    padding:42px 0 58px;
  }

  body.page-booking-confirmation .confirmation-card{
    padding:42px 24px 46px;
    border-radius:24px;
  }

  body.page-booking-confirmation .confirmation-card > p:not(.confirmation-kicker){
    font-size:16px;
  }

  body.page-booking-confirmation .confirmation-card .confirmation-lead{
    font-size:18px;
  }
}

/* About page: complete approach content beside a vertical portrait. */
body.page-about .hero{
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  grid-template-areas: "approach-content portrait";
  gap: 32px;
  align-items: stretch;
}

body.page-about .approach-content{
  grid-area: approach-content;
  display: grid;
  align-content: start;
  gap: 22px;
}

body.page-about .approach-panels{
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

body.page-about .meet-lisa-intro{
  width: 100%;
  max-width: none;
}

body.page-about .meet-lisa-intro h1{
  margin: 0;
}

body.page-about .meet-lisa-intro .short-line{
  margin-top: 18px;
}

body.page-about .meet-lisa-intro p{
  width: 100%;
  max-width: none;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
}

body.page-about .approach-heading{
  margin: 0;
  text-align: left;
}

body.page-about .approach-content .approach-text > .short-line{
  margin: 8px 0 16px;
  width: 48px;
}

body.page-about .approach-content .approach-text > p{
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
}

body.page-about .hero-photo{
  grid-area: portrait;
  align-self: end;
  margin-top: 0;
  height: calc(100% - 106px);
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 30px;
  background: #f3f6f4;
}

body.page-about .hero-photo img{
  object-fit: cover;
  object-position: center;
}

body.page-about .crew img{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto;
  object-fit: cover !important;
  object-position: center !important;
}

body.page-about .closing-grid{
  padding-inline: 42px;
}

body.page-about .approach-content .approach-text{
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 18px;
  padding-bottom: 18px;
}

body.page-about .approach-solutions{
  width: 100%;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(7, 63, 64, 0.14);
}

body.page-about .approach-solutions h2{
  margin: 0 0 4px;
  text-align: center;
  font-size: 26px !important;
}

body.page-about .approach-content .solution-card{
  min-height: 520px;
  padding: 34px 38px;
}

body.page-about .approach-content .solution-row{
  grid-template-columns: 76px 1fr;
  gap: 16px;
  padding-block: 8px;
}

body.page-about .approach-content .solution-row .icon-bubble{
  width: 64px;
  height: 64px;
}

body.page-about .approach-content .solution-row .icon-bubble img{
  width: 36px;
  height: 36px;
}

body.page-about .approach-content .solution-row p{
  max-width: none;
  font-size: 17px;
}

body.page-about .solution-card h2{
  margin: 0 0 16px;
  text-align: center;
}

body.page-about .solution-row p{
  max-width: none;
}

@media (max-width: 1050px){
  body.page-about .approach-panels{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px){
  body.page-about .hero{
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "portrait" "panels";
  }

  body.page-about .approach-content{
    display: contents;
  }

  body.page-about .meet-lisa-intro{
    grid-area: intro;
  }

  body.page-about .approach-panels{
    grid-area: panels;
  }

  body.page-about .approach-content .approach-text{
    padding-right: 24px;
    padding-left: 24px;
  }

  body.page-about .approach-solutions h2{
    text-align: left;
  }

  body.page-about .approach-solutions .solution-row{
    grid-template-columns: 1fr;
  }

  body.page-about .approach-solutions .solution-row p{
    font-size: 16px;
    font-weight: 600;
    line-height: 1.58;
  }

  body.page-about .approach-solutions .icon-bubble{
    display: none;
  }

  body.page-about .hero-photo{
    align-self: start;
    margin-top: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: 1365 / 2048;
  }
}

/* Shared visual system -----------------------------------------------------
   Keep page-specific layouts above,
but give every live V3 page the same
   foundation for color,
typography,
heading hierarchy,
and surface tone. */
body[class^="page-"]{
  /* Shared page geometry. Change these values once to update every page. */
  --site-layout-max-width: 1440px;
  --site-layout-gutter: 46px;
  --site-layout-content-max: calc(var(--site-layout-max-width) - (2 * var(--site-layout-gutter)));
  --site-background: #fbfaf6;
  --site-surface: #ffffff;
  --site-heading: #073f40;
  --site-text: #17343a;
  --site-accent: #f2543d;
  --site-muted: #edf6f5;
  --site-image-radius: 30px;
  --site-image-border: rgba(7, 63, 64, 0.14);
  --site-image-shadow: 0 14px 32px rgba(7, 63, 64, 0.08);
  --site-heading-font: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --site-main-heading-font: "Adelon Serial", "Cormorant Garamond", Georgia, serif;
  --site-body-font: "Nunito Sans", "Segoe UI", Arial, sans-serif;
  background: var(--site-background) !important;
  color: var(--site-text);
  font-family: var(--site-body-font) !important;
  line-height: 1.55;
}

/* Shared outer canvas ------------------------------------------------------
   FAQ established the site's 1440px canvas and 46px desktop gutters. Some
   imported pages use an outer shell, while others place main directly under
   body, so both structures are normalized here. */
body[class^="page-"] > :is(.page-shell, .page, .site),
body[class^="page-"] > main,
body[class^="page-"] > :is(.site-footer, .footer){
  box-sizing: border-box;
  width: 100% !important;
  max-width: var(--site-layout-max-width) !important;
  margin-inline: auto !important;
  padding-inline: var(--site-layout-gutter) !important;
}

/* Older pages supplied their gutters on each section. Their sections now
   fill the shared content canvas instead of adding a second inset. */
body.page-home main .container,
body.page-home > .site-footer .container,
body.page-about main .wrap,
body.page-allergies main .container{
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body[class^="page-"] :is(h1, h2, h3){
  color: var(--site-heading) !important;
  font-family: var(--site-heading-font) !important;
  font-style: normal;
  font-weight: 600 !important;
  letter-spacing: 0.015em !important;
}

body[class^="page-"] h1{
  font-family: var(--site-main-heading-font) !important;
  font-weight: 500 !important;
  font-size: clamp(3rem, 5vw, 4rem) !important;
  line-height: 0.98 !important;
}

body[class^="page-"] h2{
  font-size: clamp(2rem, 3.4vw, 2.75rem) !important;
  line-height: 1.08 !important;
}

body[class^="page-"] h3{
  font-size: clamp(1.25rem, 2vw, 1.625rem) !important;
  line-height: 1.18 !important;
}

body[class^="page-"] :is(.page-shell, .site-header, .site-footer){
  background-color: transparent;
}

/* Shared component foundations ------------------------------------------- */
body[class^="page-"] :is(.btn, .button, .button-primary, .primary-btn, .button-coral){
  box-sizing: border-box;
  border-radius: 999px;
  font-family: var(--site-body-font);
  font-weight: 800;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

body[class^="page-"] :is(.btn-primary, .button-primary, .primary-btn, .button-coral){
  background: var(--site-accent);
  color: #fff;
}

body[class^="page-"] :is(.btn, .button, .button-primary, .primary-btn, .button-coral):is(:hover, :focus-visible){
  transform: translateY(-1px);
}

body[class^="page-"] :is(.card, .mini-card, .process-card, .step-card, .info-card){
  box-sizing: border-box;
  border-color: rgba(7, 63, 64, 0.12);
}

body[class^="page-"] :is(.site-footer, .footer){
  border-top-color: rgba(7, 63, 64, 0.12);
  color: var(--site-heading);
  font-family: var(--site-body-font);
}

body[class^="page-"] :is(.site-footer, .footer) a{
  color: var(--site-heading);
  font-family: var(--site-body-font);
  font-weight: 800;
  text-decoration: none;
}

/* Shared photography treatment. Decorative SVGs, logos, and interface icons
   are intentionally excluded. Split photo/CTA bands keep one rounded frame. */
body[class^="page-"] :is(
  .hero-image,
  .hero-image-wrap,
  .hero-photo,
  .hero-photo-wrap,
  .hero-media
){
  box-sizing: border-box;
  border: 1px solid var(--site-image-border) !important;
  border-radius: var(--site-image-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--site-image-shadow) !important;
}

body[class^="page-"] :is(
  .hero-image,
  .hero-image-wrap,
  .hero-photo,
  .hero-photo-wrap,
  .hero-media
) > img,
body[class^="page-"] img:is(.hero-image, .hero-photo){
  display: block;
  border-radius: var(--site-image-radius) !important;
}

body[class^="page-"] :is(.hero-image-wrap, .hero-photo-wrap, .hero-media) > img:is(.hero-image, .hero-photo){
  border: 0 !important;
  box-shadow: none !important;
}

body.page-about .crew img{
  border: 1px solid var(--site-image-border) !important;
  border-radius: var(--site-image-radius) !important;
  box-shadow: var(--site-image-shadow) !important;
}

body[class^="page-"] :is(.cta-band, .cta, .cta-photo-panel){
  border-radius: var(--site-image-radius) !important;
  overflow: hidden;
}

/* One wordmark and one visual footprint in every primary header. */
body[class^="page-"] .site-master-logo{
  display: block;
  width: 316px !important;
  max-width: 100%;
  height: 89px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain;
  object-position: left center;
}

/* Shared primary navigation ------------------------------------------------ */
body[class^="page-"] .site-header{
  box-sizing: border-box;
  position: relative;
  z-index: 10000;
  isolation: isolate;
  overflow: visible !important;
  left: auto;
  width: min(var(--site-layout-content-max), calc(100vw - (2 * var(--site-layout-gutter)))) !important;
  max-width: var(--site-layout-content-max) !important;
  min-height: 104px;
  height: auto !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 50% !important;
  padding: 18px 0 !important;
  transform: translateX(-50%);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  border-bottom: 1px solid rgba(7, 63, 64, 0.1);
}

body[class^="page-"] .site-header > :first-child{
  display: block;
  width: 316px !important;
  height: 89px;
  flex: 0 0 316px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
}

body[class^="page-"] .site-nav{
  display: flex !important;
  position: relative;
  z-index: 10001;
  overflow: visible !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--site-heading) !important;
  font-family: var(--site-body-font) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body[class^="page-"] .site-nav > a:not(.site-nav-contact){
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--site-heading) !important;
  font-family: var(--site-body-font) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 160ms ease;
}

body[class^="page-"] .site-nav-dropdown{
  position: relative;
  z-index: 10002;
  display: flex;
  align-items: center;
  min-height: 42px;
  overflow: visible !important;
}

body[class^="page-"] .site-nav-dropdown > a{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  color: var(--site-heading) !important;
  font-family: var(--site-body-font) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
}

body[class^="page-"] .site-nav-dropdown > a::before{
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  order: 2;
}

body[class^="page-"] .site-nav-dropdown > a::after{
  content: "";
  position: absolute;
  right: 14px;
  bottom: 3px;
  left: 0;
  height: 2px;
  background: var(--site-accent);
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 160ms ease, transform 160ms ease;
}

body[class^="page-"] .site-submenu{
  position: absolute;
  z-index: 10003;
  top: calc(100% + 7px);
  left: 50%;
  display: grid;
  width: 270px;
  padding: 10px;
  border: 1px solid rgba(7, 63, 64, 0.12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(7, 63, 64, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -6px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

body[class^="page-"] .site-submenu::before{
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 10px;
}

body[class^="page-"] .site-submenu a{
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--site-heading) !important;
  font-family: var(--site-body-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
  text-align: left;
  text-transform: none;
  text-decoration: none !important;
  white-space: normal;
}

body[class^="page-"] .site-submenu a:is(:hover, :focus-visible){
  background: var(--site-muted);
  color: var(--site-accent) !important;
  outline: none;
}

body[class^="page-"] .site-nav-dropdown:is(:hover, :focus-within) .site-submenu{
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

body[class^="page-"] .site-nav-dropdown.is-open .site-submenu{
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

body[class^="page-"] .site-nav-dropdown:is(:hover, :focus-within) > a,
body[class^="page-"] .site-nav-dropdown.is-open > a,
body:is(.page-services, .page-picky-eating, .page-allergies, .page-growth-weight-concerns, .page-eating-disorders, .page-family-nutrition, .page-parent-support) .site-nav-dropdown > a{
  color: var(--site-accent) !important;
}

body[class^="page-"] .site-nav-dropdown:is(:hover, :focus-within) > a::after,
body[class^="page-"] .site-nav-dropdown.is-open > a::after,
body:is(.page-services, .page-picky-eating, .page-allergies, .page-growth-weight-concerns, .page-eating-disorders, .page-family-nutrition, .page-parent-support) .site-nav-dropdown > a::after{
  opacity: 1;
  transform: scaleX(1);
}

body[class^="page-"] .site-nav-dropdown.is-open > a::before{
  margin-top: 4px;
  transform: rotate(225deg);
}

body[class^="page-"] .site-nav > a:not(.site-nav-contact)::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  width: auto !important;
  height: 2px;
  background: var(--site-accent);
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 160ms ease, transform 160ms ease;
}

body[class^="page-"] .site-nav > a:not(.site-nav-contact):is(:hover, :focus-visible),
body.page-home .site-nav > a[href="index.html"],
body.page-about .site-nav > a[href="about.html"],
body.page-services .site-nav > a[href="services.html"],
body.page-allergies .site-nav > a[href="services.html"],
body.page-eating-disorders .site-nav > a[href="services.html"],
body.page-family-nutrition .site-nav > a[href="services.html"],
body.page-growth-weight-concerns .site-nav > a[href="services.html"],
body.page-parent-support .site-nav > a[href="services.html"],
body.page-picky-eating .site-nav > a[href="services.html"],
body.page-pricing-insurance .site-nav > a[href="pricing-insurance.html"],
body.page-faq .site-nav > a[href="faq.html"]{
  color: var(--site-accent) !important;
}

body[class^="page-"] .site-nav > a:not(.site-nav-contact):is(:hover, :focus-visible)::after,
body.page-home .site-nav > a[href="index.html"]::after,
body.page-about .site-nav > a[href="about.html"]::after,
body.page-services .site-nav > a[href="services.html"]::after,
body.page-allergies .site-nav > a[href="services.html"]::after,
body.page-eating-disorders .site-nav > a[href="services.html"]::after,
body.page-family-nutrition .site-nav > a[href="services.html"]::after,
body.page-growth-weight-concerns .site-nav > a[href="services.html"]::after,
body.page-parent-support .site-nav > a[href="services.html"]::after,
body.page-picky-eating .site-nav > a[href="services.html"]::after,
body.page-pricing-insurance .site-nav > a[href="pricing-insurance.html"]::after,
body.page-faq .site-nav > a[href="faq.html"]::after{
  opacity: 1;
  transform: scaleX(1);
}

body[class^="page-"] .site-nav-contact{
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto;
  min-width: 108px !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 11px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--site-accent) !important;
  box-shadow: 0 8px 18px rgba(242, 84, 61, 0.18) !important;
  color: #fff !important;
  font-family: var(--site-body-font) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
}

body[class^="page-"] .site-nav-contact:is(:hover, :focus-visible){
  background: #dc4934 !important;
}

/* Some imported layouts wrap the header in a narrow page shell. The shared
   header still uses the FAQ page's viewport-based margins. */
body[class^="page-"] .page-shell{
  overflow: visible;
}

body[class^="page-"] main{
  position: relative;
  z-index: 0;
}

/* Remove imported wrapper offsets above the header. The header's own 18px
   padding now establishes the same top coordinate on every page. */
body.page-services .page-shell,
body.page-pricing-insurance .page-shell,
body.page-faq .page-shell,
body.page-parent-support .page{
  padding-top: 0 !important;
}

/* Service-detail pages imported from separate layouts used narrow wrappers
   that could offset or clip the shared FAQ-based header. Keep their content
   layouts intact while allowing the common header to use the same viewport
   margins as the primary pages. */
body.page-picky-eating,
body.page-allergies,
body.page-growth-weight-concerns,
body.page-eating-disorders,
body.page-family-nutrition,
body.page-parent-support{
  min-width: 0 !important;
}

body.page-picky-eating .site,
body.page-parent-support .page{
  overflow: visible !important;
}

body.page-picky-eating .site,
body.page-parent-support .page{
  padding-top: 0 !important;
}

body:is(
  .page-picky-eating,
  .page-allergies,
  .page-growth-weight-concerns,
  .page-eating-disorders,
  .page-family-nutrition,
  .page-parent-support
) .site-header{
  margin-top: 0 !important;
  margin-left: 50% !important;
}

@media (max-width: 1180px) {
  body[class^="page-"]{
    --site-layout-gutter: 20px;
  }

  body[class^="page-"] .site-header{
    width: calc(100vw - (2 * var(--site-layout-gutter))) !important;
    max-width: var(--site-layout-content-max) !important;
    left: auto;
    margin-right: auto !important;
    margin-left: auto !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 16px 0 18px !important;
    transform: none;
  }

  body[class^="page-"] .site-header > :first-child{
    width: 260px !important;
    height: 73px;
    flex-basis: auto !important;
  }

  body[class^="page-"] .site-master-logo{
    width: 260px !important;
    height: 73px !important;
  }

  body[class^="page-"] .site-nav{
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px 22px !important;
  }

  body[class^="page-"] .site-nav > a:not(.site-nav-contact){
    min-height: 34px;
  }
}

@media (max-width: 560px) {
  body[class^="page-"] .site-master-logo{
    width: 210px !important;
    height: 59px !important;
  }

  body[class^="page-"] .site-header > :first-child{
    width: 210px !important;
    height: 59px;
    flex-basis: auto !important;
  }

  body[class^="page-"] .site-nav{
    gap: 4px 16px !important;
    font-size: 13px !important;
  }

  body[class^="page-"] .site-nav > a:not(.site-nav-contact){
    font-size: 13px !important;
  }

  body[class^="page-"] .site-nav-dropdown > a{
    font-size: 13px !important;
  }

  body[class^="page-"] .site-nav-contact{
    min-width: 96px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 9px 18px !important;
    font-size: 13px !important;
  }
}

/* Preserve contrast for headings placed on dark promotional panels. */
body.page-home .cta-panel h2,
body.page-services .cta-copy h2,
body.page-family-nutrition .cta-content h2,
body.page-parent-support .cta-content h2,
body.page-eating-disorders .cta-content h2,
body.page-growth-weight-concerns .cta-content h2,
body.page-allergies .cta-panel h2{
  color: #fff !important;
}

@media (max-width: 640px) {
  body[class^="page-"] h1{ font-size: clamp(2.625rem, 12vw, 3.25rem) !important; }
  body[class^="page-"] h2{ font-size: clamp(1.875rem, 9vw, 2.375rem) !important; }
}

/* Match the Food Allergies content edges to the Services Overview layout. */
body.page-allergies{
  --allergies-page-gutter: 40px;
}
body.page-allergies main .container{
  width: calc(100% - (2 * var(--allergies-page-gutter))) !important;
  max-width: none !important;
  margin-inline: auto !important;
}
@media (max-width: 850px) {
  body.page-allergies{
    --allergies-page-gutter: 28px;
  }
}

/* Keep every page title 36px below the shared header, matching About. */
body.page-home .hero{
  margin-top: 36px;
}

body.page-services .hero-section,
body.page-allergies main .hero,
body.page-picky-eating .hero,
body.page-growth-weight-concerns .hero,
body.page-family-nutrition .hero,
body.page-parent-support .hero{
  padding-top: 36px;
}

body.page-services .hero-copy,
body.page-allergies main .hero-text,
body.page-picky-eating .hero-copy{
  padding-top: 0;
}

body.page-allergies main .hero-image{
  margin-top: 0;
}

body.page-growth-weight-concerns .hero h1,
body.page-family-nutrition .hero h1{
  margin-top: 0;
}

body.page-pricing-insurance .hero,
body.page-faq .hero{
  margin-top: 36px;
}

body.page-faq .hero-copy{
  padding-top: 0;
}

@media (min-width: 1081px){
  body.page-faq .hero-media{
    margin-top: -14px;
    transform: translateX(-28px);
  }
}

body.page-contact .hero{
  padding-top: 36px;
}

body.page-contact .hero h1{
  margin-top: 0;
}

/* Match Outside of Work copy to the Why I Do This Work paragraphs. */
body.page-about .outside p{
  font-size: 19px;
}

@media (max-width: 900px){
  body.page-about .outside p{
    font-size: 16px;
  }
}

body.page-about .crew img{
  width: 80% !important;
  height: auto !important;
  margin-inline: auto;
}

body.page-about .crew h2,
body.page-about .crew .caption-title{
  width: 80%;
  margin-inline: auto;
}

@media (max-width: 900px){
  body.page-about .closing-grid{
    padding-right: 24px;
    padding-left: 24px;
  }

  body.page-about .crew{
    padding-left: 0;
  }

  body.page-about .crew img{
    width: 100% !important;
    margin-inline: 0;
  }

  body.page-about .crew h2,
  body.page-about .crew .caption-title{
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}

/* Use Picky Eating as the shared page-margin template. */
body[class^="page-"]{
  --page-template-gutter: 40px;
}

@media (max-width: 1040px){
  body[class^="page-"]{
    --page-template-gutter: 28px;
  }
}

body.page-home main .container,
body.page-about main .wrap,
body.page-allergies main .container,
body.page-growth-weight-concerns .page-pad,
body.page-eating-disorders .section-shell,
body.page-family-nutrition main :is(.section-pad, .section-pad-small){
  box-sizing: border-box;
  width: calc(100% - (2 * var(--page-template-gutter))) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.page-family-nutrition main :is(.section-pad, .section-pad-small){
  padding-right: 0;
  padding-left: 0;
}

body.page-services .hero-section,
body.page-parent-support .hero,
body.page-pricing-insurance .hero,
body.page-faq .hero,
body.page-contact .hero{
  box-sizing: border-box;
  padding-right: var(--page-template-gutter);
  padding-left: var(--page-template-gutter);
}

/* Remove the remaining service-page offset so its first H1 matches Picky Eating. */
body.page-growth-weight-concerns .hero{
  padding-right: 0;
  padding-left: 0;
}

body.page-growth-weight-concerns .hero-copy{
  padding-left: 0;
}

body.page-growth-weight-concerns .self{
  padding-top: 22px;
}

body.page-growth-weight-concerns .self h2{
  margin-bottom: 20px;
}

body.page-growth-weight-concerns .self h2::after,
body.page-growth-weight-concerns .expect > h2::after{
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 10px auto 0;
  background: var(--coral);
}

body.page-allergies .issue-section > h2::after{
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 10px auto 0;
  background: var(--coral);
}

body.page-family-nutrition .familiar > h2::after,
body.page-family-nutrition .sessions > h2::after{
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 10px auto 0;
  background: var(--coral);
}

body.page-family-nutrition .ornament{
  width: 48px;
  height: 2px;
  margin: 10px auto 18px;
  background: var(--coral);
  font-size: 0;
  letter-spacing: 0;
}

body.page-eating-disorders .intro-cards > h2::after,
body.page-eating-disorders .expectations-section > h2::after{
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 10px auto 0;
  background: var(--coral);
}

body.page-eating-disorders .expectations-section > h2::after{
  margin-bottom: 18px;
}

body.page-parent-support .includes > h2::after{
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 10px auto 0;
  background: var(--coral);
}

/* Keep the Services hero copy anchored to the same left column as Picky Eating. */
body.page-services .hero-copy{
  grid-column: 1;
  justify-self: start;
  width: 100%;
  margin-left: 0;
  text-align: left;
}

body.page-services .hero-copy > h1{
  margin-left: 0 !important;
  text-align: left !important;
}

/* Let the Services closing callout grow with its larger typography. */
body.page-services .cta-band{
  height: auto;
  min-height: 245px;
  margin-bottom: 40px;
}

body.page-services .cta-image{
  min-height: 245px;
}

body.page-services .cta-copy{
  overflow: visible;
  padding-top: 24px;
  padding-bottom: 24px;
}

@media (max-width: 980px){
  body.page-services .hero-section{
    grid-template-columns: 1fr;
  }

  body.page-services .hero-copy{
    display: contents;
  }

  body.page-services .hero-copy > h1{
    grid-row: 1;
  }

  body.page-services .hero-copy > .short-line{
    grid-row: 2;
  }

  body.page-services .hero-photo-wrap{
    grid-row: 4;
    margin-top: 14px;
    margin-bottom: 12px;
  }

  body.page-services .hero-copy > p{
    grid-row: 3;
  }

  body.page-services .hero-copy > .button-primary{
    grid-row: 5;
    display: flex;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }

  body.page-services .cta-band{
    min-height: 0;
  }

  body.page-services .cta-image{
    min-height: 190px;
  }
}

/* Contact hero: use a taller crop so the child and fruit remain in frame. */
body.page-contact .hero{
  gap: 56px;
}

body.page-contact .hero-photo{
  width: 86%;
  height: auto;
  aspect-ratio: 1.08 / 1;
  border-radius: 40px;
  justify-self: start;
}

body.page-contact .hero-photo img{
  object-position: center center;
}

body.page-contact .schedule-section{
  padding-top: 36px;
}

body.page-contact .cards{
  margin-top: 30px;
}

body.page-contact .card{
  min-height: 520px;
  padding: 48px 54px 36px;
}

body.page-contact .card .btn{
  margin-top: 26px;
}

body.page-contact .card h3{
  min-height: 68px;
}

body.page-contact .card-copy{
  min-height: 152px;
}

@media (max-width: 900px){
  body.page-contact .hero{
    gap: 30px;
  }

  body.page-contact .hero-photo{
    width: 100%;
    height: 340px;
    aspect-ratio: auto;
  }
}

@media (max-width: 850px){
  body.page-allergies main .hero-text{
    display: grid;
    width: 100%;
  }

  body.page-allergies main .hero-text > .button{
    display: flex;
    width: fit-content;
    justify-self: center;
    margin-right: auto;
    margin-left: auto;
  }

  body.page-allergies main .hero-image{
    margin-top: 16px;
  }

  body.page-allergies main .grid,
  body.page-allergies main .session-grid{
    grid-template-columns: minmax(0, 1fr);
  }

  body.page-allergies main .card,
  body.page-allergies main .mini-card,
  body.page-allergies main .session-card{
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
  }

  body.page-allergies main .card h3,
  body.page-allergies main .mini-card h3{
    margin-bottom: 16px;
  }

  body.page-allergies main .card h3 br,
  body.page-allergies main .mini-card h3 br{
    display: none;
  }

  body.page-allergies main .mobile-keep-together{
    white-space: nowrap;
  }

  body.page-allergies main .session-card{
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
  }

  body.page-allergies main .session-card .round{
    width: 32px;
    height: 32px;
  }

  body.page-allergies main .session-card .session-ring{
    width:32px;
    height:32px;
    border-width:8px;
  }

  body.page-allergies main .session-card .round img{
    width: 18px;
  }

  body.page-allergies main .cta-band{
    grid-template-columns: minmax(0, 1fr);
  }

  body.page-allergies main .cta-band > img{
    height: auto;
  }

  body.page-allergies main .cta-panel{
    width: 100%;
    padding: 24px;
  }
}

@media (max-width: 1000px){
  body.page-family-nutrition .hero-copy > .button-coral{
    display: block;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 640px){
  body.page-family-nutrition .vertical-card h3,
  body.page-family-nutrition .mini-card h3{
    text-align: center;
  }

  body.page-family-nutrition .vertical-card p,
  body.page-family-nutrition .mini-card p{
    text-align: center;
  }
}

@media (max-width: 850px){
  body.page-parent-support .cards.five .small-card:last-child{
    grid-column: 1 / -1;
    height: auto;
    min-height: 140px;
    justify-content: flex-start;
    padding: 82px 18px 18px;
  }

  body.page-parent-support .cards.five .small-card:last-child h3{
    transform: none;
  }

  body.page-parent-support .parent-mobile-keep{
    white-space: nowrap;
  }

  body.page-parent-support .parent-mobile-keep br{
    display: none;
  }

  body.page-parent-support .process-row{
    grid-template-columns: minmax(0, 1fr);
  }

  body.page-parent-support .process-row:first-child{
    padding-bottom: 24px;
  }

  body.page-parent-support .process-row:last-child{
    padding-top: 24px;
  }

  body.page-parent-support .process-icon{
    display: none;
  }

  body.page-parent-support .includes .quote-intro{
    margin-bottom: 20px;
  }
}

@media (max-width: 640px){
  body.page-pricing-insurance .reduced-fee-band .band-content h2{
    font-size: 37px !important;
  }

  body.page-pricing-insurance .reduced-fee-band .band-content p{
    font-size: 19px;
  }
}

/* Shared desktop footer --------------------------------------------------- */
.site-universal-footer{
  display:block;
  width:min(var(--site-layout-content-max),calc(100% - 80px));
  max-width:var(--site-layout-content-max);
  margin:40px auto 0;
  padding:20px 0 24px;
  border-top:1px solid rgba(7,63,64,.1);
}

.site-universal-footer-inner{
  display:grid;
  grid-template-columns:210px minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
}

.site-universal-footer-brand,
.site-universal-footer-brand img{
  display:block;
  width:210px;
  height:auto;
}

.site-universal-footer-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
}

.site-universal-footer-nav a{
  color:var(--site-heading);
  font-family:var(--site-body-font);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}

.site-universal-footer-nav .site-universal-footer-contact{
  padding:10px 18px;
  border-radius:999px;
  background:var(--site-accent);
  color:#fff;
}

.site-universal-footer-copyright{
  margin:0;
  color:var(--site-heading);
  font-family:var(--site-body-font);
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  white-space:nowrap;
}

@media (max-width:1180px){
  .site-universal-footer{
    display:none;
  }
}

