/* Generated by tools/build.mjs. Edit the section CSS files, not this bundle. */
/* Edit each section in its own file. Order matters. */

/* variables.css */
/* Sunshine Daycare by Rachel — visual system. */
:root {
  --cream:#fffdf7;
  --paper:#fff;
  --ink:#3c2d25;
  --muted:#75665b;
  --yellow:#ffd25a;
  --yellow-soft:#fff2c8;
  --pink:#f8dfe0;
  --pink-strong:#b84d62;
  --blue:#e7f2fa;
  --mint:#eaf1df;
  --green:#315d4c;
  --line:#e9e2d7;
  --dark:#493327;
  --radius:26px;
  --shadow:0 15px 50px #4633210b;
  --heading:'Nunito',ui-rounded,'Trebuchet MS',sans-serif;
  --body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --content:1160px;
  --header-height:108px
}


/* global.css */
* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + 24px)
}

body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font:400 16px/1.7 var(--body);
  -webkit-font-smoothing:antialiased
}

body.menu-open {
  overflow:hidden
}

a {
  color:inherit;
  text-decoration:none
}

button,input,select {
  font:inherit
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

img {
  display:block;
  max-width:100%;
  height:auto
}

svg.icon {
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}

h1,h2,h3,h4,p {
  margin:0
}

h1,h2,h3,h4 {
  font-family:var(--heading);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.035em
}

h1 {
  font-size:clamp(2.8rem,4.45vw,4.15rem)
}

h2 {
  font-size:clamp(2.2rem,3.45vw,3.15rem)
}

h3 {
  font-size:1.45rem;
  letter-spacing:-.025em
}

p+p {
  margin-top:16px
}

p {
  color:var(--muted)
}

::selection {
  background:var(--yellow-soft);
  color:var(--ink)
}

:focus-visible {
  outline:3px solid var(--green);
  outline-offset:5px;
  border-radius:4px
}

[hidden] {
  display:none!important
}

.wrap {
  width:min(var(--content),calc(100% - 72px));
  margin-inline:auto
}

.section {
  padding:94px 0
}

.eyebrow {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.17em;
  text-transform:uppercase;
  margin-bottom:17px;
  color:var(--green)
}

.eyebrow svg.icon {
  width:16px;
  height:16px
}

.eyebrow.center {
  justify-content:center
}

.section-title {
  max-width:690px;
  margin-bottom:36px
}

.section-title.center {
  text-align:center;
  margin-inline:auto
}

.section-title.center .eyebrow {
  justify-content:center
}

.section-title p {
  margin-top:18px;
  max-width:600px
}

.section-title.center p {
  margin-inline:auto
}

.btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:13px;
  min-height:52px;
  border-radius:100px;
  border:1px solid transparent;
  padding:13px 24px;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  transition:transform .2s,background .2s,box-shadow .2s;
  cursor:pointer
}

.btn:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 18px #49332712
}

.btn-primary {
  background:var(--yellow);
  color:var(--ink)
}

.btn-primary:hover {
  background:#ffca3e
}

.btn-outline {
  background:transparent;
  border-color:var(--line)
}

.btn-white {
  background:white;
  color:var(--ink)
}

.btn svg.icon {
  width:19px;
  height:19px
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  font-size:14px;
  border-bottom:1px solid #b6aa96;
  padding-bottom:4px
}

.text-link svg.icon {
  width:17px;
  height:17px
}

.text-link:hover {
  color:var(--green)
}

.body-large {
  font-size:17px;
  line-height:1.8
}

.pill {
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:100px;
  padding:7px 12px;
  font-size:11px;
  line-height:1.5;
  font-weight:700
}

.pill svg.icon {
  width:14px;
  height:14px
}

.pill-mint {
  background:var(--mint);
  color:var(--green)
}

.icon-tile {
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:var(--yellow-soft)
}

.icon-tile svg.icon {
  width:25px;
  height:25px
}

.stars {
  color:#a66a08;
  font-size:19px;
  letter-spacing:2px;
  white-space:nowrap
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.skip-link {
  position:fixed;
  z-index:1000;
  top:-70px;
  left:16px;
  padding:10px 20px;
  background:var(--green);
  color:#fff
}

.skip-link:focus {
  top:10px
}

.soft-rule {
  border:0;
  border-top:1px solid var(--line);
  margin:32px 0
}

.intro-page {
  padding:66px 0 62px;
  text-align:center;
  border-bottom:1px solid var(--line);
  background:linear-gradient(120deg,#fffdf7,#fff7e4 55%,#f7f1eb)
}

.intro-page h1 {
  max-width:900px;
  margin:auto
}

.intro-page p {
  max-width:640px;
  margin:22px auto 0
}

.breadcrumb {
  font-size:12px;
  display:flex;
  gap:8px;
  justify-content:center;
  align-items:center;
  color:var(--muted);
  margin-bottom:27px
}

.breadcrumb a {
  text-decoration:underline;
  text-underline-offset:3px
}

.breadcrumb svg.icon {
  width:14px;
  height:14px
}

.article-copy {
  max-width:760px;
  margin:auto
}

.article-copy h2 {
  font-size:2rem;
  margin:35px 0 17px
}

.article-copy p {
  margin:16px 0
}

.draft-notice {
  background:var(--yellow-soft);
  padding:20px;
  border-radius:14px;
  color:var(--ink);
  margin-bottom:26px
}

.preview-label {
  font-size:11px;
  border:1px dashed #bdb0a0;
  padding:9px 14px;
  border-radius:10px;
  color:var(--muted);
  margin-top:22px;
  display:inline-block
}

.check-line {
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14px;
  margin-top:15px
}

.check-line svg.icon {
  color:var(--green);
  width:19px;
  height:19px;
  margin-top:3px
}

.check-line p {
  color:var(--ink)
}

.note {
  font-size:12px;
  line-height:1.6
}

.photo-note {
  font-size:11px;
  text-align:right;
  margin-top:9px;
  color:var(--muted)
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }

}


/* header.css */
.topline {
  background:var(--yellow-soft);
  font-size:11px;
  line-height:1.3;
  font-weight:500;
  padding:9px 0
}

.topline .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px
}

.topline span {
  display:flex;
  align-items:center;
  gap:7px
}

.topline svg.icon {
  width:14px;
  height:14px
}

.site-header {
  position:sticky;
  top:0;
  z-index:70;
  background:#fffdf7f5;
  backdrop-filter:blur(15px);
  border-bottom:1px solid var(--line)
}

.header-inner {
  height:var(--header-height);
  display:flex;
  align-items:center;
  gap:28px
}

.brand {
  display:block;
  width:170px;
  flex-shrink:0
}

.brand img {
  width:170px;
  height:96px;
  object-fit:contain;
  mix-blend-mode:multiply
}

.desktop-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  margin-left:auto
}

.nav-link {
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  padding:10px 0;
  position:relative
}

.nav-link[aria-current=page]::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:2px;
  border-radius:2px;
  background:#dba725
}

.nav-link:hover {
  color:var(--green)
}

.header-actions {
  display:flex;
  align-items:center;
  gap:14px
}

.header-cta {
  min-height:44px;
  padding:11px 19px;
  font-size:12px
}

.language-picker {
  position:relative
}

