:root{
  --llhl-sky:#FF5DA2;
  --llhl-sky-deep:#8A2FE0;
  --llhl-sun:#FFC93C;
  --llhl-coral:#FF6F91;
  --llhl-leaf:#2EC4B6;
  --llhl-cream:#FFF7FB;
  --llhl-ink:#1B2A41;
  --llhl-ink-soft:#4A5A72;
  --llhl-radius:22px;
  --llhl-shadow: 0 14px 30px -12px rgba(138,47,224,0.25);
}
.llhl-wrap *{box-sizing:border-box;}
html:has(.llhl-wrap),body:has(.llhl-wrap){overflow-x:hidden !important;max-width:100% !important;}
.llhl-wrap{
  font-family:'Nunito',sans-serif;color:var(--llhl-ink);background:var(--llhl-cream);-webkit-font-smoothing:antialiased;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.llhl-wrap .llhl-inner{width:100%;}
.llhl-wrap h1,.llhl-wrap h2,.llhl-wrap h3{font-family:'Baloo 2',cursive;line-height:1.1;margin:0;}
.llhl-wrap a{color:inherit;text-decoration:none;}
.llhl-wrap .llhl-inner{max-width:1080px;margin:0 auto;padding:0 24px;}
.llhl-wrap img,.llhl-wrap svg{display:block;max-width:100%;}

.llhl-wrap .llhl-header{position:sticky;top:0;z-index:50;background:#FFFCF5;backdrop-filter:blur(8px);border-bottom:1px solid rgba(27,42,65,0.08);}
.llhl-wrap .llhl-nav{display:flex;align-items:center;justify-content:flex-start;padding:10px 0;flex-wrap:wrap;gap:14px;}
.llhl-wrap .llhl-logo{height:252px;width:auto;display:block;}
.llhl-wrap .llhl-links{display:flex;gap:26px;font-weight:700;font-size:0.95rem;flex-wrap:wrap;margin:0 auto;justify-content:center;}
.llhl-wrap .llhl-links a{padding:6px 2px;border-bottom:3px solid transparent;transition:border-color .2s;}
.llhl-wrap .llhl-links a:hover{border-color:var(--llhl-sun);}

.llhl-wrap .llhl-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--llhl-sky) 0%,var(--llhl-sky-deep) 100%);color:#fff;padding:60px 0 90px;}
.llhl-wrap .llhl-hero .llhl-inner{position:relative;z-index:2;}
.llhl-wrap .llhl-hero-single{display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
.llhl-wrap .llhl-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:800;color:#fff;}
.llhl-wrap .llhl-hero h1 em{font-style:normal;color:var(--llhl-sun);}
.llhl-wrap .llhl-hero p.llhl-lead{font-size:1.12rem;line-height:1.6;color:rgba(255,255,255,0.92);margin:20px 0 30px;max-width:46ch;}
.llhl-wrap .llhl-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.llhl-wrap .llhl-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:800;font-size:0.98rem;transition:transform .15s ease;}
.llhl-wrap .llhl-btn:hover{transform:translateY(-2px);}
.llhl-wrap .llhl-btn-primary{background:var(--llhl-sun);color:var(--llhl-ink);box-shadow:0 12px 24px -8px rgba(255,201,60,0.6);}
.llhl-wrap .llhl-btn-ghost{border:2px solid rgba(255,255,255,0.7);color:#fff;}

.llhl-wrap .llhl-wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;}
.llhl-wrap .llhl-wave-top{position:absolute;left:0;right:0;top:-1px;line-height:0;}
.llhl-wrap .llhl-emoji{font-size:2.25em;display:inline-block;line-height:1;vertical-align:middle;}
.llhl-wrap .llhl-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.llhl-wrap .llhl-sparkle{position:absolute;fill:var(--llhl-sun);opacity:0.85;}
.llhl-wrap .llhl-sparkle-1{width:39px;height:39px;top:14%;right:10%;}
.llhl-wrap .llhl-sparkle-2{width:24px;height:24px;top:36%;right:22%;fill:#fff;}
.llhl-wrap .llhl-sparkle-3{width:30px;height:30px;top:65%;right:6%;fill:var(--llhl-coral);}
.llhl-wrap .llhl-sparkle-4{width:27px;height:27px;top:22%;left:8%;fill:var(--llhl-coral);}
.llhl-wrap .llhl-sparkle-5{width:21px;height:21px;top:80%;left:14%;fill:#fff;}
.llhl-wrap .llhl-sparkle-6{width:24px;height:24px;top:48%;left:4%;fill:var(--llhl-sun);}

.llhl-wrap .llhl-section{padding:76px 0;}
.llhl-wrap .llhl-eyebrow-dark{color:var(--llhl-coral);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:0.82rem;margin-bottom:10px;display:block;}
.llhl-wrap .llhl-section-title{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:16px;color:var(--llhl-sky-deep);}
.llhl-wrap .llhl-section-lead{color:var(--llhl-ink-soft);max-width:60ch;font-size:1.05rem;line-height:1.65;}

.llhl-wrap .llhl-about{background:#fff;padding-bottom:36px;position:relative;overflow:hidden;}
.llhl-wrap .llhl-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
.llhl-wrap .llhl-about-card{border-radius:var(--llhl-radius);padding:28px;border:1px solid rgba(27,42,65,0.06);}
.llhl-wrap .llhl-about-card .llhl-tag{font-weight:800;font-size:0.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;display:block;}
.llhl-wrap .llhl-about-card.llhl-vision{background:linear-gradient(135deg,#FF5DA2,#FF8FC4);border:none;}
.llhl-wrap .llhl-about-card.llhl-vision .llhl-tag{color:#fff;}
.llhl-wrap .llhl-about-card.llhl-vision p{color:rgba(255,255,255,0.95);}
.llhl-wrap .llhl-about-card.llhl-mission{background:linear-gradient(135deg,#2EC4B6,#5FE0D3);border:none;}
.llhl-wrap .llhl-about-card.llhl-mission .llhl-tag{color:#fff;}
.llhl-wrap .llhl-about-card.llhl-mission p{color:rgba(255,255,255,0.95);}
.llhl-wrap .llhl-about-card.llhl-compass .llhl-tag{color:var(--llhl-coral);}
.llhl-wrap .llhl-about-card p{margin:0;color:var(--llhl-ink-soft);line-height:1.6;font-size:0.98rem;}
.llhl-wrap .llhl-about-card.llhl-compass{background:linear-gradient(135deg,var(--llhl-sky-deep),#B266F0);color:#fff;border:none;}
.llhl-wrap .llhl-about-card.llhl-compass p{color:rgba(255,255,255,0.92);}
.llhl-wrap .llhl-about-card.llhl-compass .llhl-verse{font-family:'Baloo 2';font-size:1.1rem;font-weight:600;margin-bottom:10px;}
.llhl-wrap .llhl-motto-wrap{display:flex;justify-content:center;margin-top:48px;}
.llhl-wrap .llhl-motto-strip{
  text-align:center;font-family:'Baloo 2';font-weight:700;font-size:1.3rem;color:var(--llhl-sky-deep);
  background:var(--llhl-cream);border:2px solid var(--llhl-coral);border-radius:999px;
  padding:18px 40px;max-width:520px;box-shadow:var(--llhl-shadow);
}
.llhl-wrap .llhl-motto-strip span{color:var(--llhl-coral);}

.llhl-wrap .llhl-services{background:var(--llhl-cream);padding-top:36px;position:relative;overflow:hidden;}
.llhl-wrap .llhl-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.llhl-wrap .llhl-service-card{border-radius:18px;padding:26px;box-shadow:var(--llhl-shadow);color:#fff;background:linear-gradient(135deg,var(--llhl-sky),#FF8FC4);}
.llhl-wrap .llhl-service-card:nth-child(2){background:linear-gradient(135deg,var(--llhl-coral),#FFA6B8);}
.llhl-wrap .llhl-service-card:nth-child(3){background:linear-gradient(135deg,#FFB13C,var(--llhl-sun));}
.llhl-wrap .llhl-service-card:nth-child(4){background:linear-gradient(135deg,var(--llhl-leaf),#5FE0D3);}
.llhl-wrap .llhl-service-card:nth-child(5){background:linear-gradient(135deg,var(--llhl-sky-deep),#B266F0);}
.llhl-wrap .llhl-service-card:nth-child(6){background:linear-gradient(135deg,#FF5DA2,var(--llhl-coral));}
.llhl-wrap .llhl-service-card .llhl-num{font-family:'Baloo 2';font-weight:800;font-size:1.4rem;color:rgba(255,255,255,0.45);margin-bottom:8px;}
.llhl-wrap .llhl-service-card h3{font-size:1.08rem;color:#fff;margin-bottom:8px;}
.llhl-wrap .llhl-service-card p{margin:0;color:rgba(255,255,255,0.92);font-size:0.92rem;line-height:1.55;}

.llhl-wrap .llhl-extras{margin-top:26px;background:#fff;border:2px dashed var(--llhl-sun);border-radius:18px;padding:22px 26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.llhl-wrap .llhl-extras .llhl-badge{background:var(--llhl-sun);color:var(--llhl-ink);font-weight:800;font-size:0.78rem;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:999px;flex-shrink:0;}
.llhl-wrap .llhl-extras p{margin:0;color:var(--llhl-ink-soft);font-size:0.95rem;}
.llhl-wrap .llhl-extras strong{color:var(--llhl-ink);}

.llhl-wrap .llhl-info{background:var(--llhl-sky-deep);color:#fff;position:relative;overflow:hidden;}

.llhl-wrap .llhl-deco{position:absolute;inset:0;pointer-events:none;z-index:0;}
.llhl-wrap .llhl-deco svg{position:absolute;width:33px;height:33px;}
.llhl-wrap .llhl-deco-star{fill:var(--llhl-sun);}
.llhl-wrap .llhl-deco-heart{fill:var(--llhl-coral);}
.llhl-wrap .llhl-deco-about .llhl-deco-star{top:18px;right:8%;}
.llhl-wrap .llhl-deco-about .llhl-deco-heart{top:70px;right:3%;width:27px;height:27px;}
.llhl-wrap .llhl-deco-about .llhl-deco-star-3{top:40%;left:3%;width:24px;height:24px;fill:var(--llhl-leaf);}
.llhl-wrap .llhl-deco-about .llhl-deco-heart-2{bottom:24px;left:10%;width:30px;height:30px;}
.llhl-wrap .llhl-deco-services .llhl-deco-star{top:10px;left:6%;}
.llhl-wrap .llhl-deco-services .llhl-deco-heart{top:60px;left:2%;width:24px;height:24px;}
.llhl-wrap .llhl-deco-services .llhl-deco-star-2{bottom:20px;right:8%;width:27px;height:27px;}
.llhl-wrap .llhl-deco-services .llhl-deco-heart-3{top:30%;right:3%;width:24px;height:24px;}
.llhl-wrap .llhl-deco-services .llhl-deco-star-4{bottom:40%;left:10%;width:21px;height:21px;fill:var(--llhl-leaf);}
.llhl-wrap .llhl-deco-info .llhl-deco-star{top:16px;right:10%;fill:#fff;}
.llhl-wrap .llhl-deco-info .llhl-deco-heart{bottom:16px;left:6%;width:27px;height:27px;}
.llhl-wrap .llhl-deco-info .llhl-deco-star-5{bottom:30px;right:20%;width:21px;height:21px;fill:var(--llhl-sun);}
.llhl-wrap .llhl-deco-info .llhl-deco-heart-4{top:40%;right:4%;width:24px;height:24px;}
.llhl-wrap .llhl-motto-deco{position:relative;gap:14px;}
.llhl-wrap .llhl-motto-star-l,.llhl-wrap .llhl-motto-star-r{width:30px;height:30px;fill:var(--llhl-sun);flex-shrink:0;}
.llhl-wrap .llhl-about .llhl-inner,.llhl-wrap .llhl-services .llhl-inner,.llhl-wrap .llhl-info .llhl-inner{position:relative;z-index:1;}
.llhl-wrap .llhl-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px;}
.llhl-wrap .llhl-info-card{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:var(--llhl-radius);padding:30px;}
.llhl-wrap .llhl-info-card h3{font-size:1.2rem;margin-bottom:16px;color:var(--llhl-sun);}
.llhl-wrap .llhl-hours-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.14);font-weight:700;}
.llhl-wrap .llhl-hours-row:last-child{border-bottom:none;}
.llhl-wrap .llhl-contact-line{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:1.02rem;}
.llhl-wrap .llhl-contact-line .llhl-ic{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.14);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.llhl-wrap .llhl-contact-line a{font-weight:700;}
.llhl-wrap .llhl-contact-line a:hover{color:var(--llhl-sun);}

.llhl-wrap .llhl-footer{background:var(--llhl-cream);padding:56px 0 30px;}
.llhl-wrap .llhl-handrow{display:flex;justify-content:center;gap:14px;margin-bottom:30px;flex-wrap:wrap;}
.llhl-wrap .llhl-footer-note{text-align:center;color:var(--llhl-ink-soft);font-size:0.88rem;}
.llhl-wrap .llhl-footer-note .llhl-fbrand{font-family:'Baloo 2';font-weight:700;color:var(--llhl-sky-deep);display:block;margin-bottom:6px;font-size:1.05rem;}

@media (max-width:860px){
  .llhl-wrap .llhl-nav{flex-direction:column;justify-content:center;}
  .llhl-wrap .llhl-links{gap:14px;font-size:0.85rem;margin:0;}
  .llhl-wrap .llhl-logo{height:135px;}
  .llhl-wrap .llhl-about-grid,.llhl-wrap .llhl-services-grid,.llhl-wrap .llhl-info-grid{grid-template-columns:1fr;}
}

/* Per-page pastel backgrounds (Gallery / Newsletter / Registration).
   Best-effort: targets <body> plus common Astra container class names,
   since the actual live DOM can't be inspected from here. If Astra's
   content wrapper uses a different class, this may need adjusting. */
body.llhl-page-gallery,
body.llhl-page-gallery .site-content,
body.llhl-page-gallery .ast-container,
body.llhl-page-gallery #content{background:#FBDCE8 !important;}
body.llhl-page-newsletter,
body.llhl-page-newsletter .site-content,
body.llhl-page-newsletter .ast-container,
body.llhl-page-newsletter #content{background:#DFF3E3 !important;}
body.llhl-page-registration,
body.llhl-page-registration .site-content,
body.llhl-page-registration .ast-container,
body.llhl-page-registration #content{background:#FFF6D6 !important;}
body.llhl-page-gallery .llhl-wrap,
body.llhl-page-newsletter .llhl-wrap,
body.llhl-page-registration .llhl-wrap{background:transparent;}
body.llhl-page-gallery .llhl-header{background:#FBDCE8 !important;}
body.llhl-page-newsletter .llhl-header{background:#DFF3E3 !important;}
body.llhl-page-registration .llhl-header{background:#FFF6D6 !important;}

/* Newsletter list: name + link only, no embed/preview */
.llhl-wrap .llhl-newsletter-list{list-style:none;margin:32px auto;padding:0;max-width:480px;}
.llhl-wrap .llhl-newsletter-list li{margin-bottom:14px;}
.llhl-wrap .llhl-newsletter-list a,.llhl-wrap .llhl-newsletter-list span{
  display:block;background:#fff;border-radius:14px;padding:16px 22px;font-weight:700;color:var(--llhl-sky-deep);
  box-shadow:var(--llhl-shadow);text-align:center;
}
.llhl-wrap .llhl-newsletter-list a:hover{color:var(--llhl-coral);}

/* Hide the raw File block's default icon/filename/Download-button markup
   on the Newsletter page — [llhl_newsletters] already renders a clean
   link from the same block, so the native block output would just
   duplicate it as a bulky preview box. */
body.llhl-page-newsletter .wp-block-file{display:none;}
