:root{
    --paper:#FBF8F1;
    --ink:#2B2A26;
    --ink-soft:#5A574E;
    --spruce:#0C2C62;
    --spruce-deep:#0A2250;
    --mist:#ECE7F2;
    --honey:#D3A44F;
    --honey-text:#96610F; /* AA-compliant honey for small text on light bg */
    --honey-soft:#F3E3C4;
    --plum:#7B5A9C;
    --plum-deep:#5E4480;
    --line:#E2DCCB;
    --display:'Young Serif', Georgia, serif;
    --body:'Nunito Sans', 'Segoe UI', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--body);font-size:18px;line-height:1.65;color:var(--ink);background:var(--paper);}
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
  h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;}
  h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:14px;}
  h3{font-size:1.25rem;margin-bottom:8px;}
  p.lede{font-size:1.1rem;color:var(--ink-soft);max-width:62ch;}
  .eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--spruce);margin-bottom:10px;}
  .btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:1rem;text-decoration:none;border-radius:999px;padding:14px 28px;transition:transform .15s ease, box-shadow .15s ease;}
  .btn:hover{transform:translateY(-1px);}
  .btn:focus-visible{outline:3px solid var(--honey);outline-offset:3px;}
  .btn-primary{background:var(--honey);color:var(--spruce-deep);box-shadow:0 2px 0 rgba(0,0,0,.12);}
  .btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff;}
  .btn-ghost-dark{border:2px solid var(--spruce);color:var(--spruce);}

  /* Photos */
  .hero-photo{margin:0;position:relative;}
  .hero-photo img{width:100%;max-height:520px;object-fit:cover;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);display:block;}
  .hero-photo figcaption{font-size:.8rem;color:#9FACC6;margin-top:10px;text-align:center;}
  .hh-card img{width:100%;height:230px;object-fit:cover;object-position:42% 38%;border-radius:10px;margin-bottom:18px;}
  /* Focal-point helpers: apply `fp-img` to any <img> and set --fp-x / --fp-y */
  .fp-img{width:100%;display:block;object-fit:cover;object-position:var(--fp-x,50%) var(--fp-y,50%);}
  /* Tuned focal-point for living-room.jpg (example). Adjust the --fp-x / --fp-y values as needed. */
  .living-room-fp{--fp-x:40%;--fp-y:30%;height:230px;border-radius:10px;margin-bottom:18px;}
  .daycard img{width:100%;height:170px;object-fit:cover;border-radius:10px;margin-bottom:16px;}
  .photo-dining{object-position:48% 42%;}
  .photo-care{object-position:62% 48%;}
  .photo-cookout{object-position:55% 50%;}
  .photo-living{object-position:36% 40%;}
  .respite-photo{width:100%;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.3);}
  .visit-photo{width:100%;height:250px;object-fit:cover;object-position:50% 62%;border-radius:16px;margin:24px 0 6px;}
  .visit-box img{width:100%;height:190px;object-fit:cover;object-position:36% 58%;border-radius:10px;margin-bottom:20px;}

  /* Header */
  header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;}
  .logo{font-family:var(--display);font-size:1.3rem;text-decoration:none;color:var(--spruce);display:flex;align-items:center;gap:10px;line-height:1;}
  .logo svg{flex:none;}
  .logo-text{display:flex;flex-direction:column;gap:2px;}
  .logo-text .logo-main{font-size:1.3rem;line-height:1;}
  .logo-text .logo-sub{font-family:var(--body);font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--honey-text);line-height:1;}
  @media(max-width:400px){.logo-text .logo-main{font-size:1.12rem;}}
  .nav-links{display:flex;gap:26px;align-items:center;font-size:.95rem;font-weight:600;}
  .nav-links a{text-decoration:none;color:var(--ink-soft);}
  .nav-links a:hover{color:var(--spruce);}
  .nav-phone{color:var(--spruce)!important;font-weight:700;}
  /* Header call button (persistent at all widths) */
  .nav-call{display:inline-flex;align-items:center;gap:5px;background:var(--spruce);color:#fff!important;padding:7px 13px;border-radius:999px;font-weight:700;text-decoration:none;font-size:.82rem;white-space:nowrap;}
  .nav-call:hover{background:var(--spruce-deep);}
  .nav-call svg{width:13px;height:13px;}
  .nav-right{display:flex;align-items:center;gap:14px;}
  /* Hamburger toggle (hidden on desktop) */
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;}
  .nav-toggle span{display:block;height:2px;width:22px;background:var(--spruce);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media(max-width:820px){
    .nav-toggle{display:flex;}
    .nav-links{
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;align-items:flex-start;gap:0;
      background:var(--paper);border-top:1px solid var(--line);
      box-shadow:0 12px 24px rgba(0,0,0,.10);
      padding:8px 0;display:none;z-index:60;
    }
    .nav-links.open{display:flex;}
    .nav-links a{padding:13px 24px;width:100%;font-size:1rem;}
    .nav-links a:hover{background:var(--mist);}
    header .wrap.nav{position:relative;}
  }
  @media(max-width:400px){
    .nav-call{padding:8px 12px;font-size:.82rem;}
  }

  /* Hero */
  .hero{background:linear-gradient(180deg,var(--spruce) 0%,var(--spruce-deep) 100%);color:#fff;padding:60px 0 0;position:relative;overflow:hidden;}
  .hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
  @media(max-width:820px){.hero-inner{grid-template-columns:1fr;}}
  .hero h1{font-size:clamp(2.1rem,5vw,3.3rem);margin-bottom:20px;}
  .hero p{font-size:1.15rem;line-height:1.6;color:#D6DCEA;max-width:52ch;margin-bottom:30px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
  .hero-note{font-size:.9rem;color:#9FACC6;}
  .houses{width:100%;height:auto;}
  .glow{animation:porch 5s ease-in-out infinite;transform-origin:center;}
  .glow.g2{animation-delay:1.6s;}
  .glow.g3{animation-delay:3.2s;}
  @keyframes porch{0%,100%{opacity:.75;}50%{opacity:1;}}
  @media(prefers-reduced-motion:reduce){.glow{animation:none;} html{scroll-behavior:auto;}}
  .trustbar{background:rgba(255,255,255,.07);border-top:1px solid rgba(255,255,255,.12);margin-top:64px;}
  .trustbar .wrap{display:flex;flex-wrap:wrap;gap:8px 36px;justify-content:center;padding:16px 24px;font-size:.88rem;color:#C2CCE0;font-weight:600;letter-spacing:.02em;}

  section{padding:88px 0;}
  .alt{background:var(--mist);}

  /* Households */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  @media(max-width:820px){.split{grid-template-columns:1fr;}}
  .stat-row{display:flex;gap:36px;margin-top:28px;flex-wrap:wrap;}
  .stat b{display:block;font-family:var(--display);font-size:2.2rem;color:var(--spruce);line-height:1;}
  .stat span{font-size:.85rem;color:var(--ink-soft);font-weight:600;}
  .hh-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(12,44,98,.08);}
  .hh-card ul{list-style:none;}
  .hh-card li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start;font-size:1rem;}
  .hh-card li:last-child{border-bottom:none;}
  .hh-card .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--honey);margin-top:9px;}

  /* Day rhythm */
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;}
  @media(max-width:820px){.cards3{grid-template-columns:1fr;}}
  .cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;}
  @media(max-width:900px){.cards4{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.cards4{grid-template-columns:1fr;}}
  .daycard{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;}
  .daycard .tod{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--honey-text);margin-bottom:8px;display:block;}
  .daycard p{font-size:.98rem;color:var(--ink-soft);}

  /* Care */
  .care-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px;}
  @media(max-width:820px){.care-grid{grid-template-columns:1fr;}}
  .care-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;}
  .care-item p{font-size:.98rem;color:var(--ink-soft);}

  /* Respite */
  .respite{background:var(--spruce);color:#fff;border-radius:24px;padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;}
  @media(max-width:820px){.respite{grid-template-columns:1fr;padding:36px;}}
  .respite h2{color:#fff;}
  .respite p{color:#D6DCEA;max-width:56ch;}
  .respite .btn-primary{margin-top:22px;}

  /* Steps */
  .steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px;}
  @media(max-width:820px){.steps{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.steps{grid-template-columns:1fr;}}
  .step{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;}
  .step::before{counter-increment:step;content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--honey-soft);color:var(--spruce);font-family:var(--display);font-size:1.05rem;margin-bottom:14px;}
  .step p{font-size:.95rem;color:var(--ink-soft);}

  /* Voices */
  blockquote{font-family:var(--display);font-size:clamp(1.2rem,2.6vw,1.6rem);line-height:1.4;color:var(--spruce);max-width:34ch;margin:0 auto;text-align:center;}
  .attrib{text-align:center;margin-top:18px;font-size:.9rem;color:var(--ink-soft);font-weight:600;}

  /* Family climax */
  .family{text-align:center;}
  .family .eyebrow{text-align:center;}
  .family h2{max-width:20ch;margin:0 auto 20px;}
  .family p.lede{margin:0 auto 16px;text-align:center;}
  .family .pull{font-family:var(--display);font-size:clamp(1.3rem,2.8vw,1.7rem);line-height:1.35;color:var(--spruce);max-width:30ch;margin:32px auto 0;}

  /* Visit */
  .visit{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  @media(max-width:820px){.visit{grid-template-columns:1fr;}}
  .visit-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;}
  .visit-box dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--spruce);margin-top:18px;}
  .visit-box dt:first-child{margin-top:0;}
  .visit-box dd{font-size:1.02rem;margin-top:2px;}
  .visit-box a{color:var(--spruce);font-weight:700;}
  .faq{margin-top:30px;}
  .faq details{border-bottom:1px solid var(--line);padding:16px 0;}
  .faq summary{font-weight:700;cursor:pointer;font-size:1rem;color:var(--ink);}
  .faq summary:focus-visible{outline:3px solid var(--honey);outline-offset:3px;}
  .faq p{margin-top:10px;font-size:.96rem;color:var(--ink-soft);}

  footer{background:var(--spruce-deep);color:#9FACC6;padding:48px 0;font-size:.88rem;}
  footer .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;}
  @media(max-width:820px){footer .wrap{grid-template-columns:1fr;}}
  footer strong{color:#fff;font-family:var(--display);font-weight:400;font-size:1.05rem;display:block;margin-bottom:8px;}
  footer a{color:#D6DCEA;}
  .fineprint{margin-top:26px;font-size:.78rem;color:#7E88A2;grid-column:1/-1;line-height:1.6;}

/* ===== Multi-page additions ===== */
/* Utility nav row */
.util-bar{background:var(--spruce-deep);color:#9FACC6;font-size:.82rem;}
.util-bar .wrap{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:22px;padding:5px 24px;}
.util-bar a{text-decoration:none;color:#C2CCE0;font-weight:600;display:flex;align-items:center;gap:6px;}
.util-bar a:hover{color:#fff;}
@media(max-width:560px){.util-bar{font-size:.9rem;}.util-bar .wrap{justify-content:center;gap:12px 20px;padding:8px 20px;}}

/* Interior page header band */
.page-head{background:linear-gradient(180deg,var(--spruce) 0%,var(--spruce-deep) 100%);color:#fff;padding:64px 0 56px;}
.page-head .eyebrow{color:#EBB75F;}
.page-head h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4.5vw,2.9rem);line-height:1.12;max-width:20ch;margin-bottom:16px;}
.page-head p{font-size:1.15rem;color:#D6DCEA;max-width:56ch;}

/* Generic prose page */
.prose{padding:72px 0;}
.prose .wrap{max-width:760px;}
.prose h2{margin-top:8px;}
.prose h3{margin-top:32px;color:var(--spruce);}
.prose p{margin-bottom:18px;}
.prose p.lede{margin-bottom:28px;}
.prose ul,.prose ol{margin:0 0 22px 22px;}
.prose li{margin-bottom:10px;}
.prose .callout{background:var(--mist);border-left:4px solid var(--honey);border-radius:0 12px 12px 0;padding:22px 26px;margin:28px 0;}
.prose .callout p:last-child{margin-bottom:0;}
.prose .signoff{font-family:var(--display);font-size:1.3rem;line-height:1.35;color:var(--spruce);margin:36px 0 8px;}

/* Comparison table */
.compare-wrap{overflow-x:auto;margin:32px 0;}
table.compare{border-collapse:collapse;width:100%;min-width:640px;font-size:.95rem;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
table.compare th,table.compare td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;}
table.compare thead th{background:var(--spruce);color:#fff;font-family:var(--body);font-weight:700;font-size:.9rem;}
table.compare tbody th{background:var(--mist);font-weight:700;color:var(--spruce);white-space:nowrap;}
table.compare tr:last-child td,table.compare tr:last-child th{border-bottom:none;}
.compare-note{font-size:.85rem;color:var(--ink-soft);margin-top:12px;}

/* Research cards */
.study{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin-bottom:20px;}
.study h3{margin-top:0;}
.study .finding{color:var(--ink-soft);}
.study .sourceline{font-size:.82rem;color:var(--ink-soft);margin-top:10px;font-style:italic;}

/* Steps as emotional stages */
.stage{border-left:3px solid var(--honey-soft);padding:4px 0 4px 26px;margin:0 0 8px;position:relative;}
.stage::before{content:'';position:absolute;left:-9px;top:8px;width:15px;height:15px;border-radius:50%;background:var(--honey);}
.stage h3{margin-top:0;}

/* CTA band */
.cta-band{background:var(--spruce);color:#fff;text-align:center;padding:60px 24px;}
.cta-band h2{color:#fff;max-width:22ch;margin:0 auto 12px;}
.cta-band p{color:#D6DCEA;max-width:48ch;margin:0 auto 24px;}

/* Newsletter (footer) */
.news{background:var(--mist);padding:44px 0;}
.news .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.news h3{color:var(--spruce);margin-bottom:4px;}
.news p{font-size:.95rem;color:var(--ink-soft);max-width:40ch;}
.news form{display:flex;gap:10px;flex-wrap:wrap;}
.news input{border:1px solid var(--line);border-radius:999px;padding:12px 18px;font-family:var(--body);font-size:.95rem;min-width:220px;}
.news input:focus-visible{outline:3px solid var(--honey);outline-offset:2px;}

/* Contact form */
.contact-form .form-row{margin-bottom:14px;}
.contact-form label{display:block;font-size:.82rem;font-weight:700;color:var(--spruce);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-family:var(--body);font-size:.95rem;background:var(--paper);color:var(--ink);}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--honey);outline-offset:2px;}
.contact-form textarea{resize:vertical;}
.form-success{background:var(--mist);border-radius:12px;padding:24px;margin-top:16px;}
.form-success p{font-size:.98rem;color:var(--spruce);}

/* ===== Compare cards ===== */
.compare-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 12px;}
@media(max-width:900px){.compare-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.compare-cards{grid-template-columns:1fr;}}
.ccard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;display:flex;flex-direction:column;}
.ccard.is-us{border:2px solid var(--honey);box-shadow:0 10px 30px rgba(211,164,79,.18);}
.ccard .ico{width:44px;height:44px;margin-bottom:14px;color:var(--spruce);}
.ccard.is-us .ico{color:var(--honey);}
.ccard h3{font-size:1.12rem;margin-bottom:4px;}
.ccard .bestfor{font-size:.9rem;color:var(--ink-soft);margin-bottom:14px;min-height:2.4em;}
.ccard ul{list-style:none;margin:0 0 16px;padding:0;font-size:.88rem;}
.ccard li{padding:5px 0;border-bottom:1px solid var(--line);color:var(--ink);}
.ccard li:last-child{border-bottom:none;}
.ccard .price{margin-top:auto;padding-top:14px;border-top:2px solid var(--mist);}
.ccard .price b{display:block;font-family:var(--display);font-size:1.35rem;color:var(--spruce);line-height:1.1;}
.ccard.is-us .price b{color:var(--honey);}
.ccard .price span{font-size:.78rem;color:var(--ink-soft);}
.ccard .tag{display:inline-block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--honey-text);margin-bottom:8px;}

/* ===== Deep-dive image + text rows (compare page) ===== */
.deep{padding:64px 0;}
.deep .wrap{max-width:1000px;}
.deep-intro{max-width:760px;margin-bottom:8px;}
.drow{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:40px 0;}
.drow.flip .dimg{order:2;}
@media(max-width:820px){.drow{grid-template-columns:1fr;gap:20px;}.drow.flip .dimg{order:0;}}
.drow .dimg img{width:100%;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.18);display:block;}
.drow .dtext h3{color:var(--spruce);margin-bottom:10px;font-size:1.35rem;}
.drow .dtext p{margin-bottom:14px;}
.drow .dtext .stat-line{font-family:var(--display);font-size:1.5rem;color:var(--honey-text);line-height:1.2;margin:6px 0 12px;}

/* ===== Embedded Microsoft Form ===== */
.msform-wrap{margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 4px 14px rgba(12,44,98,.06);}
.msform-wrap iframe{width:100%;min-height:600px;border:none;border-radius:10px;background:#fff;display:block;}
/* Desktop: show the inline embed, hide the fallback button */
.msform-button{display:none;}
/* Mobile: the MS Forms iframe collapses to a broken placeholder, so hide it and show a button instead */
@media(max-width:640px){
  .msform-wrap{padding:0;border:none;box-shadow:none;background:none;}
  .msform-embed{display:none;}
  .msform-button{display:inline-block;width:100%;text-align:center;margin-top:4px;}
}

/* ===== Location map ===== */
.map-link{display:block;text-decoration:none;margin:6px 0 4px;border-radius:12px;overflow:hidden;border:1px solid var(--line);position:relative;}
.map-embed{width:100%;height:200px;border:none;display:block;pointer-events:none;}
.map-cta{display:block;background:var(--spruce);color:#fff;text-align:center;font-weight:700;font-size:.9rem;padding:11px 16px;}
.map-link:hover .map-cta{background:var(--spruce-deep);}

/* Research study links & section dividers */
.study .sourceline a{color:var(--spruce);font-weight:700;text-decoration:none;border-bottom:1px solid var(--honey);}
.study .sourceline a:hover{color:var(--honey);}
.study .journal{font-size:.8rem;color:var(--honey-text);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.research-subhead{margin:44px 0 4px;font-size:1.5rem;color:var(--spruce);}

/* Research page category headers */
.cat-head{margin:56px 0 8px;padding-top:24px;border-top:2px solid var(--honey);font-size:1.7rem;color:var(--spruce);}
.cat-head:first-of-type{border-top:none;padding-top:0;margin-top:32px;}
.sub-head{margin:32px 0 4px;font-size:1.15rem;color:var(--spruce);}


/* Research category cards: 3-up, responsive, link hover */
.cat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 16px;}
@media(max-width:820px){.cat-cards{grid-template-columns:1fr;}}
.cat-cards .ccard{cursor:pointer;}
.cat-cards .ccard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(12,44,98,.12);border-color:var(--honey);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.cat-cards .ccard .tag{color:var(--honey-text);}

/* ===== Coming Soon banner (delete block in HTML to launch) ===== */
.coming-soon{background:var(--honey);color:#0A2250;text-align:center;font-weight:700;font-size:.9rem;padding:6px 16px;letter-spacing:.01em;}
.coming-soon span{opacity:.85;font-weight:600;}

/* ===== Partner logo grid (referrers page) ===== */
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:28px 0;}
@media(max-width:820px){.logo-grid{grid-template-columns:repeat(2,1fr);}}
.logo-cell{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;align-items:center;justify-content:center;min-height:90px;}
.logo-cell img{max-width:100%;max-height:56px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s;}
.logo-cell img:hover{filter:none;opacity:1;}


/* ===== Accessibility: skip to content ===== */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--spruce);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:200;font-weight:700;text-decoration:none;}
.skip-link:focus{left:0;}


/* Item 2: utility-bar phone number matches the cream util links */
.util-bar .nav-phone{color:#C2CCE0!important;}
.util-bar .nav-phone:hover{color:#fff!important;}


/* Item 7: hero Schedule a Tour button — honey bg, spruce text, nav-call button shape */
.hero-ctas{margin-top:32px;}
.btn-tour{display:inline-flex;align-items:center;gap:6px;background:var(--honey);color:var(--spruce);padding:7px 13px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;white-space:nowrap;}
.btn-tour:hover{background:#BE8A33;}
/* Item 9: hero trust line (revealed after transition) */
.hero-trust{color:#D6DCEA;opacity:.8;font-size:.9rem;margin-top:16px;}

/* ===== Events list (Families page) ===== */
.events-list{margin:20px 0 8px;}
.event-item{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:12px;}
.event-date{flex:none;width:58px;text-align:center;background:var(--mist);border-radius:10px;padding:8px 4px;}
.event-date .mon{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--honey-text);}
.event-date .day{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.1;color:var(--spruce);}
.event-body h4{font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--spruce);margin:0 0 3px;}
.event-body .when{font-size:.85rem;color:var(--ink-soft);font-weight:600;margin-bottom:6px;}
.event-body .desc{font-size:.92rem;color:var(--ink-soft);margin:0;}
.events-empty,.events-loading{color:var(--ink-soft);font-size:.95rem;padding:8px 0;}

/* ===== Add-to-calendar control (events) ===== */
.event-item{position:relative;}
.addcal{position:absolute;top:16px;right:16px;}
.addcal-toggle{background:var(--mist);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;color:var(--spruce);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s,border-color .15s,color .15s;}
.addcal-toggle:hover,.addcal-toggle[aria-expanded="true"]{background:var(--honey);border-color:var(--honey);color:#fff;}
.addcal-toggle svg{display:block;}
.addcal-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(12,44,98,.18);padding:6px;min-width:180px;z-index:30;display:flex;flex-direction:column;}
.addcal-menu[hidden]{display:none;}
.addcal-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--honey-text);padding:6px 14px 4px;}
.addcal-menu a{padding:10px 14px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:600;display:block;}
.addcal-menu a:hover{background:var(--mist);color:var(--spruce);}
/* keep the event text clear of the button */
.event-body{padding-right:44px;}

/* ===== Contact form (Welcome Home lead capture) ===== */
.lead-form{max-width:620px;}
.lead-form form{display:flex;flex-direction:column;gap:16px;margin:0;}
.lead-form .lead-row{display:flex;gap:16px;}
.lead-form .lead-row>label{flex:1 1 0;min-width:0;}
.lead-form label{display:flex;flex-direction:column;gap:6px;font-family:inherit;font-weight:600;font-size:.95rem;color:var(--ink);line-height:1.3;}
.lead-form input,.lead-form textarea{font-family:inherit;font-size:1rem;font-weight:400;width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);}
.lead-form textarea{resize:vertical;min-height:96px;}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--spruce);box-shadow:0 0 0 3px rgba(12,44,98,.12);}
.lead-form .sms-consent{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0;background:#fff;}
.lead-form .sms-consent legend{font-family:inherit;font-weight:700;font-size:.95rem;color:var(--ink);padding:0 6px;}
.lead-form .sms-consent .checkbox{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:.85rem;line-height:1.45;color:var(--ink);margin-bottom:12px;}
.lead-form .sms-consent .checkbox:last-of-type{margin-bottom:8px;}
.lead-form .sms-consent .checkbox input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--spruce);}
.lead-form .sms-links{margin:0;font-size:.85rem;color:var(--ink);}
.lead-form .sms-links a{color:var(--honey-text);font-weight:600;}
.lead-form .lead-submit{align-self:flex-start;}
.lead-form .lead-status{margin:0;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.95rem;}
.lead-form .lead-status.ok{background:var(--mist);color:var(--spruce-deep);}
.lead-form .lead-status.err{background:#FBE9E1;color:#8A3A1B;}
@media (max-width:560px){.lead-form .lead-row{flex-direction:column;gap:16px;}}


/* ===== brand refresh: navy / purple / gold ===== */
.logo-mark{height:36px;width:auto;display:block;}
.logo-sub{color:var(--plum);}
.nav-links a:hover{color:var(--plum);}
.util-bar a:hover{color:var(--plum)!important;}
.page-head .eyebrow{color:var(--honey);}
.nav-call{background:var(--plum);}
.nav-call:hover{background:var(--plum-deep);}