.language-picker summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  border:1px solid var(--line);
  border-radius:30px;
  padding:10px 12px;
  background:#fff
}

.language-picker summary::-webkit-details-marker {
  display:none
}

.language-picker summary .icon {
  width:15px;
  height:15px
}

.language-menu {
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:165px;
  padding:7px;
  background:white;
  box-shadow:0 10px 30px #3c2d2517;
  border:1px solid var(--line);
  border-radius:13px;
  z-index:90
}

.language-menu a {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  font-size:13px;
  border-radius:8px
}

.language-menu a:hover,.language-menu a[aria-current=true] {
  background:var(--yellow-soft)
}

.menu-toggle {
  display:none;
  width:43px;
  height:43px;
  background:white;
  border:1px solid var(--line);
  border-radius:50%;
  align-items:center;
  justify-content:center
}

.menu-toggle .close-icon {
  display:none
}

.menu-toggle[aria-expanded=true] .close-icon {
  display:block
}

.menu-toggle[aria-expanded=true] .open-icon {
  display:none
}

.mobile-menu {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:var(--cream);
  padding:20px 24px 28px;
  box-shadow:0 25px 25px #3c2d2512;
  max-height:calc(100dvh - var(--header-height));
  overflow:auto;
  border-bottom:1px solid var(--line)
}

.mobile-menu .nav-link {
  display:block;
  padding:12px 0;
  font-size:17px
}

.mobile-menu .nav-link[aria-current=page]::after {
  width:28px;
  right:auto
}

.mobile-menu .btn {
  width:100%;
  margin-top:17px
}

.mobile-menu .note {
  margin-top:18px;
  text-align:center
}


/* hero.css */
.hero {
  position:relative;
  padding:57px 0 58px;
  overflow:hidden
}

.hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:62px;
  align-items:center
}

.hero-copy {
  padding:15px 0
}

.hero-copy h1 {
  margin-bottom:22px
}

.hero-copy h1 .highlight {
  display:inline;
  background:linear-gradient(transparent 79%,#ffdb78 79%,#ffdb78 94%,transparent 94%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone
}

.hero-copy .body-large {
  max-width:470px
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  margin-top:29px
}

.hero-actions .text-link {
  font-size:13px;
  border:0
}

.hero-review {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:32px
}

.review-mark {
  height:40px;
  width:40px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:23px;
  color:#4285f4
}

.hero-review-text {
  font-size:11px;
  color:var(--muted);
  line-height:1.6
}

.hero-review-score {
  display:flex;
  gap:7px;
  align-items:center;
  color:var(--ink);
  font-size:13px
}

.hero-review-text .stars {
  font-size:14px;
  letter-spacing:1px
}

.hero-visual {
  position:relative;
  padding:12px 0 10px 18px;
  isolation:isolate
}

.hero-visual::before {
  content:'';
  position:absolute;
  inset:-4px -14px 35px 46px;
  background:var(--yellow-soft);
  border-radius:46% 43% 38% 32%;
  z-index:-1;
  transform:rotate(5deg)
}

.hero-photo {
  width:100%;
  height:535px;
  object-fit:cover;
  object-position:50% 57%;
  border-radius:150px 150px 26px 26px;
  box-shadow:0 8px 30px #3c2d250c
}

.sun-doodle {
  position:absolute;
  top:-24px;
  left:-17px;
  color:#e4ad20;
  width:88px;
  height:88px;
  transform:rotate(-12deg);
  z-index:2
}

.sun-doodle svg.icon {
  width:100%;
  height:100%;
  stroke-width:1.15
}

.photo-badge {
  position:absolute;
  left:-14px;
  bottom:35px;
  display:flex;
  align-items:center;
  gap:12px;
  background:#fffdf9;
  border:1px solid #efe7d5;
  border-radius:18px;
  padding:15px 19px;
  box-shadow:0 10px 35px #251b1521;
  transform:rotate(-3deg)
}

.photo-badge .icon-tile {
  width:43px;
  height:43px;
  border-radius:50%;
  background:var(--pink);
  color:#964552
}

.photo-badge strong {
  font-family:var(--heading);
  font-size:18px;
  font-weight:800;
  line-height:1.2;
  display:block
}

.photo-badge span {
  font-size:11px;
  color:var(--muted)
}

.photo-corner {
  position:absolute;
  right:-17px;
  top:69px;
  width:105px;
  height:105px;
  background:var(--mint);
  border:6px solid var(--cream);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  flex-direction:column;
  transform:rotate(9deg);
  box-shadow:0 5px 20px #3c2d2508
}

.photo-corner strong {
  font:900 32px/1 var(--heading)
}

.photo-corner span {
  font-size:9px;
  line-height:1.3;
  max-width:70px;
  margin-top:5px
}

.hero-visual .photo-note {
  padding-right:4px;
  font-size:10px;
  opacity:.8
}


/* trust-strip.css */
.trust-strip {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fffaf0
}

.trust-inner {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:27px 0;
  gap:22px
}

.trust-item {
  display:flex;
  align-items:center;
  gap:13px
}

.trust-item .icon-tile {
  width:41px;
  height:41px;
  background:transparent;
  border:1px solid #e5dcc5;
  border-radius:50%;
  color:#6e6244;
  flex-shrink:0
}

.trust-item .icon-tile .icon {
  width:20px;
  height:20px
}

.trust-item strong {
  font-size:13px;
  font-weight:600;
  display:block
}

.trust-item span {
  font-size:11px;
  color:var(--muted)
}


/* bulletin.css */
.bulletin-section {
  padding:67px 0 40px
}

.bulletin {
  background:#fdf0cd;
  border:1px solid #f3e2b4;
  border-radius:var(--radius);
  padding:32px 36px;
  display:grid;
  grid-template-columns:185px 1fr auto;
  gap:30px;
  align-items:center;
  position:relative;
  overflow:hidden
}

.bulletin-date {
  border-right:1px solid #d7bc8259;
  padding:7px 26px 7px 0
}

.bulletin-date .eyebrow {
  font-size:9px;
  letter-spacing:.15em;
  margin-bottom:8px;
  color:#765526
}

.bulletin-date strong {
  display:block;
  font-family:var(--heading);
  font-size:26px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.035em
}

.bulletin-date time {
  display:block;
  font-size:13px;
  letter-spacing:.13em;
  color:#735d41;
  margin-top:5px
}

.bulletin-body .pill {
  font-size:10px;
  padding:4px 9px;
  background:#fffaf0;
  color:#775924;
  margin-bottom:11px
}

.bulletin-body .pill:before {
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:#7d8850
}

.bulletin-body h2 {
  font-size:25px;
  letter-spacing:-.025em
}

.bulletin-body p {
  font-size:13px;
  margin-top:9px;
  max-width:520px;
  color:#6e604f
}

.bulletin .btn {
  font-size:12px;
  white-space:nowrap;
  background:var(--ink);
  color:white;
  min-height:45px;
  padding:12px 19px
}

.bulletin-status-note {
  font-size:10px;
  color:var(--muted);
  margin:11px 0 0;
  text-align:right
}


/* about.css */
.about-grid {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:89px;
  align-items:center
}

.about-panel {
  position:relative;
  padding:44px 36px;
  background:var(--pink);
  border-radius:28px;
  min-height:390px
}

.about-panel::before {
  content:'';
  position:absolute;
  width:90px;
  height:28px;
  top:-13px;
  left:calc(50% - 45px);
  background:#f3dc9cbf;
  transform:rotate(-6deg)
}

.about-panel .quote-heading {
  font:800 35px/1.2 var(--heading);
  letter-spacing:-.03em;
  max-width:310px
}

.about-panel .large-heart {
  position:absolute;
  right:25px;
  top:33px;
  width:55px;
  height:55px;
  color:#bb7180;
  transform:rotate(12deg)
}

.about-panel .large-heart .icon {
  width:100%;
  height:100%;
  stroke-width:1.3
}

.provider-names {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:37px
}

.provider-name {
  background:#fff9f5d9;
  border:1px solid #fff8f6;
  padding:17px;
  border-radius:18px
}

.provider-initial {
  width:39px;
  height:39px;
  background:#eddce0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--heading);
  font-size:18px;
  font-weight:800;
  margin-bottom:10px
}

.provider-name:nth-child(2) .provider-initial {
  background:#e5e9d8
}

.provider-name strong {
  font-size:16px;
  font-family:var(--heading);
  font-weight:800;
  display:block
}

.provider-name span {
  font-size:11px;
  color:var(--muted)
}

.about-panel .panel-footnote {
  font-size:12px;
  margin-top:20px;
  color:#744a51
}

.about-copy h2 {
  margin-bottom:22px
}

.about-copy p {
  font-size:15px
}

.about-copy .text-link {
  margin-top:24px
}

.about-copy .check-line {
  margin-top:15px
}

.team-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin-top:36px
}

