
:root{
  --orange:#ff7900;
  --orange-2:#ffae36;
  --orange-dark:#d95100;
  --teal:#00a99d;
  --ink:#222833;
  --muted:#5c6470;
  --surface:#fffaf4;
  --surface-2:#fff1e4;
  --white:#ffffff;
  --glass:rgba(255,255,255,.72);
  --glass-strong:rgba(255,255,255,.86);
  --line:rgba(37,44,57,.10);
  --shadow:0 18px 45px rgba(34,40,51,.10);
  --shadow-soft:0 10px 28px rgba(34,40,51,.08);
  --radius:24px;
  --container:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{
  margin:0;
  color:var(--ink);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.55;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,174,54,.24), transparent 28%),
    radial-gradient(circle at 98% 6%, rgba(255,121,0,.16), transparent 24%),
    linear-gradient(180deg, #fffdf9 0%, #fff7ef 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid rgba(255,121,0,.55);
  outline-offset:3px;
}
.skip-link{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:10px 14px;z-index:999;border-radius:10px}
.skip-link:focus{left:10px;top:10px}
.container{max-width:var(--container);margin:0 auto;padding:0 28px}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(37,44,57,.08);
  box-shadow:0 8px 26px rgba(34,40,51,.06);
}
.header-top{
  max-width:var(--container);
  margin:0 auto;
  padding:12px 28px 8px;
  display:grid;
  grid-template-columns:260px 1fr auto;
  align-items:center;
  column-gap:26px;
}
.logo-link{display:inline-flex;align-items:center}
.logo-link img{height:70px;width:auto;max-width:260px;object-fit:contain}
.header-contacts{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  color:#3f4652;
  font-size:.96rem;
  font-weight:700;
}
.header-contacts a:hover{color:var(--orange-dark)}
.divider{width:1px;height:18px;background:rgba(34,40,51,.14)}
.nav-bar{
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
}
.nav-bar a{
  font-size:.96rem;
  font-weight:800;
  color:#313846;
  padding:8px 12px;
  border-radius:999px;
  transition:background .18s ease,color .18s ease;
}
.nav-bar a.active,.nav-bar a:hover,.nav-bar a:focus{
  background:rgba(255,121,0,.10);
  color:var(--orange-dark);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:14px;
  font-weight:900;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{
  background:linear-gradient(135deg,var(--orange),var(--orange-2));
  color:#fff;
  box-shadow:0 12px 24px rgba(255,121,0,.22);
}
.btn.secondary,.btn.ghost{
  color:var(--ink);
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,121,0,.18);
  box-shadow:var(--shadow-soft);
}
.btn.ghost{color:var(--orange-dark)}
.btn.dark-text{color:var(--ink)}
.desktop-cta{min-width:132px}

/* Hero: requested full-page split, 25% text / 75% image, with safe minimum text width */
.hero.split-hero{
  width:100%;
  min-height:calc(100vh - 126px);
  display:grid;
  grid-template-columns:minmax(360px,25%) 1fr;
  background:linear-gradient(135deg, #fff8ef 0%, #ffe7cc 100%);
  overflow:hidden;
}
.hero-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-height:calc(100vh - 126px);
  padding:clamp(32px,4vw,56px);
  background:
    radial-gradient(circle at 14% 12%, rgba(255,121,0,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,246,236,.92));
  border-right:1px solid rgba(255,255,255,.9);
  box-shadow:18px 0 50px rgba(34,40,51,.08);
  position:relative;
  z-index:2;
}
.hero-content::after{
  content:"";
  position:absolute;
  right:-1px;
  top:10%;
  height:80%;
  width:1px;
  background:linear-gradient(transparent, rgba(255,121,0,.18), transparent);
}
.hero-eyebrow{margin-bottom:16px}
.hero-content h1{
  margin:0 0 18px;
  color:var(--ink);
  font-size:clamp(2.05rem,3.2vw,3.45rem);
  line-height:1.06;
  letter-spacing:-.04em;
}
.hero-content p{
  margin:0 0 26px;
  color:var(--muted);
  font-size:clamp(1.05rem,1.2vw,1.22rem);
  line-height:1.58;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-image{min-height:calc(100vh - 126px);position:relative;background:#f4ddc7}
.hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,241,228,.26), transparent 20%);
  pointer-events:none;
}
.hero-image img{
  width:100%;
  height:100%;
  min-height:calc(100vh - 126px);
  object-fit:cover;
  object-position:center;
}

