:root{--navy:#12345b;--navy-dark:#0a2748;--blue:#78a9d1;--blue-soft:#e9f3fb;--orange:#f39a19;--yellow:#ffc43d;--cream:#fffaf1;--white:#fff;--ink:#16304f;--text:#4a5d70;--line:#e8e6e0;--shadow:0 16px 40px rgba(18,52,91,.10);--shell:min(1180px,calc(100% - 44px));--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.7}img{display:block;max-width:100%}a{color:inherit}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:16px;top:-100px;background:#fff;color:#000;padding:12px 16px}.skip-link:focus{top:16px}.site-header{position:absolute;z-index:30;left:0;right:0;top:0;color:#fff}.header-inner{min-height:92px;display:flex;align-items:center;gap:24px}.compact-brand{width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-family:Georgia,serif;letter-spacing:.04em}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}.site-nav a{position:relative;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.07em;padding:12px 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--yellow);transition:right .2s}.site-nav a:hover:after,.site-nav a.active:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 25px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--yellow),#ffad1f);color:var(--navy-dark);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;box-shadow:0 10px 24px rgba(243,154,25,.24);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(243,154,25,.32)}.header-cta{min-height:44px;padding:0 21px;white-space:nowrap}.menu-toggle{display:none;margin-left:auto;border:0;background:none;padding:10px;color:inherit}.menu-toggle span:not(.sr-only){display:block;width:27px;height:2px;background:currentColor;margin:5px}
.sunshine-hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;color:#fff}.sunshine-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}.sunshine-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,48,.72) 0%,rgba(4,25,48,.42) 35%,rgba(4,25,48,.08) 64%,rgba(4,25,48,.05) 100%),linear-gradient(180deg,rgba(8,34,60,.28),transparent 40%,rgba(8,26,43,.32))}.sunshine-content{position:relative;z-index:2;padding-top:75px}.script-word,.script-line,.photo-note{font-family:"Brush Script MT","Segoe Script",cursive}.script-word{font-size:clamp(3rem,7vw,5.8rem);line-height:.7;color:var(--yellow);margin:0 0 6px -22px}.sunshine-content h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.7rem,9.2vw,8.5rem);font-weight:400;line-height:.8;letter-spacing:-.055em;margin:0;text-shadow:0 3px 24px rgba(0,0,0,.18)}.hero-subtitle{margin:24px 0 0;font-size:clamp(1.25rem,2.5vw,2rem);text-transform:uppercase;letter-spacing:.28em;color:var(--yellow)}.hero-divider{display:flex;align-items:center;gap:12px;width:230px;margin:18px 0}.hero-divider span,.mini-divider span{height:1px;background:rgba(255,196,61,.85);flex:1}.hero-divider b,.mini-divider b{font-weight:400;color:var(--yellow)}.hero-promise{font-family:Georgia,serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.25;margin:0 0 22px}.hero-rating span{display:block;color:var(--yellow);font-size:1.75rem;letter-spacing:.08em}.hero-rating small{display:block;margin-top:2px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.hero-button{margin-top:26px;min-width:300px}.hero-wave{position:absolute;z-index:3;left:-3%;right:-3%;height:110px;bottom:-65px;background:#fff;border-radius:50% 50% 0 0/75% 75% 0 0}
.services-section{position:relative;padding:72px 0 64px;background:linear-gradient(180deg,#fff 0%,var(--cream) 100%)}.section-heading{text-align:center;max-width:850px;margin:0 auto 48px}.eyebrow{margin:0 0 10px;color:var(--orange);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.section-heading h2,.about-copy h2,.consultation-inner h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-weight:400;line-height:1.1}.section-heading h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}.script-line{font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.1;color:var(--orange);margin:4px 0 0}.mini-divider{display:flex;width:150px;margin:12px auto 0;align-items:center;gap:10px}.service-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-tile{position:relative;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s}.service-tile:hover{transform:translateY(-5px)}.service-tile>img{width:100%;height:190px;object-fit:cover}.round-icon{position:absolute;top:158px;left:50%;transform:translateX(-50%);width:66px;height:66px;border:5px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem}.round-icon.orange{background:var(--orange)}.round-icon.blue{background:var(--blue)}.service-copy{text-align:center;padding:45px 24px 26px;min-height:250px;display:flex;flex-direction:column}.service-copy h3{font-family:Georgia,serif;color:var(--navy);font-size:1.35rem;margin:0 0 12px}.service-copy p{font-size:.88rem;line-height:1.65;margin:0 auto 18px}.service-copy strong{margin-top:auto;color:var(--orange);font-size:.88rem}.service-copy .stars{letter-spacing:.13em;font-size:1.2rem}.split-price{color:var(--navy)!important;font-size:.73rem!important}.split-price i{display:inline-block;height:18px;border-left:1px solid var(--navy);vertical-align:middle;margin:0 7px}.service-copy>a{position:absolute;inset:0}.benefit-bar{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;background:rgba(255,255,255,.78);border:1px solid rgba(18,52,91,.06);border-radius:14px;padding:24px 12px;box-shadow:0 8px 25px rgba(18,52,91,.05)}.benefit-bar>div{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:0 20px;border-right:1px solid var(--line)}.benefit-bar>div:last-child{border:0}.benefit-bar span{font-size:2.2rem;color:var(--navy)}.benefit-bar div:nth-child(even) span{color:var(--orange)}.benefit-bar p{font-size:.78rem;line-height:1.5;margin:0}.benefit-bar strong{display:block;text-transform:uppercase;letter-spacing:.09em;color:var(--navy);font-size:.67rem;margin-bottom:3px}
.about-sunshine{padding:85px 0 95px;background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:72px;align-items:center}.about-photo-wrap{position:relative}.about-photo-wrap:before{content:"";position:absolute;inset:24px -20px -20px 24px;border-radius:22px;background:var(--blue-soft)}.about-photo-wrap img{position:relative;width:100%;height:410px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}.photo-note{position:absolute;right:-8px;bottom:20px;background:#fff;color:var(--orange);font-size:1.45rem;padding:8px 18px;border-radius:999px;box-shadow:var(--shadow)}.about-copy h2{font-size:clamp(2.35rem,4.8vw,4.4rem);margin:.15em 0 .35em}.short-rule{width:65px;height:3px;background:linear-gradient(90deg,var(--yellow),var(--orange));margin:0 0 25px}.about-copy p{max-width:580px}.about-copy .button{margin-top:18px}.consultation-strip{padding:70px 0;background:linear-gradient(120deg,var(--blue-soft),#fff7e7)}.consultation-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.consultation-inner h2{font-size:clamp(2.1rem,4vw,3.6rem);margin:.1em 0}.consultation-inner p:last-child{margin-bottom:0}.blue-button{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(18,52,91,.18)}
/* Inner pages: compact, bright hero treatment */
body:not(.home-page) .site-header{position:relative;background:#fff;color:var(--navy);border-bottom:1px solid var(--line)}body:not(.home-page) .site-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none}body:not(.home-page) .brand-mark{width:42px;height:42px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;color:var(--navy)}body:not(.home-page) .brand strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.25rem}body:not(.home-page) .brand small{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text)}body:not(.home-page) .hero{position:relative;min-height:600px;display:grid;align-items:end;color:#fff;overflow:hidden;background:#082748}body:not(.home-page) .page-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}body:not(.home-page) .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,39,72,.75),rgba(8,39,72,.18))}body:not(.home-page) .hero-content{position:relative;z-index:2;width:var(--shell);margin:auto;padding:70px 0 62px}body:not(.home-page) .hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(3rem,6vw,5.2rem);line-height:1;margin:.12em 0 .2em}body:not(.home-page) .hero p:not(.eyebrow){max-width:620px;font-size:1.1rem}body:not(.home-page) .hero .eyebrow{color:var(--yellow)}body:not(.home-page) .hero .button{margin-top:10px}
/* Preserve more of each hero photograph and keep its focal detail visible */
.home-boarding-page .page-hero-image{object-position:center 58%}
.daycare-page .page-hero-image{object-position:center 58%}
.walking-page .page-hero-image{object-position:center 60%}
.contact-page .page-hero-image{object-position:center 68%}
body:not(.home-page) .hero-overlay{background:linear-gradient(90deg,rgba(8,39,72,.72) 0%,rgba(8,39,72,.43) 38%,rgba(8,39,72,.08) 70%,rgba(8,39,72,.04) 100%)}
body:not(.home-page) .hero-content{padding:78px 0 66px}

.section{padding:90px 0}.section.compact{padding:65px 0}.muted{background:var(--cream)}h2{font-family:Georgia,serif;color:var(--navy);font-size:clamp(2.3rem,4.5vw,4.2rem);font-weight:400;line-height:1.05}h3{color:var(--navy)}.intro-grid,.content-grid,.contact-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:start}.feature-card,.price-card,.enquiry-form{background:var(--navy);color:#fff;padding:44px;border-radius:var(--radius)}.feature-card h3,.price-card h3,.enquiry-form h2{color:#fff}.feature-card ul,.tick-list{list-style:none;padding:0}.feature-card li,.tick-list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{position:relative;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card-image{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:30px}.card a.stretched:after{content:"";position:absolute;inset:0}.proof-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}.licence-card{display:grid;grid-template-columns:140px 1fr;gap:30px;align-items:center;padding:36px;border:1px solid var(--line);border-radius:var(--radius)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.step{background:var(--cream);padding:30px}.callout{display:flex;align-items:center;justify-content:space-between;gap:30px}.callout-panel{background:var(--navy);color:#fff;padding:50px;border-radius:var(--radius)}.callout-panel h2{color:#fff}.price-card{position:sticky;top:30px}.price{font-family:Georgia,serif;font-size:4rem;line-height:1;color:#fff}.price small{font:1rem Arial;color:rgba(255,255,255,.7)}.notice{border-left:4px solid var(--yellow);background:var(--cream);padding:20px}.gallery-grid{columns:3 280px;column-gap:20px}.gallery-item{display:block;width:100%;margin:0 0 20px;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:14px}.gallery-item img{width:100%}.lightbox{border:0;padding:0;background:transparent}.lightbox::backdrop{background:rgba(8,39,72,.94)}.lightbox img{max-height:86vh}.lightbox-close{position:fixed;right:20px;top:15px;background:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:1.8rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form label{display:block;margin-bottom:18px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{display:block;width:100%;margin-top:7px;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:rgba(255,255,255,.06);color:#fff;padding:12px}.enquiry-form option{color:#111}.check{display:flex!important;gap:10px}.check input{width:auto}.hp{position:absolute;left:-9999px}.licence-image{width:210px}
.site-footer{background:var(--navy-dark);color:#fff;padding:62px 0 24px}.sunshine-footer{background:#eaf3fa;color:var(--navy)}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.4fr 1fr;gap:45px}.footer-grid strong{font-family:Georgia,serif;font-size:1.2rem}.footer-grid p,.footer-grid a{color:inherit;opacity:.78}.footer-bottom{border-top:1px solid rgba(18,52,91,.15);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.mobile-enquire{display:none}
@media(max-width:1000px){.site-nav ul{gap:20px}.service-showcase{grid-template-columns:1fr 1fr}.benefit-bar{grid-template-columns:1fr 1fr}.benefit-bar>div:nth-child(2){border-right:0}.benefit-bar>div:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.about-grid{gap:45px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){body{padding-bottom:72px}.site-header{position:absolute!important;background:transparent!important;color:#fff!important;border:0!important}.compact-brand{display:flex}.header-cta{display:none}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy-dark);padding:20px}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav a{display:block;padding:13px 0}.sunshine-hero{min-height:500px}.sunshine-hero-image{object-position:58% center}.sunshine-shade{background:linear-gradient(90deg,rgba(4,25,48,.78),rgba(4,25,48,.28))}.sunshine-content{padding-top:70px}.script-word{margin-left:0}.about-grid,.intro-grid,.content-grid,.contact-grid,.proof-grid{grid-template-columns:1fr}.consultation-inner,.callout,.footer-bottom{flex-direction:column;align-items:flex-start}.price-card{position:static}.mobile-enquire{display:block;position:fixed;z-index:50;left:0;right:0;bottom:0;padding:9px 14px;background:rgba(255,255,255,.96);border-top:1px solid var(--line)}.mobile-enquire .button{width:100%}.section{padding:70px 0}body:not(.home-page) .hero{min-height:500px}body:not(.home-page) .page-hero-image{object-position:center 58%}.walking-page .page-hero-image{object-position:center 62%}.contact-page .page-hero-image{object-position:center 66%}.gallery-grid{columns:2 220px}.form-row{grid-template-columns:1fr}}
@media(max-width:600px){:root{--shell:min(100% - 28px,1180px)}.compact-brand{display:flex}.sunshine-hero{min-height:470px;align-items:flex-end;padding-bottom:58px}.sunshine-hero-image{object-position:62% center}.sunshine-content h1{font-size:4.6rem}.hero-subtitle{font-size:1.08rem}.hero-button{min-width:0;width:100%}.hero-wave{height:70px;bottom:-42px}.services-section{padding-top:48px}.service-showcase,.benefit-bar,.footer-grid{grid-template-columns:1fr}.benefit-bar>div{border-right:0!important;border-bottom:1px solid var(--line);padding:14px 8px!important;margin:0!important}.benefit-bar>div:last-child{border-bottom:0}.about-photo-wrap:before{inset:14px -8px -12px 14px}.about-photo-wrap img{height:300px}.photo-note{right:4px;font-size:1.15rem}.gallery-grid{columns:1}body:not(.home-page) .hero{min-height:430px}body:not(.home-page) .hero-content{padding:100px 0 42px}body:not(.home-page) .hero h1{font-size:clamp(2.7rem,12vw,4.2rem)}.brand small{display:none}.site-footer{padding-bottom:95px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Index refinements */
.home-page .header-inner{gap:20px}
.home-page .site-nav{margin-left:auto;margin-right:0}
.home-page .sunshine-content{padding-top:65px}
.home-page .sunshine-content h1{letter-spacing:-.075em}
@media(max-width:820px){.home-page .sunshine-content{padding-top:60px}}
@media(max-width:600px){.home-page .sunshine-content{padding-top:60px}}

/* ===== Clean index layout ===== */
.home .site-header .header-inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.home .main-nav,
.home .nav-links {
  margin-left: auto;
}

.home .sunshine-hero {
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

.home .sunshine-hero .hero-wave,
.home .sunshine-hero::after {
  display: none !important;
}

.home .sunshine-content {
  transform: translateY(15px);
}

.home .about-sunshine .about-simple,
.home .about-sunshine .about-simple-copy {
  width: 100%;
  max-width: none;
}

.home .about-sunshine .about-simple-copy p {
  max-width: none;
}

.benefit-bar-wrap {
  padding: 0;
}

.benefit-bar-wrap .benefit-bar {
  margin: 0;
}

.site-footer .footer-three {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

.site-footer .footer-left {
  text-align: left;
}

.site-footer .footer-centre {
  text-align: center;
}

.site-footer .footer-right {
  text-align: right;
}

.site-footer .footer-bottom {
  display: flex;
  justify-content: center;
  text-align: center;
}

@media (max-width: 760px) {
  .site-footer .footer-three {
    grid-template-columns: 1fr;
  }
  .site-footer .footer-left,
  .site-footer .footer-centre,
  .site-footer .footer-right {
    text-align: center;
  }
}


/* ===== Restarted index header ===== */
.home .site-header .shell,
.home .site-header .header-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.home .site-header nav,
.home .site-header .main-nav {
  margin-left: auto;
}

.home .site-header .nav-links {
  justify-content: flex-end;
}


/* ===== Index layout refinement ===== */

/* Pull hero copy 25px closer to the header */
.home .sunshine-content {
  transform: translateY(-10px);
}

/* Keep About Us comfortably inset and evenly distributed */
.home .about-sunshine {
  padding-top: 2.5rem;
  padding-bottom: 2.25rem;
}

.home .about-sunshine .about-simple {
  width: min(100% - 3rem, 1040px);
  margin-inline: auto;
}

.home .about-sunshine .about-heading {
  margin-bottom: 1.1rem;
}

.home .about-sunshine .about-simple-copy {
  max-width: 920px;
  margin-inline: auto;
}

.home .about-sunshine .about-simple-copy p {
  max-width: none;
  text-align: justify;
  text-wrap: pretty;
  margin: 0 0 0.9rem;
}

/* Reduce the gap between "One overnight guest at a time" and About Us */
.home .services-section {
  padding-bottom: 1.5rem;
}

.home .services-section + .about-sunshine {
  margin-top: 0;
}

/* Existing benefit bar: beige and visually separate from footer */
.home .benefit-bar-wrap,
.home .benefit-bar {
  background: #eadfcf;
}

.home .benefit-bar-wrap {
  margin-bottom: 5px;
}

.home .benefit-bar {
  color: #173b56;
}

@media (max-width: 760px) {
  .home .about-sunshine .about-simple {
    width: min(100% - 2rem, 1040px);
  }

  .home .about-sunshine .about-simple-copy p {
    text-align: left;
  }
}


/* ===== Corrected header and hero positioning ===== */
/* Logo images are removed in HTML; text branding remains. */

/* Index: 20px higher than the previous -10px position */
.home .sunshine-content {
  transform: translateY(-30px) !important;
}

/* Inner-page hero text: move upward 20px */
.service-hero .service-hero-content,
.service-hero .hero-content,
.page-hero .page-hero-content,
.page-hero .hero-content,
.inner-hero .hero-content {
  transform: translateY(-20px) !important;
}


/* ===== Final corrected footer ===== */
.corrected-footer .footer-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
  width: 100%;
}

.corrected-footer .footer-left {
  text-align: left;
}

.corrected-footer .footer-centre {
  text-align: center;
}

.corrected-footer .footer-right {
  text-align: right;
}

.corrected-footer .footer-bottom {
  display: flex;
  justify-content: center;
  text-align: center;
}

@media (max-width: 760px) {
  .corrected-footer .footer-three {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .corrected-footer .footer-left,
  .corrected-footer .footer-centre,
  .corrected-footer .footer-right {
    text-align: center;
  }
}


/* ===== Footer spacing refinement ===== */
.corrected-footer {
  padding-top: 0;
}

.corrected-footer .footer-three {
  width: min(100% - 4rem, 1120px);
  margin-inline: auto;
  padding: 2.4rem 0 2rem;
  column-gap: clamp(2.5rem, 7vw, 6rem);
}

.corrected-footer .footer-left,
.corrected-footer .footer-centre,
.corrected-footer .footer-right {
  padding-inline: 0.5rem;
  line-height: 1.55;
}

.corrected-footer .footer-left p,
.corrected-footer .footer-centre p,
.corrected-footer .footer-right p {
  margin-top: 0.55rem;
  margin-bottom: 0;
}

.corrected-footer .footer-centre {
  padding-inline: 1rem;
}

.corrected-footer .footer-right {
  padding-right: 0.75rem;
}

.corrected-footer .footer-bottom {
  width: min(100% - 4rem, 1120px);
  margin-inline: auto;
  padding: 1rem 0 1.35rem;
  border-top: 1px solid rgba(255,255,255,0.18);
}

@media (max-width: 760px) {
  .corrected-footer .footer-three,
  .corrected-footer .footer-bottom {
    width: min(100% - 2.5rem, 1120px);
  }

  .corrected-footer .footer-three {
    padding: 2rem 0 1.6rem;
    gap: 1.6rem;
  }

  .corrected-footer .footer-left,
  .corrected-footer .footer-centre,
  .corrected-footer .footer-right {
    padding-inline: 0;
  }
}


/* ===== Compact footer + unified benefits strip ===== */

/* Make the footer shallower while retaining comfortable side margins */
.corrected-footer .footer-three {
  padding-top: 1.35rem;
  padding-bottom: 1.05rem;
  column-gap: clamp(2rem, 6vw, 5rem);
}

.corrected-footer .footer-left p,
.corrected-footer .footer-centre p,
.corrected-footer .footer-right p {
  margin-top: 0.3rem;
  line-height: 1.35;
}

.corrected-footer .footer-bottom {
  padding-top: 0.65rem;
  padding-bottom: 0.75rem;
}

/* Turn the existing four benefits into one continuous beige band */
.home .benefit-bar-wrap {
  background: #eadfcf;
  padding: 0;
  margin: 0 0 5px;
}

.home .benefit-bar-wrap .shell {
  width: min(100% - 3rem, 1120px);
  max-width: 1120px;
  margin-inline: auto;
  padding: 0;
}

.home .benefit-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  padding: 0;
  background: #eadfcf;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.home .benefit-bar > div {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 1.05rem 1.15rem;
  text-align: center;
}

.home .benefit-bar > div + div {
  border-left: 1px solid rgba(23, 59, 86, 0.16);
}

@media (max-width: 760px) {
  .home .benefit-bar-wrap .shell {
    width: min(100% - 2rem, 1120px);
  }

  .home .benefit-bar {
    grid-template-columns: 1fr 1fr;
  }

  .home .benefit-bar > div:nth-child(3) {
    border-left: 0;
  }

  .home .benefit-bar > div:nth-child(n+3) {
    border-top: 1px solid rgba(23, 59, 86, 0.16);
  }

  .corrected-footer .footer-three {
    padding-top: 1.25rem;
    padding-bottom: 0.9rem;
  }
}


/* ===== Match index hero title to Home Boarding hero heading ===== */
.home .sunshine-content h1,
.home #hero-title {
  font-family: Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(3rem, 6vw, 5.2rem) !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  margin: 0.12em 0 0.2em !important;
  text-shadow: none !important;
}


/* Index hero: tighten content 15px further toward header */
.home .sunshine-content {
  transform: translateY(-45px) !important;
}


/* Index hero: raise content another 25px */
.home .sunshine-content {
  transform: translateY(-70px) !important;
}


/* ===== Gallery image quality refinement ===== */
.gallery-grid {
  align-items: start;
}

.gallery-item {
  overflow: hidden;
  background: #f4efe7;
}

.gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: auto;
  object-fit: cover;
  object-position: center;
  transform: none;
  filter: none;
  backface-visibility: hidden;
}

/* Keep gallery thumbnails large enough that source images are not unnecessarily stretched */
@media (min-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* ===== Contact details refinement — address removed, map retained ===== */
.contact-page .contact-list {
  max-width: 560px;
  margin: 1.35rem 0 0;
}

.contact-page .contact-list > div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 1.1rem;
  align-items: baseline;
  padding: 0.9rem 0;
  border-top: 1px solid rgba(23, 59, 86, 0.16);
}

.contact-page .contact-list > div:last-child {
  border-bottom: 1px solid rgba(23, 59, 86, 0.16);
}

.contact-page .contact-list dt {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 1rem;
  font-weight: 600;
  color: #173b56;
}

.contact-page .contact-list dd {
  margin: 0;
  min-width: 0;
  line-height: 1.45;
}

.contact-page .contact-list dd a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

@media (max-width: 560px) {
  .contact-page .contact-list > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* ===== Temporary daycare waiting-list notice ===== */
.availability-notice {
  position: relative;
  z-index: 5;
  background: #eadfcf;
  color: #173b56;
  border-bottom: 1px solid rgba(23,59,86,.14);
}
.availability-notice-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  width:min(100% - 3rem,1120px);
  margin-inline:auto;
  padding:.85rem 0;
}
.availability-notice-copy {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.35rem .65rem;
  line-height:1.4;
}
.availability-notice-copy strong {
  font-family:Georgia,serif;
  font-size:1.05rem;
  font-weight:600;
}
.availability-notice-copy span { font-size:.95rem; }
.availability-notice-link {
  flex:0 0 auto;
  color:#173b56;
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:.1rem;
}
@media (max-width:760px) {
  .availability-notice-inner {
    width:min(100% - 2rem,1120px);
    align-items:flex-start;
    flex-direction:column;
    gap:.55rem;
    padding:.8rem 0;
  }
  .availability-notice-copy { display:block; }
  .availability-notice-copy strong,
  .availability-notice-copy span { display:block; }
  .availability-notice-copy span { margin-top:.2rem; }
}


/* ===== Index wordmark in header ===== */
.home .site-header .header-inner {
  justify-content: flex-start;
}
.home .index-brand {
  position: relative;
  margin-right: auto;
  padding: 4px 0 9px;
  color: #000;
  text-decoration: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.7vw, 2.45rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .12em;
  white-space: nowrap;
}
.home .index-brand::after {
  content: "";
  position: absolute;
  left: .03em;
  bottom: 0;
  width: 54%;
  height: 2px;
  background: var(--yellow);
}
@media (max-width: 820px) {
  .home .index-brand {
    font-size: clamp(1.55rem, 7vw, 2rem);
    letter-spacing: .09em;
    padding-bottom: 7px;
  }
}
\n\n/* ===== Consistent Dog Days wordmark across every page ===== */
.site-header .header-inner {
  display: flex;
  align-items: center;
}
.site-header .site-wordmark {
  position: relative;
  display: inline-block;
  margin-right: auto;
  padding: 4px 0 9px;
  color: #000;
  text-decoration: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.7vw, 2.45rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .12em;
  white-space: nowrap;
}
.site-header .site-wordmark::after {
  content: "";
  position: absolute;
  left: .03em;
  bottom: 0;
  width: 54%;
  height: 2px;
  background: var(--yellow);
}
@media (max-width: 820px) {
  .site-header .site-wordmark {
    font-size: clamp(1.45rem, 6vw, 1.9rem);
    letter-spacing: .09em;
    padding-bottom: 7px;
  }
}


/* ===== Branded Dog Days references ===== */
.footer-wordmark {
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: .12em;
  color: inherit;
}

/* ==============================================================
   COHESIVE MOBILE LAYOUT — 09 AUG 2026
   Desktop rules above are unchanged. Everything in this block
   applies only to tablet/phone widths.
   ============================================================== */
@media (max-width: 820px) {
  /* One consistent mobile header on every page. */
  .site-header,
  body:not(.home-page) .site-header,
  .home .site-header {
    position: relative !important;
    inset: auto !important;
    z-index: 100 !important;
    background: #fff !important;
    color: var(--navy) !important;
    border-bottom: 1px solid var(--line) !important;
  }

  .site-header .header-inner,
  .home .site-header .header-inner {
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .site-header .site-wordmark {
    color: #000 !important;
    font-size: clamp(1.25rem, 5.7vw, 1.75rem) !important;
    letter-spacing: .075em !important;
    padding-bottom: 6px !important;
  }

  .menu-toggle {
    display: block !important;
    margin-left: auto !important;
    color: var(--navy) !important;
    flex: 0 0 auto;
  }

  .site-nav {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    z-index: 120 !important;
    margin: 0 !important;
    padding: 14px 22px 18px !important;
    background: var(--navy-dark) !important;
    color: #fff !important;
    box-shadow: 0 12px 22px rgba(8,39,72,.18);
  }

  .site-nav.open { display: block !important; }
  .site-nav ul { display: block !important; }
  .site-nav a { display: block !important; padding: 11px 0 !important; }

  /* On the three pages carrying the temporary notice, use CSS order
     to place it after the hero on mobile only. The HTML remains in
     its original desktop order. */
  body.home,
  body.daycare-page,
  body.home-boarding-page {
    display: flex;
    flex-direction: column;
  }

  body.home > .site-header,
  body.daycare-page > .site-header,
  body.home-boarding-page > .site-header { order: 0; }

  body.home > .sunshine-hero,
  body.daycare-page > .hero,
  body.home-boarding-page > .hero { order: 1; }

  body.home > .availability-notice,
  body.daycare-page > .availability-notice,
  body.home-boarding-page > .availability-notice { order: 2; }

  body.home > main,
  body.daycare-page > main,
  body.home-boarding-page > main { order: 3; }

  body.home > .site-footer,
  body.daycare-page > .site-footer,
  body.home-boarding-page > .site-footer { order: 4; }

  /* Compact notice strip beneath the hero. */
  .availability-notice {
    position: relative !important;
    z-index: 10 !important;
    width: 100%;
  }

  .availability-notice-inner {
    width: min(100% - 1.5rem, 1120px) !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: .35rem .65rem !important;
    padding: .48rem 0 !important;
  }

  .availability-notice-copy {
    display: block !important;
    min-width: 0;
    line-height: 1.2 !important;
  }

  .availability-notice-copy strong {
    display: block !important;
    font-size: .86rem !important;
    line-height: 1.18 !important;
  }

  .availability-notice-copy span {
    display: block !important;
    margin-top: .08rem !important;
    font-size: .72rem !important;
    line-height: 1.22 !important;
  }

  .availability-notice-link {
    font-size: .74rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  /* Homepage mobile hero: keep the dog to the right of the copy. */
  .home .sunshine-hero-image {
    object-position: left center !important;
  }

  .home .sunshine-content {
    padding-top: 44px !important;
    width: min(100% - 28px, 1180px) !important;
  }

  /* Inner-page heroes no longer need to compensate for an overlay header. */
  body:not(.home-page) .hero-content {
    padding-top: 54px !important;
  }
}

@media (max-width: 480px) {
  .site-header .site-wordmark {
    font-size: 1.22rem !important;
    letter-spacing: .065em !important;
  }

  .availability-notice-inner {
    width: calc(100% - 1rem) !important;
    gap: .25rem .45rem !important;
    padding: .4rem 0 !important;
  }

  .availability-notice-copy strong { font-size: .8rem !important; }
  .availability-notice-copy span { font-size: .67rem !important; }
  .availability-notice-link { font-size: .68rem !important; }
}