.team-card {
  padding:33px;
  border-radius:var(--radius);
  background:var(--pink)
}

.team-card:nth-child(2) {
  background:var(--mint)
}

.team-card .provider-initial {
  height:65px;
  width:65px;
  font-size:28px;
  background:#fff9
}

.team-card h3 {
  font-size:27px;
  margin:20px 0 8px
}

.team-card .role {
  font-weight:600;
  font-size:12px;
  color:var(--green);
  margin-bottom:16px
}

.team-card p {
  font-size:15px
}

.values-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:23px
}

.value-card {
  padding:28px;
  border:1px solid var(--line);
  background:white;
  border-radius:22px
}

.value-card h3 {
  font-size:22px;
  margin:20px 0 13px
}

.value-card p {
  font-size:14px
}

.values-strip {
  background:#faf5ed
}

.about-quote {
  padding:60px 24px;
  text-align:center;
  background:var(--yellow-soft);
  border-radius:30px
}

.about-quote p {
  font-family:var(--heading);
  font-size:clamp(25px,3vw,40px);
  font-weight:800;
  color:var(--ink);
  line-height:1.3;
  max-width:820px;
  margin:auto
}


/* programs.css */
.care-section {
  background:#f2f6eb;
  position:relative
}

.care-section:before {
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:20px;
  background:var(--cream);
  clip-path:ellipse(54% 95% at 50% -3%)
}

.care-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}

.care-card {
  background:var(--paper);
  border:1px solid #e5eadb;
  border-radius:24px;
  padding:31px 27px;
  position:relative;
  overflow:hidden
}

.care-card .icon-tile {
  width:55px;
  height:55px;
  background:var(--yellow-soft);
  margin-bottom:25px
}

.care-card:nth-child(2) .icon-tile {
  background:var(--pink)
}

.care-card:nth-child(3) .icon-tile {
  background:var(--blue)
}

.care-card h3 {
  font-size:24px;
  margin-bottom:14px
}

.care-card p {
  font-size:14px;
  line-height:1.8
}

.care-card .card-number {
  position:absolute;
  top:24px;
  right:24px;
  color:#dfd8ce;
  font:800 14px var(--heading)
}

.section-bottom-link {
  text-align:center;
  margin-top:31px
}

.routine-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:19px
}

.routine-item {
  display:flex;
  gap:20px;
  align-items:flex-start;
  background:white;
  border:1px solid var(--line);
  padding:27px;
  border-radius:22px
}

.routine-item .icon-tile {
  flex-shrink:0;
  background:var(--blue)
}

.routine-item:nth-child(2n) .icon-tile {
  background:var(--pink)
}

.routine-item h3 {
  font-size:20px;
  margin:3px 0 10px
}

.routine-item p {
  font-size:14px
}

.detail-banner {
  background:var(--blue);
  border:1px solid #d6e5ee;
  padding:35px;
  border-radius:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:38px
}

.detail-banner h3 {
  font-size:23px;
  margin-bottom:14px
}

.detail-banner p {
  font-size:14px
}

.detail-banner>div+div {
  border-left:1px solid #c3d6e0;
  padding-left:40px
}

.small-info {
  background:var(--yellow-soft);
  border-radius:20px;
  padding:24px 30px;
  margin-top:30px
}

.small-info h3 {
  font-size:19px;
  margin-bottom:10px
}

.small-info p {
  font-size:14px
}


/* reviews.css */
.reviews-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  margin-bottom:35px
}

.reviews-heading .section-title {
  margin:0
}

.reviews-rating {
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:12px
}

.reviews-rating>strong {
  font:800 46px/1 var(--heading)
}

.reviews-rating .stars {
  display:block;
  font-size:16px;
  letter-spacing:2px
}

.reviews-rating small {
  color:var(--muted);
  font-size:11px;
  display:block;
  line-height:1.5
}

.reviews-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}

.review-card {
  border:1px solid var(--line);
  padding:29px;
  border-radius:23px;
  background:white;
  display:flex;
  flex-direction:column
}

.review-card:nth-child(2) {
  background:#fff8e8
}

.review-card .stars {
  font-size:16px;
  margin-bottom:20px
}

.review-card blockquote {
  font-size:15px;
  line-height:1.85;
  margin:0 0 23px;
  color:var(--ink)
}

.review-card .review-author {
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:auto
}

.review-avatar {
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--pink);
  font:800 13px var(--heading)
}

.review-card:nth-child(2) .review-avatar {
  background:var(--blue)
}

.review-card:nth-child(3) .review-avatar {
  background:var(--mint)
}

.review-author strong {
  font-size:12px;
  display:block;
  font-weight:600
}

.review-author small {
  font-size:10px;
  color:var(--muted);
  display:block
}

.review-source-note {
  font-size:11px;
  color:var(--muted);
  margin-top:17px;
  max-width:900px
}

.reviews-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:27px
}

.reviews-bottom .review-source-note {
  margin:0
}


/* location.css */
.location-section {
  padding:0 0 85px
}

.location-card {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:#eef3f9;
  border-radius:28px;
  overflow:hidden;
  border:1px solid #e0e9f1
}

.location-copy {
  padding:45px
}

.location-copy h2 {
  font-size:34px;
  margin-bottom:18px;
  max-width:420px
}

.location-copy p {
  font-size:14px;
  max-width:430px
}

.location-address {
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:600;
  font-size:14px;
  margin-top:26px
}

.location-copy .text-link {
  margin-top:23px
}

.location-art {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:44px;
  background:#e2edf7;
  overflow:hidden
}

.location-art::before,.location-art::after {
  content:'';
  position:absolute;
  background:#f5f8fcab;
  width:560px;
  height:64px;
  transform:rotate(-37deg);
  border-top:2px dashed #bfd1e2;
  border-bottom:2px dashed #bfd1e2
}