/* Shared typography */
.eyebrow{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.085em;
  color:var(--orange-dark);
  font-weight:900;
  font-size:.82rem;
  margin-bottom:14px;
}
h2{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 16px}
h3{font-size:1.25rem;line-height:1.2;margin:0 0 8px}
p{margin-top:0}

/* Feature strip */
.feature-bar{
  max-width:var(--container);
  margin:32px auto 0;
  padding:0 28px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.feature-item{
  min-height:156px;
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:24px 22px;
  background:var(--glass-strong);
  border:1px solid rgba(255,255,255,.86);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(14px);
}
.feature-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(255,121,0,.12), rgba(255,174,54,.12));
  color:var(--orange-dark);
  border:1px solid rgba(255,121,0,.18);
  font-size:1.3rem;
}
.feature-item h3{font-size:1.1rem;margin-bottom:6px}
.feature-item p{font-size:.97rem;color:var(--muted);margin:0}

/* Sections */
.welcome-section{
  display:grid;
  grid-template-columns:minmax(330px,.85fr) 1.55fr;
  gap:36px;
  padding-top:72px;
  padding-bottom:52px;
  align-items:start;
}
.welcome-copy{
  position:sticky;
  top:150px;
  align-self:start;
}
.welcome-copy p,.section-head p,.family-text p,.cta-card p{font-size:1.08rem;color:var(--muted)}
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.image-card,.gallery-card,.info-card,.cta-card,.contact-form-wrap,.contact-box,.family-image-wrap,.timeline-item{
  background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.60));
  border:1px solid rgba(255,255,255,.90);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.image-card{overflow:hidden;display:flex;flex-direction:column}
.image-card img{width:100%;height:300px;object-fit:cover}
.image-card-caption{padding:18px 18px 20px;min-height:128px}
.image-card-caption h3{font-size:1.35rem}
.image-card-caption p{color:var(--muted);margin:0}

.section-head{max-width:740px;margin:0 auto 30px;text-align:center}
.section-head.left{text-align:left;margin-left:0}
.timeline-section{padding:28px 0 42px}
.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.timeline-item{min-height:126px;padding:22px;display:flex;flex-direction:column;justify-content:flex-start}
.timeline-item strong{display:block;color:var(--orange-dark);font-size:1.02rem;margin-bottom:10px}
.timeline-item span{color:var(--muted);font-weight:700}

.gallery-section{padding-top:28px;padding-bottom:44px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gallery-card{overflow:hidden;margin:0}
.gallery-card img{width:100%;height:260px;object-fit:cover}
.gallery-card figcaption{padding:16px 18px 18px;font-weight:900;color:var(--ink)}

.family-section{padding:44px 0;background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,241,226,.50))}
.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.family-text ul{margin:18px 0 0;padding-left:20px;color:var(--muted);font-size:1.05rem}
.family-text li{margin-bottom:12px}
.family-image-wrap{overflow:hidden}
.family-image-wrap img{width:100%;height:440px;object-fit:cover;border-radius:var(--radius)}

.info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:48px;padding-bottom:42px}
.info-card{padding:24px 22px;min-height:164px;display:flex;flex-direction:column;justify-content:flex-start}
.info-card h3{font-size:1.18rem;margin-bottom:10px}
.info-card p{margin:0;color:var(--muted);font-size:1.02rem}
.info-card.highlight{background:linear-gradient(135deg, rgba(255,250,244,.96), rgba(255,230,205,.92))}
.price{font-size:3.5rem!important;line-height:1;font-weight:900;color:var(--orange-dark)!important;margin:6px 0 0!important}
.price span{font-size:1.05rem;color:var(--muted);font-weight:800}

.cta-section{padding-top:10px;padding-bottom:28px}
.cta-card{padding:34px;display:grid;grid-template-columns:1.1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,242,226,.74))}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

