/* Shared heading scale and section rhythm for the approved homepage. */
:root{--section-title:clamp(30px,3.2vw,44px);--compact-title:clamp(28px,2.65vw,36px);--section-space:56px}
.collection-heading h2,.place-heading h2,.spaces-heading h2{font-size:var(--section-title);line-height:1.4;letter-spacing:-.5px;text-wrap:balance}
.journey h2,.faq h2,.contact-panel h2{font-size:var(--compact-title);line-height:1.4;letter-spacing:-.4px;text-wrap:balance}
.collection-heading .eyebrow,.place-heading .eyebrow,.spaces-heading .eyebrow,.journey .eyebrow,.faq .eyebrow,.contact-panel .eyebrow{font-size:13px;line-height:1.6;margin:0 0 12px;letter-spacing:1.2px}
.care-collection{padding-block:var(--section-space) 40px}
.place{padding-block:var(--section-space) 40px}
.spaces{padding-block:var(--section-space) 32px}
.place-heading>p:last-child,.collection-lead,.spaces-heading>p{font-size:20px;line-height:1.7;margin-top:10px;max-width:65ch}
.place-composition{padding-top:28px}
.visit-card-title{font-size:24px;line-height:1.45;gap:18px}
.visit-card-title .accent-rule{flex-shrink:0}
.visit-description{font-size:18px;line-height:1.8;margin-top:14px}
.space-story h3{font-size:24px;line-height:1.45;margin-top:8px}
.space-story figcaption p{font-size:16px;line-height:1.7;margin-top:6px}
.space-story figcaption{padding-top:20px}
.spaces-note{line-height:1.8}
.journey{padding-block:40px var(--section-space);border-top:1px solid var(--line)}
.journey>.eyebrow{justify-content:center}
.journey ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 24px}
.journey li{justify-content:center;gap:18px;font-size:24px;line-height:1.5;min-width:0}
.journey li>span{font-size:28px;flex-shrink:0}
.journey>p:not(.eyebrow){font-size:18px}
.closing-grid{width:min(1280px,89%);grid-template-columns:1.1fr 1fr;gap:40px;margin:0 auto var(--section-space);align-items:stretch}
.faq{padding:36px 0;min-width:0}
.contact-panel{padding:36px;justify-content:flex-start;min-width:0}
.faq .section-lead,.contact-panel>.contact-lead{font-size:18px;line-height:1.7;margin:10px 0 0}
.faq-list{margin-top:24px}
.faq summary{font-size:17px;min-height:54px;line-height:1.7;padding-block:12px}
.faq summary>span{flex-shrink:0}
.contact-panel>.button{width:auto;max-width:100%;min-height:52px;margin-top:24px;padding-inline:24px;font-size:17px;gap:20px;text-align:center}
.contact-channels{margin-top:30px;max-width:340px;gap:12px}
.footer-inner{padding-block:30px}
.footer-meta{flex-wrap:wrap;justify-content:flex-end;gap:10px 24px}
.footer-meta>div{display:flex;align-items:center;flex-wrap:wrap}
.preview-note{line-height:1.8;max-width:1280px;margin-inline:auto}
@media(max-width:1100px){.closing-grid{gap:28px}.contact-panel{padding:36px 24px}.journey li{font-size:22px;gap:14px}.visit-card-title{font-size:22px}.visit-description{font-size:17px}}
@media(max-width:900px){.closing-grid{grid-template-columns:1fr}.faq{padding:28px 0 0}.contact-panel{padding:32px}.contact-channels{max-width:370px}.footer-meta{justify-content:flex-start}}
@media(max-width:760px){
  :root{--section-title:30px;--compact-title:28px;--section-space:40px}
  .care-collection{padding-bottom:32px}.place{padding-bottom:32px}.spaces{padding-bottom:28px}
  .collection-heading,.spaces-heading{margin-bottom:24px}
  .place-heading>p:last-child,.collection-lead,.spaces-heading>p{font-size:18px;line-height:1.75;margin-top:10px}
  .place-composition{padding-top:24px}
  .visit-card-title{font-size:22px}.visit-description{font-size:17px}
  .space-story h3{font-size:21px}.space-story figcaption p{font-size:16px}.space-story figcaption{padding-top:16px}
  .journey{padding-top:32px}.journey ol{grid-template-columns:1fr;gap:18px;max-width:300px;margin:26px auto}.journey li{justify-content:flex-start;font-size:23px;gap:22px}.journey li>span{width:36px}
  .closing-grid{gap:28px}.faq{padding-top:0}.contact-panel{padding:28px 24px}.contact-panel>.button{width:100%;padding-inline:16px;font-size:16px;gap:12px}.contact-panel>.contact-lead,.faq .section-lead{font-size:17px}
  .footer-meta{align-items:flex-start;gap:10px}.footer-meta>div{column-gap:8px}.footer-meta button{padding-right:0}.footer-meta small{line-height:1.7}
}
@media(max-width:380px){:root{--section-title:27px;--compact-title:26px}.visit-card-title{font-size:21px}.visit-card-title .accent-rule{width:26px}.contact-panel{padding:26px 18px}.contact-channels{gap:8px}.contact-channels button{font-size:13px}}