.location-art::after {
  transform:rotate(45deg)
}

.location-pin {
  position:relative;
  z-index:1;
  background:var(--cream);
  border:1px solid #d7dfdd;
  border-radius:28px;
  padding:27px 38px;
  text-align:center;
  box-shadow:0 12px 20px #526d7c14;
  transform:rotate(3deg)
}

.location-pin>.icon {
  width:37px;
  height:37px;
  color:var(--green);
  margin:0 auto 12px
}

.location-pin strong {
  display:block;
  font:800 22px var(--heading)
}

.location-pin span {
  font-size:12px;
  color:var(--muted)
}

.location-art .map-disclaimer {
  position:absolute;
  bottom:14px;
  left:0;
  right:0;
  text-align:center;
  z-index:1;
  font-size:9px;
  color:#596f80
}

.space-feature {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:center
}

.space-photo {
  width:100%;
  height:595px;
  object-fit:cover;
  border-radius:30px
}

.space-feature h2 {
  margin-bottom:22px
}

.space-feature p {
  font-size:15px
}

.space-attributes {
  display:grid;
  gap:22px;
  margin-top:26px
}

.space-attribute {
  display:flex;
  gap:16px;
  align-items:flex-start
}

.space-attribute .icon-tile {
  flex-shrink:0;
  background:var(--mint)
}

.space-attribute strong {
  font-size:16px;
  font-family:var(--heading);
  font-weight:800;
  display:block;
  margin-bottom:5px
}

.space-attribute p {
  font-size:13px
}

.pending-photos {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:27px 30px;
  border:1px dashed #c7b9a5;
  border-radius:23px;
  margin-top:40px;
  background:#fbf4e7
}

.pending-photos h3 {
  font-size:20px;
  margin-bottom:7px
}

.pending-photos p {
  font-size:13px
}


/* faq.css */
.faq-section {
  padding:0 0 90px
}

.faq-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:75px;
  align-items:start
}

.faq-heading h2 {
  margin-bottom:20px
}

.faq-heading p {
  font-size:14px;
  margin-bottom:23px
}

.faq-list {
  border-top:1px solid var(--line)
}

.faq-list details {
  border-bottom:1px solid var(--line)
}

.faq-list summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  font-weight:600;
  font-size:15px;
  line-height:1.5;
  padding:23px 0
}

.faq-list summary::-webkit-details-marker {
  display:none
}

.faq-list summary:after {
  content:'+';
  font-weight:400;
  font-size:24px;
  color:var(--muted);
  flex-shrink:0
}

.faq-list details[open] summary:after {
  content:'−'
}

.faq-answer {
  padding:0 38px 23px 0;
  font-size:14px;
  color:var(--muted)
}

.faq-page {
  max-width:850px;
  margin:auto
}

.faq-page .faq-list summary {
  font-size:17px;
  padding:27px 0
}

.faq-page .faq-answer {
  font-size:15px
}


/* final-cta.css */
.final-cta {
  position:relative;
  background:var(--dark);
  color:#fff8eb;
  padding:81px 0 65px;
  overflow:hidden;
  scroll-margin-top:var(--header-height)
}

.final-cta::before {
  content:'';
  position:absolute;
  top:-135px;
  right:-110px;
  width:350px;
  height:350px;
  border:55px solid #f1cd5b0b;
  border-radius:50%;
  pointer-events:none
}

.final-cta .eyebrow {
  color:#e7ce8b
}

.final-cta .contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:75px;
  position:relative
}

.contact-intro h2 {
  font-size:46px;
  margin-bottom:20px;
  max-width:440px
}

.contact-intro>p {
  color:#e0cfc3;
  font-size:15px;
  max-width:460px
}

.contact-steps {
  margin-top:28px;
  display:grid;
  gap:18px;
  list-style:none;
  padding:0;
  counter-reset:step
}

.contact-steps li {
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#f9ecdf;
  font-size:13px;
  line-height:1.6
}

.contact-steps li:before {
  counter-increment:step;
  content:'0' counter(step);
  font-size:10px;
  font-weight:700;
  color:var(--yellow);
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  border:1px solid #b8a1844a;
  border-radius:50%
}

.contact-note {
  display:flex;
  gap:9px;
  margin-top:29px;
  font-size:11px;
  color:#d7c3b6;
  max-width:410px
}

.contact-note .icon {
  width:16px;
  height:16px;
  color:var(--yellow);
  margin-top:3px
}

.family-request-card {
  display:block;
  background:#fffaf0;
  border:1px solid #fff9df;
  border-radius:24px;
  padding:27px 28px;
  color:var(--ink);
  transition:transform .2s
}

.family-request-card:hover {
  transform:translateY(-3px)
}

.family-request-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:17px
}

.family-request-top .icon-tile {
  background:var(--yellow);
  width:43px;
  height:43px;
  border-radius:12px
}

.family-request-card .pill {
  background:#e7ecdb;
  color:var(--green);
  font-size:9px;
  padding:5px 9px
}

.family-request-card h3 {
  font-size:25px;
  margin-bottom:10px
}

.family-request-card p {
  font-size:13px;
  line-height:1.8
}

.family-request-card .card-action {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:20px;
  font-size:12px;
  font-weight:700;
  padding-top:17px;
  border-top:1px solid var(--line)
}

.alternative-label {
  font-size:11px;
  text-align:center;
  color:#decaba;
  margin:18px 0 12px
}

.alternative-contacts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}

.contact-option {
  border:1px solid #c7ad963f;
  border-radius:17px;
  padding:18px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  gap:7px;
  background:#ffffff05;
  transition:background .2s
}

.contact-option:hover {
  background:#ffffff12
}

.contact-option .icon {
  color:var(--yellow);
  width:21px;
  height:21px
}

.contact-option strong {
  font-size:12px;
  font-weight:600
}

.contact-option small {
  font-size:9px;
  color:#dccabd
}

.contact-bottom {
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid #c7ad9630;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:11px;
  color:#d3bcaa
}

.contact-bottom span {
  display:flex;
  align-items:center;
  gap:8px
}

.contact-bottom .icon {
  width:15px;
  height:15px
}

.contact-bottom address {
  font-style:normal
}

.floating-sms {
  position:fixed;
  bottom:23px;
  right:24px;
  z-index:75;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:14px 19px;
  border-radius:100px;
  background:var(--green);
  border:2px solid #fffdf7;
  color:white;
  font-size:12px;
  font-weight:600;
  box-shadow:0 5px 24px #19382d2e;
  transition:transform .2s
}

.floating-sms:hover {
  transform:translateY(-3px)
}

.floating-sms .icon {
  width:20px;
  height:20px
}


/* footer.css */
.site-footer {
  padding:45px 0 28px;
  background:#fffaf1
}

.footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}

.footer-brand {
  display:flex;
  align-items:center;
  gap:24px
}

.footer-brand img {
  width:145px;
  mix-blend-mode:multiply
}

.footer-brand p {
  font-size:12px;
  max-width:255px
}

.footer-social {
  display:flex;
  align-items:center;
  gap:10px
}

.social-link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid var(--line);
  border-radius:50%;
  background:white
}

.social-link:hover {
  background:var(--yellow-soft)
}

.social-link .icon {
  width:17px;
  height:17px
}