.contact-section{display:grid;grid-template-columns:1.35fr .8fr;gap:28px;padding-top:24px;padding-bottom:64px}
.contact-form-wrap,.contact-box{padding:30px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:.92rem;font-weight:900;color:#3a414d;margin-bottom:14px}
input,textarea,select{
  width:100%;
  margin-top:8px;
  padding:15px 16px;
  border-radius:14px;
  border:1px solid rgba(47,52,65,.12);
  background:rgba(255,255,255,.90);
  font-size:1rem;
  font-family:inherit;
  color:var(--ink);
}
textarea{resize:vertical}
.contact-box h3{font-size:1.6rem;margin-bottom:16px}
.contact-box p{margin:0 0 14px;color:var(--muted);font-size:1.05rem}

/* Footer */
.site-footer{background:#1f2430;color:#fff;padding-top:42px}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .9fr;gap:28px}
.footer-logo-card{display:inline-flex;background:#fff;border-radius:18px;padding:8px 12px;margin-bottom:14px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.footer-logo{height:54px;width:auto;object-fit:contain}
.site-footer p,.site-footer a{color:rgba(255,255,255,.82)}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer h4{margin:6px 0 12px;font-size:1.2rem}
.footer-bottom{text-align:center;padding:16px 24px 22px;color:rgba(255,255,255,.66);font-size:.94rem;border-top:1px solid rgba(255,255,255,.08);margin-top:24px}
.footer-bottom a{color:rgba(255,255,255,.82)}

/* Responsiveness */
@media (max-width:1180px){
  .header-top{grid-template-columns:220px 1fr auto}.logo-link img{height:62px;max-width:220px}.header-contacts{font-size:.9rem}.nav-bar{gap:2px}.nav-bar a{font-size:.9rem;padding:8px 9px}
  .hero.split-hero{grid-template-columns:minmax(360px,35%) 1fr}.feature-bar,.timeline-grid,.gallery-grid,.info-strip{grid-template-columns:repeat(2,1fr)}.welcome-section,.family-grid,.contact-section,.cta-card{grid-template-columns:1fr}.welcome-copy{position:static}.card-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .site-header{position:static}.header-top{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px}.header-contacts{justify-self:center;justify-content:center}.desktop-cta{display:none}.nav-bar{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.nav-bar a{white-space:nowrap}
  .hero.split-hero{grid-template-columns:1fr;min-height:auto}.hero-image{order:-1;min-height:430px}.hero-image img{min-height:430px;height:430px}.hero-content{min-height:auto;padding:36px 28px}.hero-content h1{font-size:clamp(2.2rem,8vw,3.1rem)}
  .feature-bar{grid-template-columns:1fr 1fr;margin-top:24px}.card-grid{grid-template-columns:1fr}.image-card img{height:340px}.footer-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .container{padding:0 20px}.feature-bar,.timeline-grid,.gallery-grid,.info-strip,.field-grid{grid-template-columns:1fr}.feature-bar{padding:0 20px}.hero-image,.hero-image img{min-height:360px;height:360px}.hero-content{padding:30px 22px}.hero-content h1{font-size:2.15rem}.hero-content p{font-size:1rem}.hero-actions{width:100%}.hero-actions .btn{width:100%}.image-card img,.gallery-card img,.family-image-wrap img{height:280px}.cta-actions{justify-content:flex-start}.cta-actions .btn{width:100%}.price{font-size:3rem!important}
}


/* Final full-visible hero image update */
.hero.split-hero{
  grid-template-columns:minmax(360px, 25%) 1fr;
  min-height:calc(100vh - 130px);
  background:linear-gradient(180deg, #fff8f1, #fff3e6);
}

.hero.split-hero .hero-content{
  padding:24px clamp(26px, 3vw, 46px) 34px;
  justify-content:flex-start;
  background:
    radial-gradient(circle at 16% 10%, rgba(255,122,0,.14), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,247,239,.90));
  backdrop-filter:blur(10px);
  border-right:1px solid rgba(255,255,255,.85);
  box-shadow:18px 0 55px rgba(35,40,53,.08);
}

.hero.split-hero .hero-content h1{
  font-size:clamp(34px, 3vw, 52px);
  line-height:1.04;
  margin:0 0 16px;
  letter-spacing:-0.03em;
  max-width:520px;
}

.hero.split-hero .hero-content p{
  max-width:470px;
  font-size:clamp(18px, 1.15vw, 21px);
  line-height:1.55;
  margin:0 0 24px;
}

.hero.split-hero .hero-image{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,248,241,.74), rgba(255,240,224,.60)),
    #fff;
}

.hero.split-hero .hero-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,248,241,.32) 0%, rgba(255,248,241,.08) 14%, rgba(255,248,241,0) 26%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,122,0,.05));
  pointer-events:none;
  z-index:1;
}