.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:28px;
  font-size:10px;
  color:var(--muted)
}

.footer-links {
  display:flex;
  gap:17px;
  flex-wrap:wrap
}

.footer-links a:hover {
  text-decoration:underline
}

.privacy-options {
  font-size:10px;
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px
}

.footer-preview {
  font-size:10px;
  color:#6c634e;
  background:#f2e9d4;
  padding:4px 9px;
  border-radius:6px;
  display:inline-block;
  margin-top:12px
}

.consent-banner {
  position:fixed;
  left:22px;
  bottom:22px;
  z-index:150;
  max-width:430px;
  background:white;
  border:1px solid var(--line);
  padding:25px;
  border-radius:21px;
  box-shadow:0 15px 60px #25180b33
}

.consent-banner h2 {
  font-size:23px;
  margin-bottom:10px
}

.consent-banner p {
  font-size:12px;
  line-height:1.7
}

.consent-actions {
  display:flex;
  gap:10px;
  margin-top:19px
}

.consent-actions button {
  flex:1;
  font-size:12px;
  min-height:42px;
  padding:10px
}

.consent-banner>a {
  font-size:11px;
  text-decoration:underline;
  display:inline-block;
  margin-top:12px
}


/* responsive.css */
@media(min-width:1600px) {
  :root {
    --content:1240px
  }

  .hero-photo {
    height:570px
  }

}

@media(max-width:1100px) {
  .header-inner {
    gap:20px
  }

  .desktop-nav {
    gap:17px
  }

  .header-cta {
    padding-inline:15px
  }

  .brand,.brand img {
    width:148px
  }

  .hero-grid {
    gap:40px
  }

  .hero-photo {
    height:510px
  }

  .hero-copy h1 {
    font-size:52px
  }

  .hero-actions {
    gap:15px
  }

  .hero-actions .btn {
    font-size:13px;
    padding:14px 18px
  }

  .about-grid {
    gap:50px
  }

  .bulletin {
    grid-template-columns:160px 1fr;
    gap:25px
  }

  .bulletin>.btn {
    grid-column:2;
    justify-self:start;
    margin-top:-9px
  }

  .bulletin-date {
    grid-row:1/3
  }

  .contact-grid {
    gap:40px!important
  }

  .contact-intro h2 {
    font-size:40px
  }

  .reviews-grid {
    gap:16px
  }

  .review-card {
    padding:24px
  }

  .care-card {
    padding:28px 23px
  }

  .care-card h3 {
    font-size:22px
  }

  .space-feature {
    gap:35px
  }

  .faq-layout {
    gap:50px
  }

}

@media(max-width:920px) {
  .desktop-nav {
    gap:14px
  }

  .nav-link {
    font-size:11px
  }

  .header-inner {
    gap:15px
  }

  .header-actions {
    gap:10px
  }

  .header-cta {
    font-size:11px;
    padding:11px 14px
  }

  .brand,.brand img {
    width:140px
  }

  .hero-grid {
    gap:28px
  }

  .hero-copy h1 {
    font-size:45px
  }

  .hero-photo {
    height:485px
  }

  .hero-copy .body-large {
    font-size:15px
  }

  .photo-badge {
    left:0;
    padding:12px 15px
  }

  .photo-badge strong {
    font-size:16px
  }

  .photo-corner {
    height:85px;
    width:85px;
    right:-6px
  }

  .photo-corner strong {
    font-size:27px
  }

  .photo-corner span {
    font-size:8px
  }

  .trust-inner {
    gap:14px
  }

  .trust-item {
    gap:9px
  }

  .trust-item strong {
    font-size:11px
  }

  .trust-item span {
    font-size:10px
  }

  .about-grid {
    gap:35px
  }

  .about-panel {
    padding:35px 26px
  }

  .about-panel .quote-heading {
    font-size:29px
  }

  .about-panel .large-heart {
    width:42px;
    height:42px
  }

  .provider-names {
    gap:10px
  }

  .provider-name {
    padding:14px
  }

  .reviews-rating {
    gap:10px
  }

  .reviews-heading .section-title h2 {
    font-size:37px
  }

  .location-copy {
    padding:33px
  }

  .location-art {
    padding:33px
  }

  .contact-intro h2 {
    font-size:37px
  }

}

@media(max-width:800px) {
  :root {
    --header-height:88px
  }

  .wrap {
    width:calc(100% - 40px)
  }

  .topline {
    font-size:10px
  }

  .topline .topline-right {
    display:none
  }

  .topline .wrap {
    justify-content:center
  }

  .header-inner {
    justify-content:space-between
  }

  .brand,.brand img {
    width:142px
  }

  .brand img {
    height:79px
  }

  .desktop-nav,.header-cta {
    display:none
  }

  .header-actions {
    gap:11px;
    margin-left:auto
  }

  .menu-toggle {
    display:flex
  }

  .hero {
    padding:30px 0 37px
  }

  .hero-grid {
    grid-template-columns:1fr;
    gap:31px
  }

  .hero-copy {
    padding:9px 0 0
  }

  .hero-copy h1 {
    font-size:clamp(40px,7vw,57px);
    max-width:650px;
    margin-bottom:19px
  }

  .hero-copy .body-large {
    font-size:16px;
    max-width:580px
  }

  .hero-copy .eyebrow {
    font-size:10px;
    margin-bottom:13px
  }

  .hero-actions {
    margin-top:25px
  }

  .hero-actions .btn {
    font-size:13px
  }

  .hero-review {
    margin-top:24px
  }

  .hero-visual {
    max-width:570px;
    width:100%;
    margin:auto;
    padding:9px 5px 0 7px
  }

  .hero-photo {
    height:470px;
    border-radius:135px 135px 23px 23px;
    object-position:50% 60%
  }

  .hero-visual::before {
    inset:-2px -2px 35px 35px
  }

  .sun-doodle {
    width:66px;
    height:66px;
    top:1px;
    left:-3px
  }

  .photo-corner {
    right:4px;
    top:55px;
    width:91px;
    height:91px
  }

  .photo-badge {
    bottom:38px;
    left:0;
    padding:13px 18px
  }

  .photo-badge strong {
    font-size:18px
  }

  .trust-inner {
    grid-template-columns:1fr 1fr;
    padding:22px 0;
    gap:21px
  }

  .trust-item {
    gap:10px
  }

  .trust-item strong {
    font-size:12px
  }

  .trust-item span {
    font-size:10px
  }

  .section {
    padding:66px 0
  }

  .bulletin-section {
    padding:44px 0 16px
  }

  .bulletin {
    padding:25px;
    grid-template-columns:140px 1fr;
    gap:22px
  }

  .bulletin-date strong {
    font-size:25px
  }

  .bulletin-date .eyebrow {
    font-size:8px
  }

  .bulletin-body h2 {
    font-size:23px
  }

  .about-grid {
    grid-template-columns:1fr;
    gap:39px
  }

  .about-panel {
    min-height:0;
    max-width:560px;
    width:100%;
    padding:35px
  }

  .about-panel .quote-heading {
    font-size:32px;
    max-width:350px
  }

  .provider-names {
    margin-top:25px
  }

  .provider-name {
    padding:17px
  }

  .about-panel .large-heart {
    width:51px;
    height:51px;
    right:30px
  }

  .about-copy h2 {
    font-size:36px;
    max-width:470px
  }

  .care-grid,.reviews-grid {
    grid-template-columns:1fr
  }

  .care-card {
    padding:27px;
    display:grid;
    grid-template-columns:55px 1fr;
    gap:10px 22px
  }

  .care-card .icon-tile {
    grid-row:1/3;
    margin:0
  }

  .care-card h3 {
    margin:4px 0 2px;
    font-size:23px;
    padding-right:23px
  }

  .care-card p {
    grid-column:2;
    font-size:14px
  }

  .care-card .card-number {
    font-size:11px;
    right:22px
  }

  .section-title {
    margin-bottom:28px
  }

  .section-title.center {
    text-align:left
  }

  .section-title.center .eyebrow {
    justify-content:flex-start
  }

  .section-title.center p {
    margin-left:0
  }

  .section-title h2 {
    font-size:37px
  }

  .reviews-heading {
    align-items:flex-start;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom:27px
  }

  .reviews-heading .section-title h2 {
    font-size:37px
  }

  .reviews-rating {
    gap:12px
  }

  .reviews-rating>strong {
    font-size:37px
  }

  .review-card {
    padding:26px
  }

  .review-card blockquote {
    font-size:15px
  }

  .reviews-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:17px
  }

  .location-section {
    padding-bottom:60px
  }

  .location-card {
    grid-template-columns:1fr
  }

  .location-copy {
    padding:33px
  }

  .location-copy h2 {
    font-size:34px
  }

  .location-art {
    min-height:240px
  }

  .location-pin {
    padding:22px 35px
  }

  .location-art .map-disclaimer {
    font-size:10px
  }

  .faq-section {
    padding-bottom:66px
  }

  .faq-layout {
    grid-template-columns:1fr;
    gap:29px
  }

  .faq-heading h2 {
    font-size:35px
  }

  .faq-heading p {
    margin-bottom:18px
  }

  .faq-heading .text-link {
    font-size:13px
  }

  .final-cta {
    padding:59px 0 46px
  }

  .final-cta .contact-grid {
    grid-template-columns:1fr;
    gap:33px!important
  }

  .contact-intro h2 {
    font-size:38px;
    max-width:560px
  }

  .contact-intro>p {
    max-width:580px
  }

  .contact-steps {
    gap:14px;
    margin-top:22px
  }

  .contact-note {
    margin-top:22px
  }

  .contact-bottom {
    flex-wrap:wrap;
    gap:11px;
    margin-top:30px;
    font-size:11px
  }

  .footer-top {
    align-items:flex-start;
    gap:23px
  }

  .footer-brand {
    align-items:flex-start;
    flex-direction:column;
    gap:15px
  }

  .footer-brand img {
    width:150px
  }

  .footer-brand p {
    font-size:11px
  }

  .footer-social {
    margin-top:20px
  }

  .footer-bottom {
    align-items:flex-start;
    gap:18px;
    flex-direction:column;
    padding-bottom:45px
  }

  .floating-sms {
    bottom:17px;
    right:15px;
    padding:12px 16px;
    font-size:12px
  }

  .team-grid,.values-grid,.routine-grid {
    grid-template-columns:1fr
  }

  .detail-banner {
    grid-template-columns:1fr;
    gap:25px;
    padding:29px
  }

  .detail-banner>div+div {
    padding-left:0;
    border-left:0;
    border-top:1px solid #c3d6e0;
    padding-top:25px
  }

  .intro-page {
    padding:39px 0 43px
  }

  .intro-page h1 {
    font-size:39px
  }

  .intro-page p {
    font-size:15px;
    margin-top:18px
  }

  .breadcrumb {
    font-size:11px;
    margin-bottom:22px
  }

  .space-feature {
    grid-template-columns:1fr;
    gap:35px
  }

  .space-photo {
    height:500px;
    object-position:50% 60%
  }

  .space-feature h2 {
    font-size:36px
  }

  .pending-photos {
    padding:23px;
    align-items:flex-start
  }

  .pending-photos>.icon {
    display:none
  }

  .faq-page .faq-list summary {
    font-size:16px;
    padding:23px 0
  }

  .faq-page .faq-answer {
    font-size:14px
  }

  .team-card {
    padding:28px
  }

  .about-quote {
    padding:40px 27px
  }

}

@media(max-width:480px) {
  .wrap {
    width:calc(100% - 36px)
  }

  h1 {
    letter-spacing:-.035em
  }

  .hero-copy h1 {
    font-size:41px;
    line-height:1.1
  }

  .hero-copy .eyebrow {
    font-size:9px;
    letter-spacing:.13em
  }

  .hero-copy .body-large {
    font-size:14px;
    line-height:1.85
  }

  .hero-actions {
    gap:14px
  }

  .hero-actions .btn {
    font-size:12px;
    min-height:48px;
    padding:12px 18px
  }

  .hero-actions .text-link {
    font-size:12px
  }

  .hero-photo {
    height:380px;
    border-radius:105px 105px 22px 22px
  }

  .hero-review {
    margin-top:24px
  }

  .photo-badge {
    bottom:36px;
    left:0;
    padding:12px 15px
  }

  .photo-badge strong {
    font-size:16px
  }

  .photo-badge span {
    font-size:10px
  }

  .photo-badge .icon-tile {
    width:36px;
    height:36px
  }

  .photo-corner {
    width:80px;
    height:80px;
    top:44px;
    right:1px;
    border-width:4px
  }

  .photo-corner strong {
    font-size:25px
  }

  .photo-corner span {
    font-size:8px
  }

  .sun-doodle {
    width:57px;
    height:57px;
    left:-2px;
    top:-2px
  }

  .trust-item .icon-tile {
    width:34px;
    height:34px;
    flex-shrink:0
  }

  .trust-item .icon-tile .icon {
    width:18px;
    height:18px
  }

  .trust-item strong {
    font-size:11px
  }

  .trust-item span {
    font-size:9px
  }

  .bulletin {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:21px;
    padding:26px
  }

  .bulletin-date {
    border:0;
    border-bottom:1px solid #d7bc8259;
    display:grid;
    grid-template-columns:1fr auto;
    width:100%;
    padding:0 0 16px;
    gap:4px 13px;
    align-items:center
  }

  .bulletin-date .eyebrow {
    grid-column:1/3;
    font-size:8px;
    margin-bottom:5px
  }

  .bulletin-date strong {
    font-size:26px
  }

  .bulletin-date time {
    margin:0;
    font-size:13px
  }

  .bulletin-body h2 {
    font-size:25px
  }

  .bulletin-body p {
    font-size:13px
  }

  .bulletin>.btn {
    margin:0;
    font-size:12px
  }

  .bulletin-status-note {
    text-align:left;
    font-size:10px
  }

  .about-panel {
    padding:31px 25px;
    border-radius:23px
  }

  .about-panel .quote-heading {
    font-size:30px;
    max-width:230px
  }

  .about-panel .large-heart {
    width:40px;
    height:40px;
    right:19px;
    top:28px
  }

  .provider-name {
    padding:15px 12px
  }

  .provider-name strong {
    font-size:16px
  }

  .provider-name span {
    font-size:10px
  }

  .about-copy h2,.section-title h2,.reviews-heading .section-title h2 {
    font-size:34px
  }

  .about-copy p {
    font-size:14px
  }

  .care-card {
    gap:9px 17px;
    padding:24px 22px;
    grid-template-columns:43px 1fr
  }

  .care-card .icon-tile {
    width:43px;
    height:43px;
    border-radius:13px
  }

  .care-card .icon-tile .icon {
    width:23px;
    height:23px
  }

  .care-card h3 {
    font-size:21px;
    margin-top:7px
  }

  .care-card p {
    grid-column:1/3;
    font-size:13px;
    margin-top:6px
  }

  .care-card .card-number {
    top:28px;
    right:18px
  }

  .location-copy {
    padding:29px 26px
  }

  .location-copy h2 {
    font-size:32px
  }

  .location-address {
    font-size:12px;
    gap:8px
  }

  .location-art {
    min-height:225px
  }

  .faq-heading h2 {
    font-size:32px
  }

  .faq-list summary {
    font-size:14px;
    gap:16px
  }

  .faq-answer {
    font-size:13px;
    padding-right:16px
  }

  .contact-intro h2 {
    font-size:36px
  }

  .contact-intro>p {
    font-size:14px
  }

  .family-request-card {
    padding:24px
  }

  .family-request-card h3 {
    font-size:24px
  }

  .family-request-card .pill {
    font-size:8px
  }

  .family-request-card p {
    font-size:12px
  }

  .contact-option {
    padding:16px 5px
  }

  .contact-option strong {
    font-size:11px
  }

  .contact-option small {
    font-size:8px
  }

  .alternative-contacts {
    gap:8px
  }

  .footer-brand p {
    max-width:220px
  }

  .footer-top {
    gap:12px
  }

  .footer-social {
    gap:7px
  }

  .social-link {
    width:34px;
    height:34px
  }

  .footer-links {
    gap:15px
  }

  .consent-banner {
    left:13px;
    right:13px;
    bottom:13px;
    max-width:none
  }

  .space-photo {
    height:440px
  }

  .intro-page h1 {
    font-size:35px
  }

  .routine-item {
    padding:22px;
    gap:15px
  }

  .routine-item .icon-tile {
    width:40px;
    height:40px
  }

  .routine-item h3 {
    font-size:19px
  }

  .routine-item p {
    font-size:13px
  }

  .contact-bottom span {
    font-size:10px
  }

  .photo-note {
    font-size:10px
  }

}