.hero.split-hero .hero-image img{
  position:relative;
  z-index:0;
  width:100%;
  height:100%;
  max-height:calc(100vh - 130px);
  object-fit:contain;
  object-position:center center;
  filter:saturate(1.03) contrast(1.01);
  background:#fff;
}

.feature-bar{
  margin-top:0;
  padding-top:28px;
}

@media (max-width: 1100px){
  .hero.split-hero{
    grid-template-columns:minmax(320px, 34%) 1fr;
  }
  .hero.split-hero .hero-content h1{
    font-size:clamp(32px, 4vw, 46px);
  }
}

@media (max-width: 820px){
  .hero.split-hero{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero.split-hero .hero-image{
    order:-1;
    min-height:390px;
  }
  .hero.split-hero .hero-image img{
    width:100%;
    height:390px;
    max-height:none;
    object-fit:contain;
  }
  .hero.split-hero .hero-content{
    padding:24px 24px 30px;
  }
}

@media (max-width: 560px){
  .hero.split-hero .hero-image{
    min-height:320px;
  }
  .hero.split-hero .hero-image img{
    height:320px;
  }
  .hero.split-hero .hero-content h1{
    font-size:34px;
  }
}

/* Corrected final hero image with both carers visible */
.hero.split-hero .hero-image{
  background: linear-gradient(180deg, rgba(255,248,241,.78), rgba(255,240,224,.62)), #fff;
}
.hero.split-hero .hero-image img{
  object-fit: contain !important;
  object-position: center center !important;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 130px);
  background: #fff;
}
@media (max-width: 820px){
  .hero.split-hero .hero-image img{
    object-fit: contain !important;
  }
}

/* Latest hero image with two carers */
.hero.split-hero .hero-image img{
  object-fit: contain !important;
  object-position: center center !important;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 130px);
  background: #fff;
}
.hero.split-hero .hero-image::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(255,248,241,.30), rgba(255,248,241,.08) 16%, rgba(255,248,241,0) 28%), linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,122,0,.05));
  pointer-events:none;
  z-index:1;
}
@media (max-width: 820px){
  .hero.split-hero .hero-image img{
    object-fit: contain !important;
  }
}


/* Navigation link and section display fixes */
html{
  scroll-behavior:smooth;
  scroll-padding-top:150px;
}

section,
.anchor-target,
#home,
#about,
#services,
#day,
#activities,
#families,
#fees,
#gallery,
#contact{
  scroll-margin-top:150px;
}

#home{
  scroll-margin-top:0;
}

.nav-bar a{
  white-space:nowrap;
}

@media (max-width: 900px){
  html{
    scroll-padding-top:20px;
  }

  section,
  .anchor-target,
  #home,
  #about,
  #services,
  #day,
  #activities,
  #families,
  #fees,
  #gallery,
  #contact{
    scroll-margin-top:20px;
  }

  .nav-bar{
    justify-content:flex-start;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:14px;
  }

  .nav-bar::-webkit-scrollbar{
    height:6px;
  }

  .nav-bar::-webkit-scrollbar-thumb{
    background:rgba(255,122,0,.35);
    border-radius:999px;
  }
}

/* Active/focus target clarity */
section:target,
.anchor-target:target{
  outline:none;
}

section:target .section-head h2,
#about:target h2,
#contact:target h2{
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-decoration-color:rgba(255,122,0,.55);
  text-underline-offset:8px;
}


/* Contact form launch configuration note */
.form-note{
  margin-top:14px;
  color:var(--muted);
  font-size:14px;
}

/* Form honeypot field */
.hidden{
  display:none !important;
}