/* updates.css */
/* Sunshine v2 — refinements to the approved visual identity.
   Keep the original section styles. These scoped refinements run last. */

/* A real, prominent form action; the whole information card is no longer a link. */
.family-request-card:hover { transform: none; }
.family-request-card { padding: 29px; }
.family-request-label { margin: 0 0 9px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.family-request-card h3 { font-size: clamp(26px, 2.2vw, 31px); line-height: 1.17; }
.family-request-card > p { font-size: 14px; }
.request-highlights { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 19px; color: var(--green); font-size: 11px; font-weight: 600; }
.request-highlights span { display: inline-flex; align-items: center; gap: 6px; }
.request-highlights span::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.request-button { width: 100%; margin-top: 23px; min-height: 56px; font-size: 15px; justify-content: space-between; padding-inline: 23px; }
.family-request-card .request-note { margin-top: 12px; font-size: 11px; color: #6b5b4e; text-align: center; line-height: 1.6; }
.alternative-label { margin-top: 22px; font-size: 12px; color: #f6e7db; }
.contact-option { background: #ffffff08; border-color: #bc9f816b; min-height: 111px; }
.contact-option strong { font-size: 13px; }
.contact-option small { color: #f1e2d6; font-size: 10px; }
.email-help { margin-top: 19px; }
.email-help > p { color: #e4d2c3; font-size: 11px; }
.email-copy-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 15px; margin-top: 6px; }
.email-copy-row > a { color: #fff5e6; font-size: 12px; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.copy-email { display: inline-flex; align-items: center; gap: 6px; padding: 8px 11px; min-height: 38px; color: #fff9ed; border: 1px solid #d4b79988; background: transparent; border-radius: 9px; font-size: 11px; }
.copy-email:hover { background: #ffffff12; }
.copy-email .icon { width: 14px; height: 14px; }
.copy-status { display: block; min-height: 1.5em; margin-top: 5px; font-size: 11px; color: #fff1c5; }
.contact-bottom > a { display: inline-flex; align-items: center; gap: 8px; color: #f5e6d8; }
.final-cta :focus-visible { outline-color: #ffda80; }
.family-request-card :focus-visible { outline-color: var(--green); }

/* Everyday activities: six distinct cards instead of overlapping generic sections. */
.activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.activity-card { padding: 29px 26px; background: var(--paper); border: 1px solid #e0e7d7; border-radius: 23px; }
.activity-card .icon-tile { margin-bottom: 21px; width: 49px; height: 49px; background: var(--yellow-soft); }
.activity-card:nth-child(3n + 2) .icon-tile { background: var(--pink); }
.activity-card:nth-child(3n) .icon-tile { background: var(--blue); }
.activity-card:nth-child(4) .icon-tile { background: var(--mint); }
.activity-card h3 { margin-bottom: 12px; font-size: 23px; }
.activity-card p { font-size: 14px; line-height: 1.75; }

/* No missing-photo requests: these finished icon panels remain until a real image exists. */
.spaces-section { padding-top: 77px; padding-bottom: 20px; }
body[data-page="space"] .spaces-section { padding-top: 0; padding-bottom: 85px; }
.spaces-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 23px; }
.space-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; min-width: 0; }
.photo-slot { aspect-ratio: 16 / 10; width: 100%; position: relative; isolation: isolate; overflow: hidden; background: var(--blue); }
.photo-slot--atividades { background: var(--pink); }
.photo-slot--playground { background: var(--mint); }
.photo-slot--refeicoes { background: var(--yellow-soft); }
.photo-slot--entrada { background: #f0e6dc; }
.photo-fallback { display: grid; place-items: center; position: absolute; inset: 0; color: var(--green); }
.photo-fallback::before { content: ''; position: absolute; height: 112px; width: 112px; border-radius: 42% 58% 50% 48%; background: #fff9; transform: rotate(-8deg); z-index: -1; }
.photo-fallback::after { content: ''; position: absolute; width: 130px; height: 130px; border: 1px solid #fff9; border-radius: 50%; transform: translate(16px, -5px); z-index: -1; }
.photo-fallback .icon { width: 47px; height: 47px; stroke-width: 1.25; }
.photo-fallback-dot { position: absolute; width: 13px; height: 13px; border-radius: 50%; background: #dcaf39; top: 23%; right: 27%; }
.photo-slot .slot-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.has-photo > .photo-fallback { display: none; }
.space-card-copy { padding: 24px; }
.space-card-copy h3 { font-size: 23px; margin-bottom: 10px; }
.space-card-copy p { font-size: 14px; line-height: 1.75; }
.portrait-slot { position: relative; overflow: hidden; }
.portrait-slot > .slot-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.portrait-slot.has-photo { color: transparent; }
.team-card .portrait-slot.has-photo { width: 108px; height: 108px; }

/* The listed places are nearby communities, not separate business locations. */
.nearby-communities { margin-top: 28px; border-top: 1px solid #bfcfdd; padding-top: 21px; }
.nearby-communities h3 { font-family: var(--body); font-size: 12px; font-weight: 700; letter-spacing: 0; margin: 0 0 12px; }
.nearby-communities ul { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 0; }
.nearby-communities li { display: inline-block; font-size: 11px; line-height: 1.5; color: #3a5261; background: #ffffffa8; border: 1px solid #dbe5ec; border-radius: 100px; padding: 5px 10px; }

/* Footer: useful navigation and real contact actions, with visible brand colors. */
.site-footer { padding: 58px 0 31px; }
.footer-grid { display: grid; grid-template-columns: 1fr .72fr 1.1fr; gap: 58px; }
.footer-grid .footer-brand { display: block; }
.footer-grid .footer-brand img { width: 151px; }
.footer-grid .footer-brand p { margin-top: 17px; font-size: 12px; max-width: 300px; }
.footer-grid h2 { font-family: var(--body); font-size: 13px; font-weight: 700; letter-spacing: .01em; margin: 6px 0 19px; }
.footer-grid nav { display: grid; gap: 10px; }
.footer-grid nav a { display: inline-flex; align-items: center; gap: 8px; width: fit-content; font-size: 13px; padding-block: 3px; }
.footer-grid nav .icon { width: 16px; height: 16px; }
.footer-grid a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-contact-line { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; line-height: 1.8; margin-bottom: 14px; width: fit-content; max-width: 100%; overflow-wrap: anywhere; }
.footer-contact-line .icon { width: 17px; height: 17px; margin-top: 2px; color: var(--green); }
.footer-contact-line address { font-style: normal; }
.footer-social { margin-top: 20px; gap: 11px; }
.footer-social .social-link { width: 41px; height: 41px; border: 0; color: #fff; }
.footer-social .social-link .icon { width: 21px; height: 21px; }
.social-facebook, .social-facebook:hover { background: #0866ff; }
.social-instagram, .social-instagram:hover { background: radial-gradient(circle at 25% 105%, #ffd779 0, #f77737 23%, #db2674 53%, #9b36b7 75%, #5758c9 100%); }
.social-link:hover { transform: translateY(-2px); }
.footer-bottom { margin-top: 35px; gap: 20px; flex-wrap: wrap; }
.mategrowth-credit { white-space: nowrap; }
.space-main-media { margin: 0; min-width: 0; }
.space-main-media img { width: 100%; }

/* The header groups provide one heading per section; only wrappers become contents. */
@media (max-width: 1050px) {
  .footer-grid { gap: 35px; grid-template-columns: .9fr .7fr 1.2fr; }
}
@media (max-width: 800px) {
  .hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .hero-copy { display: contents; }
  .hero-title { grid-row: 1; padding-top: 8px; }
  .hero-title h1 { margin-bottom: 0; }
  .hero-visual { grid-row: 2; margin: 0 auto; padding-top: 12px; }
  .hero-copy > .body-large { grid-row: 3; margin: 0; }
  .hero-actions { grid-row: 4; margin-top: 0; }
  .hero-review { grid-row: 5; margin-top: 0; }
  .hero-photo { height: 430px; }
  .photo-badge { bottom: 19px; }
  .about-copy { display: contents; }
  .about-heading { order: 0; }
  .about-heading h2 { margin-bottom: 0; }
  .about-grid > .about-panel { order: 1; }
  .about-details { order: 2; }
  .about-details p { font-size: 15px; }
  .about-details > .text-link { margin-top: 22px; }
  .activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
  .activity-card { padding: 25px 23px; }
  .activity-card h3 { font-size: 22px; }
  .spaces-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .spaces-section { padding-top: 62px; }
  .family-request-card { padding: 28px; }
  .family-request-card h3 { font-size: 29px; }
  .footer-grid { grid-template-columns: .7fr 1fr; gap: 30px; }
  .footer-grid .footer-brand { grid-column: 1 / -1; }
  .footer-grid .footer-brand p { max-width: 450px; }
  .footer-grid nav a { min-height: 35px; }
  .footer-contact-line { min-height: 35px; }
  .footer-bottom { padding-bottom: 57px; }
  /* Our Space: title -> main image -> lead -> description, without duplicating photos. */
  .space-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 25px; padding: 31px 20px 60px; }
  .space-overview > .intro-page,
  .space-overview > .intro-page > .wrap,
  .space-overview > .space-details,
  .space-overview > .space-details > .wrap,
  .space-overview .space-feature { display: contents; }
  .space-heading { order: 0; text-align: center; }
  .space-heading .eyebrow { justify-content: center; }
  .space-main-media { order: 1; }
  .space-overview .space-lead { order: 2; margin: 0; text-align: left; max-width: none; font-size: 15px; }
  .space-description { order: 3; }
  .space-overview .space-photo { height: 425px; }
  body[data-page="space"] .spaces-section { padding-bottom: 60px; }
}
@media (max-width: 520px) {
  .hero-grid { gap: 22px; }
  .hero-photo { height: 365px; }
  .hero-title h1 { font-size: 40px; }
  .hero-actions { align-items: center; }
  .hero-actions .text-link { min-height: 40px; }
  .activity-grid { grid-template-columns: minmax(0, 1fr); }
  .activity-card { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 8px 17px; padding: 24px 22px; }
  .activity-card .icon-tile { width: 43px; height: 43px; margin: 0; grid-column: 1; grid-row: 1 / 3; }
  .activity-card .icon { width: 23px; height: 23px; }
  .activity-card h3 { grid-column: 2; margin: 2px 0 0; font-size: 21px; line-height: 1.2; }
  .activity-card p { grid-column: 2; font-size: 13px; }
  .spaces-grid { grid-template-columns: minmax(0, 1fr); }
  .photo-slot { aspect-ratio: 16 / 9; }
  .space-card-copy { padding: 24px; }
  .space-card-copy h3 { font-size: 24px; }
  .family-request-card { padding: 25px 23px; }
  .family-request-card h3 { font-size: 27px; }
  .family-request-card > p { font-size: 13px; }
  .family-request-card .request-note { font-size: 11px; }
  .request-button { font-size: 14px; padding: 15px 18px; }
  .request-highlights { font-size: 10px; gap: 8px 11px; }
  .alternative-contacts { gap: 8px; }
  .contact-option { min-height: 109px; padding-inline: 5px; }
  .contact-option strong { font-size: 12px; }
  .contact-option small { font-size: 9px; }
  .email-copy-row > a { font-size: 12px; }
  .nearby-communities li { font-size: 11px; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .footer-nav-column nav { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 15px; }
  .footer-grid h2 { margin-bottom: 12px; }
  .footer-grid .footer-brand p { font-size: 12px; }
  .footer-contact-line { font-size: 13px; margin-bottom: 8px; }
  .footer-links { row-gap: 14px; }
  .space-overview { padding-inline: 18px; }
  .space-overview .space-photo { height: 365px; }
  .space-heading h1 { font-size: 35px; }
  .space-description h2 { font-size: 33px; }
}
@media (max-width: 370px) {
  .hero-title h1 { font-size: 36px; }
  .hero-photo, .space-overview .space-photo { height: 315px; }
  .photo-badge { padding: 11px 12px; gap: 8px; }
  .photo-badge strong { font-size: 15px; }
  .contact-option strong { font-size: 11px; }
  .family-request-card h3 { font-size: 25px; }
}

