.home-condensed main > section { min-height:0; }
.home-swipe-hint { display:none; }
.home-condensed main > .reveal-ready { opacity:1; transform:none; transition:none; }
.home-condensed .proof-celebration { padding:20px 24px !important; }
.home-condensed .proof-celebration ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px; }
.home-condensed .proof-celebration li a { min-height:90px; padding:12px; }
.home-condensed .proof-celebration li strong { font-size:clamp(1.1rem,2vw,1.8rem); }
.home-condensed .proof-card__mark,.home-condensed .proof-card__role { display:none; }
.home-condensed .proof-card__subtitle { font-size:14px; line-height:1.45; }
.home-condensed .proof-celebration li a { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; width:100%; border:0; border-radius:0; }
.home-condensed .proof-celebration li strong { font-family:var(--font-human); font-weight:750; }
.home-condensed .proof-celebration::before,.home-condensed .proof-celebration::after { display:none; }
.home-condensed .home-care-short,.home-condensed .home-shortcuts,.home-condensed .home-visit-short { max-width:1240px; margin:auto; padding:40px 24px; }
.home-care-short header { max-width:760px; margin-bottom:24px; }
.home-care-short h2,.home-visit-short h2 { font:500 clamp(2rem,3.5vw,3.2rem)/1.12 var(--font-editorial) !important; margin:0 0 14px; max-width:none; }
.home-care-short p,.home-visit-short p { font:400 17px/1.6 var(--font-human); color:#51473f; margin:0; }
.home-care-short__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.home-care-short__grid > a { display:block; overflow:hidden; border:1px solid #ded5ca; border-radius:18px; background:#fffaf4; transition:transform .2s; }
.home-care-short__grid > a:hover { transform:translateY(-4px); }
.home-care-short__grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.home-care-short__grid > a > div { padding:18px; }
.home-care-short__grid h3 { display:flex; justify-content:space-between; gap:8px; font:750 19px/1.3 var(--font-human) !important; margin:0 0 8px; }
.home-care-short__grid p { font-size:16px; }
.home-short-link { display:inline-flex; align-items:center; min-height:44px; margin-top:18px; font:750 16px/1.5 var(--font-human); color:#79503c; }
.home-condensed .home-package-chooser { padding:36px 24px !important; }
.home-condensed .home-package-chooser__inner { max-width:1192px; }
.home-condensed .home-package-chooser__header { margin-bottom:20px; gap:24px; }
.home-condensed .home-package-chooser__header h2 { font-size:clamp(2rem,3.5vw,3.2rem); max-width:25ch; }
.home-condensed .home-package-chooser__grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:14px; }
.home-condensed .home-package-card { padding:22px 18px; min-height:210px; }
.home-condensed .home-package-card h3 { font-size:24px; padding-right:0; max-width:none; }
.home-condensed .home-package-card__bear { width:44px; height:44px; position:relative; top:auto; right:auto; margin:8px 0; }
.home-condensed .home-package-card__bear > * { max-width:44px; max-height:44px; }
.home-condensed .context-social { padding:36px 24px !important; }
.home-condensed .context-social > header { display:block; margin-bottom:22px; }
.home-condensed .context-social h2 { font-size:clamp(2rem,3.5vw,3.2rem); max-width:28ch; }
.home-condensed .context-social > header p { max-width:65ch; margin-top:12px; }
.home-condensed .home-shortcuts { padding-block:24px; border-block:1px solid #ded5ca; }
.home-shortcuts > strong { font:750 17px/1.5 var(--font-human); }
.home-shortcuts > div { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:12px; }
.home-shortcuts a { display:inline-flex; align-items:center; min-height:44px; font:600 16px/1.5 var(--font-human); text-decoration:underline; text-underline-offset:4px; }
.home-condensed .home-visit-short { display:grid; grid-template-columns:.8fr 1fr; align-items:center; gap:32px; }
.home-visit-short > img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:20px; }
.home-visit-short__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.home-visit-short__actions a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border:1px solid #b76f4b; border-radius:28px; padding:12px 20px; font:700 16px/1.4 var(--font-human); }
.home-visit-short__actions a:first-child { background:#a95e3e; color:white; }
.home-condensed .closing-promise { padding:28px 24px !important; }
.home-condensed .closing-promise__veil { min-height:0; padding:0; }
.home-condensed .closing-promise__veil > img { display:none; }
.home-condensed .closing-promise__veil > p { font-size:clamp(1.6rem,2.6vw,2.5rem); max-width:40ch; }
.relocated-stories { max-width:1400px; margin:24px auto; border:1px solid #d8c9b8; border-radius:18px; overflow:hidden; background:#fffdf9; }
.relocated-stories > summary { cursor:pointer; padding:22px 24px; font:750 19px/1.5 var(--font-human); color:#4f6658; }
.relocated-stories > summary:focus-visible,.home-condensed :is(a,button):focus-visible { outline:3px solid #a95e3e; outline-offset:3px; }
.relocated-stories > section,.relocated-stories > div { margin-inline:0; }
@media(max-width:760px) {
 .home-condensed .home-swipe-hint { display:block; font:600 14px/1.5 var(--font-human); margin:0 0 12px; }
 .home-condensed .proof-celebration { padding:12px !important; }
 .home-condensed .proof-celebration ul { gap:4px; }
 .home-condensed .proof-celebration li a { padding:8px; min-height:110px; }
 .home-condensed .proof-celebration li p { font-size:12px; }
 .home-condensed .proof-celebration li strong { font-size:17px; }
 .home-condensed .home-care-short,.home-condensed .home-shortcuts,.home-condensed .home-visit-short { padding:28px 18px; }
 .home-care-short__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .home-care-short__grid > a > div { padding:12px; }
 .home-care-short__grid h3 { font-size:17px !important; }
 .home-care-short__grid p { font-size:15px; line-height:1.5; }
 .home-condensed .home-package-chooser { padding:28px 18px !important; }
 .home-condensed .home-package-chooser__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px; }
 .home-condensed .home-package-card { padding:16px 12px; min-height:0; }
 .home-condensed .home-package-card h3 { font-size:20px; }
 .home-condensed .home-package-card strong { font-size:23px; }
 .home-condensed .home-package-card__tier { font-size:11px; }
 .home-condensed .context-social { padding:28px 18px !important; }
 .home-condensed .context-social > .context-social__feed { display:flex; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; padding-bottom:12px; }
 .home-condensed .context-social__feed > article { flex:0 0 92%; min-width:0; scroll-snap-align:start; }
 .home-condensed .home-visit-short { grid-template-columns:1fr; gap:20px; }
 .home-shortcuts > div { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
 .home-shortcuts a { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .home-care-short__grid > a { transition:none; } }

:root {
  --milk: #fffaf4;
  --paper: #fffdf9;
  --cocoa: #35251f;
  --cocoa-soft: #69534a;
  --papaya: #e68f68;
  --papaya-deep: #b9573d;
  --nursery: #dce9ec;
  --leaf: #5f7869;
  --night: #241f35;
  --night-soft: #3a304d;
  --hairline: rgba(53, 37, 31, 0.14);
  --shadow-soft: 0 24px 70px rgba(65, 39, 29, 0.12);
  --font-editorial: "Bodoni 72", Didot, "Iowan Old Style", Baskerville, Georgia, serif;
  --font-human: "Avenir Next", Avenir, "Segoe UI", system-ui, sans-serif;
}

/* Infant care: an intimate, photo-led care diary. */
.infant-story { --ic-ink:#304840; --ic-mint:#e4eee7; --ic-peach:#f5e6db; --ic-blue:#e7eef2; color:#352f2a; background:#fffdf9; }
.infant-story *, .infant-story *::before, .infant-story *::after { box-sizing:border-box; }
.infant-story section { max-width:1280px; margin-inline:auto; padding:48px 28px; min-height:0; }
.infant-story h1 { font:500 clamp(2.8rem,5.2vw,5rem)/1.03 var(--font-editorial) !important; letter-spacing:-.045em; max-width:none; margin:18px 0 24px; }
.infant-story h2 { font:500 clamp(2rem,3.4vw,3.2rem)/1.1 var(--font-editorial) !important; letter-spacing:-.025em; max-width:none; margin:12px 0 20px; }
.infant-story p { font:400 18px/1.65 var(--font-human); max-width:58ch; margin:0 0 18px; }
.infant-story .ic-lead { font-weight:650; font-size:21px; line-height:1.5; }
.infant-story figure { margin:0; min-width:0; }
.infant-story img { display:block; width:100%; height:auto; object-fit:cover; }
.infant-story figcaption { font:500 12px/1.5 var(--font-human); color:#675c52; padding:8px 2px; }
.ic-eyebrow { display:block; font:750 13px/1.5 var(--font-human); letter-spacing:.11em; text-transform:uppercase; color:#52695d; }
.ic-opening { display:grid; grid-template-columns:1fr 1.05fr; gap:42px; align-items:center; }
.ic-opening figure img { aspect-ratio:4/5; border-radius:130px 130px 24px 24px; object-position:38% center; }
.ic-back { display:inline-block; font:600 14px/1.5 var(--font-human); color:#52695d; margin-bottom:24px; }
.ic-signature { display:block; font:600 22px/1.5 var(--font-editorial); margin-bottom:24px; }
.ic-button { display:inline-flex; gap:24px; align-items:center; justify-content:space-between; min-height:48px; padding:14px 24px; border-radius:40px; border:0; background:#52695d; color:white; font:700 16px/1.4 var(--font-human); text-decoration:none; cursor:pointer; }
.ic-button:hover { background:#304840; }
.infant-story :is(button,a,summary):focus-visible { outline:3px solid #b9573d; outline-offset:5px; }
.ic-chapters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:1224px; margin:0 auto 20px; padding:18px; border-block:1px solid #d8ded7; }
.ic-chapters button { min-height:44px; border:1px solid #cbd5ce; border-radius:24px; padding:10px 16px; background:white; color:#304840; font:600 14px/1.4 var(--font-human); cursor:pointer; }
.ic-chapters button:hover { background:#e4eee7; }
.infant-story .ic-care-stories { padding-top:20px; display:grid; gap:24px; }
.ic-story { display:grid; grid-template-columns:1fr 1fr; gap:0; background:var(--ic-mint); border-radius:24px; overflow:hidden; scroll-margin-top:120px; }
.ic-story--1 { background:var(--ic-peach); }
.ic-story--2 { background:var(--ic-blue); }
.ic-story:nth-child(even) figure { order:2; }
.ic-story figure { display:flex; flex-direction:column; }
.ic-story figure img { flex:1; min-height:300px; max-height:440px; object-position:center; }
.ic-story figcaption { padding:7px 16px; }
.ic-story__copy { padding:32px; align-self:center; }
.ic-story details { border-top:1px solid #bbc9bf; margin-top:20px; }
.ic-story summary { display:flex; justify-content:space-between; gap:15px; align-items:center; min-height:56px; cursor:pointer; font:700 16px/1.4 var(--font-human); list-style:none; }
.ic-story summary::-webkit-details-marker { display:none; }
.ic-story summary span { font-size:24px; transition:transform .2s; }
.ic-story details[open] summary span { transform:rotate(45deg); }
.ic-note { background:#fffdf9; padding:18px; border-radius:4px 18px 18px; }
.ic-note > span { font:600 12px/1.5 var(--font-human); text-transform:uppercase; letter-spacing:.07em; }
.infant-story .ic-note p, .infant-story .ic-handwritten { font:500 20px/1.6 'Bradley Hand','Segoe Print',var(--font-human); margin:8px 0 0; }
.infant-story .ic-record { display:grid; grid-template-columns:1fr 1fr; gap:36px; background:#e4eee7; border-radius:28px; max-width:1224px; padding:36px; scroll-margin-top:120px; }
.ic-record__intro figure { margin-top:28px; }
.ic-record__intro img { border-radius:18px; aspect-ratio:16/10; }
.ic-diary { background:#fffdf9; border-radius:10px 26px 26px 10px; padding:28px; border-left:8px solid #bdcbbf; box-shadow:0 12px 28px #30484012; }
.ic-diary h3 { font:600 32px/1.2 var(--font-editorial) !important; margin:10px 0; }
.infant-story .ic-example { font-size:13px; color:#655d54; }
.ic-diary__controls { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.ic-diary__controls button { min-height:44px; padding:10px 14px; border:1px solid #b5c5ba; border-radius:10px; background:white; color:#304840; font:700 14px/1.4 var(--font-human); cursor:pointer; }
.ic-diary__controls button[aria-pressed=true] { background:#304840; color:white; }
.ic-diary__entry img { aspect-ratio:16/9; border-radius:12px; }
.ic-diary__entry > div { padding-top:22px; }
.ic-diary__entry h4 { font:750 24px/1.25 var(--font-human); margin:10px 0; }
.infant-story .ic-diary__footer { font-size:14px; border-top:1px solid #d8ded7; padding-top:20px; margin-top:24px; }
.ic-home { display:grid; grid-template-columns:.75fr 1fr; gap:48px; align-items:center; }
.ic-home img { max-height:430px; object-position:center 35%; border-radius:24px; }
.infant-story .ic-small { font-size:14px; margin-top:18px; color:#655d54; }
.ic-entry-link { max-width:1200px; margin:24px auto; padding:22px; border-radius:16px; background:#e4eee7; display:flex; flex-wrap:wrap; gap:12px 24px; font:600 17px/1.5 var(--font-human); }
.ic-entry-link > span { color:#52695d; }
@media(max-width:760px) {
 .infant-story section { padding:28px 18px; }
 .ic-opening,.ic-home,.ic-story,.infant-story .ic-record { grid-template-columns:1fr; gap:22px; }
 .ic-opening figure img { aspect-ratio:4/3; border-radius:24px; object-position:center; }
 .infant-story p { font-size:17px; }
 .infant-story .ic-lead { font-size:19px; }
 .ic-story:nth-child(even) figure { order:0; }
 .ic-story figure img { min-height:0; aspect-ratio:16/10; }
 .ic-story__copy { padding:0 22px 24px; }
 .ic-chapters { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin:0 18px; padding-inline:0; }
 .ic-chapters button { flex-shrink:0; }
 .infant-story .ic-record { margin-inline:18px; padding:22px; }
 .ic-diary { padding:20px; min-width:0; }
 .ic-home { gap:24px; }
}
@media(prefers-reduced-motion:reduce) { .infant-story * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

.pg > .compact-footer { margin-top: 0; background: #f8f1e8; }
.compact-footer .compact-footer__inner { max-width: 88rem; padding: 2.5rem 1.5rem 1.5rem; }
.compact-footer .compact-footer__grid { display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.65fr); gap: 1.5rem 3rem; align-items: start; }
.compact-footer__contact > [role="img"] { height: 2.75rem; width: 8.2rem; }
.compact-footer__contact > p { margin: .75rem 0 .5rem; font-size: 1.25rem; }
.compact-footer__contact address { max-width: 34ch; margin: 0; font-size: .95rem; line-height: 1.55; }
.compact-footer__contact > div:not([role="img"]) { display: flex; flex-wrap: wrap; gap: .15rem 1rem; margin-top: .6rem; }
.compact-footer__contact > div p { margin: 0; }
.compact-footer__contact a { font-size: .95rem; }
.compact-footer__contact > a { min-height: 44px; margin-top: .6rem; padding: .6rem 1.1rem; }
.compact-footer__contact a[href^="tel:"], .compact-footer__contact a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: 44px; }
.compact-footer__nav h2 { margin: 0 0 1rem; color: #35251f; font: 700 1.5rem/1.3 var(--font-human) !important; letter-spacing: -.02em; }
.footer-explore-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.footer-explore-group { min-width: 0; border-top: 2px solid #d5bb9f; padding-top: .8rem; }
.footer-explore-group:nth-child(2) { border-color: #8a9e8e; }
.footer-explore-group:nth-child(3) { border-color: #c78663; }
.compact-footer .footer-explore-group h3 { margin: 0 0 .4rem; font: 750 1rem/1.4 var(--font-human) !important; color: #35251f; }
.compact-footer__nav ul { display: grid; grid-template-columns: 1fr; gap: 0; padding: 0; margin: 0; list-style: none; }
.compact-footer__nav li { margin: 0 !important; }
.compact-footer__nav a { display: flex; align-items: center; min-height: 44px; padding-block: .35rem; color: #4f3e35; font-size: 1rem; line-height: 1.4; }
.compact-footer__nav a:hover, .compact-footer__nav a[aria-current="page"] { color: #824329; text-decoration: underline; text-underline-offset: .25em; }
.compact-footer .compact-footer__signoff { grid-column: 1 / -1; display: flex; flex-direction: row; align-items:center; justify-content: flex-start; text-align: left; margin: 20px 0 0; padding: 16px 0 0; border: 0; gap: .65rem; }
.compact-footer__signoff > .bgbear { width: 2.75rem !important; height: 2.75rem !important; animation: none; }
.compact-footer__signoff > p { max-width: none; margin: 0; font-size: 1.2rem; line-height: 1.2; }
.compact-footer .compact-footer__legal { display: grid; grid-template-columns: 1fr auto; gap: .4rem 2rem; margin-top: 1.5rem; padding-top: 1rem; color: #6c5c51; font-size: .8125rem; line-height: 1.5; }
.compact-footer__legal p { margin: 0 !important; }
.compact-footer__legal p:nth-child(2) { grid-column: 1; }
.compact-footer__legal p:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
.compact-footer a:focus-visible { outline: 3px solid #5f7869; outline-offset: 3px; border-radius: .3rem; }
@media (max-width: 900px) {
  .compact-footer .compact-footer__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .compact-footer .compact-footer__signoff { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; text-align: left; }
  .compact-footer__signoff > .bgbear { width: 2.75rem !important; height: 2.75rem !important; }
  .compact-footer__signoff > p { max-width: none; font-size: 1.15rem; }
}
@media (max-width: 600px) {
  .compact-footer .compact-footer__inner { padding: 1.75rem 1.25rem 1.25rem; }
  .compact-footer .compact-footer__grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .footer-explore-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .footer-explore-group:last-child { grid-column: 1 / -1; }
  .footer-explore-group:last-child ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
  .compact-footer__nav a { font-size: 1rem; }
  .compact-footer .compact-footer__legal { grid-template-columns: 1fr; gap: .6rem; margin-top: 1rem; }
  .compact-footer__legal p:last-child { grid-column: 1; grid-row: auto; }
}

.pg .leadership-profile { display: flex; flex-direction: column; align-items: stretch; gap: 1.15rem; }
.pg .leadership-portrait { display: block; width: 100%; height: clamp(260px, 26vw, 340px); object-fit: contain; object-position: center bottom; background: #f3eee7; border-radius: 1rem; }
.pg .leadership-profile h3 { margin: 0 0 .35rem; font-size: clamp(1.65rem, 2.3vw, 2rem); }
.pg .leadership-profile h3 + p { margin: 0; font: 650 1rem/1.5 var(--font-human); color: #715445; }
.pg .homecoming-learning, .pg .homecoming-closing { display: block; min-height: 0; padding: clamp(32px, 4vw, 56px) 24px; background: #f8f1e8; color: #35251f; text-align: left; }
.pg .homecoming-closing { background: #edf0e9; }
.pg.home-restored .homecoming-closing { background:#252139; color:#fffaf4; }
.pg.home-restored .homecoming-closing h2,
.pg.home-restored .homecoming-closing .homecoming-finale-copy > p { color:#fffaf4; }
.pg.home-restored .homecoming-closing .homecoming-finale-copy > strong { color:#f2b28c; }
.pg.home-restored .homecoming-closing figcaption { color:#d1cbd8; }
.pg.home-restored .homecoming-closing .homecoming-actions a { color:#fffaf4; border-color:#c3bbc9; }
.pg.home-restored .homecoming-closing .homecoming-actions a:first-child { background:#a95736; border-color:#a95736; color:#fff; }
.pg.home-restored .homecoming-closing a:focus-visible { outline-color:#f2b28c; }
.pg .homecoming-learning.reveal-ready, .pg .homecoming-closing.reveal-ready { opacity: 1; transform: none; }
.homecoming-inner { max-width: 1200px; margin-inline: auto; }
.homecoming-intro, .homecoming-finale { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(24px,4vw,56px); align-items: center; }
.homecoming-photo { margin: 0; min-width: 0; }
.homecoming-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: 20px; }
.homecoming-photo figcaption { margin-top: 8px; font: 400 12px/1.5 var(--font-human); color: #69534a; }
.homecoming-kicker { font: 750 14px/1.5 var(--font-human); letter-spacing: .09em; text-transform: uppercase; color: #715445; }
.pg .homecoming-intro h2, .pg .homecoming-finale h2 { max-width: 25ch; margin: 12px 0 16px; font: 500 clamp(32px,3.3vw,46px)/1.12 var(--font-editorial) !important; letter-spacing: -.025em; }
.homecoming-intro header > p, .homecoming-learning-heading p { font: 400 18px/1.65 var(--font-human); color: #59463c; margin: 0 0 16px; }
.homecoming-text-link { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; font: 700 16px/1.5 var(--font-human); text-decoration: underline; text-underline-offset: 5px; }
.homecoming-learning-heading { margin-top: 28px; }
.pg .homecoming-learning-heading h3 { margin: 0 0 6px; font: 750 24px/1.3 var(--font-human) !important; }
.homecoming-skills { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; align-items: start; }
.homecoming-skills details { background: #fffdf9; border: 1px solid #d8c5b3; border-radius: 14px; overflow: hidden; }
.homecoming-skills summary { list-style: none; display: flex; gap: 12px; justify-content: space-between; align-items: center; min-height: 86px; padding: 18px; cursor: pointer; font: 750 18px/1.4 var(--font-human); }
.homecoming-skills summary::-webkit-details-marker { display: none; }
.homecoming-skills summary b { font-size: 25px; color: #5f7869; transition: transform .2s ease; }
.homecoming-skills details[open] summary b { transform: rotate(45deg); }
.homecoming-skills details[open] { border-color: #5f7869; }
.homecoming-skills ul { margin: 0; padding: 0 24px 20px 36px; font: 400 17px/1.6 var(--font-human); }
.homecoming-skills li + li { margin-top: 8px; }
.pg .homecoming-note { margin: 16px 0 0; max-width: 100ch; color: #69534a; font: 400 14px/1.6 var(--font-human) !important; }
.homecoming-finale-copy > p { margin: 0 0 8px; font: 400 20px/1.5 var(--font-human); }
.homecoming-finale-copy > strong { font: 750 23px/1.4 var(--font-human); color: #496251; }
.homecoming-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.homecoming-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid #5f7869; border-radius: 99px; font: 750 16px/1.5 var(--font-human); }
.homecoming-actions a:first-child { background: #496251; color: white; }
.homecoming-actions a:hover { box-shadow: 0 3px 10px #35251f20; }
.homecoming-learning a:focus-visible, .homecoming-skills summary:focus-visible, .homecoming-closing a:focus-visible { outline: 3px solid #5f7869; outline-offset: 4px; }
@media(max-width: 800px) {
  .homecoming-intro, .homecoming-finale { grid-template-columns: 1fr; gap: 20px; }
  .homecoming-skills { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .homecoming-intro header { grid-row: 1; }
  .pg .homecoming-learning, .pg .homecoming-closing { padding: 32px 20px; }
}
@media(max-width: 440px) { .homecoming-skills { grid-template-columns: 1fr; } .homecoming-skills summary { min-height: 64px; } }
@media(prefers-reduced-motion: reduce) { .homecoming-skills summary b { transition: none; } }
.pg .life-discovery { max-width: 1280px; margin: 0 auto; padding: 32px 24px 48px; opacity: 1; transform: none; }
.pg .life-discovery > header > p { max-width: none; margin: 0 0 20px; font: 500 20px/1.5 var(--font-human); color: #59463c; }
.pg .life-discovery-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; width: 100%; }
.pg .life-discovery-card { grid-column: span 2; display: flex; flex-direction: column; min-width: 0; width: 100%; padding: 0; margin: 0; overflow: hidden; border: 1px solid #ddcbb7; border-radius: 20px; background: #fffdf9; color: #35251f; transition: box-shadow .2s ease, border-color .2s ease; }
.pg .life-discovery-card:nth-child(-n+2) { grid-column: span 3; }
.life-discovery-card > img { display: block; width: 100%; height: 240px; object-fit: cover; object-position: center 42%; }
.life-discovery-copy { display: flex; flex-direction: column; flex: 1; padding: 22px; }
.pg .life-discovery-copy h2 { margin: 0 0 10px; max-width: none; font: 600 clamp(25px,2.2vw,32px)/1.15 var(--font-editorial) !important; color: #35251f; }
.pg .life-discovery-copy p { margin: 0 0 18px; max-width: none; font: 400 17px/1.55 var(--font-human) !important; color: #59463c; }
.life-discovery-action { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 44px; margin-top: auto; border-top: 1px solid #e5d9cb; padding-top: 12px; font: 750 16px/1.4 var(--font-human); color: #496251; }
.life-discovery-action b { font-size: 24px; }
.pg .life-discovery-card:hover { border-color: #5f7869; box-shadow: 0 6px 20px #35251f12; }
.life-discovery-card:focus-visible { outline: 3px solid #5f7869; outline-offset: 4px; }
@media(max-width: 800px) { .pg .life-discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; } .pg .life-discovery-card, .pg .life-discovery-card:nth-child(-n+2) { grid-column: auto; } .pg .life-discovery-card:last-child { grid-column: 1 / -1; } }
.pg .life-discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.pg .life-discovery-card, .pg .life-discovery-card:nth-child(-n+2), .pg .life-discovery-card:last-child { grid-column:auto; }
@media(max-width: 540px) { .pg .life-discovery { padding: 24px 20px 32px; } .pg .life-discovery-grid { grid-template-columns: 1fr; } .life-discovery-card > img { height: 210px; } .life-discovery-copy { padding: 20px; } }
@media(prefers-reduced-motion: reduce) { .pg .life-discovery-card { transition: none; } }
.pg .about-story { max-width:1280px; margin:auto; padding:24px; color:#35251f; }
.pg .about-story > section { margin:0; padding:40px 0; opacity:1; transform:none; }
.pg .about-story p { font:400 18px/1.6 var(--font-human); color:#69534a; margin:12px 0 0; max-width:65ch; }
.pg .about-story h1 { font:400 clamp(38px,4.2vw,60px)/1.08 var(--font-display); max-width:14ch; margin:16px 0; }
.pg .about-story h2 { font:400 clamp(28px,3vw,38px)/1.15 var(--font-display); max-width:none; margin:0; }
.pg .about-story h3 { font:750 20px/1.3 var(--font-human); margin:0; }
.pg .about-story .about-intro { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
.about-eyebrow { font:750 14px/1.4 var(--font-human); letter-spacing:.12em; text-transform:uppercase; color:#496251; }
.pg .about-story .about-lead { font-size:22px; color:#35251f; }
.about-intro > img { width:100%; height:360px; object-fit:cover; object-position:center 35%; border-radius:24px; }
.about-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.about-pillars article { border-left:3px solid #5f7869; padding:8px 20px; }
.about-care-footer { display:flex; align-items:center; gap:24px; margin-top:24px; }
.pg .about-care-footer p { font-size:15px; margin:0; }
.about-story a { font:700 17px/1.4 var(--font-human); color:#496251; text-decoration:underline; text-underline-offset:5px; display:inline-flex; align-items:center; min-height:44px; }
.pg .about-story .about-values { padding:28px; background:#edf2ed; border-radius:20px; }
.about-values > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; margin-top:24px; }
.pg .about-values article p { font-size:16px; }
.pg .about-values article h3 { font-size:18px; }
.about-leader-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; align-items:start; }
.about-leader { padding:24px; border:1px solid #e8d9c8; border-radius:20px; background:#fffdf9; }
.pg .about-leader .leadership-profile { display:flex; flex-direction:row; align-items:center; gap:22px; }
.pg .about-leader .leadership-portrait { width:104px; height:138px; object-fit:cover; border-radius:12px; margin:0; }
.pg .about-leader .leadership-profile p { font-size:16px; color:#496251; margin-top:6px; }
.about-leader details { margin-top:16px; border-top:1px solid #e8d9c8; padding-top:12px; }
.about-leader summary { cursor:pointer; font:700 16px/1.5 var(--font-human); padding:10px 0; color:#496251; }
.pg .about-leader li { font:400 16px/1.6 var(--font-human); color:#69534a; margin-top:8px; }
.pg .about-story .about-invitation { display:grid; grid-template-columns:1fr 1fr; gap:32px; border-top:1px solid #e8d9c8; }
.about-actions { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; }
.about-story a.about-primary { padding:14px 22px; border-radius:99px; color:white; background:#a95736; text-decoration:none; }
.about-story a.about-partner { font-size:15px; font-weight:500; }
.about-story :is(a,summary):focus-visible { outline:3px solid #a95736; outline-offset:4px; }
@media(max-width:850px) { .pg .about-story .about-intro { gap:24px; } .about-values > div { grid-template-columns:repeat(2,minmax(0,1fr)); } .about-pillars { gap:12px; } .about-pillars article { padding:8px 12px; } }
@media(max-width:600px) { .pg .about-story { padding:20px; } .pg .about-story > section { padding:28px 0; } .pg .about-story .about-intro,.about-pillars,.about-leader-grid,.pg .about-story .about-invitation { grid-template-columns:1fr; gap:24px; } .about-intro > img { height:260px; } .about-care-footer { display:block; } .pg .about-story .about-values { padding:22px; } .about-values > div { grid-template-columns:1fr; gap:18px; } .about-leader { padding:20px; } }
.pg .visit-booking-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; }
.pg .visit-centre-picker { padding:0; margin:0; min-width:0; opacity:1; transform:none; }
.pg .visit-centre-picker header h2, .pg .visit-booking-form h2 { font-size:32px; margin:0 0 8px; line-height:1.2; }
.pg .visit-centre-picker header p, .pg .visit-booking-form > p { font:400 18px/1.5 var(--font-human); margin:0 0 22px; }
.pg .visit-centre-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pg .visit-centre-card { display:block; width:100%; text-align:left; border:2px solid #e8d9c8; border-radius:18px; background:#fffdf9; overflow:hidden; padding:0; color:#35251f; cursor:pointer; transition:border-color .18s,box-shadow .18s; }
.pg .visit-centre-card:hover { border-color:#5f7869; }
.pg .visit-centre-card[aria-pressed="true"] { border-color:#5f7869; box-shadow:0 0 0 2px #5f786933; background:#edf2ed; }
.pg .visit-centre-card:focus-visible { outline:3px solid #b9573d; outline-offset:4px; }
.pg .visit-centre-card .visit-centre-image { display:block; width:100%; height:130px; background-size:cover; background-position:center; }
.pg .visit-centre-card > span { position:relative; display:block; padding:12px 28px 12px 12px; }
.pg .visit-centre-card strong { display:block; font:750 17px/1.3 var(--font-human); }
.pg .visit-centre-card small { display:block; margin-top:4px; font:400 14px/1.4 var(--font-human); color:#69534a; }
.visit-centre-check { display:none; position:absolute; right:10px; top:14px; color:#496251; font-weight:800; }
.visit-centre-card[aria-pressed="true"] .visit-centre-check { display:block; }
.pg .visit-centre-picker .visit-image-note { font:400 13px/1.5 var(--font-human); color:#69534a; margin:12px 0; }
.pg .visit-centre-picker .visit-selected-address { font:500 16px/1.5 var(--font-human); color:#496251; margin:12px 0 0; }
.visit-selected-address:empty { display:none; }
.pg .visit-booking-form .subpage-bear { display:none; }
.pg .visit-booking-form label { display:block; font:650 16px/1.4 var(--font-human); }
.pg .visit-booking-form :is(input,select,textarea) { width:100%; min-width:0; font:400 16px/1.4 var(--font-human); border:1px solid #e8d9c8; border-radius:12px; background:white; color:#35251f; padding:12px; margin-top:6px; }
.pg .visit-booking-form :is(input,select) { min-height:48px; }
.pg .visit-booking-form textarea { min-height:88px; }
.pg .visit-booking-form form p { font-size:14px; line-height:1.5; }
@media(max-width:850px) { .pg .visit-booking-layout { grid-template-columns:1fr; gap:30px; } }
@media(max-width:450px) { .pg .visit-centre-card .visit-centre-image { height:104px; } .pg .visit-centre-card strong { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .pg .visit-centre-card { transition:none; } }
.pg .restored-outlets { max-width: 1280px; padding: 40px 24px; margin: auto; opacity: 1; transform: none; }
.restored-outlets > header { margin-bottom: 28px; }
.pg .restored-outlets > header h2 { max-width: none; margin: 0 0 12px; font-size: clamp(30px,3.4vw,44px); }
.pg .restored-outlets > header p { max-width: 70ch; margin: 0; font: 400 18px/1.6 var(--font-human); }
.pg .restored-outlets > ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; }
.restored-outlets > ul > div { min-width: 0; }
.restored-outlets li { height: 100%; }
.pg .restored-outlets figure { margin: 0; height: 210px; aspect-ratio: auto; border-radius: 0; }
.pg .restored-outlets address { font: 500 16px/1.6 var(--font-human); }
.pg .restored-outlets li h2 { font-size: 26px; line-height: 1.2; }
.pg .restored-outlets li p { font-size: 16px; line-height: 1.6; }
.restored-outlets .outlet-directions { display: inline-flex; min-height: 44px; align-items: center; align-self: flex-start; padding-top: 14px; margin-top: auto; font-weight: 750; color: #496251; text-decoration: underline; text-underline-offset: 4px; }
.outlet-directions:focus-visible { outline: 3px solid #5f7869; outline-offset: 4px; }
@media(max-width: 1000px) { .pg .restored-outlets > ul { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .pg .restored-outlets { padding: 28px 20px; } .pg .restored-outlets > ul { grid-template-columns: 1fr; } }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--milk);
  color: var(--cocoa);
  font-family: var(--font-human);
  overflow-x: hidden;
}

.pg { display: none !important; }
.pg.is-active { display: block !important; }
.pg.is-active > main { overflow: clip; }
.noscript { margin: 2rem; font: 600 1rem/1.5 var(--font-human); }

.font-display,
h1,
h2,
h3 { font-family: var(--font-editorial) !important; }

.prose-labebe p,
.pg main p { max-width: 48ch; }

.site-header {
  border-bottom: 1px solid rgba(75, 50, 40, 0.1) !important;
  background: rgba(255, 250, 244, 0.92) !important;
  box-shadow: 0 8px 36px rgba(62, 40, 31, 0.05);
}

.site-header > div { max-width: 88rem !important; }
.site-header a { letter-spacing: 0.01em; }
.site-header .priority-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.site-header .package-priority {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  border-radius: 999px;
  padding: .72rem 1.35rem;
  font-size: .875rem;
  font-weight: 700;
  color: white;
  background: var(--leaf);
  border: 1px solid var(--hairline);
  box-shadow: 0 6px 18px rgba(65, 39, 29, 0.06);
}
.site-header .priority-actions > a[href*="visit-us"] { min-height: 46px; padding: .72rem 1.35rem; font-size: .875rem; }

.pg main > section:first-child {
  position: relative;
  isolation: isolate;
}

.pg main > section:first-child::after {
  content: "";
  position: absolute;
  width: clamp(12rem, 30vw, 30rem);
  aspect-ratio: 1;
  right: -12%;
  bottom: -45%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230,143,104,.18), rgba(230,143,104,0) 70%);
  z-index: -1;
}

.pg h1 {
  max-width: 15ch;
  font-size: clamp(2.9rem, 5.2vw, 5.8rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.pg:not([id$="--index"]) h1 {
  max-width: 17ch;
  font-size: clamp(2.7rem, 4.6vw, 5rem) !important;
}

.pg main figure {
  border-radius: clamp(1.1rem, 2vw, 2.2rem) !important;
  box-shadow: var(--shadow-soft);
}

.pg main figure [role="img"],
.pg main figure .bgimg {
  background-size: cover !important;
  background-position: center !important;
  transition: transform 900ms cubic-bezier(.2,.75,.25,1);
}

.pg main figure:hover [role="img"],
.pg main figure:hover .bgimg { transform: scale(1.025); }

.editorial-removed { display: none !important; }

.reveal-ready {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 750ms ease, transform 750ms cubic-bezier(.2,.7,.2,1);
}
.reveal-ready.is-seen { opacity: 1; transform: translateY(0); }

.keepsake-theatre {
  position: relative;
  overflow: hidden;
  padding: clamp(3.75rem, 6vw, 6rem) max(1.25rem, calc((100vw - 82rem) / 2));
  background:
    radial-gradient(circle at 12% 8%, rgba(230,143,104,.21), transparent 28rem),
    radial-gradient(circle at 92% 78%, rgba(95,120,105,.16), transparent 30rem),
    #f7efe5;
}
.keepsake-theatre::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .26;
  background-image: repeating-linear-gradient(96deg, transparent 0 11px, rgba(83,57,43,.035) 12px 13px);
}
.keepsake-theatre__intro {
  position: relative;
  z-index: 1;
  max-width: 64rem;
  margin: 0 auto clamp(2rem, 3.5vw, 3rem);
  text-align: center;
}
.keepsake-theatre__intro .chapter-mark { color: var(--papaya-deep); }
.keepsake-theatre__intro h2 {
  max-width: 16ch;
  margin: .8rem auto 0;
  font-size: clamp(2.8rem, 4.7vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.keepsake-stage { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.14fr); gap: clamp(1.15rem, 2.5vw, 2.25rem); align-items: start; }
.music-keepsake,
.warm-cinema { min-width: 0; border: 1px solid rgba(88,60,46,.14); box-shadow: 0 30px 80px rgba(76,48,33,.15); }
.music-keepsake {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(17rem, 1fr) auto;
  border-radius: 9rem 9rem 2rem 2rem;
  background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(239,222,202,.88));
}
.keepsake-card__label { position: relative; z-index: 4; display: flex; min-height: 3rem; align-items: center; justify-content: center; gap: .55rem; padding: 1rem 1.5rem 0; color: var(--papaya-deep); font-size: .72rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.keepsake-card__label span { display: grid; width: 1.75rem; aspect-ratio: 1; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: .78rem; }
.keepsake-card__label--light { color: #f6d9b7; }
.music-keepsake__scene { position: relative; min-height: 20rem; display: grid; place-items: center; padding: .4rem 1rem 0; isolation: isolate; }
.music-keepsake__scene::before {
  content: "";
  position: absolute;
  width: 72%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.9), rgba(255,255,255,0) 69%);
  z-index: -1;
}
.music-keepsake__scene > img {
  width: min(88%, 26rem);
  height: auto;
  transform-origin: 50% 78%;
  filter: drop-shadow(0 26px 25px rgba(59,38,27,.2));
}
.music-keepsake__glow { position: absolute; left: 17%; right: 17%; bottom: 4%; height: 18%; border-radius: 50%; background: rgba(230,143,104,.22); filter: blur(24px); z-index: -1; }
.music-note { position: absolute; z-index: 2; color: var(--papaya-deep); font: 700 2rem/1 var(--font-editorial); opacity: 0; }
.music-note--one { top: 25%; left: 14%; }
.music-note--two { top: 15%; right: 16%; font-size: 2.7rem; }
.music-keepsake__player { position: relative; padding: .75rem clamp(1.25rem, 3vw, 2.25rem) 1.6rem; }
.music-keepsake__player > span { color: var(--papaya-deep); font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.music-keepsake__player h3 { margin: .55rem 0 .15rem; font-size: clamp(1.55rem, 2.5vw, 2.15rem); line-height: 1; }
.music-keepsake__player p { margin: 0 0 .9rem; color: var(--cocoa-soft); }
.music-keepsake audio { display: block; width: 100%; min-height: 48px; accent-color: var(--papaya-deep); }
.music-is-playing .music-keepsake__scene > img { animation: keepsakeSway 4.8s ease-in-out infinite; }
.music-is-playing .music-note { animation: musicRise 3.4s ease-out infinite; }
.music-is-playing .music-note--two { animation-delay: -1.7s; }
@keyframes keepsakeSway { 50% { transform: rotate(.8deg) translateY(-5px); } }
@keyframes musicRise { 0% { opacity: 0; transform: translateY(10px) rotate(-7deg); } 25% { opacity: .85; } 100% { opacity: 0; transform: translateY(-70px) rotate(9deg); } }

.warm-cinema {
  position: relative;
  align-self: start;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0 clamp(1rem, 2.2vw, 1.8rem) 1.5rem;
  border-radius: 2rem;
  color: #fffaf4;
  background: linear-gradient(155deg, #60483f, #2b2328 78%);
}
.warm-cinema::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at 50% 36%, rgba(245,193,132,.18), transparent 49%); }
.warm-cinema__rod {
  position: relative;
  z-index: 3;
  height: 1.05rem;
  margin: 1rem -.35rem -.22rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #cba45f, #775229 55%, #3c291c);
  box-shadow: 0 7px 15px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.38);
}
.warm-cinema__rod i { position: absolute; top: 50%; width: 1.75rem; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #edcf91, #7b552c 60%, #3c281b); transform: translateY(-50%); }
.warm-cinema__rod i:first-child { left: -1rem; }
.warm-cinema__rod i:last-child { right: -1rem; }
.warm-cinema__cloth {
  position: relative;
  z-index: 2;
  padding: 1.4rem 1.2rem 2rem;
  background: linear-gradient(90deg, #e7d9c4, #fff9ec 13%, #eadcc8 31%, #fffaf0 55%, #e5d5c1 82%, #f8eddb);
  clip-path: polygon(1% 0, 99% 0, 100% 96%, 97% 100%, 91% 97%, 85% 100%, 79% 97%, 72% 100%, 64% 97%, 57% 100%, 49% 97%, 41% 100%, 33% 97%, 25% 100%, 17% 97%, 9% 100%, 2% 97%);
  transform-origin: top center;
  animation: clothBreathe 7s ease-in-out infinite;
  filter: drop-shadow(0 24px 22px rgba(0,0,0,.27));
}
@keyframes clothBreathe { 50% { transform: perspective(900px) rotateX(.7deg) scaleX(.996); } }
.film-launch,
.warm-cinema iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: .45rem .45rem 1.1rem 1.1rem; }
.film-launch { position: relative; overflow: hidden; padding: 0; cursor: pointer; color: #fff; text-align: left; background: #4b3b37; box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), 0 18px 34px rgba(59,37,25,.18); }
.film-launch img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) sepia(.12) brightness(.72); transition: transform 900ms cubic-bezier(.2,.7,.2,1), filter 500ms ease; }
.film-launch__wash { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,20,29,.04), rgba(28,20,29,.14) 44%, rgba(24,18,28,.87)); }
.film-launch__play { position: absolute; top: 46%; left: 50%; display: grid; place-items: center; width: 4.4rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(255,250,244,.17); backdrop-filter: blur(10px); transform: translate(-50%, -50%); transition: transform 300ms ease, background 300ms ease; }
.film-launch__play svg { width: 2rem; fill: currentColor; }
.film-launch__copy { position: absolute; left: clamp(1rem, 3vw, 2rem); right: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 1.8rem); display: grid; gap: .35rem; }
.film-launch__copy small { font-size: .65rem; font-style: normal; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.film-launch__copy strong { max-width: 14ch; font: 500 clamp(1.55rem, 3.3vw, 3.15rem)/.98 var(--font-editorial); letter-spacing: -.035em; text-wrap: balance; }
.film-launch__copy em { margin-top: .35rem; font-size: .78rem; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.film-launch:hover img { transform: scale(1.035); filter: saturate(.9) sepia(.05) brightness(.78); }
.film-launch:hover .film-launch__play { transform: translate(-50%, -50%) scale(1.08); background: rgba(230,143,104,.78); }
.film-launch:focus-visible { outline: 4px solid #fff; outline-offset: 4px; }
.warm-cinema__hint { position: relative; z-index: 2; margin: 1rem auto 0; color: rgba(255,250,244,.74); text-align: center; font-size: .8rem; letter-spacing: .04em; }
.warm-cinema.is-playing .warm-cinema__cloth { animation: none; }

.day-one {
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  align-items: stretch;
  background: var(--night);
  color: #fffaf4;
}
.day-one__portrait {
  min-height: 540px;
  background: linear-gradient(180deg, transparent 55%, rgba(36,31,53,.65)),
    url("./assets/media/official/mum-03.webp") center 28% / cover no-repeat;
}
.day-one__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(2rem, 4vw, 4rem);
}
.day-one__eyebrow,
.chapter-mark {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.day-one h2 {
  margin: 1rem 0 2rem;
  max-width: 100%;
  font-size: clamp(2.6rem, 4.3vw, 4.5rem);
  line-height: 1.04;
  text-wrap: balance;
  letter-spacing: -.055em;
}
.thought-field { display: grid; gap: .85rem; }
.thought {
  width: 100%;
  max-width: none !important;
  margin: 0;
  padding: .9rem 1.15rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1.3rem 1.3rem 1.3rem .35rem;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  font-size: clamp(1rem, 1.6vw, 1.22rem);
  line-height: 1.5;
}
.thought:nth-child(n) { margin-left: 0; }
@keyframes thoughtFloat { 50% { transform: translateY(-7px); } }

.care-orbit {
  padding: clamp(4.5rem, 8vw, 7.5rem) max(1.25rem, calc((100vw - 82rem) / 2));
  background: var(--paper);
}
.care-orbit__head {
  max-width: 58rem;
  margin-inline: auto;
  text-align: center;
}
.care-orbit h2 {
  margin: .8rem auto 0;
  max-width: none;
  font-size: clamp(3rem, 5.2vw, 5.35rem);
  line-height: .94;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.care-orbit__head p {
  max-width: 43rem;
  margin: 1.25rem auto 0;
  color: var(--cocoa-soft);
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.6;
  text-wrap: balance;
}
.care-orbit__grid {
  max-width: 82rem;
  margin: clamp(2.25rem, 4vw, 3.5rem) auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.care-orbit__card {
  position: relative;
  aspect-ratio: 4 / 5;
  min-height: 0;
  overflow: hidden;
  border-radius: 1.6rem;
  color: white;
  background-color: #d7c4b7;
  background-size: cover;
  background-position: center;
  box-shadow: var(--shadow-soft);
  transition: transform 280ms ease, box-shadow 280ms ease;
}
.care-orbit__card:hover { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(72,45,34,.2); }
.care-orbit__card a {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem;
  padding: clamp(1.15rem, 2vw, 1.6rem);
  background: linear-gradient(180deg, transparent 42%, rgba(25,20,18,.2) 60%, rgba(25,20,18,.88));
}
.care-orbit__card a:focus-visible { outline: 3px solid #fffaf4; outline-offset: -6px; }
.care-orbit__card strong {
  font: 700 clamp(1.65rem, 2.1vw, 2.25rem)/1 var(--font-editorial);
  text-shadow: 0 2px 18px rgba(20,14,12,.32);
}
.care-orbit__arrow {
  display: grid;
  width: 2.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  font-size: 1.1rem;
  transition: background 200ms ease, transform 200ms ease;
}
.care-orbit__card:hover .care-orbit__arrow { background: rgba(255,255,255,.25); transform: translate(2px, -2px); }

.official-price-band,
.service-price-band {
  margin: clamp(3rem, 7vw, 7rem) auto;
  max-width: 82rem;
  padding: 0 1.25rem;
}
.official-price-band__intro {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
}
.official-price-band h2 { margin: 0; font-size: clamp(2.8rem, 5vw, 5rem); line-height: .95; letter-spacing: -.045em; }
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; }
.price-card {
  min-height: 20rem;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border-radius: 1.6rem;
  border: 1px solid var(--hairline);
  background: #fff;
  box-shadow: 0 14px 42px rgba(60,40,32,.08);
}
.price-card:nth-child(2) { background: var(--nursery); }
.price-card:nth-child(3) { background: #f3ddcf; }
.price-card:nth-child(4) { background: var(--night); color: white; }
.price-card__tier { font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.price-card h3 { margin: .7rem 0 1.5rem; font-size: 2rem; line-height: 1; }
.price-card__price { margin-top: auto; font: 700 clamp(2rem, 3vw, 3.3rem)/1 var(--font-editorial); }
.price-card s { opacity: .58; }
.price-card a { margin-top: 1.25rem; font-weight: 800; text-decoration: underline; text-underline-offset: .25rem; }
.price-note { color: var(--cocoa-soft); max-width: 52ch; }

.service-price-band__inner {
  border-radius: 2rem;
  padding: clamp(2rem, 5vw, 4rem);
  color: white;
  background: linear-gradient(130deg, var(--night), var(--night-soft));
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 2rem;
  align-items: center;
}
.service-price-band h2 { font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: .95; }
.service-price-band strong { display: block; font: 700 clamp(2.6rem, 5vw, 5rem)/1 var(--font-editorial); }

.verified-facilities { margin: 0; padding: 0 0 clamp(4rem, 8vw, 8rem); }
.verified-facilities__head { max-width: none; }
.verified-facilities__head h1 { max-width: 13ch; }
.editorial-standalone-hero {
  min-height: clamp(31rem, 68vh, 48rem);
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: clamp(5rem, 10vw, 9rem) max(1.25rem, calc((100vw - 82rem) / 2));
  color: white;
  background: linear-gradient(105deg, rgba(30,22,20,.86), rgba(30,22,20,.24) 72%), url("./assets/media/selayang-web/rooms/IMG_3181.webp") center / cover no-repeat;
}
.editorial-standalone-hero :is(h1,p,.chapter-mark) { color: white !important; }
.editorial-standalone-hero p { max-width: 48ch; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.65; }
.facility-grid { max-width: 88rem; margin: 3rem auto 0; padding-inline: 1.25rem; display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.facility-card {
  min-height: 24rem;
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  border-radius: 1.8rem;
  background-size: cover;
  background-position: center;
  color: white;
}
.facility-card:nth-child(1), .facility-card:nth-child(6) { grid-column: span 8; }
.facility-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(20,15,14,.8)); }
.facility-card > div { position: relative; padding: 1.45rem; }
.facility-card h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.8rem); line-height: 1; }
.facility-card p { margin: .55rem 0 0; color: rgba(255,255,255,.82); }

.social-wall {
  max-width: 88rem;
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 8rem) 1.25rem;
}
.social-wall > header { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.5rem 3rem; align-items: end; }
.social-wall > header .chapter-mark { grid-column: 1 / -1; }
.social-wall h2 { max-width: 12ch; margin: 0; font-size: clamp(2.8rem, 5vw, 5rem); line-height: .95; letter-spacing: -.04em; }
.social-wall > header p { margin: 0; color: var(--cocoa-soft); font-size: 1.05rem; line-height: 1.65; }
.social-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; margin-top: 2.5rem; }
.social-direct-embed { min-width: 0; overflow: hidden; border: 1px solid var(--hairline); border-radius: 1.35rem; background: white; box-shadow: 0 16px 40px rgba(56,37,30,.12); }
.social-direct-embed__frame { height: 44rem; overflow: hidden; background: white; }
.social-direct-embed__frame iframe { display: block; width: 100%; height: 100%; border: 0; background: white; }
.source-note { margin-top: 1rem; color: var(--cocoa-soft); }
.social-library { margin-top: clamp(3rem, 7vw, 6rem); }
.social-library h3 { max-width: 15ch; margin: 0 0 1.5rem; font-size: clamp(2.2rem, 4vw, 4rem); line-height: .98; }
.social-library__filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.4rem; }
.social-library__filters button { min-height: 44px; padding: .65rem .9rem; border: 1px solid var(--hairline); border-radius: 999px; color: var(--cocoa); background: white; font: 800 .72rem/1 var(--font-sans); }
.social-library__filters button[aria-pressed="true"] { border-color: var(--night); color: white; background: var(--night); }
.social-library__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.social-player {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--hairline);
  border-radius: 1.4rem;
  background: white;
  box-shadow: 0 16px 40px rgba(56,37,30,.12);
}
.social-player__poster,
.social-player--source > a {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 30rem;
  display: flex;
  flex-direction: column;
  justify-content: end;
  overflow: hidden;
  gap: .85rem;
  padding: 1.25rem;
  border: 0;
  color: white;
  text-align: left;
  background: var(--social-image) center / cover no-repeat;
}
.social-player__poster::before,
.social-player--source > a::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(24,18,22,.08) 12%, rgba(24,18,22,.22) 45%, rgba(24,18,22,.94)); }
.social-player__poster:hover::before,
.social-player--source > a:hover::before { background: linear-gradient(180deg, rgba(24,18,22,.04) 8%, rgba(24,18,22,.16) 40%, rgba(24,18,22,.9)); }
.social-player__topline { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: auto; }
.social-player__topline b,
.social-player__topline em { width: fit-content; padding: .42rem .58rem; border-radius: 999px; background: rgba(29,22,24,.76); font: 900 .62rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; font-style: normal; }
.social-player__topline em { color: rgba(255,255,255,.78); letter-spacing: .02em; text-transform: none; }
.social-player__poster > strong,
.social-player--source > a > strong { max-width: 18ch; font: 500 clamp(1.55rem, 2.5vw, 2.5rem)/1 var(--font-editorial); text-wrap: balance; }
.social-player__action { width: fit-content; padding: .6rem .75rem; border-radius: 999px; color: var(--night); background: #fff8ee; font-size: .72rem; font-weight: 900; }
.social-player__source { display: flex; min-height: 44px; align-items: center; justify-content: flex-end; padding: .7rem 1rem; color: var(--papaya-deep); font-size: .72rem; font-weight: 900; }
.social-player__embed { min-height: 42rem; background: #fff; }
.social-player__embed iframe { display: block; width: 100%; height: 42rem; border: 0; background: white; }
.social-player[data-social-platform="YouTube"] .social-player__embed { min-height: 0; aspect-ratio: 16 / 9; background: var(--night); }
.social-player[data-social-platform="YouTube"] .social-player__embed iframe { height: 100%; }
.social-player__live-caption { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; }
.social-player__live-caption strong { font: 600 1.1rem/1.15 var(--font-editorial); }
.social-player__live-caption a { flex: none; color: var(--papaya-deep); font-size: .72rem; font-weight: 900; }
.context-social { padding: clamp(4rem, 7vw, 7rem) max(1.25rem, calc((100vw - 82rem) / 2)); background: linear-gradient(180deg, #f4e8dc, #ead8c8); }
.context-social header { display: grid; grid-template-columns: 1fr .8fr; gap: .75rem 2rem; align-items: end; margin-bottom: 2rem; }
.context-social header .chapter-mark { grid-column: 1 / -1; }
.context-social h2 { max-width: 14ch; margin: 0; font-size: clamp(2.7rem, 5vw, 4.8rem); line-height: .95; }
.context-social header p { margin: 0; color: var(--cocoa-soft); line-height: 1.6; }
.context-social > .context-social__feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.context-social .social-direct-embed { border-color: rgba(107,72,58,.16); box-shadow: 0 22px 48px rgba(76,48,37,.13); }
.context-social .social-direct-embed__frame { height: 43rem; }
.context-social .social-player__poster,
.context-social .social-player--source > a { min-height: 24rem; }
.social-proof-dialog { width: min(94vw, 48rem); max-height: 92vh; padding: 0; overflow: hidden; border: 0; border-radius: 1.4rem; color: var(--cocoa); background: white; box-shadow: 0 34px 90px rgba(21,16,23,.42); }
.social-proof-dialog::backdrop { background: rgba(25,18,22,.78); backdrop-filter: blur(8px); }
.social-proof-dialog__bar,
.social-proof-dialog__footer { display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; }
.social-proof-dialog__bar { justify-content: flex-end; color: white; background: var(--night); font-size: .72rem; font-weight: 850; letter-spacing: .04em; }
.social-proof-dialog__bar button { width: 44px; height: 44px; border-radius: 50%; color: white; background: rgba(255,255,255,.12); font-size: 1.6rem; }
.social-proof-dialog__frame { min-height: min(72vh, 44rem); overflow: auto; background: #fff; }
.social-proof-dialog__frame iframe { display: block; width: 100%; min-height: min(72vh, 44rem); border: 0; }
.social-proof-dialog__footer { border-top: 1px solid var(--hairline); }
.social-proof-dialog__footer strong { font: 600 1.1rem/1.1 var(--font-editorial); }
.social-proof-dialog__footer a { flex: none; color: var(--papaya-deep); font-size: .75rem; font-weight: 900; }

.warm-cinema__brand {
  position: absolute;
  z-index: 4;
  right: 1.35rem;
  bottom: .9rem;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  color: rgba(255,250,244,.74);
  pointer-events: none;
}
.warm-cinema__brand img { width: 1.25rem; height: 1.25rem; object-fit: contain; filter: grayscale(1) brightness(2.1); }
.warm-cinema__brand b { font: 600 .9rem/1 var(--font-editorial); }
.warm-cinema__hint { padding-right: 5rem; }

.proof-celebration {
  position: relative;
  overflow: hidden;
  border: 0 !important;
  color: #fff8e9;
  background:
    radial-gradient(circle at 10% 2%, rgba(238,194,105,.22), transparent 20rem),
    radial-gradient(circle at 92% 110%, rgba(219,143,101,.18), transparent 24rem),
    linear-gradient(125deg, #573529, #704432 48%, #302936) !important;
}
.proof-celebration::before,
.proof-celebration::after { content: "✦"; position: absolute; color: #e8bd68; font-size: clamp(4rem, 9vw, 8rem); opacity: .1; }
.proof-celebration::before { left: 2%; top: -2rem; }
.proof-celebration::after { right: 3%; bottom: -3rem; transform: rotate(18deg); }
.proof-celebration__inner {
  position: relative;
  z-index: 1;
  max-width: 82rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 4.5rem) 1.25rem !important;
}
.proof-celebration ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0;
  padding: 0;
  list-style: none;
}
.proof-celebration li { min-width: 0; }
.proof-celebration li a {
  min-height: 13rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: .25rem 1rem;
  align-content: center;
  padding: clamp(1.4rem, 2.5vw, 2rem);
  border: 1px solid rgba(255,248,233,.18);
  border-radius: 1.5rem;
  color: inherit !important;
  background: rgba(255,248,233,.065);
  box-shadow: inset 0 1px rgba(255,255,255,.08);
  transition: transform 240ms ease, background 240ms ease, border-color 240ms ease;
}
.proof-celebration li a:hover {
  transform: translateY(-4px);
  border-color: rgba(255,248,233,.34);
  background: rgba(255,248,233,.1);
}
.proof-celebration li a:focus-visible { outline: 3px solid #fff8e9; outline-offset: 4px; }
.proof-card__mark {
  grid-row: 1 / 4;
  display: grid;
  width: clamp(3.75rem, 5vw, 4.5rem);
  aspect-ratio: 1;
  place-items: center;
  align-self: center;
  border: 1px solid rgba(255,248,233,.25);
  border-radius: 50%;
  color: #f1c980 !important;
  background: rgba(255,248,233,.08);
  font: 600 1.2rem/1 var(--font-editorial);
}
.proof-card__mark img { width: 65%; height: 65%; object-fit: contain; filter: sepia(1) saturate(.45) brightness(1.85); }
.proof-card__role {
  color: #efbd88 !important;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}
.proof-celebration li strong {
  min-width: 0;
  font: 500 clamp(1.85rem, 2.8vw, 2.65rem)/1 var(--font-editorial);
  text-wrap: balance;
}
.proof-card__subtitle {
  align-self: start;
  color: rgba(255,248,233,.82) !important;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.45;
}

.mother-embrace {
  min-height: min(780px, 88vh);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(26rem, .92fr);
  gap: clamp(1.5rem, 3vw, 3.5rem);
  padding-block: clamp(1.5rem, 2.5vw, 2.5rem);
  color: #fffaf4;
  background: #2c2733;
}
.mother-embrace__photo {
  min-height: 42rem;
  border-radius: 0 7rem 7rem 0;
  background: url("./assets/media/generated/mother-embrace-young-v2.webp") center 42% / cover no-repeat;
  box-shadow: 0 28px 70px rgba(11,8,14,.26);
}
.mother-embrace__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 5vw, 5.5rem) clamp(1.5rem, 5vw, 5rem) clamp(3rem, 5vw, 5.5rem) 0; }
.mother-embrace__copy .chapter-mark { color: #efb58e; }
.mother-embrace__copy h2 { max-width: 12ch; margin: 1rem 0 2.25rem; font-size: clamp(3rem, 4.6vw, 5rem); line-height: .96; letter-spacing: -.042em; text-wrap: balance; }
.mother-embrace__copy p { display: grid; gap: 1rem; margin: 0; color: rgba(255,250,244,.84); font-size: clamp(1.12rem, 1.5vw, 1.3rem); line-height: 1.55; }
.mother-embrace__copy p strong { max-width: 22ch; color: white; font: 500 clamp(1.7rem, 2.35vw, 2.35rem)/1.1 var(--font-editorial); text-wrap: balance; }

.home-film-library,
.media-tapestry {
  padding: clamp(4rem, 7vw, 7rem) max(1.25rem, calc((100vw - 82rem) / 2));
}
.home-film-library { color: white; background: #221d2d; }
.home-film-library header,
.media-tapestry header { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.5rem 3rem; align-items: end; margin-bottom: 2.5rem; }
.home-film-library header .chapter-mark,
.media-tapestry header .chapter-mark { grid-column: 1 / -1; color: #e7a078; }
.home-film-library h2,
.media-tapestry h2 { max-width: 13ch; margin: 0; font-size: clamp(2.8rem, 4.8vw, 5rem); line-height: .94; letter-spacing: -.045em; }
.home-film-library header p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.7; }
.home-film-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-film-card { overflow: hidden; margin: 0; border: 1px solid rgba(255,255,255,.15); border-radius: 1.3rem !important; background: #17131f; box-shadow: 0 22px 50px rgba(0,0,0,.28) !important; }
.home-film-card video { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #0d0b12; }
.home-film-card figcaption { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.2rem 1.2rem; font: 500 1.25rem/1.1 var(--font-editorial); }
.home-film-card figcaption span { color: #e7a078; font: 800 .65rem/1 var(--font-human); letter-spacing: .16em; }

.media-tapestry {
  --memory-cream: #fff8ee;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 7.5rem) 0 clamp(3.5rem, 6vw, 6rem);
  color: var(--memory-cream);
  background:
    radial-gradient(circle at 12% 2%, rgba(211,136,95,.32), transparent 29rem),
    radial-gradient(circle at 88% 92%, rgba(128,92,108,.25), transparent 32rem),
    linear-gradient(135deg, #4a302f 0%, #2a2431 58%, #1d1a25 100%);
}
.media-tapestry__header {
  display: grid;
  justify-items: center;
  max-width: 82rem;
  margin: 0 auto clamp(2.5rem, 4vw, 4rem);
  padding-inline: max(1.25rem, calc((100vw - 82rem) / 2));
  text-align: center;
}
.media-tapestry__header .chapter-mark { margin-bottom: 1.1rem; color: #efb38d; }
.media-tapestry__header h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(3rem, 5.6vw, 6.4rem);
  line-height: .92;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.media-tapestry__header p {
  max-width: 44rem;
  margin: 1.65rem auto 0;
  color: rgba(255,248,238,.76);
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  line-height: 1.62;
  text-wrap: balance;
}
.media-tapestry__viewport { position: relative; }
.media-tapestry__viewport::before,
.media-tapestry__viewport::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset-block: 0;
  width: max(1.25rem, calc((100vw - 82rem) / 2));
  pointer-events: none;
}
.media-tapestry__viewport::before { left: 0; background: linear-gradient(90deg, #332831, transparent); }
.media-tapestry__viewport::after { right: 0; background: linear-gradient(270deg, #211c27, transparent); }
.media-tapestry__track {
  display: flex;
  gap: clamp(.8rem, 1.4vw, 1.25rem);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: max(1.25rem, calc((100vw - 82rem) / 2));
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  padding-inline: max(1.25rem, calc((100vw - 82rem) / 2));
  cursor: grab;
}
.media-tapestry__track::-webkit-scrollbar { display: none; }
.media-tapestry__track:focus-visible { outline: 3px solid #efb38d; outline-offset: -3px; }
.media-tapestry__item {
  position: relative;
  flex: 0 0 clamp(19rem, 27vw, 25rem);
  height: clamp(30rem, 48vw, 41rem);
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255,248,238,.2);
  border-radius: clamp(1.2rem, 2vw, 2rem) !important;
  background: #17131d;
  box-shadow: 0 24px 55px rgba(12,8,15,.32) !important;
  scroll-snap-align: center;
  isolation: isolate;
}
.media-tapestry__item--wide { flex-basis: clamp(30rem, 46vw, 44rem); }
.media-tapestry__item::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 42% 0 0;
  background: linear-gradient(180deg, transparent, rgba(15,10,17,.88));
  pointer-events: none;
}
.media-tapestry__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .75s cubic-bezier(.2,.8,.2,1), filter .45s ease;
}
.media-tapestry__item figcaption {
  position: absolute;
  z-index: 2;
  inset: auto clamp(1.25rem, 2vw, 2rem) clamp(1.25rem, 2vw, 2rem);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .65rem .9rem;
  align-items: end;
  color: white;
}
.media-tapestry__item figcaption span {
  color: #efb38d;
  font: 800 .72rem/1 var(--font-human);
  letter-spacing: .16em;
}
.media-tapestry__item figcaption strong {
  font: 500 clamp(1.55rem, 2.3vw, 2.25rem)/1.05 var(--font-editorial);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.media-tapestry__item:hover img { transform: scale(1.045); filter: saturate(1.04) contrast(1.02); }
.media-tapestry__footer {
  display: grid;
  grid-template-columns: minmax(13rem, .8fr) minmax(12rem, 1.25fr) auto;
  gap: 1.5rem 2rem;
  align-items: center;
  max-width: 82rem;
  margin: 1.8rem auto 0;
  padding-inline: max(1.25rem, calc((100vw - 82rem) / 2));
}
.media-tapestry__footer > p { margin: 0; color: rgba(255,248,238,.68); font-size: .96rem; line-height: 1.5; }
.media-tapestry__progress { height: 2px; overflow: hidden; background: rgba(255,248,238,.2); }
.media-tapestry__progress i { display: block; width: 100%; height: 100%; background: #efb38d; transform: scaleX(0); transform-origin: left; transition: transform .16s linear; }
.media-tapestry__actions { display: flex; gap: .65rem; align-items: center; }
.media-tapestry__actions button,
.media-tapestry__actions a {
  display: inline-flex;
  min-width: 3rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,248,238,.28);
  border-radius: 999px;
  color: var(--memory-cream);
  background: rgba(255,255,255,.07);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}
.media-tapestry__actions button { padding: 0; font-size: 1.15rem; cursor: pointer; }
.media-tapestry__actions a { gap: .6rem; padding: .75rem 1.2rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.media-tapestry__actions button:hover,
.media-tapestry__actions a:hover { color: #2c2130; background: #f4c19f; transform: translateY(-2px); }

.photo-story-card { position: relative; overflow: hidden; padding-top: 9.5rem !important; background: #fff !important; }
.photo-story-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 8rem; background: var(--story-image) center / cover no-repeat; }
.photo-story-card::after { content: ""; position: absolute; inset: 0 0 auto; height: 8rem; background: linear-gradient(180deg, transparent 50%, rgba(255,255,255,.3)); pointer-events: none; }
.photo-story-card > * { position: relative; z-index: 1; }

.mind-pathways {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0 !important;
  color: #fff9f1;
  background:
    radial-gradient(circle at 15% 5%, rgba(231,160,120,.34), transparent 26rem),
    radial-gradient(circle at 88% 78%, rgba(148,104,122,.28), transparent 30rem),
    linear-gradient(135deg, #382832 0%, #5d3837 52%, #252331 100%) !important;
}
.mind-pathways::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(42rem, 55vw);
  aspect-ratio: 1;
  top: -30rem;
  right: -8rem;
  border: 1px solid rgba(255,245,232,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255,245,232,.025), 0 0 0 9rem rgba(255,245,232,.018);
  animation: careCompassBreath 8s ease-in-out infinite alternate;
}
.mind-pathways__inner {
  width: min(100%, 88rem) !important;
  max-width: 88rem !important;
  margin-inline: auto;
  padding: clamp(3.75rem, 6vw, 6rem) 1.25rem clamp(4.25rem, 7vw, 7rem) !important;
}
.mind-pathways__header {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  grid-template-areas:
    "kicker kicker"
    "title intro"
    "title cta";
  align-items: end;
  gap: .8rem clamp(2rem, 7vw, 7rem);
  max-width: none !important;
  margin: 0 0 clamp(2rem, 4vw, 3.25rem) !important;
}
.mind-pathways__kicker {
  grid-area: kicker;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: #f0b98e;
  font-size: .77rem;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1.2;
  text-transform: uppercase;
}
.mind-pathways__kicker::before {
  content: "";
  width: 2.5rem;
  height: 1px;
  background: currentColor;
}
.mind-pathways__header h2 {
  grid-area: title;
  max-width: 10ch;
  margin: 0 !important;
  color: #fff9f1 !important;
  font-size: clamp(3.2rem, 5.3vw, 5.7rem) !important;
  line-height: .92 !important;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.mind-pathways__header p {
  grid-area: intro;
  max-width: 38ch;
  margin: 0 !important;
  color: rgba(255,249,241,.78) !important;
  font-size: clamp(1.1rem, 1.45vw, 1.28rem);
  line-height: 1.55 !important;
}
.mind-pathways__cta {
  grid-area: cta;
  width: fit-content;
  min-height: 3.25rem;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-top: .55rem;
  padding: .8rem 1rem .8rem 1.2rem;
  border: 1px solid rgba(255,249,241,.35);
  border-radius: 999px;
  color: #fff9f1 !important;
  background: rgba(255,255,255,.07);
  font-weight: 760;
  line-height: 1.2;
  transition: color 220ms ease, background 220ms ease, transform 220ms ease;
}
.mind-pathways__cta b {
  display: grid;
  width: 2rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #3c2930;
  background: #f1bd92;
  font-size: 1rem;
}
.mind-pathways__cta:hover { color: #3c2930 !important; background: #fff5e9; transform: translateY(-2px); }
.mind-pathways__cta:focus-visible,
.mind-pathways__card:focus-visible { outline: 3px solid #f3c89e; outline-offset: 4px; }
.mind-pathways__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.mind-pathways__item { min-width: 0; }
.mind-pathways__card.photo-story-card {
  position: relative;
  isolation: isolate;
  min-height: clamp(19rem, 27vw, 23rem);
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 1.35rem !important;
  border: 1px solid rgba(255,249,241,.2) !important;
  border-radius: 1.55rem !important;
  color: #fff9f1 !important;
  background: #2d2631 !important;
  box-shadow: 0 20px 46px rgba(17,10,18,.2) !important;
  transform: translateZ(0);
  transition: transform 280ms cubic-bezier(.2,.75,.25,1), border-color 280ms ease, box-shadow 280ms ease;
}
.mind-pathways__card.photo-story-card::before {
  inset: 0;
  z-index: -2;
  height: auto;
  background: var(--story-image) center / cover no-repeat;
  transition: transform 700ms cubic-bezier(.2,.75,.25,1), filter 350ms ease;
}
.mind-pathways__card.photo-story-card::after {
  inset: 0;
  z-index: -1;
  height: auto;
  background: linear-gradient(180deg, rgba(22,16,22,.05) 16%, rgba(22,16,22,.28) 45%, rgba(22,16,22,.93) 100%);
  transition: background 280ms ease;
}
.mind-pathways__card > div[aria-hidden="true"] { display: none !important; }
.mind-pathways__number {
  position: absolute !important;
  top: 1.15rem;
  left: 1.15rem;
  display: grid;
  min-width: 2.4rem;
  min-height: 2.4rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  color: #fff9f1;
  background: rgba(32,24,31,.32);
  backdrop-filter: blur(10px);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .1em;
}
.mind-pathways__arrow {
  position: absolute !important;
  top: 1.15rem;
  right: 1.15rem;
  display: grid;
  width: 2.7rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  color: #fff9f1;
  background: rgba(32,24,31,.24);
  backdrop-filter: blur(10px);
  font-size: 1.25rem;
  transition: color 240ms ease, background 240ms ease, transform 240ms ease;
}
.mind-pathways__title {
  color: #fff9f1 !important;
  font: 500 clamp(1.55rem, 2.05vw, 2rem)/1.03 var(--font-editorial) !important;
  letter-spacing: -.02em;
  text-wrap: balance;
}
.mind-pathways__description {
  max-width: 26ch;
  margin-top: .65rem !important;
  color: rgba(255,249,241,.78) !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
}
.mind-pathways__card:hover,
.mind-pathways__card:focus-visible {
  border-color: rgba(255,249,241,.52) !important;
  box-shadow: 0 30px 60px rgba(17,10,18,.34) !important;
  transform: translateY(-7px) rotate(.25deg);
}
.mind-pathways__card:hover::before,
.mind-pathways__card:focus-visible::before { transform: scale(1.065); filter: saturate(1.06) contrast(1.02); }
.mind-pathways__card:hover .mind-pathways__arrow,
.mind-pathways__card:focus-visible .mind-pathways__arrow { color: #3c2930; background: #f1bd92; transform: rotate(8deg); }

@keyframes careCompassBreath {
  from { transform: translate3d(0, 0, 0) scale(.96); opacity: .65; }
  to { transform: translate3d(-1.5rem, 1.25rem, 0) scale(1.04); opacity: 1; }
}
.family-card-photo { width: calc(100% + 3.5rem); max-width: none; height: 11rem; margin: -1.75rem -1.75rem 1rem; object-fit: cover; border-radius: 1.1rem 1.1rem .3rem .3rem; }

.home-tour-story {
  position: relative;
  overflow: hidden;
  padding: clamp(1rem, 2vw, 1.75rem) !important;
  color: #fff9f1;
  background: #211b27 !important;
}
.home-tour-story__stage {
  position: relative;
  isolation: isolate;
  width: min(100%, 94rem);
  min-height: clamp(35rem, 72vh, 48rem);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: clamp(1.35rem, 2.5vw, 2.4rem);
  background: #1e1821;
  box-shadow: 0 32px 80px rgba(12,8,15,.35);
}
.home-tour-story__stage::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(24,17,23,.78) 0%, rgba(24,17,23,.3) 44%, transparent 68%), linear-gradient(180deg, rgba(20,14,19,.2), transparent 45%);
}
.home-tour-story__stage > [class*="tour-shell"] {
  width: 100% !important;
  height: clamp(35rem, 72vh, 48rem) !important;
  min-height: 0 !important;
}
.home-tour-story__copy {
  position: absolute;
  z-index: 12;
  top: clamp(2rem, 5vw, 4.5rem);
  left: clamp(1.5rem, 5vw, 5rem);
  display: grid;
  justify-items: start;
  width: min(34rem, calc(100% - 3rem));
  padding: clamp(1.35rem, 2.6vw, 2.3rem);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1.5rem;
  background: rgba(31,23,30,.64);
  box-shadow: 0 24px 60px rgba(12,8,14,.2);
  backdrop-filter: blur(16px);
}
.home-tour-story__copy .chapter-mark { color: #f1b58e; }
.home-tour-story__copy h2 {
  max-width: 12ch;
  margin: .85rem 0 1rem;
  color: white !important;
  font-size: clamp(2.8rem, 4.8vw, 5.2rem) !important;
  line-height: .93 !important;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.home-tour-story__copy p {
  max-width: 32ch;
  margin: 0;
  color: rgba(255,249,241,.78) !important;
  font-size: clamp(1.05rem, 1.35vw, 1.2rem) !important;
  line-height: 1.5 !important;
}
.home-tour-story__copy a {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  gap: .8rem;
  margin-top: 1.45rem;
  padding: .8rem 1.25rem;
  border-radius: 999px;
  color: #2d2229;
  background: #f2c09d;
  font-weight: 800;
  text-decoration: none;
  pointer-events: auto;
  transition: transform .25s ease, background .25s ease;
}
.home-tour-story__copy a:hover { background: #ffe1c9; transform: translateY(-2px); }
.home-tour-story [class*="tour_disclosure"] { display: none !important; }

.care-close-story {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(24rem, .92fr);
  min-height: clamp(36rem, 64vw, 48rem);
  padding: 0 !important;
  color: #fff9f1;
  background: #302632 !important;
}
.care-close-story__photo { min-height: 36rem; overflow: hidden; }
.care-close-story__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.care-close-story:hover .care-close-story__photo img { transform: scale(1.025); }
.care-close-story__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 6vw, 6.5rem);
  background: radial-gradient(circle at 90% 10%, rgba(218,145,108,.22), transparent 20rem), linear-gradient(145deg, #513238, #292432 76%);
}
.care-close-story__copy > img { width: clamp(4rem, 6vw, 5.75rem); height: auto; margin-bottom: clamp(2rem, 4vw, 3.25rem); filter: drop-shadow(0 12px 24px rgba(0,0,0,.18)); }
.care-close-story__copy h2 { max-width: 10ch; margin: 0; color: white !important; font-size: clamp(3.25rem, 5.5vw, 6rem) !important; line-height: .92 !important; letter-spacing: -.05em; text-wrap: balance; }
.care-close-story__copy p { max-width: 31ch !important; margin: 1.7rem 0 0 !important; color: rgba(255,249,241,.78) !important; font-size: clamp(1.15rem, 1.55vw, 1.35rem) !important; line-height: 1.58 !important; }
.care-close-story__line { display: flex; width: min(100%, 22rem); gap: .45rem; margin-top: 2.25rem; }
.care-close-story__line i { height: 3px; flex: 1; border-radius: 999px; background: rgba(255,255,255,.2); }
.care-close-story__line i:first-child { flex: 2; background: #efb58e; }

.family-journeys {
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) max(1.25rem, calc((100vw - 82rem) / 2)) !important;
  background: #f3e9dd !important;
}
.family-journeys__header { display: grid; justify-items: center; max-width: 66rem; margin: 0 auto clamp(2.5rem, 4vw, 4rem); text-align: center; }
.family-journeys__header h2 { max-width: 15ch; margin: 0; font-size: clamp(3rem, 5.3vw, 5.8rem) !important; line-height: .92 !important; letter-spacing: -.05em; text-wrap: balance; }
.family-journeys__header p { max-width: 45rem !important; margin: 1.25rem auto 0 !important; color: #6c5b53 !important; font-size: clamp(1.08rem, 1.45vw, 1.28rem) !important; line-height: 1.6 !important; text-wrap: balance; }
.family-journeys__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 1.7vw, 1.4rem); }
.family-journeys__card {
  overflow: hidden;
  border: 1px solid #d8c3ad;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.75);
  box-shadow: 0 22px 55px rgba(76,48,36,.08);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.family-journeys__card:hover { transform: translateY(-7px); box-shadow: 0 30px 70px rgba(76,48,36,.14); }
.family-journeys__card > img { width: 100%; aspect-ratio: 4 / 4.35; object-fit: cover; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.family-journeys__card:hover > img { transform: scale(1.035); }
.family-journeys__card > div { display: grid; align-content: start; min-height: 17rem; padding: clamp(1.35rem, 2.4vw, 2rem); }
.family-journeys__card h3 { margin: 0; color: #2f2522 !important; font-size: clamp(1.8rem, 2.5vw, 2.5rem) !important; line-height: 1 !important; }
.family-journeys__card p { margin: 1rem 0 1.4rem !important; color: #6b5b54 !important; font-size: 1rem !important; line-height: 1.58 !important; }
.family-journeys__card a { display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid #ddcbbb; color: #a75636; font-weight: 800; text-decoration: none; }
.family-journeys__card a span { transition: transform .25s ease; }
.family-journeys__card a:hover span { transform: translate(.2rem,-.2rem); }

.home-first-night {
  padding: clamp(1rem, 2.2vw, 2rem) !important;
  background: #f8f2ea !important;
}
.home-first-night__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(28rem, 1.12fr);
  width: min(100%, 94rem);
  min-height: clamp(27rem, 42vw, 36rem);
  margin-inline: auto;
  overflow: hidden;
  border-radius: clamp(1.5rem, 2.5vw, 2.5rem);
  background: #211d1b;
  box-shadow: 0 28px 70px rgba(47,35,30,.16);
}
.home-first-night__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(2.5rem, 5vw, 5rem);
  color: #fffaf4;
  background: radial-gradient(circle at 0 0, rgba(194,112,75,.22), transparent 20rem), #211d1b;
}
.home-first-night__copy .chapter-mark { color: #e6b08d; }
.home-first-night__copy h2 {
  max-width: 12ch;
  margin: 1rem 0 1.25rem;
  color: #fffaf4 !important;
  font-size: clamp(2.8rem, 4.8vw, 5rem) !important;
  line-height: .96 !important;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.home-first-night__copy p {
  max-width: 32ch !important;
  margin: 0 !important;
  color: rgba(255,250,244,.76) !important;
  font-size: clamp(1.08rem, 1.45vw, 1.28rem) !important;
  line-height: 1.6 !important;
}
.home-first-night__copy a {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  gap: 1.25rem;
  margin-top: 1.75rem;
  padding: .82rem 1.25rem;
  border-radius: 999px;
  color: #2d2220;
  background: #efb38c;
  font-weight: 800;
  text-decoration: none;
  transition: transform .25s ease, background .25s ease;
}
.home-first-night__copy a:hover { background: #ffd6bb; transform: translateY(-2px); }
.home-first-night__copy a span { font-size: 1.25rem; transition: transform .25s ease; }
.home-first-night__copy a:hover span { transform: translateX(.2rem); }
.home-first-night__photo {
  position: relative;
  min-height: 27rem;
  margin: 0;
  overflow: hidden;
  background: #4a3431;
}
.home-first-night__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(33,29,27,.38), transparent 32%), linear-gradient(0deg, rgba(23,18,17,.28), transparent 42%);
  pointer-events: none;
}
.home-first-night__photo > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transition: transform .9s cubic-bezier(.2,.8,.2,1);
}
.home-first-night:hover .home-first-night__photo > img:first-child { transform: scale(1.025); }
.home-first-night__bear {
  position: absolute;
  z-index: 2;
  right: clamp(1rem, 2vw, 1.75rem);
  bottom: clamp(1rem, 2vw, 1.75rem);
  width: clamp(3.75rem, 5vw, 5rem);
  height: auto;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,.25));
}

.care-mosaic {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 7rem) 0 !important;
  color: #392a27;
  background: radial-gradient(circle at 8% 12%, rgba(231,168,131,.33), transparent 25rem), radial-gradient(circle at 92% 76%, rgba(119,145,121,.2), transparent 26rem), #f7eee4 !important;
}
.care-mosaic::before,
.care-mosaic::after {
  content: "";
  position: absolute;
  width: 18rem;
  aspect-ratio: 1;
  border: 1px solid rgba(154,89,62,.13);
  border-radius: 50%;
  pointer-events: none;
}
.care-mosaic::before { top: -8rem; left: -6rem; }
.care-mosaic::after { right: -7rem; bottom: -9rem; }
.care-mosaic__inner { position: relative; z-index: 1; width: min(100%, 96rem) !important; max-width: none !important; padding-inline: clamp(1rem, 3vw, 2rem) !important; }
.care-mosaic__intro { display: grid; justify-items: center; max-width: none !important; text-align: center; }
.care-mosaic__intro .chapter-mark { color: #a96345; }
.care-mosaic__intro h2 {
  max-width: 15ch;
  margin: .8rem auto 0;
  color: #342420 !important;
  font-size: clamp(3.5rem, 6.2vw, 6.6rem) !important;
  line-height: .9 !important;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.care-mosaic__lead {
  max-width: 42rem !important;
  margin: 1.4rem auto 0 !important;
  color: #5d4942 !important;
  font-size: clamp(1.16rem, 1.65vw, 1.42rem) !important;
  font-weight: 750;
  line-height: 1.48 !important;
  text-wrap: balance;
}
.care-mosaic__path { position: relative; width: min(83%, 67rem); height: 2rem; margin: 1.65rem auto .4rem; overflow: hidden; }
.care-mosaic__path::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 2px; background: linear-gradient(90deg, transparent, #d9a57e 8%, #c97e5d 50%, #9baf9d 92%, transparent); }
.care-mosaic__path i { position: absolute; top: calc(50% - .37rem); left: 0; width: .75rem; aspect-ratio: 1; border-radius: 50%; background: #b76243; box-shadow: 0 0 0 .35rem rgba(183,98,67,.14), 0 0 1.5rem rgba(183,98,67,.35); animation: carePathGlow 7s ease-in-out infinite; }
.care-mosaic__cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.7rem, 1.25vw, 1.1rem); width: 100%; }
.care-mosaic__card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 21rem;
  overflow: hidden;
  padding: .9rem .9rem 1.1rem;
  border: 1px solid rgba(128,78,58,.17);
  border-radius: 1.65rem;
  color: #3c2b27;
  background: rgba(255,251,246,.84);
  box-shadow: 0 16px 40px rgba(98,60,44,.08);
  text-align: left;
  text-decoration: none;
  backdrop-filter: blur(10px);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.care-mosaic__card:nth-child(2n) { margin-top: 1.5rem; background: rgba(246,228,213,.9); }
.care-mosaic__art {
  width: 100%;
  aspect-ratio: 1.25;
  border-radius: 1.15rem;
  background-image: url('./assets/media/generated/labebe-care-bear-vignettes-v1.png');
  background-repeat: no-repeat;
  background-position: calc(var(--care-index) * 25%) center;
  background-size: 560% auto;
  filter: drop-shadow(0 12px 16px rgba(87,49,35,.12));
  transform-origin: 50% 90%;
  transition: transform .45s cubic-bezier(.2,.8,.2,1);
}
.care-mosaic__card strong { align-self: center; display: block; padding: .8rem .4rem .45rem; font: 600 clamp(1.05rem, 1.25vw, 1.22rem)/1.35 var(--font-body); letter-spacing: -.015em; }
.care-mosaic__arrow { display: grid; width: 2.5rem; aspect-ratio: 1; place-items: center; justify-self: end; border-radius: 50%; color: #fffaf4; background: #a85b3e; font-size: 1.05rem; transition: transform .3s ease, background .3s ease; }
.care-mosaic__card:hover,
.care-mosaic__card:focus-visible { border-color: rgba(143,75,49,.44); box-shadow: 0 26px 54px rgba(98,60,44,.17); transform: translateY(-.55rem) rotate(calc((var(--care-index) - 2) * .22deg)); }
.care-mosaic__card:hover .care-mosaic__art,
.care-mosaic__card:focus-visible .care-mosaic__art { transform: translateY(-.35rem) rotate(calc((var(--care-index) - 2) * -.8deg)) scale(1.045); }
.care-mosaic__card:hover .care-mosaic__arrow,
.care-mosaic__card:focus-visible .care-mosaic__arrow { background: #6d473b; transform: rotate(8deg) scale(1.06); }
.care-mosaic.is-in-view .care-mosaic__card { animation: careCardArrive .75s cubic-bezier(.18,.8,.25,1) backwards; animation-delay: calc(var(--care-index) * 90ms); }
.care-mosaic__closing { max-width: 52rem !important; margin: 2.5rem auto 0 !important; padding: 1.2rem 1.5rem; border: 1px solid rgba(135,82,59,.16); border-radius: 999px; color: #6b5148 !important; background: rgba(255,251,246,.72); font-size: clamp(1rem, 1.25vw, 1.15rem) !important; line-height: 1.55 !important; text-align: center; text-wrap: balance; }
.care-mosaic__services { margin-top: clamp(3rem, 5vw, 5rem) !important; }

.care-service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.1rem, 2vw, 1.75rem) !important;
}
.care-service-item { min-width: 0; }
.care-service-card {
  position: relative;
  border-color: rgba(135,82,59,.2) !important;
  border-radius: 2rem !important;
  background: rgba(255,253,249,.96) !important;
  box-shadow: 0 18px 48px rgba(90,57,44,.08);
  transform: translateZ(0);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease !important;
}
.care-service-item:nth-child(2n) .care-service-card { background: rgba(252,246,239,.98) !important; }
.care-service-card:hover,
.care-service-card:focus-visible {
  border-color: rgba(159,87,58,.48) !important;
  box-shadow: 0 26px 58px rgba(90,57,44,.15) !important;
  transform: translateY(-.4rem);
}
.care-service-card:focus-visible { outline: 3px solid rgba(178,97,66,.42); outline-offset: 4px; }
.care-service-card__media { position: relative; overflow: hidden; }
.care-service-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 24%;
  background: linear-gradient(transparent, rgba(47,31,26,.16));
  pointer-events: none;
}
.care-service-card__content {
  gap: 0 !important;
  padding: clamp(1.35rem, 2.2vw, 2rem) !important;
}
.care-service-card__header { min-height: 3.6rem; align-items: center !important; gap: 1rem !important; }
.care-service-card__label {
  display: inline-flex;
  width: fit-content;
  min-height: 2.1rem;
  align-items: center;
  margin: 0 !important;
  padding: .48rem .8rem;
  border-radius: 999px;
  color: #8c543e !important;
  background: #f5e8dc;
  font: 800 clamp(.77rem, .85vw, .9rem)/1.1 var(--font-sans) !important;
  letter-spacing: .12em !important;
}
.care-service-card__bear {
  display: grid;
  width: 3.6rem;
  aspect-ratio: 1;
  place-items: center;
  margin-left: auto;
  border: 1px solid rgba(147,88,63,.16);
  border-radius: 50%;
  background: #fff9f2;
}
.care-service-card__bear .bgbear { height: 2.75rem !important; max-width: 2.9rem; }
.care-service-card__title {
  max-width: 18ch;
  margin: 1.15rem 0 0 !important;
  color: #382722 !important;
  font-size: clamp(1.85rem, 2.35vw, 2.55rem) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.care-service-card__summary {
  display: block !important;
  max-width: 48ch;
  margin: 1.05rem 0 0 !important;
  color: #58443d !important;
  font: 500 clamp(1.08rem, 1.3vw, 1.2rem)/1.56 var(--font-body) !important;
  -webkit-line-clamp: initial !important;
  text-wrap: pretty;
}
.care-service-card__count {
  display: flex;
  width: fit-content;
  min-height: 2.9rem;
  align-items: center;
  gap: 1.25rem;
  margin: auto 0 0 !important;
  padding: 1.35rem 0 0 !important;
  color: #8e4f39 !important;
  font: 800 .92rem/1.2 var(--font-sans) !important;
}
.care-service-card__count b {
  display: grid;
  width: 2.45rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #a85b3e;
  font-size: 1.05rem;
  transition: transform .3s ease, background .3s ease;
}
.care-service-card:hover .care-service-card__count b,
.care-service-card:focus-visible .care-service-card__count b { background: #6d473b; transform: translateX(.3rem); }

.meal-table-story {
  --meal-x: 0deg;
  --meal-y: 0deg;
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 7rem) clamp(1rem, 3vw, 2rem);
  color: #392925;
  background:
    radial-gradient(circle at 12% 18%, rgba(244,170,116,.42), transparent 27rem),
    radial-gradient(circle at 88% 82%, rgba(101,131,108,.31), transparent 27rem),
    #f4e8d8;
}
.meal-table-story::before {
  content: "";
  position: absolute;
  width: 32rem;
  aspect-ratio: 1;
  top: -18rem;
  right: 19%;
  border: 1px solid rgba(117,76,57,.14);
  border-radius: 50%;
}
.meal-table-story__inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, 94rem);
  margin: 0 auto;
  grid-template-columns: minmax(21rem, .82fr) minmax(34rem, 1.18fr);
  gap: clamp(2.5rem, 5vw, 6rem);
  align-items: center;
}
.meal-table-story__copy .chapter-mark { color: #935d43; }
.meal-table-story__copy h2 {
  max-width: 12ch;
  margin: .85rem 0 0;
  color: #34221e;
  font-size: clamp(3.5rem, 5.4vw, 6rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.meal-table-story__lead {
  margin: 1.65rem 0 0;
  color: #3c2a25;
  font: 800 clamp(1.25rem, 1.65vw, 1.55rem)/1.35 var(--font-sans);
}
.meal-table-story__body {
  max-width: 35rem;
  margin: .85rem 0 0;
  color: #644e44;
  font-size: clamp(1.03rem, 1.2vw, 1.16rem);
  line-height: 1.62;
  text-wrap: pretty;
}
.meal-table-story__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1.65rem;
}
.meal-table-story__tabs button {
  min-height: 4.25rem;
  padding: .72rem .78rem;
  border: 1px solid rgba(95,66,55,.18);
  border-radius: 1rem;
  color: #624a40;
  background: rgba(255,251,244,.63);
  text-align: left;
  cursor: pointer;
  transition: transform .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease;
}
.meal-table-story__tabs button strong,
.meal-table-story__tabs button span { display: block; }
.meal-table-story__tabs button strong { font: 850 .78rem/1.1 var(--font-sans); letter-spacing: .1em; }
.meal-table-story__tabs button span { margin-top: .35rem; font-size: .76rem; line-height: 1.2; }
.meal-table-story__tabs button:hover { transform: translateY(-.2rem); }
.meal-table-story__tabs button[aria-selected="true"] {
  border-color: #34283d;
  color: #fff9f0;
  background: #34283d;
  box-shadow: 0 12px 24px rgba(52,40,61,.2);
}
.meal-table-story__tabs button:focus-visible { outline: 3px solid rgba(168,91,62,.42); outline-offset: 3px; }
.meal-table-story__cta {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  gap: 1.1rem;
  margin-top: 1.35rem;
  padding: .85rem 1rem .85rem 1.25rem;
  border-radius: 999px;
  color: #fffaf3;
  background: #ad6043;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(125,69,47,.2);
  transition: transform .3s ease, background .3s ease;
}
.meal-table-story__cta span { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: rgba(255,255,255,.17); transition: transform .3s ease; }
.meal-table-story__cta:hover,
.meal-table-story__cta:focus-visible { background: #774938; transform: translateY(-.2rem); }
.meal-table-story__cta:hover span,
.meal-table-story__cta:focus-visible span { transform: translateX(.25rem); }
.meal-table-story__stage {
  position: relative;
  min-height: clamp(34rem, 47vw, 45rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: clamp(2rem, 4vw, 3.5rem);
  background:
    radial-gradient(circle at 50% 28%, rgba(255,209,153,.23), transparent 24rem),
    linear-gradient(145deg, #453448, #282435 70%);
  box-shadow: 0 32px 70px rgba(65,45,42,.24), inset 0 1px rgba(255,255,255,.16);
  perspective: 1200px;
}
.meal-table-story__decks {
  position: absolute;
  inset: 3.6rem 1rem 4.3rem;
  transform: rotateX(var(--meal-y)) rotateY(var(--meal-x));
  transform-style: preserve-3d;
  transition: transform .18s ease-out;
}
.meal-table-story__deck { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.meal-table-story__deck.is-active { opacity: 1; pointer-events: auto; }
.meal-table-story__deck figure {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(67%, 31rem);
  aspect-ratio: 1.52;
  overflow: hidden;
  margin: 0;
  border: .42rem solid rgba(255,251,245,.96);
  border-radius: 1.55rem;
  background: #f4d9bd;
  box-shadow: 0 30px 55px rgba(11,9,14,.34);
  opacity: 0;
  transform-style: preserve-3d;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.meal-table-story__deck figure:nth-child(1) { transform: translate(-88%, -54%) rotate(-10deg) translateZ(-50px); }
.meal-table-story__deck figure:nth-child(2) { z-index: 2; transform: translate(-50%, -50%) rotate(-1deg) translateZ(55px); }
.meal-table-story__deck figure:nth-child(3) { z-index: 1; transform: translate(-12%, -46%) rotate(10deg) translateZ(-20px); }
.meal-table-story__deck.is-active figure { opacity: 1; animation: mealPlateIn .72s cubic-bezier(.18,.8,.25,1) backwards; animation-delay: calc(var(--plate) * 100ms); }
.meal-table-story__deck figure img { width: 100%; height: 100%; object-fit: cover; }
.meal-table-story__deck figure span {
  position: absolute;
  right: .7rem;
  bottom: .65rem;
  display: grid;
  width: 2.25rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(47,35,43,.78);
  font: 800 .75rem/1 var(--font-sans);
  backdrop-filter: blur(6px);
}
.meal-table-story__deck.is-active figure:hover:nth-child(1) { transform: translate(-91%, -58%) rotate(-13deg) translateZ(10px); }
.meal-table-story__deck.is-active figure:hover:nth-child(2) { transform: translate(-50%, -54%) rotate(0) translateZ(95px) scale(1.025); }
.meal-table-story__deck.is-active figure:hover:nth-child(3) { transform: translate(-9%, -50%) rotate(13deg) translateZ(20px); }
.meal-table-story__caption {
  position: absolute;
  right: 1.4rem;
  bottom: 1.15rem;
  left: 1.4rem;
  display: flex;
  min-height: 2.7rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(255,249,239,.8);
  font: 750 .78rem/1.3 var(--font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.meal-table-story__caption img { width: 2.65rem; height: 2.65rem; object-fit: contain; filter: drop-shadow(0 5px 9px rgba(0,0,0,.24)); }
.meal-table-story__steam { position: absolute; z-index: 4; top: 1rem; left: 50%; width: 6rem; height: 4rem; transform: translateX(-50%); pointer-events: none; }
.meal-table-story__steam i { position: absolute; bottom: 0; width: .25rem; height: 2rem; border-radius: 50%; background: linear-gradient(transparent, rgba(255,242,224,.72), transparent); filter: blur(1px); animation: mealSteam 3.2s ease-in-out infinite; }
.meal-table-story__steam i:nth-child(1) { left: 1rem; }
.meal-table-story__steam i:nth-child(2) { left: 2.9rem; height: 2.8rem; animation-delay: .8s; }
.meal-table-story__steam i:nth-child(3) { right: 1rem; animation-delay: 1.5s; }

@keyframes mealPlateIn {
  from { opacity: 0; transform: translate(-50%, -35%) rotate(0deg) translateZ(-120px) scale(.88); }
  to { opacity: 1; }
}
@keyframes mealSteam {
  0%, 100% { opacity: 0; transform: translateY(.6rem) scaleX(.7); }
  45% { opacity: .8; }
  70% { opacity: .25; transform: translateY(-1.1rem) translateX(.4rem) scaleX(1.4); }
}

.standard-story {
  padding: clamp(3.5rem, 6vw, 5.5rem) clamp(1rem, 3vw, 2rem);
  background: #f7efe5;
}
.standard-story__inner {
  display: grid;
  width: min(100%, 94rem);
  height: clamp(34rem, 45vw, 40rem);
  min-height: 0;
  grid-template-columns: minmax(25rem, .92fr) minmax(27rem, 1.08fr);
  margin: 0 auto;
  overflow: hidden;
  border-radius: clamp(1.75rem, 3vw, 3.25rem);
  color: #fffaf4;
  background: #2e293b;
  box-shadow: 0 30px 70px rgba(70,49,45,.19);
}
.standard-story__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.25rem, 5vw, 5rem);
}
.standard-story__copy .chapter-mark { color: #efb88f; }
.standard-story__copy h2 {
  max-width: 10ch;
  margin: .9rem 0 0;
  color: #fffaf4;
  font-size: clamp(3.4rem, 5vw, 5.5rem);
  line-height: .91;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.standard-story__copy > p {
  max-width: 37rem;
  margin: 1.25rem 0 0;
  color: rgba(255,250,244,.76);
  font-size: clamp(1.03rem, 1.35vw, 1.18rem);
  line-height: 1.58;
}
.standard-story__copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1.45rem 0 0;
  padding: 0;
  list-style: none;
}
.standard-story__copy li {
  display: inline-flex;
  min-height: 2.55rem;
  align-items: center;
  gap: .55rem;
  padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,250,244,.92);
  background: rgba(255,255,255,.07);
  font: 700 .83rem/1.2 var(--font-sans);
}
.standard-story__copy li > span {
  width: .45rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #efb88f;
  box-shadow: 0 0 0 .25rem rgba(239,184,143,.11);
}
.standard-story__copy > strong {
  display: block;
  max-width: 25rem;
  margin-top: 1.35rem;
  color: #fffaf4;
  font: 500 clamp(1.55rem, 2vw, 2rem)/1.16 var(--font-display);
}
.standard-story__copy > a {
  display: inline-flex;
  width: fit-content;
  min-height: 3.25rem;
  align-items: center;
  gap: 1rem;
  margin-top: 1.55rem;
  padding: .8rem .9rem .8rem 1.2rem;
  border-radius: 999px;
  color: #31283b;
  background: #f6bd93;
  font-weight: 850;
  text-decoration: none;
  transition: transform .25s ease, background .25s ease;
}
.standard-story__copy > a span {
  display: grid;
  width: 2rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: rgba(48,39,57,.12);
}
.standard-story__copy > a:hover,
.standard-story__copy > a:focus-visible { background: #ffd2b0; transform: translateY(-.2rem); }
.standard-story__photo {
  position: relative;
  min-height: 34rem;
  overflow: hidden;
  margin: 0;
  background: #c99a80;
}
.standard-story__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(46,41,59,.2), transparent 32%), linear-gradient(0deg, rgba(32,25,30,.45), transparent 38%);
  pointer-events: none;
}
.standard-story__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
  transition: transform .8s cubic-bezier(.2,.8,.2,1);
}
.standard-story__inner:hover .standard-story__photo img { transform: scale(1.025); }
.standard-story__photo figcaption {
  position: absolute;
  z-index: 1;
  right: 1.4rem;
  bottom: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #fff;
  background: rgba(40,32,38,.68);
  font: 750 .72rem/1.1 var(--font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.standard-story__photo figcaption span { color: #efb88f; }

.life-gallery-story {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) clamp(1rem, 3vw, 2rem);
  background: #fffaf3;
}
.life-gallery-story::before {
  content: "";
  position: absolute;
  top: -16rem;
  right: -13rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(166,95,65,.12);
  border-radius: 50%;
}
.life-gallery-story__inner { position: relative; width: min(100%, 94rem); margin: 0 auto; }
.life-gallery-story__header {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .7fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}
.life-gallery-story__header .chapter-mark { color: #a06147; }
.life-gallery-story__header h2 {
  max-width: 18ch;
  margin: .7rem 0 0;
  color: #352622;
  font-size: clamp(3.4rem, 5vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.life-gallery-story__header > p {
  max-width: 34rem;
  margin: 0 0 .35rem;
  color: #6a5148;
  font-size: clamp(1.05rem, 1.4vw, 1.22rem);
  line-height: 1.6;
  text-wrap: pretty;
}
.life-gallery-story__grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(11rem, 15vw);
  gap: clamp(.75rem, 1.3vw, 1.25rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.life-gallery-story__item {
  position: relative;
  grid-column: span 4;
  overflow: hidden;
  border-radius: clamp(1.25rem, 2vw, 2rem);
  background: #e9d8c8;
  box-shadow: 0 16px 40px rgba(73,49,41,.1);
}
.life-gallery-story__item--1 { grid-column: span 7; grid-row: span 2; }
.life-gallery-story__item--2 { grid-column: span 5; }
.life-gallery-story__item--3 { grid-column: span 5; }
.life-gallery-story__figure,
.life-gallery-story__figure > label,
.life-gallery-story__figure label,
.life-gallery-story__figure > span,
.life-gallery-story__item > label { width: 100%; height: 100%; margin: 0; }
.life-gallery-story__item .zoomable { height: 100%; border-radius: inherit !important; }
.life-gallery-story__item .zoomable > span:first-of-type { height: 100%; aspect-ratio: auto !important; }
.life-gallery-story__item .zoomable > span:first-of-type > [role="img"] {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  transition: transform .65s cubic-bezier(.2,.8,.2,1);
}
.life-gallery-story__item:hover .zoomable > span:first-of-type > [role="img"] { transform: scale(1.04); }
.life-gallery-story__caption {
  position: absolute;
  z-index: 3;
  right: .85rem;
  bottom: .8rem;
  left: .85rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem .85rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: .9rem;
  color: #fff;
  background: rgba(39,29,28,.66);
  font: 750 clamp(.78rem, 1vw, .92rem)/1.25 var(--font-sans);
  pointer-events: none;
  backdrop-filter: blur(8px);
}
.life-gallery-story__caption b { color: #f4b88e; font-size: .7rem; letter-spacing: .09em; }

.home-package-chooser {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 6.5rem) clamp(1rem, 3vw, 2rem);
  color: #3a2823;
  background:
    radial-gradient(circle at 92% 10%, rgba(139,168,146,.22), transparent 26rem),
    linear-gradient(135deg, #f6e8d8, #fffaf3 58%);
}
.home-package-chooser::after {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -11rem;
  width: 24rem;
  aspect-ratio: 1;
  border: 1px solid rgba(120,76,58,.13);
  border-radius: 50%;
  pointer-events: none;
}
.home-package-chooser__inner { position: relative; z-index: 1; width: min(100%, 94rem); margin: 0 auto; }
.home-package-chooser__header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .85fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}
.home-package-chooser__header .chapter-mark { color: #9a5c41; }
.home-package-chooser__header h2 {
  max-width: 15ch;
  margin: .75rem 0 0;
  color: #35231f;
  font-size: clamp(3.3rem, 5.2vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.home-package-chooser__header > div:last-child { padding-bottom: .35rem; }
.home-package-chooser__header p {
  max-width: 37rem;
  margin: 0;
  color: #665047;
  font-size: clamp(1.05rem, 1.45vw, 1.22rem);
  line-height: 1.58;
  text-wrap: pretty;
}
.home-package-chooser__header > div:last-child > span {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  color: #945a42;
  font: 850 .72rem/1 var(--font-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.home-package-chooser__header > div:last-child > span::before { content: ""; width: 1.75rem; height: 1px; background: currentColor; }
.home-package-chooser__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(.75rem, 1.2vw, 1.15rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.home-package-chooser__grid > li { min-width: 0; }
.home-package-card {
  position: relative;
  display: flex;
  min-height: 20rem;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: 1.5rem;
  border: 1px solid rgba(126,82,62,.15);
  border-radius: clamp(1.25rem, 2vw, 2rem);
  color: #3b2a25;
  background: rgba(255,253,249,.86);
  text-decoration: none;
  box-shadow: 0 16px 38px rgba(80,55,45,.08);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.home-package-chooser__grid > li:nth-child(2) .home-package-card { background: #dfe9e2; }
.home-package-chooser__grid > li:nth-child(3) .home-package-card { background: #ecd8ca; }
.home-package-card--promo { color: #fff8ef; background: #302a3c !important; }
.home-package-card::after {
  content: "";
  position: absolute;
  right: -3.5rem;
  bottom: -4.75rem;
  width: 10rem;
  aspect-ratio: 1;
  border: 1px solid rgba(132,86,65,.13);
  border-radius: 50%;
}
.home-package-card--promo::after { border-color: rgba(255,255,255,.13); }
.home-package-card:hover,
.home-package-card:focus-visible {
  z-index: 2;
  border-color: rgba(126,82,62,.36);
  outline: 0;
  box-shadow: 0 24px 52px rgba(75,51,43,.17);
  transform: translateY(-.45rem) rotate(calc((var(--package-index) - 1.5) * .25deg));
}
.home-package-card:focus-visible { outline: 3px solid rgba(159,91,62,.45); outline-offset: 4px; }
.home-package-card__tier {
  max-width: calc(100% - 5.5rem);
  color: #9a6149;
  font: 900 .74rem/1.2 var(--font-sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.home-package-card--promo .home-package-card__tier { color: #efb58e; }
.home-package-card__bear {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  display: grid;
  width: 4.35rem;
  aspect-ratio: 1;
  place-items: center;
  transform: rotate(3deg);
  transition: transform .35s ease;
}
.home-package-card:hover .home-package-card__bear,
.home-package-card:focus-visible .home-package-card__bear { transform: rotate(-4deg) translateY(-.2rem); }
.home-package-card__bear .bgbear,
.home-package-card__bear img { width: 100% !important; height: 100% !important; object-fit: contain; }
.home-package-card h3 {
  max-width: 15ch;
  min-height: 4.5rem;
  margin: 3rem 0 0;
  color: inherit;
  font-size: clamp(1.65rem, 2vw, 2.15rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.home-package-card--promo h3 { max-width: 17ch; font-size: clamp(1.42rem, 1.7vw, 1.75rem); }
.home-package-card > strong {
  display: block;
  margin-top: auto;
  padding-top: 1.5rem;
  color: #9c563d;
  font: 600 clamp(2rem, 2.8vw, 3.1rem)/1 var(--font-display);
  letter-spacing: -.04em;
}
.home-package-card--promo > strong { color: #ffc49a; }
.home-package-card__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.3rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(79,50,40,.12);
  font: 800 .82rem/1.1 var(--font-sans);
}
.home-package-card--promo .home-package-card__action { border-color: rgba(255,255,255,.14); }
.home-package-card__action b {
  display: grid;
  width: 2rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #a15d43;
  transition: transform .25s ease;
}
.home-package-card:hover .home-package-card__action b,
.home-package-card:focus-visible .home-package-card__action b { transform: translateX(.25rem); }
.home-package-chooser__cta {
  display: inline-flex;
  min-height: 3.4rem;
  align-items: center;
  gap: 1.1rem;
  margin-top: 1.5rem;
  padding: .8rem .9rem .8rem 1.25rem;
  border: 1px solid rgba(126,82,62,.28);
  border-radius: 999px;
  color: #3b2924;
  background: rgba(255,255,255,.55);
  font-weight: 850;
  text-decoration: none;
  transition: background .25s ease, transform .25s ease;
}
.home-package-chooser__cta span { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: #a15d43; }
.home-package-chooser__cta:hover,
.home-package-chooser__cta:focus-visible { background: #fff; transform: translateY(-.2rem); }

.family-care-scenes {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7.5rem) clamp(1rem, 3vw, 2rem);
  color: #fff8f1;
  background:
    radial-gradient(circle at 8% 12%, rgba(192,126,92,.32), transparent 27rem),
    radial-gradient(circle at 92% 88%, rgba(104,137,119,.2), transparent 28rem),
    #2c2634;
}
.family-care-scenes::before {
  content: "";
  position: absolute;
  inset: 1.2rem;
  border: 1px solid rgba(255,244,235,.1);
  border-radius: 2.5rem;
  pointer-events: none;
}
.family-care-scenes__inner { position: relative; z-index: 1; width: min(100%, 92rem); margin: 0 auto; }
.family-care-scenes__header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.family-care-scenes__header .chapter-mark { color: #efb489; }
.family-care-scenes__header h2 {
  max-width: 13ch;
  margin: .7rem 0 0;
  color: #fffaf4;
  font-size: clamp(3.2rem, 5.3vw, 6rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.family-care-scenes__header > p {
  max-width: 35rem;
  margin: 0 0 .35rem;
  color: rgba(255,248,241,.78);
  font-size: clamp(1.05rem, 1.45vw, 1.24rem);
  line-height: 1.58;
  text-wrap: pretty;
}
.family-care-scenes__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(.9rem, 1.4vw, 1.35rem);
}
.family-care-scene {
  position: relative;
  display: grid;
  min-height: 25rem;
  grid-column: span 6;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: clamp(1.4rem, 2.2vw, 2.25rem);
  color: #392a28;
  background: #f7eee5;
  text-decoration: none;
  box-shadow: 0 20px 60px rgba(15,11,19,.24);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.family-care-scene--1,
.family-care-scene--4 { grid-column: span 7; }
.family-care-scene--2,
.family-care-scene--3 { grid-column: span 5; grid-template-columns: 1fr; }
.family-care-scene--2 { background: #dce9e1; }
.family-care-scene--3 { background: #ead8cc; }
.family-care-scene--4 { background: #f2e5d4; }
.family-care-scene:hover,
.family-care-scene:focus-visible {
  z-index: 2;
  outline: 0;
  box-shadow: 0 30px 75px rgba(12,9,17,.38);
  transform: translateY(-.45rem);
}
.family-care-scene:focus-visible { outline: 3px solid #efb489; outline-offset: 4px; }
.family-care-scene figure {
  position: relative;
  height: 100%;
  min-height: 17rem;
  margin: 0;
  overflow: hidden;
  background: #c6b2a5;
}
.family-care-scene--2 figure,
.family-care-scene--3 figure { height: 13.5rem; min-height: 13.5rem; }
.family-care-scene figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(33,24,28,.66));
  pointer-events: none;
}
.family-care-scene figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.8,.2,1);
}
.family-care-scene:hover figure img,
.family-care-scene:focus-visible figure img { transform: scale(1.045); }
.family-care-scene figcaption {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: .85rem;
  left: 1rem;
  color: #fff;
  font: 900 .72rem/1.2 var(--font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.family-care-scene__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(1.4rem, 2.5vw, 2.3rem);
}
.family-care-scene__copy h3 {
  max-width: 14ch;
  margin: 0;
  color: #392824;
  font-size: clamp(1.75rem, 2.5vw, 2.55rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.family-care-scene__copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.3rem 0 1.7rem !important;
  padding: 0 !important;
  list-style: none;
}
.family-care-scene__copy li {
  padding: .48rem .72rem;
  border: 1px solid rgba(82,55,47,.16);
  border-radius: 999px;
  color: #654b43;
  background: rgba(255,255,255,.44);
  font: 750 .74rem/1.2 var(--font-sans);
}
.family-care-scene__copy > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(82,55,47,.15);
  color: #3d2c27;
  font: 850 .84rem/1.2 var(--font-sans);
}
.family-care-scene__copy > span b {
  display: grid;
  width: 2.25rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #a45e42;
  transition: transform .3s ease;
}
.family-care-scene:hover .family-care-scene__copy > span b,
.family-care-scene:focus-visible .family-care-scene__copy > span b { transform: rotate(12deg) translate(.1rem,-.1rem); }
.family-care-scenes__cta {
  display: inline-flex;
  min-height: 3.5rem;
  align-items: center;
  gap: 1.1rem;
  margin-top: 1.5rem;
  padding: .8rem .85rem .8rem 1.3rem;
  border: 1px solid rgba(255,248,241,.22);
  border-radius: 999px;
  color: #fffaf4;
  font-weight: 850;
  text-decoration: none;
  transition: background .25s ease, transform .25s ease;
}
.family-care-scenes__cta span {
  display: grid;
  width: 2rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #2c2634;
  background: #efb489;
}
.family-care-scenes__cta:hover,
.family-care-scenes__cta:focus-visible { background: rgba(255,255,255,.08); transform: translateY(-.2rem); }

.visit-network {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7rem) clamp(1rem, 3vw, 2rem);
  color: #3c2b26;
  background:
    radial-gradient(circle at 96% 2%, rgba(122,153,133,.17), transparent 23rem),
    linear-gradient(145deg, #f5e9dd 0%, #fbf6ef 58%, #efe4d8 100%);
}
.visit-network::before {
  content: "";
  position: absolute;
  width: 30rem;
  height: 30rem;
  right: -16rem;
  bottom: -18rem;
  border: 1px solid rgba(150,91,65,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255,255,255,.14), 0 0 0 8rem rgba(255,255,255,.1);
  pointer-events: none;
}
.visit-network__inner { position: relative; z-index: 1; width: min(100%, 92rem); margin: 0 auto; }
.visit-network__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(25rem, .95fr);
  min-height: 38rem;
  overflow: hidden;
  border: 1px solid rgba(113,76,59,.16);
  border-radius: clamp(1.6rem, 3vw, 2.8rem);
  background: rgba(255,250,244,.84);
  box-shadow: 0 28px 70px rgba(89,57,43,.13);
}
.visit-network__photo { position: relative; min-height: 35rem; margin: 0; overflow: hidden; background: #8b6f60; }
.visit-network__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(32,23,24,.72));
  pointer-events: none;
}
.visit-network__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.visit-network__feature:hover .visit-network__photo img { transform: scale(1.025); }
.visit-network__photo figcaption {
  position: absolute;
  z-index: 1;
  right: clamp(1.25rem, 3vw, 2.5rem);
  bottom: clamp(1.25rem, 3vw, 2.5rem);
  left: clamp(1.25rem, 3vw, 2.5rem);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  color: white;
}
.visit-network__photo figcaption span {
  padding: .55rem .75rem;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: rgba(39,29,30,.48);
  font: 850 .71rem/1.1 var(--font-sans);
  letter-spacing: .07em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.visit-network__photo figcaption strong { font: 500 clamp(1.6rem, 2.5vw, 2.7rem)/1 var(--font-display); letter-spacing: -.035em; }
.visit-network__story { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); }
.visit-network__story h2 {
  max-width: 12ch;
  margin: .7rem 0 1.35rem;
  color: #30231f;
  font-size: clamp(3rem, 4.5vw, 5.2rem);
  font-weight: 500;
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.visit-network__story > p { max-width: 39rem; margin: 0; color: #6b554c; font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.58; }
.visit-network__story address {
  display: grid;
  gap: .3rem;
  margin: clamp(1.5rem, 3vw, 2.3rem) 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(111,74,58,.17);
  color: #4d3a32;
  font: 650 .92rem/1.5 var(--font-sans);
  font-style: normal;
}
.visit-network__story address span { color: #a15d43; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.visit-network__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.visit-network__actions a {
  display: inline-flex;
  min-height: 3.45rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .85rem .75rem 1.15rem;
  border: 1px solid rgba(124,78,58,.28);
  border-radius: 999px;
  color: #3d2c26;
  background: rgba(255,255,255,.56);
  font: 850 .84rem/1.2 var(--font-sans);
  text-decoration: none;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.visit-network__actions a span { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: rgba(157,91,64,.12); }
.visit-network__actions .visit-network__primary { border-color: #a56144; color: white; background: #a56144; box-shadow: 0 12px 25px rgba(133,73,49,.18); }
.visit-network__actions .visit-network__primary span { color: #a56144; background: #fff6ec; }
.visit-network__actions a:hover,
.visit-network__actions a:focus-visible { transform: translateY(-.2rem); box-shadow: 0 14px 28px rgba(84,52,39,.14); }
.visit-network__actions a:focus-visible,
.visit-network__directory a:focus-visible { outline: 3px solid #6f8e7b; outline-offset: 4px; }
.visit-network__directory { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.visit-network__directory > header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.visit-network__directory > header span { color: #a15d43; font: 900 .71rem/1.2 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; }
.visit-network__directory > header h3 { max-width: 19ch; margin: .55rem 0 0; color: #3b2a25; font-size: clamp(2.1rem, 3.4vw, 3.65rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.visit-network__directory > header > a { display: inline-flex; min-height: 2.8rem; align-items: center; gap: .8rem; color: #47342d; font: 850 .82rem/1.2 var(--font-sans); text-decoration: none; }
.visit-network__directory > header > a b { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: white; background: #6f8e7b; transition: transform .25s ease; }
.visit-network__directory > header > a:hover b { transform: translateX(.25rem); }
.visit-network__directory ol {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.visit-network__centre {
  position: relative;
  display: grid;
  min-height: 8.5rem;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1.2rem;
  overflow: hidden;
  border: 1px solid rgba(112,76,59,.15);
  border-radius: 1.35rem;
  color: #422f29;
  background: rgba(255,255,255,.61);
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(78,51,38,.06);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.visit-network__centre::after {
  content: "";
  position: absolute;
  width: 5rem;
  height: 5rem;
  right: -2.8rem;
  bottom: -2.8rem;
  border-radius: 50%;
  background: rgba(161,93,67,.09);
  transition: transform .35s ease;
}
.visit-network__centre:hover,
.visit-network__centre:focus-visible { z-index: 1; border-color: rgba(112,76,59,.34); box-shadow: 0 18px 40px rgba(78,51,38,.12); transform: translateY(-.25rem); }
.visit-network__centre:hover::after { transform: scale(1.8); }
.visit-network__centre.is-current { border-color: rgba(73,112,91,.45); color: #fff; background: linear-gradient(135deg, #63816f, #496956); }
.visit-network__centre.is-current::after { background: rgba(255,255,255,.09); }
.visit-network__number { color: #aa745c; font: 900 .7rem/1 var(--font-sans); letter-spacing: .08em; }
.visit-network__centre.is-current .visit-network__number { color: #efd5c0; }
.visit-network__centre-copy { display: grid; gap: .22rem; min-width: 0; }
.visit-network__centre-copy strong { font: 500 clamp(1.2rem, 1.55vw, 1.55rem)/1.05 var(--font-display); letter-spacing: -.025em; }
.visit-network__centre-copy small { color: #806c63; font: 650 .73rem/1.3 var(--font-sans); }
.visit-network__centre.is-current .visit-network__centre-copy small { color: rgba(255,255,255,.72); }
.visit-network__centre > b { color: #a05e43; font-size: 1rem; transition: transform .25s ease; }
.visit-network__centre:hover > b { transform: translate(.15rem,-.15rem); }
.visit-network__centre > em { position: relative; z-index: 1; padding: .45rem .6rem; border-radius: 999px; color: #496956; background: #f6eadf; font: 900 .62rem/1 var(--font-sans); font-style: normal; letter-spacing: .04em; white-space: nowrap; text-transform: uppercase; }

.home-faq-stories {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 7vw, 6.5rem) clamp(1rem, 3vw, 2rem);
  color: #3d2c27;
  background:
    radial-gradient(circle at 10% 4%, rgba(238,188,145,.26), transparent 24rem),
    radial-gradient(circle at 92% 95%, rgba(109,143,121,.17), transparent 28rem),
    #fffaf4;
}
.home-faq-stories::before {
  content: "pick a card";
  position: absolute;
  top: 2.2rem;
  right: -1.8rem;
  color: rgba(165,97,67,.075);
  font: 900 clamp(3rem, 6.5vw, 7rem)/1 var(--font-sans);
  letter-spacing: -.07em;
  text-transform: uppercase;
  transform: rotate(4deg);
  pointer-events: none;
}
.home-faq-stories__inner { position: relative; z-index: 1; width: min(100%, 92rem); margin: 0 auto; }
.home-faq-stories__header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}
.home-faq-stories__header h2 {
  max-width: 12ch;
  margin: .65rem 0 0;
  color: #332520;
  font-family: var(--font-sans) !important;
  font-size: clamp(3rem, 4.9vw, 5.35rem);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.home-faq-stories__intro { display: grid; gap: 1.25rem; justify-items: start; }
.home-faq-stories__intro p { max-width: 29rem; margin: 0; color: #705b51; font-size: clamp(1.04rem, 1.5vw, 1.24rem); line-height: 1.55; }
.home-faq-stories__intro a {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  gap: 1rem;
  padding: .7rem .8rem .7rem 1.15rem;
  border: 1px solid rgba(126,79,59,.24);
  border-radius: 999px;
  color: #3e2d27;
  background: rgba(246,234,223,.72);
  font: 850 .83rem/1.2 var(--font-sans);
  text-decoration: none;
  transition: transform .25s ease, background .25s ease;
}
.home-faq-stories__intro a span { display: grid; width: 1.9rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: white; background: #a56143; }
.home-faq-stories__intro a:hover,
.home-faq-stories__intro a:focus-visible { background: #f3dfd1; transform: translateY(-.18rem); }
.home-faq-stories__intro a:focus-visible,
.home-faq-flip:focus-visible { outline: 4px solid #5b7d68; outline-offset: 5px; }
.home-faq-stories__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.8rem, 1.4vw, 1.25rem);
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.home-faq-stories__grid > li { min-width: 0; perspective: 1200px; }
.home-faq-flip {
  position: relative;
  display: block;
  width: 100%;
  min-height: clamp(22rem, 31vw, 27rem);
  padding: 0;
  border: 0;
  border-radius: 1.75rem;
  color: #382821;
  background: transparent;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.home-faq-flip__inner {
  position: relative;
  display: block;
  width: 100%;
  min-height: inherit;
  transform-style: preserve-3d;
  transition: transform .75s cubic-bezier(.2,.72,.18,1);
}
.home-faq-flip.is-flipped .home-faq-flip__inner { transform: rotateY(180deg); }
.home-faq-flip__face {
  position: absolute;
  inset: 0;
  display: flex;
  min-height: inherit;
  flex-direction: column;
  overflow: hidden;
  padding: 1.35rem;
  border: 1px solid rgba(82,52,42,.15);
  border-radius: 1.75rem;
  box-shadow: 0 20px 45px rgba(76,48,37,.13);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.home-faq-flip__front { background: var(--faq-card, #ecc9ba); }
.home-faq-flip--1 { --faq-card:#efc7bc; --faq-deep:#9b574b; }
.home-faq-flip--2 { --faq-card:#cbdacb; --faq-deep:#52705b; }
.home-faq-flip--3 { --faq-card:#f1cf9f; --faq-deep:#9a6334; }
.home-faq-flip--4 { --faq-card:#d6c9df; --faq-deep:#6d587a; }
.home-faq-flip--5 { --faq-card:#bfd9df; --faq-deep:#496e79; }
.home-faq-flip--6 { --faq-card:#dfbea5; --faq-deep:#86573f; }
.home-faq-flip--7 { --faq-card:#eab9c6; --faq-deep:#905266; }
.home-faq-flip--8 { --faq-card:#ead99f; --faq-deep:#7b6835; }
.home-faq-flip__caption {
  position: relative;
  z-index: 2;
  align-self: flex-start;
  padding: .48rem .62rem;
  border-radius: 999px;
  color: var(--faq-deep);
  background: rgba(255,255,255,.55);
  font: 900 .62rem/1 var(--font-sans);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.home-faq-flip__question {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 13ch;
  margin-top: 1.2rem;
  color: #35241f;
  font: 900 clamp(1.55rem, 2vw, 2.15rem)/.98 var(--font-sans);
  letter-spacing: -.05em;
  text-wrap: balance;
}
.home-faq-flip__front img {
  position: absolute;
  right: -4%;
  bottom: 2.7rem;
  width: min(66%, 13rem);
  max-height: 58%;
  object-fit: contain;
  object-position: bottom right;
  filter: drop-shadow(0 13px 12px rgba(83,43,31,.14));
  transition: transform .45s cubic-bezier(.2,.8,.2,1);
}
.home-faq-flip:hover .home-faq-flip__front img { transform: translateY(-.35rem) rotate(-2deg) scale(1.025); }
.home-faq-flip__prompt {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid rgba(70,45,36,.15);
  color: var(--faq-deep, #81513e);
  font: 850 .72rem/1.15 var(--font-sans);
}
.home-faq-flip__prompt b {
  display: grid;
  width: 2.15rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--faq-deep, #81513e);
  font-size: 1rem;
}
.home-faq-flip__back {
  transform: rotateY(180deg);
  background:
    repeating-linear-gradient(0deg, transparent 0 2rem, rgba(111,81,67,.09) 2rem calc(2rem + 1px)),
    #fffaf0;
}
.home-faq-flip__back::before {
  content: "";
  position: absolute;
  top: .75rem;
  right: .9rem;
  width: 3rem;
  height: 1rem;
  background: rgba(236,195,144,.52);
  transform: rotate(7deg);
}
.home-faq-flip__note { color: var(--faq-deep); font: 900 .65rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; }
.home-faq-flip__answer {
  display: block;
  max-width: 27ch;
  margin: clamp(1.25rem, 2vw, 2rem) 0 1rem;
  color: #4f3c34;
  font-family: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
  font-size: clamp(1.08rem, 1.35vw, 1.3rem);
  font-weight: 500;
  line-height: 1.48;
  transform: rotate(-.7deg);
}
.home-faq-flip__answer > * { margin: 0; }

@keyframes careCardArrive {
  from { opacity: 0; transform: translateY(2.5rem) rotate(calc((var(--care-index) - 2) * 1.6deg)); }
  to { opacity: 1; transform: translateY(0) rotate(0); }
}
@keyframes carePathGlow {
  0%, 100% { left: 0; opacity: .45; }
  50% { left: calc(100% - .75rem); opacity: 1; }
}

.narrative-copy { display: grid; gap: .55rem; max-width: 50ch !important; }
.narrative-copy span { display: block; max-width: 50ch; margin-left: 0 !important; }
.narrative-copy span:nth-child(even) { color: inherit; }
.narrative-copy__lead { color: inherit !important; font-weight: 700; }
.compact-section > div[class*="py-16"],
.compact-section > div[class*="py-20"],
.compact-section[class*="py-16"],
.compact-section[class*="py-20"] { padding-top: clamp(3rem, 5vw, 4.5rem) !important; padding-bottom: clamp(3rem, 5vw, 4.5rem) !important; }

.editorial-page-hero { padding-block: 0 !important; background: var(--milk) !important; }
.editorial-page-hero > .editorial-page-hero__content { max-width: 82rem !important; padding-top: clamp(2.5rem, 5vw, 4.5rem) !important; padding-bottom: clamp(2.5rem, 5vw, 4.5rem) !important; }
.editorial-page-hero__visual {
  position: relative;
  isolation: isolate;
  width: 100vw;
  min-height: clamp(31rem, 67vh, 47rem);
  margin-left: calc(50% - 50vw);
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  padding: clamp(5rem, 10vw, 9rem) max(1.25rem, calc((100vw - 82rem) / 2)) !important;
  overflow: hidden;
  color: white;
  background-image: linear-gradient(96deg, rgba(28,21,20,.9), rgba(34,24,22,.58) 46%, rgba(34,24,22,.12) 78%), var(--hero-image);
  background-position: center;
  background-size: cover;
}
.editorial-page-hero__visual::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(28,20,20,.28)); pointer-events: none; }
.editorial-page-hero__visual--home { min-height: clamp(38rem, 78vh, 58rem); }
.editorial-page-hero__visual--home {
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: flex-end !important;
}
.editorial-page-hero > div.editorial-page-hero__visual--home { max-width: none !important; }
.editorial-page-hero__visual--home > * { width: min(100%, 43rem); flex: 0 0 auto; }
.editorial-page-hero__visual--home .bgbear { display: none !important; }
.editorial-hero-hidden { display: none !important; }
.editorial-page-hero__visual--home :is(h1,h2,h3,p,span,li,strong,small,a) { color: white !important; }
.editorial-page-hero__visual--home * { color: white !important; }
.editorial-page-hero__visual--home ul { border-color: rgba(255,255,255,.35) !important; }
.editorial-page-hero__visual--home li { border-color: rgba(255,255,255,.22) !important; }
.editorial-page-hero__visual > :is([aria-hidden="true"], figure) { display: none !important; }
.editorial-page-hero__visual > .editorial-hero-copy { width: min(100%, 43rem); }
.editorial-page-hero__visual .max-w-prose { max-width: 43rem !important; }
.editorial-page-hero__visual :is(h1,p,span) { color: white !important; }
.editorial-page-hero__visual h1 {
  max-width: 13ch !important;
  margin: .7rem 0 1.2rem !important;
  font-size: clamp(3rem, 5vw, 5.4rem) !important;
  line-height: .94 !important;
  letter-spacing: -.04em;
  text-shadow: 0 3px 24px rgba(15,10,10,.24);
}
.editorial-page-hero__visual p:not(:first-child) { max-width: 48ch; font-size: clamp(1rem, 1.35vw, 1.18rem) !important; line-height: 1.62 !important; }
.editorial-page-hero__below { margin-top: 0 !important; padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.editorial-hero-continuation {
  width: min(100%, 72rem);
  margin-inline: auto !important;
  padding: clamp(1rem, 2vw, 2rem);
  border: 1px solid var(--hairline);
  border-radius: 1.75rem;
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 55px rgba(65,39,29,.07);
}
.editorial-hero-continuation .prose-labebe,
.editorial-hero-continuation > p { max-width: 66ch !important; margin-inline: auto; }
.editorial-hero-continuation > a { margin-top: 1.25rem; }

@media (min-width: 900px) {
  .editorial-page-hero__visual > .editorial-hero-copy {
    width: min(100%, 82rem);
    max-width: 82rem !important;
    display: grid;
    grid-template-columns: minmax(22rem, .88fr) minmax(26rem, 1.12fr);
    grid-template-rows: auto auto;
    column-gap: clamp(3rem, 7vw, 7rem);
    align-items: end;
  }
  .editorial-page-hero__visual > .editorial-hero-copy--headline-only {
    display: block;
    width: min(100%, 82rem);
  }
  .editorial-page-hero__visual > .editorial-hero-copy--headline-only > h1 {
    max-width: 15ch !important;
  }
  .editorial-page-hero__visual > .editorial-hero-copy > .editorial-hero-eyebrow {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 1rem;
  }
  .editorial-page-hero__visual > .editorial-hero-copy > h1 {
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 0 !important;
  }
  .editorial-page-hero__visual > .editorial-hero-copy > .editorial-hero-support {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    margin: 0 !important;
  }
  .editorial-hero-support > :first-child { margin-top: 0 !important; }
  .editorial-hero-support > :last-child { margin-bottom: 0 !important; }
  .editorial-hero-support [aria-hidden="true"] { display: none !important; }
  .balanced-copy {
    max-width: 70rem !important;
    display: grid;
    grid-template-columns: minmax(17rem, .8fr) minmax(24rem, 1.2fr);
    column-gap: clamp(3rem, 7vw, 7rem);
    row-gap: .85rem;
    align-items: start;
  }
  .balanced-copy > h2:first-of-type {
    grid-column: 1;
    grid-row: 1 / span 12;
    max-width: 13ch;
    margin-top: 0;
    font-size: clamp(2.2rem, 3.7vw, 4rem) !important;
    line-height: .98 !important;
  }
  .balanced-copy > :not(h2:first-of-type) { grid-column: 2; }
  .balanced-copy > p { max-width: 54ch !important; }
}

.content-card { min-height: 13rem; }
.content-card :is(h2,h3,strong) { font-size: clamp(1.45rem, 2.25vw, 2.05rem) !important; line-height: 1.08 !important; }
.content-card p { font-size: 1rem !important; line-height: 1.55 !important; }
.pg main div.mt-6:has(> a + a),
.pg main div.mt-8:has(> a + a),
.pg main div.mt-10:has(> a + a) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem 1rem;
}
.pg main div.mt-6:has(> a + a) > a,
.pg main div.mt-8:has(> a + a) > a,
.pg main div.mt-10:has(> a + a) > a { margin: 0 !important; }
.life-card-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.life-card-grid > li { grid-column: span 2; }
.life-card-grid > li:nth-child(-n+2) { grid-column: span 3; }
.life-card {
  position: relative;
  isolation: isolate;
  min-height: 22rem;
  display: flex !important;
  flex-direction: column;
  justify-content: end;
  overflow: hidden;
  padding: 1.5rem !important;
  color: white !important;
  background: var(--life-card-image) center / cover no-repeat !important;
}
.life-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(22,17,18,.05) 25%, rgba(22,17,18,.9)); }
.life-card :is(h2,h3,strong,p,span) { color: white !important; }
.life-card :is(h2,h3,strong) { max-width: 13ch; font-size: clamp(1.8rem, 2.6vw, 2.55rem) !important; line-height: 1.02 !important; }
.life-card p { max-width: 34ch; font-size: 1rem !important; }

.closing-promise {
  min-height: 36rem;
  display: grid;
  place-items: center;
  padding: 2rem;
  color: white;
  text-align: center;
  background: linear-gradient(rgba(25,19,28,.44), rgba(25,19,28,.86)), url("./assets/media/official/mum-06.webp") center 38% / cover no-repeat;
}
.closing-promise__veil { max-width: 58rem; padding: clamp(2rem, 6vw, 5rem); border: 1px solid rgba(255,255,255,.24); border-radius: 50% 50% 2rem 2rem; background: rgba(35,28,41,.55); backdrop-filter: blur(9px); }
.closing-promise__veil > img { width: 4.5rem; height: 4.5rem; object-fit: contain; filter: brightness(1.75) grayscale(.2); }
.closing-promise__veil p { max-width: 14ch; margin: 1rem auto .65rem; font: 500 clamp(2.8rem, 5.4vw, 5.8rem)/.93 var(--font-editorial); letter-spacing: -.05em; }
.closing-promise__veil strong { display: block; color: #f2b28c; font: 500 clamp(1.6rem, 3vw, 2.8rem)/1.1 var(--font-editorial); }
.closing-promise__veil div { display: flex; justify-content: center; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.closing-promise__veil a { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: .75rem 1.25rem; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; font-weight: 800; }
.closing-promise__veil a:first-child { border-color: #e88f68; background: #c76e4e; }
.pg.home-restored .closing-promise { display:grid; place-items:center; min-height:0; padding:32px 24px; background:linear-gradient(rgba(25,19,28,.44),rgba(25,19,28,.86)),url("./assets/media/official/mum-06.webp") center 38% / cover no-repeat; color:#fffaf4; text-align:center; }
.pg.home-restored .closing-promise__veil { width:min(100%,920px); max-width:920px; padding:clamp(40px,5vw,76px); border:1px solid #ffffff40; border-radius:50% 50% 32px 32px; background:rgba(35,28,41,.72); }
.pg.home-restored .closing-promise__veil > img { display:block; width:44px; height:44px; margin:0 0 24px; }
.pg.home-restored .closing-promise__veil > p { max-width:22ch; margin:0 auto 18px; font:500 clamp(38px,5.2vw,80px)/1.02 var(--font-editorial); letter-spacing:-.045em; color:#fffaf4; }
.pg.home-restored .closing-promise__veil > strong { color:#f2b28c; font:500 clamp(25px,3vw,44px)/1.2 var(--font-editorial); }
.pg.home-restored .closing-promise__veil a { color:#fff; }
.pg.home-restored .closing-promise__veil a:focus-visible { outline:3px solid #f2b28c; outline-offset:4px; }
@media(max-width:600px) { .pg.home-restored .closing-promise { padding:24px 16px; } .pg.home-restored .closing-promise__veil { border-radius:150px 150px 24px 24px; padding:48px 22px 32px; } .pg.home-restored .closing-promise__veil > img { margin:0 auto 22px; } }

.package-experience { padding: 0; background: #f7f0e8; }
.package-experience__hero { position: relative; overflow: hidden; padding: clamp(4rem, 8vw, 8rem) max(1.25rem, calc((100vw - 82rem) / 2)); color: white; background: linear-gradient(115deg, rgba(35,28,41,.93), rgba(83,51,40,.7)), url("./assets/media/selayang-web/rooms/IMG_3181.webp") center / cover; }
.package-experience__hero h1 { max-width: 13ch !important; margin: 1rem 0 1.5rem; }
.package-experience__hero > p { max-width: 52ch; color: rgba(255,255,255,.78); font-size: 1.1rem; line-height: 1.7; }
.package-experience__hero nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin-top: 2.5rem; }
.package-experience__hero nav a { display: grid; gap: .15rem; padding: 1rem; border: 1px solid rgba(255,255,255,.25); border-radius: 1rem; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); font-weight: 800; }
.package-experience__hero nav a:hover { background: rgba(255,255,255,.16); }
.package-experience__hero nav small { color: #f2b28c; }
.package-stories { max-width: 82rem; margin: 0 auto; padding: clamp(3rem, 6vw, 6rem) 1.25rem; }
.package-story { display: grid; grid-template-columns: minmax(19rem, .7fr) minmax(0, 1.3fr); overflow: hidden; margin-bottom: 2rem; border: 1px solid var(--hairline); border-radius: 1.8rem; background: white; box-shadow: var(--shadow-soft); scroll-margin-top: 6rem; }
.package-story__hero { position: relative; min-height: 28rem; padding: 1.35rem; display: flex; flex-direction: column; justify-content: space-between; color: white; background-size: cover; background-position: center; }
.package-story__hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24,18,22,.64), transparent 35%, rgba(24,18,22,.55)); }
.package-story__hero :is(span,b) { position: relative; z-index: 1; width: fit-content; padding: .5rem .75rem; border-radius: 999px; background: rgba(30,24,29,.68); backdrop-filter: blur(8px); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.package-story__content { padding: clamp(1.5rem, 4vw, 3.25rem); }
.package-story__content > header { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--hairline); }
.package-story__content header span { color: var(--papaya-deep); font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.package-story__content h2 { margin: .35rem 0 0; font-size: clamp(2.4rem, 4.5vw, 4.4rem); line-height: .9; }
.package-story__price { display: grid; justify-items: end; align-content: start; }
.package-story__price s { color: var(--cocoa-soft); }
.package-story__price strong { font: 600 clamp(2rem, 3.4vw, 3.5rem)/1 var(--font-editorial); color: var(--papaya-deep); white-space: nowrap; }
.package-story__complimentary { display: grid; grid-template-columns: auto 1fr; gap: 1rem; margin: 1.5rem 0; padding: 1rem; border-radius: 1rem; color: #fff; background: #5e7568; }
.package-story__complimentary p { margin: 0; color: rgba(255,255,255,.82); }
.package-story__content h3 { margin: 1.5rem 0 1rem; font-size: 1.65rem; }
.package-includes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin: 0; padding: 0; list-style: none; }
.package-includes li { position: relative; padding-left: 1.45rem; color: var(--cocoa-soft); font-size: .9rem; line-height: 1.4; }
.package-includes li::before { content: "✓"; position: absolute; left: 0; color: var(--leaf); font-weight: 900; }
.package-story__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 1.8rem; padding: .75rem 1.25rem; border-radius: 999px; color: white; background: var(--papaya-deep); font-weight: 800; }
.package-moments { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--hairline); }
.package-moments figure { position: relative; min-height: 12rem; overflow: hidden; margin: 0; border-radius: 0 !important; box-shadow: none !important; background: white; }
.package-moments img { width: 100%; height: 100%; object-fit: cover; }
.package-moments figcaption { position: absolute; inset: auto .7rem .7rem; width: fit-content; padding: .35rem .55rem; border-radius: 999px; color: white; background: rgba(31,25,29,.72); font-size: .7rem; font-weight: 800; }
.official-food-gallery { padding: clamp(4rem, 7vw, 7rem) max(1.25rem, calc((100vw - 82rem) / 2)); background: #f2d0a4; }
.official-food-gallery > header { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1.5rem 3rem; align-items: end; margin-bottom: 2rem; }
.official-food-gallery > header .chapter-mark { grid-column: 1 / -1; }
.official-food-gallery h2 { max-width: 13ch; margin: 0; font-size: clamp(2.8rem, 4.7vw, 5rem); line-height: .94; }
.official-food-gallery header p { margin: 0; }
.official-food-gallery > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.official-food-gallery figure { aspect-ratio: 4/3; overflow: hidden; margin: 0; border-radius: 1rem !important; box-shadow: 0 14px 30px rgba(77,48,30,.12) !important; }
.official-food-gallery img { width: 100%; height: 100%; object-fit: cover; }

.threeam { right: 1rem !important; left: auto !important; }
@media (min-width: 761px) {
  .threeam > summary {
    width: 3.25rem;
    height: 3.25rem;
    justify-content: center;
    gap: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    font-size: 0 !important;
  }
  .threeam > summary span { font-size: 1rem; }
  .threeam > div { right: 0 !important; left: auto !important; }
}
.mobile-dock { display: none; }

[id*="first-night"] main { background: var(--night); color: #fffaf4; }
[id*="first-night"] main section,
[id*="first-night"] main .bg-white,
[id*="first-night"] main .bg-cream-50,
[id*="first-night"] main .bg-cream-100 { background: transparent !important; color: inherit !important; }
[id*="first-night"] main :is(h1,h2,h3,p,li) { color: inherit !important; }
[id*="first-night"] main section { border-color: rgba(255,255,255,.12) !important; }

@media (max-width: 1100px) {
  .price-grid { grid-template-columns: repeat(2, 1fr); }
  .care-orbit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mind-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .facility-card, .facility-card:nth-child(1), .facility-card:nth-child(6) { grid-column: span 6; }
  .social-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .social-library__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .package-story { grid-template-columns: minmax(17rem, .75fr) minmax(0, 1.25fr); }
  .standard-story__inner { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .life-gallery-story__grid { grid-auto-rows: minmax(10rem, 19vw); }
  .home-package-chooser__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .family-care-scene,
  .family-care-scene--1,
  .family-care-scene--2,
  .family-care-scene--3,
  .family-care-scene--4 { min-height: 0; grid-column: span 6; grid-template-columns: 1fr; }
  .family-care-scene figure,
  .family-care-scene--2 figure,
  .family-care-scene--3 figure { height: 15rem; min-height: 15rem; aspect-ratio: 4 / 3; }
  .visit-network__feature { grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); }
  .visit-network__directory ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-faq-stories__header { grid-template-columns: minmax(0, 1fr) minmax(17rem, .75fr); gap: 3rem; }
  .home-faq-stories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-faq-flip { min-height: 24rem; }
}

@media (max-width: 760px) {
  body { padding-bottom: calc(4.9rem + env(safe-area-inset-bottom)); overflow-x: clip; }
  .pg { overflow-x: clip; }
  .threeam { right: 1rem !important; bottom: calc(5.6rem + env(safe-area-inset-bottom)) !important; left: auto !important; }
  .threeam > summary {
    width: 3rem;
    height: 3rem;
    justify-content: center;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    font-size: 0 !important;
  }
  .threeam > summary span { font-size: 1rem; }
  .threeam > div { right: 0 !important; left: auto !important; }
  .threeam > div details > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding-block: .65rem;
  }
  .pg main summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding-block: .65rem;
  }
  .pg h1, .pg:not([id$="--index"]) h1 { font-size: clamp(2.65rem, 11.8vw, 4.15rem) !important; line-height: .98 !important; }
  .site-header > div { gap: .25rem !important; padding: .72rem .75rem !important; }
  .site-header nav[aria-label="Language"] { margin-left: auto; }
  .site-header nav[aria-label="Language"] a { padding-inline: .25rem !important; }
  .site-header > div > div > a[href*="visit-us"] { display: none; }
  .site-header .package-priority { display: none; }
  .keepsake-theatre { padding-block: 3.5rem; }
  .keepsake-theatre__intro { margin-bottom: 1.75rem; text-align: left; }
  .keepsake-theatre__intro h2 { margin-inline: 0; font-size: clamp(2.7rem, 11vw, 4rem); }
  .keepsake-stage { grid-template-columns: 1fr; }
  .music-keepsake { border-radius: 7rem 7rem 1.5rem 1.5rem; }
  .music-keepsake__scene { min-height: 18rem; }
  .music-keepsake__scene > img { width: min(92%, 23rem); }
  .warm-cinema { padding: 0 .9rem 1.35rem; }
  .warm-cinema__cloth { padding: 1rem .75rem 1.5rem; }
  .film-launch__play { width: 3.6rem; }
  .warm-cinema__hint { padding-right: 0; margin-bottom: 1.8rem; }
  .warm-cinema__brand { right: 50%; bottom: .75rem; transform: translateX(50%); }
  .day-one { grid-template-columns: 1fr; }
  .day-one__portrait { min-height: 0; height: clamp(17rem, 62vw, 28rem); background-position: center 35%; }
  .day-one__copy { padding: 2rem 1.25rem 2.5rem; }
  .care-orbit__grid { grid-template-columns: 1fr; }
  .care-orbit { padding-block: 4rem; }
  .care-orbit h2 { font-size: clamp(3rem, 14vw, 4.2rem); }
  .care-orbit__head p { text-wrap: pretty; }
  .care-orbit__card { aspect-ratio: 4 / 4.6; }
  .price-grid { grid-template-columns: 1fr; }
  .editorial-page-hero__visual,
  .editorial-page-hero__visual--home,
  .editorial-standalone-hero { min-height: 72vh; padding: 5rem 1.25rem 3rem !important; background-position: 58% center; }
  .editorial-page-hero__visual h1 { font-size: clamp(2.75rem, 12vw, 4.1rem) !important; }
  .editorial-page-hero__visual p:not(:first-child) { font-size: 1rem !important; }
  .editorial-page-hero__below { padding-block: 2rem; }
  .life-card-grid { grid-template-columns: 1fr !important; }
  .life-card-grid > li,
  .life-card-grid > li:nth-child(-n+2) { grid-column: auto; }
  .life-card { min-height: 19rem; }
  .social-wall > header { grid-template-columns: 1fr; }
  .social-featured-grid { grid-template-columns: 1fr; }
  .social-direct-embed__frame { height: 42rem; }
  .social-direct-embed footer { align-items: flex-start; flex-direction: column; }
  .social-player__poster,
  .social-player--source > a { min-height: 28rem; }
  .social-player__embed,
  .social-player__embed iframe { min-height: 36rem; height: 36rem; }
  .social-player[data-social-platform="YouTube"] .social-player__embed { min-height: 0; }
  .social-player[data-social-platform="YouTube"] .social-player__embed iframe { height: 100%; min-height: 0; }
  .social-library__grid { grid-template-columns: 1fr 1fr; }
  .context-social > .context-social__feed { grid-template-columns: 1fr; }
  .context-social header { grid-template-columns: 1fr; gap: .6rem; }
  .context-social header .chapter-mark { grid-column: auto; }
  .social-proof-dialog { width: calc(100vw - 1.25rem); max-height: 88vh; }
  .social-proof-dialog__frame,
  .social-proof-dialog__frame iframe { min-height: 64vh; }
  .official-price-band__intro, .service-price-band__inner { grid-template-columns: 1fr; display: grid; }
  .facility-grid { grid-template-columns: 1fr; }
  .facility-card, .facility-card:nth-child(1), .facility-card:nth-child(6) { grid-column: auto; min-height: 19rem; }
  .proof-celebration ul { grid-template-columns: 1fr !important; }
  .proof-celebration li a { min-height: 10.5rem; }
  .proof-card__subtitle { font-size: 1.05rem; }
  .mother-embrace { grid-template-columns: 1fr; }
  .mother-embrace { gap: 0; padding-top: 1rem; }
  .mother-embrace__photo { min-height: 68vh; border-radius: 0 0 4.5rem 4.5rem; background-position: center 40%; }
  .mother-embrace__copy { padding: 3rem 1.25rem 4rem; }
  .mother-embrace__copy h2 { font-size: clamp(2.8rem, 12vw, 4.2rem); }
  .mind-pathways__inner { padding: 3.75rem 0 4.5rem !important; }
  .mind-pathways__header {
    grid-template-columns: 1fr;
    grid-template-areas: "kicker" "title" "intro" "cta";
    gap: .9rem;
    padding-inline: 1.25rem;
    margin-bottom: 2rem !important;
  }
  .mind-pathways__header h2 { max-width: 11ch; font-size: clamp(3rem, 12vw, 4.5rem) !important; }
  .mind-pathways__header p { font-size: 1.08rem; }
  .mind-pathways__grid {
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(17.25rem, 82vw);
    gap: .85rem !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    padding: .4rem 1.25rem 1.25rem !important;
  }
  .mind-pathways__grid::-webkit-scrollbar { display: none; }
  .mind-pathways__item { scroll-snap-align: start; }
  .mind-pathways__card.photo-story-card { min-height: 23rem; }
  .home-tour-story { padding: .75rem !important; }
  .home-tour-story__stage,
  .home-tour-story__stage > [class*="tour-shell"] { height: 41rem !important; min-height: 41rem !important; }
  .home-tour-story__stage::after { background: linear-gradient(180deg, rgba(24,17,23,.82) 0%, rgba(24,17,23,.3) 54%, rgba(24,17,23,.42) 100%); }
  .home-tour-story__copy { top: 1rem; left: 1rem; width: calc(100% - 2rem); padding: 1.25rem; border-radius: 1.15rem; }
  .home-tour-story__copy h2 { max-width: 12ch; font-size: clamp(2.55rem, 11vw, 3.7rem) !important; }
  .home-tour-story__copy p { max-width: 29ch; font-size: 1rem !important; }
  .home-tour-story__copy a { min-height: 3rem; margin-top: 1rem; }
  .care-close-story { grid-template-columns: 1fr; min-height: 0; }
  .care-close-story__photo { min-height: 31rem; }
  .care-close-story__copy { padding: 3.5rem 1.25rem 4rem; }
  .care-close-story__copy > img { width: 4.25rem; margin-bottom: 2rem; }
  .care-close-story__copy h2 { max-width: 11ch; font-size: clamp(3rem, 13vw, 4.25rem) !important; }
  .care-close-story__copy p { font-size: 1.08rem !important; }
  .family-journeys { padding: 4rem 0 4.5rem !important; }
  .family-journeys__header { padding-inline: 1.25rem; margin-bottom: 2.25rem; }
  .family-journeys__header h2 { max-width: 10ch; font-size: clamp(3rem, 13vw, 4.25rem) !important; }
  .family-journeys__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(17.5rem, 84vw);
    gap: .85rem;
    overflow-x: auto;
    padding: 0 1.25rem 1.25rem;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .family-journeys__grid::-webkit-scrollbar { display: none; }
  .family-journeys__card { scroll-snap-align: start; }
  .family-journeys__card > img { aspect-ratio: 4 / 4.1; }
  .family-journeys__card > div { min-height: 16rem; }
  .home-first-night { padding: .75rem !important; }
  .home-first-night__inner { grid-template-columns: 1fr; min-height: 0; border-radius: 1.35rem; }
  .home-first-night__copy { padding: 2rem 1.25rem 2.2rem; }
  .home-first-night__copy h2 { max-width: 11ch; margin-block: .75rem 1rem; font-size: clamp(2.65rem, 11vw, 3.45rem) !important; }
  .home-first-night__copy p { max-width: 29ch !important; font-size: 1rem !important; line-height: 1.52 !important; }
  .home-first-night__copy a { min-height: 3rem; margin-top: 1.35rem; }
  .home-first-night__photo { height: 14rem; min-height: 0; }
  .home-first-night__photo::after { background: linear-gradient(0deg, rgba(23,18,17,.32), transparent 55%); }
  .home-first-night__bear { width: 4rem; }
  .care-mosaic { padding: 4rem 0 !important; }
  .care-mosaic__inner { padding-inline: 0 !important; }
  .care-mosaic__intro > :not(.care-mosaic__cards) { margin-right: 1.25rem !important; margin-left: 1.25rem !important; }
  .care-mosaic__intro h2 { max-width: 9ch; font-size: clamp(3.2rem, 14vw, 4.4rem) !important; }
  .care-mosaic__lead { max-width: 30ch !important; font-size: 1.08rem !important; }
  .care-mosaic__path { width: calc(100% - 2.5rem); margin-top: 1.25rem !important; }
  .care-mosaic__cards {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(15.75rem, 76vw);
    gap: .85rem;
    width: 100%;
    overflow-x: auto;
    padding: .5rem 1.25rem 1.4rem;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .care-mosaic__cards::-webkit-scrollbar { display: none; }
  .care-mosaic__card,
  .care-mosaic__card:nth-child(2n) { min-height: 20rem; margin-top: 0; scroll-snap-align: center; }
  .care-mosaic__card strong { font-size: 1.12rem; }
  .care-mosaic__closing { max-width: calc(100% - 2.5rem) !important; border-radius: 1.35rem; font-size: 1rem !important; }
  .care-mosaic__services { margin-top: 3rem !important; padding-inline: 1.25rem; }
  .care-service-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  .care-service-card { border-radius: 1.5rem !important; }
  .care-service-card__content { padding: 1.25rem !important; }
  .care-service-card__header { min-height: 3.15rem; }
  .care-service-card__label { font-size: .74rem !important; }
  .care-service-card__bear { width: 3.1rem; }
  .care-service-card__bear .bgbear { height: 2.35rem !important; }
  .care-service-card__title { max-width: 16ch; font-size: clamp(1.72rem, 8vw, 2.15rem) !important; }
  .care-service-card__summary { font-size: 1.04rem !important; line-height: 1.52 !important; }
  .meal-table-story { padding: 4rem 1rem 4.5rem; }
  .meal-table-story__inner { grid-template-columns: 1fr; gap: 2.25rem; }
  .meal-table-story__copy h2 { max-width: 10ch; font-size: clamp(3.25rem, 14vw, 4.5rem); }
  .meal-table-story__body { font-size: 1.02rem; line-height: 1.55; }
  .meal-table-story__tabs { gap: .4rem; }
  .meal-table-story__tabs button { min-height: 3.8rem; padding: .6rem; text-align: center; }
  .meal-table-story__tabs button span { display: none; }
  .meal-table-story__stage { min-height: 24rem; border-radius: 2rem; }
  .meal-table-story__decks { inset: 2.5rem .35rem 3.8rem; }
  .meal-table-story__deck figure { width: 76%; border-width: .28rem; border-radius: 1rem; }
  .meal-table-story__deck figure:nth-child(1) { transform: translate(-84%, -57%) rotate(-8deg); }
  .meal-table-story__deck figure:nth-child(2) { transform: translate(-50%, -50%) rotate(-1deg); }
  .meal-table-story__deck figure:nth-child(3) { transform: translate(-16%, -43%) rotate(8deg); }
  .meal-table-story__caption { right: 1rem; bottom: .75rem; left: 1rem; font-size: .66rem; }
  .standard-story { padding: .75rem; }
  .standard-story__inner { height: auto; min-height: 0; grid-template-columns: 1fr; border-radius: 1.5rem; }
  .standard-story__copy { padding: 2.5rem 1.25rem 2.75rem; }
  .standard-story__copy h2 { font-size: clamp(3.15rem, 14vw, 4.3rem); }
  .standard-story__copy > p { font-size: 1.02rem; }
  .standard-story__copy ul { gap: .45rem; }
  .standard-story__copy li { font-size: .75rem; }
  .standard-story__copy > strong { font-size: 1.55rem; }
  .standard-story__photo { min-height: 22rem; }
  .standard-story__photo::after { background: linear-gradient(0deg, rgba(32,25,30,.45), transparent 38%); }
  .standard-story__photo figcaption { right: .8rem; bottom: .75rem; }
  .life-gallery-story { padding: 4rem 1rem 4.5rem; }
  .life-gallery-story__header { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2rem; }
  .life-gallery-story__header h2 { max-width: 12ch; font-size: clamp(3.1rem, 13vw, 4.35rem); }
  .life-gallery-story__header > p { font-size: 1.03rem; }
  .life-gallery-story__grid {
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: 12rem;
    gap: .75rem !important;
  }
  .life-gallery-story__item,
  .life-gallery-story__item--1,
  .life-gallery-story__item--2,
  .life-gallery-story__item--3 { grid-column: span 1; grid-row: span 1; }
  .life-gallery-story__item--1 { grid-column: 1 / -1; grid-row: span 2; }
  .life-gallery-story__item--6 { grid-column: 1 / -1; }
  .life-gallery-story__caption { right: .55rem; bottom: .5rem; left: .55rem; padding: .65rem; font-size: .73rem; }
  .home-package-chooser { padding: 4rem 0 4.5rem; }
  .home-package-chooser__header { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2rem; padding-inline: 1.25rem; }
  .home-package-chooser__header h2 { max-width: 12ch; font-size: clamp(3.15rem, 13vw, 4.35rem); }
  .home-package-chooser__header p { font-size: 1.03rem; }
  .home-package-chooser__grid {
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(17.5rem, 80vw);
    gap: .8rem !important;
    overflow-x: auto;
    padding: .4rem 1.25rem 1.2rem !important;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .home-package-chooser__grid::-webkit-scrollbar { display: none; }
  .home-package-chooser__grid > li { scroll-snap-align: center; }
  .home-package-card { min-height: 18.5rem; padding: 1.25rem; }
  .home-package-card h3 { min-height: 3.8rem; margin-top: 2.5rem; }
  .home-package-chooser__cta { margin: .4rem 1.25rem 0; }
  .family-care-scenes { padding: 4rem 0 4.5rem; }
  .family-care-scenes::before { display: none; }
  .family-care-scenes__header { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2rem; padding-inline: 1.25rem; }
  .family-care-scenes__header h2 { max-width: 12ch; font-size: clamp(3.05rem, 13vw, 4.3rem); }
  .family-care-scenes__header > p { font-size: 1.03rem; }
  .family-care-scenes__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(18rem, 84vw);
    gap: .85rem;
    overflow-x: auto;
    padding: .35rem 1.25rem 1.2rem;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .family-care-scenes__grid::-webkit-scrollbar { display: none; }
  .family-care-scene,
  .family-care-scene--1,
  .family-care-scene--2,
  .family-care-scene--3,
  .family-care-scene--4 { grid-column: auto; scroll-snap-align: center; }
  .family-care-scene figure,
  .family-care-scene--2 figure,
  .family-care-scene--3 figure { height: 12.5rem; min-height: 12.5rem; aspect-ratio: 3 / 2; }
  .family-care-scene__copy { min-height: 16.5rem; padding: 1.35rem; }
  .family-care-scene__copy h3 { font-size: clamp(1.9rem, 8vw, 2.35rem); }
  .family-care-scene__copy ul { margin-block: 1rem 1.4rem !important; }
  .family-care-scenes__cta { margin: .35rem 1.25rem 0; }
  .visit-network { padding: 4rem 0 4.5rem; }
  .visit-network::before { display: none; }
  .visit-network__feature { grid-template-columns: 1fr; min-height: 0; margin-inline: 1rem; border-radius: 1.7rem; }
  .visit-network__photo { min-height: 23rem; }
  .visit-network__photo figcaption { align-items: flex-start; flex-direction: column; }
  .visit-network__story { padding: 2rem 1.25rem 2.2rem; }
  .visit-network__story h2 { max-width: 12ch; font-size: clamp(3rem, 12.5vw, 4.15rem); }
  .visit-network__story > p { font-size: 1rem; }
  .visit-network__actions { display: grid; grid-template-columns: 1fr; }
  .visit-network__actions a { width: 100%; }
  .visit-network__directory { margin-top: 3.5rem; }
  .visit-network__directory > header { align-items: flex-start; flex-direction: column; padding-inline: 1.25rem; }
  .visit-network__directory > header h3 { font-size: clamp(2.4rem, 10vw, 3.4rem); }
  .visit-network__directory ol {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(17rem, 78vw);
    gap: .75rem;
    overflow-x: auto;
    padding: .4rem 1.25rem 1.25rem !important;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .visit-network__directory ol::-webkit-scrollbar { display: none; }
  .visit-network__directory li { scroll-snap-align: center; }
  .visit-network__centre { min-height: 8.25rem; }
  .home-faq-stories { padding: 4rem 0 4.5rem; }
  .home-faq-stories::before { top: 1.25rem; right: -.75rem; font-size: 3.6rem; }
  .home-faq-stories__header { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.5rem; padding-inline: 1.25rem; }
  .home-faq-stories__header h2 { max-width: 12ch; font-size: clamp(3rem, 12.5vw, 4.15rem); }
  .home-faq-stories__intro { gap: 1rem; }
  .home-faq-stories__intro p { font-size: 1rem; }
  .home-faq-stories__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(18rem, 82vw);
    gap: .8rem;
    overflow-x: auto;
    padding: .5rem 1.25rem 1.3rem !important;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .home-faq-stories__grid::-webkit-scrollbar { display: none; }
  .home-faq-stories__grid > li { scroll-snap-align: center; }
  .home-faq-flip { min-height: 25rem; }
  .home-faq-flip__question { font-size: clamp(1.65rem, 7vw, 2rem); }
  .home-faq-flip__answer { font-size: 1.08rem; }
  .home-film-library header,
  .official-food-gallery > header { grid-template-columns: 1fr; }
  .home-film-grid { grid-template-columns: 1fr; }
  .media-tapestry { padding-block: 4rem 3.25rem; }
  .media-tapestry__header { margin-bottom: 2rem; }
  .media-tapestry__header h2 { max-width: 12ch; font-size: clamp(2.85rem, 13vw, 4.5rem); }
  .media-tapestry__header p { font-size: 1.06rem; }
  .media-tapestry__track { scroll-padding-inline: 1.25rem; padding-inline: 1.25rem; }
  .media-tapestry__item { flex-basis: min(78vw, 20rem); height: min(122vw, 31rem); scroll-snap-align: start; }
  .media-tapestry__item--wide { flex-basis: min(88vw, 31rem); }
  .media-tapestry__viewport::before,
  .media-tapestry__viewport::after { display: none; }
  .media-tapestry__footer { grid-template-columns: 1fr auto; gap: 1rem; margin-top: 1.25rem; }
  .media-tapestry__footer > p { grid-column: 1 / -1; }
  .media-tapestry__progress { grid-column: 1 / -1; }
  .media-tapestry__actions { grid-column: 1 / -1; }
  .media-tapestry__actions a { min-height: 3.25rem; }
  .closing-promise { min-height: 34rem; padding: 1rem; }
  .closing-promise__veil { border-radius: 8rem 8rem 1.5rem 1.5rem; padding: 2.5rem 1.2rem; }
  .closing-promise__veil p { font-size: clamp(2.6rem, 11vw, 4rem); }
  .package-experience__hero nav { grid-template-columns: 1fr 1fr; }
  .package-story { grid-template-columns: 1fr; }
  .package-story__hero { min-height: 23rem; }
  .package-story__content > header { display: grid; }
  .package-story__price { justify-items: start; }
  .package-story__complimentary { grid-template-columns: 1fr; gap: .35rem; }
  .package-includes { grid-template-columns: 1fr; }
  .package-moments { grid-template-columns: 1fr 1fr; }
  .package-moments figure { min-height: 10rem; }
  .official-food-gallery > div { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .mobile-dock {
    position: fixed;
    z-index: 80;
    left: .65rem;
    right: .65rem;
    bottom: max(.65rem, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: .72fr 1fr 1.2fr;
    gap: .35rem;
    padding: .4rem;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 1.15rem;
    background: rgba(36,31,53,.93);
    backdrop-filter: blur(15px);
    box-shadow: 0 14px 40px rgba(0,0,0,.24);
  }
  .mobile-dock :is(a, button) { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: .7rem .3rem; border: 0; border-radius: .8rem; color: white; background: transparent; text-align: center; font: 800 .76rem/1.15 var(--font-sans); }
  .mobile-dock a:last-child { background: var(--papaya); }
  .mobile-dock button[aria-expanded="true"] { background: rgba(255,255,255,.14); }
  .mobile-menu-panel {
    position: fixed;
    z-index: 79;
    right: .65rem;
    bottom: calc(5.45rem + env(safe-area-inset-bottom));
    left: .65rem;
    display: none;
    max-height: min(68vh, 32rem);
    grid-template-columns: 1fr 1fr;
    gap: .4rem;
    overflow-y: auto;
    padding: .7rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 1.25rem;
    background: rgba(36,31,53,.97);
    box-shadow: 0 22px 60px rgba(0,0,0,.3);
    backdrop-filter: blur(18px);
  }
  .mobile-menu-panel.is-open { display: grid; }
  .mobile-menu-panel a { display: flex; min-height: 48px; align-items: center; padding: .75rem .85rem; border-radius: .8rem; color: white; background: rgba(255,255,255,.07); font-size: .84rem; font-weight: 750; line-height: 1.2; }
  .mobile-menu-open .threeam { display: none; }
  [id$="ask"] button[type="button"] { min-height: 44px; padding-block: .7rem !important; }
  [id$="visit-us"] form :is(input:not([tabindex="-1"]), textarea, select) { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-ready { opacity: 1; transform: none; transition: none; }
  .thought { animation: none; }
  .music-is-playing .music-keepsake__scene > img,
  .music-is-playing .music-note,
  .warm-cinema__cloth { animation: none; }
  .film-launch img { transition: none; }
  .media-tapestry__item img { transition: none; }
  .mind-pathways::before { animation: none; }
  .mind-pathways__card,
  .mind-pathways__card::before,
  .mind-pathways__card .mind-pathways__arrow,
  .mind-pathways__cta { transition: none !important; }
  .home-tour-story__copy a,
  .care-close-story__photo img,
  .family-journeys__card,
  .family-journeys__card > img,
  .family-journeys__card a span,
  .home-first-night__copy a,
  .home-first-night__copy a span,
  .home-first-night__photo > img:first-child,
  .care-mosaic__card,
  .care-mosaic__art,
  .care-mosaic__arrow,
  .care-service-card,
  .care-service-card__count b,
  .meal-table-story__decks,
  .meal-table-story__deck,
  .meal-table-story__deck figure,
  .meal-table-story__tabs button,
  .meal-table-story__cta,
  .meal-table-story__cta span,
  .standard-story__copy > a,
  .standard-story__photo img,
  .life-gallery-story__item .zoomable > span:first-of-type > [role="img"],
  .home-package-card,
  .home-package-card__bear,
  .home-package-card__action b,
  .home-package-chooser__cta,
  .family-care-scene,
  .family-care-scene figure img,
  .family-care-scene__copy > span b,
  .family-care-scenes__cta,
  .visit-network__photo img,
  .visit-network__actions a,
  .visit-network__directory > header > a b,
  .visit-network__centre,
  .visit-network__centre::after,
  .visit-network__centre > b,
  .home-faq-stories__intro a,
  .home-faq-flip__inner,
  .home-faq-flip__front img { animation: none !important; transition: none !important; }
  .care-mosaic__path i { animation: none !important; left: 50%; }
  .meal-table-story__steam { display: none; }
  .pg main figure [role="img"], .pg main figure .bgimg { transition: none; }
}

@media (max-width: 480px) {
  .social-library__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .context-social > .context-social__feed { grid-template-columns: 1fr; }
  .social-player__poster,
  .social-player--source > a,
  .context-social .social-player__poster,
  .context-social .social-player--source > a { min-height: 24rem; }
  .social-library__grid .social-player__poster,
  .social-library__grid .social-player--source > a { min-height: 17rem; padding: .85rem; }
  .social-library__grid .social-player__poster > strong,
  .social-library__grid .social-player--source > a > strong { font-size: 1.2rem; }
  .social-library__grid .social-player__topline em,
  .social-library__grid .social-player__action { display: none; }
  .social-library__grid .social-player__source { justify-content: center; padding-inline: .4rem; text-align: center; }
  .social-player__topline { align-items: flex-start; }
  .social-player__topline em { max-width: 12rem; text-align: right; }
  .social-player__live-caption,
  .social-proof-dialog__footer { align-items: flex-start; flex-direction: column; }
}

.refined-subpage main { --reading-width: 66ch; }
.refined-subpage main :is(p, .prose-labebe) { font-size: 1.0625rem; line-height: 1.65; }
.refined-subpage main .subpage-paragraph { display: block; max-width: var(--reading-width) !important; white-space: normal; }
.refined-subpage .subpage-paragraph > strong { font-weight: 700; color: var(--cocoa); }
.refined-subpage .editorial-page-hero__visual .subpage-paragraph > strong { color: white; }
.refined-subpage .subpage-prose { max-width: none; white-space: normal; }
.refined-subpage .subpage-prose p { max-width: var(--reading-width); margin: 0 0 1rem; }
.refined-subpage .subpage-prose__lead { padding-left: 1rem; border-left: 3px solid var(--leaf); font-size: 1.2rem; font-weight: 600; }
.refined-subpage .subpage-prose__body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1.25rem; }
.refined-subpage .subpage-prose__body p { height: auto; margin: 0; padding: 1.25rem; background: #fffaf4; border: 1px solid var(--hairline); border-radius: 1rem; }
.refined-subpage .subpage-copy { display: block; width: 100%; max-width: 72rem !important; }
.refined-subpage .subpage-copy > h2:first-of-type { width: 100%; max-width: 30ch; margin: 0 0 1.25rem; font-size: clamp(2rem,3.4vw,3.5rem) !important; line-height: 1.1 !important; }
.refined-subpage .subpage-copy > p { max-width: var(--reading-width) !important; }
.refined-subpage .subpage-card { min-width: 0; padding: 1.4rem; border-radius: 1.1rem; background-color: #fffdf9; }
.refined-subpage .subpage-card h3 { margin-top: 0; font: 700 clamp(1.2rem,1.8vw,1.55rem)/1.25 var(--font-human) !important; color: #3f3028; }
.refined-subpage .subpage-card p { font-size: 1rem; line-height: 1.6; }
.refined-subpage .subpage-card > span[aria-hidden="true"] { flex-shrink: 0; }
.refined-subpage main .subpage-bear { position: relative !important; inset: auto !important; display: block; max-width: 5rem; max-height: 5rem; margin: 1rem 0; transform: none !important; }
.refined-subpage .editorial-hero-continuation { border: 0; box-shadow: none; background: transparent; padding: 0; }
.refined-subpage .editorial-hero-continuation > .space-y-4 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.refined-subpage .editorial-hero-continuation > .space-y-4 > p { max-width: none; margin: 0; padding: 1.3rem; border: 1px solid var(--hairline); border-radius: 1rem; background: white; }
.refined-subpage .editorial-hero-continuation > .space-y-4 > p:first-child { grid-column: 1 / -1; }
.refined-subpage .editorial-hero-continuation p::first-letter { float: none; font: inherit; margin: 0; }
.subpage-sections { display: flex; gap: .6rem; width: min(100%,82rem); margin: 0 auto; padding: 1rem 1.25rem; overflow-x: auto; border-bottom: 1px solid var(--hairline); }
.subpage-sections a { display: flex; align-items: center; flex: 0 0 auto; max-width: 22rem; min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--hairline); border-radius: .75rem; color: #4c3b32; background: #f5ede4; font: 600 .9rem/1.35 var(--font-human); }
.subpage-sections a:hover { background: #dce7df; }
.subpage-sections a:focus-visible { outline: 3px solid var(--leaf); outline-offset: 2px; }
.refined-subpage h2[id] { scroll-margin-top: 7rem; }
.refined-subpage .subpage-mum { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: clamp(1.5rem,4vw,3rem); padding-block: clamp(2rem,4vw,4rem); }
.subpage-mum > :has(figure) { order: 0; }
.subpage-mum figure { aspect-ratio: 3 / 4; }
.subpage-mum__copy { order: 1; min-width: 0; }
.subpage-mum__copy h2 { margin: 0 0 1rem; max-width: 100%; font-size: clamp(2.5rem,4.2vw,4.25rem); line-height: 1.05; }
.refined-subpage .subpage-mum__intro { margin: 0 0 1.25rem; font-size: 1.2rem; color: #655045; }
.subpage-mum__cards { display: grid; gap: .75rem; }
.subpage-mum__cards article { padding: 1.1rem 1.3rem; border-radius: 1rem; background: #e7eee7; }
.subpage-mum__cards article:nth-child(2) { background: #f1e0d3; }
.subpage-mum__cards article:nth-child(3) { background: #e6e9f0; }
.subpage-mum__cards h3 { margin: 0 0 .4rem; font: 700 1.2rem/1.3 var(--font-human) !important; }
.subpage-mum__cards p { margin: 0; max-width: none !important; }
.subpage-mum__end { font-weight: 700; margin: 1.2rem 0 0; }
@media (max-width: 760px) {
  .refined-subpage .subpage-mum { grid-template-columns: 1fr; }
  .subpage-mum figure { aspect-ratio: 4 / 3; }
  .refined-subpage .subpage-prose__body,
  .refined-subpage .editorial-hero-continuation > .space-y-4 { grid-template-columns: 1fr; }
  .refined-subpage main :is(p,.prose-labebe) { font-size: 1rem; line-height: 1.6; }
  .refined-subpage .subpage-card { padding: 1.1rem; }
  .subpage-sections a { max-width: 17rem; }
}

/* Stacked sections use their available width instead of desktop headline measures. */
@media (max-width: 1100px) and (min-width: 761px) {
  .day-one { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .day-one__copy { padding: 2rem; }
  .day-one h2 { font-size: clamp(2.5rem, 4.2vw, 3.5rem); }
}
@media (max-width: 900px) {
  .pg main :is(.balanced-copy, .editorial-hero-copy, .editorial-hero-support) { min-width: 0; width: 100%; max-width: 100% !important; }
  .pg main :is(.balanced-copy, .editorial-hero-copy) > :is(h1,h2) { width: 100%; max-width: 100% !important; text-wrap: balance; }
  .pg main :is(.care-orbit__head, .mind-pathways__header, .home-tour-story__copy, .care-close-story__copy, .family-journeys__header, .home-first-night__copy, .care-mosaic__intro, .meal-table-story__copy, .life-gallery-story__header, .home-package-chooser__header, .family-care-scenes__header, .visit-network__story, .home-faq-stories__header, .media-tapestry__header, .mother-embrace__copy, .context-social, .social-wall, .official-food-gallery) h2 {
    width: 100%;
    max-width: 100% !important;
    text-wrap: balance;
  }
}
@media (max-width: 760px) {
  .day-one__copy { align-items: stretch; }
  .day-one h2 { width: 100%; max-width: 100%; margin: .8rem 0 1.5rem; font-size: clamp(2.25rem, 6.8vw, 3.4rem); line-height: 1.08; }
  .thought-field { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .thought { min-width: 0; padding: .9rem; font-size: 1rem; }
  .pg main > section > header h2 { line-height: 1.06 !important; }
}
@media (max-width: 480px) {
  .thought-field { grid-template-columns: 1fr; }
  .pg main :is(.balanced-copy, .editorial-hero-copy) > :is(h1,h2) { font-size: clamp(2.15rem, 9vw, 2.85rem) !important; line-height: 1.08 !important; }
  .pg main :is(.mind-pathways__header, .family-journeys__header, .care-mosaic__intro, .home-package-chooser__header, .family-care-scenes__header, .home-faq-stories__header) h2 { font-size: clamp(2.1rem, 9vw, 2.8rem) !important; line-height: 1.08 !important; }
}
/* Family journal: touchable paper, human scenes, user-paced motion. */
.pg.home-restored .day-one { width:100%; max-width:none; margin:0; padding:0; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); min-height:clamp(560px,48vw,800px); }
.pg.home-restored .day-one__portrait { min-height:100%; height:auto; background-position:center 35%; }
.pg.home-restored .day-one__copy { padding:clamp(28px,4vw,72px); }
.pg.home-restored .day-one h2 { max-width:15ch; width:100%; margin:18px 0 28px; font-size:clamp(42px,4.8vw,80px); line-height:1.03; }
.pg.home-restored .thought-field { display:flex; flex-direction:column; gap:12px; }
.pg.home-restored .thought { width:fit-content; max-width:100% !important; margin:0; padding:12px 18px; font-size:clamp(16px,1.3vw,21px); line-height:1.5; }
.pg.home-restored .thought:nth-child(2),.pg.home-restored .thought:nth-child(4) { align-self:center; }
@media(max-width:760px) {
  .pg.home-restored .day-one { grid-template-columns:1fr; min-height:0; }
  .pg.home-restored .day-one__portrait { min-height:0; height:clamp(260px,70vw,420px); }
  .pg.home-restored .day-one__copy { padding:28px 20px 32px; }
  .pg.home-restored .day-one h2 { max-width:100%; font-size:clamp(34px,7vw,48px); margin:14px 0 22px; }
  .pg.home-restored .thought { width:100%; padding:12px 16px; }
}
.pg.journey-illustrated .journey-journal,
.pg.journey-illustrated .journey-pair { max-width:1200px; margin:0 auto; padding:40px 24px; color:#35251f; }
.journey-illustrated .journey-journal header,
.journey-illustrated .journey-pair header { display:block; max-width:850px; margin:0 0 24px; }
.journey-illustrated .journey-journal header h2,
.journey-illustrated .journey-pair header h2 { max-width:none; font:500 clamp(32px,3.5vw,48px)/1.12 var(--font-editorial); margin:10px 0 12px; }
.journey-illustrated .journey-journal p,
.journey-illustrated .journey-pair p { font:400 18px/1.65 var(--font-human); max-width:none; }
.journey-illustrated .jj-kicker { font:700 14px/1.4 var(--font-human); letter-spacing:.09em; text-transform:uppercase; color:#5b6155; }
.journey-illustrated .jj-tabs { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
.journey-illustrated .jj-tabs button { min-height:48px; border:1px solid #c9cbbd; border-radius:12px 12px 3px 3px; background:#f2f3ec; color:#354137; font:700 16px/1.2 var(--font-human); padding:12px 6px; cursor:pointer; transition:background .2s,transform .2s; }
.journey-illustrated .jj-tabs button[aria-selected=true] { background:#496453; color:#fff; border-color:#496453; transform:translateY(-3px); box-shadow:0 4px 0 #c5d3bd; }
.journey-illustrated .jj-pages { perspective:1400px; }
.journey-illustrated .jj-page { display:grid; grid-template-columns:1.15fr 1fr; overflow:hidden; background:#f5f0e7; border:1px solid #d9cfbe; border-radius:24px; box-shadow:0 12px 28px #35251f0d; animation:journal-open .5s ease both; transform-origin:left center; }
.journey-illustrated .jj-page[hidden] { display:none; }
.journey-illustrated .jj-page figure,
.journey-illustrated .jj-person figure { margin:0; position:relative; overflow:hidden; }
.journey-illustrated .jj-page img { display:block; width:100%; height:100%; min-height:370px; object-fit:cover; }
.journey-illustrated .jj-page figcaption { position:absolute; bottom:10px; left:12px; right:12px; width:fit-content; background:#fffaf4ed; border-radius:6px; padding:5px 8px; color:#504739; font:500 12px/1.4 var(--font-human); }
.journey-illustrated .jj-copy { display:flex; flex-direction:column; justify-content:center; padding:32px; background:linear-gradient(90deg,#e8e0d2 0, #fffaf2 4%,#fffaf2 100%); }
.journey-illustrated .jj-copy h3,
.journey-illustrated .jj-person h3 { font:600 clamp(27px,2.7vw,38px)/1.17 var(--font-editorial); margin:14px 0; max-width:none; }
.journey-illustrated .jj-copy p { margin:0; color:#50483e; }
.journey-illustrated .jj-page-number { margin-top:24px; font:700 13px/1.2 var(--font-human); color:#726756; letter-spacing:.12em; }
.journey-illustrated .jj-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0; }
.journey-illustrated .jj-controls button { border:1px solid #c4cdbd; background:#edf2e8; color:#354137; padding:12px 16px; min-height:48px; border-radius:24px; font:700 15px/1.3 var(--font-human); cursor:pointer; }
.journey-illustrated .jj-controls .jj-status { font-size:14px; margin:0; white-space:nowrap; }
.journey-illustrated .journey-journal .jj-note,
.journey-illustrated .journey-pair .jj-note { font-size:14px; line-height:1.6; color:#665d51; margin:14px 0 0; }
.journey-illustrated .jj-pair-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.journey-illustrated .jj-person { border:1px solid #dccbb8; border-radius:24px; overflow:hidden; background:#f4e8db; align-self:start; box-shadow:0 8px 24px #35251f08; }
.journey-illustrated .jj-person--home { background:#e7efe4; border-color:#c2d3bd; }
.journey-illustrated .jj-person img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .5s ease; }
.journey-illustrated .jj-person-copy { padding:26px; }
.journey-illustrated .jj-person-copy > p { color:#50483e; margin:14px 0; }
.journey-illustrated .jj-person details { margin-top:18px; border-top:1px solid #b8ad9c; padding-top:14px; }
.journey-illustrated .jj-person summary { cursor:pointer; font:700 16px/1.5 var(--font-human); min-height:44px; }
.journey-illustrated .jj-person ul { padding-left:20px; margin:8px 0 16px; }
.journey-illustrated .jj-person li { font:400 17px/1.6 var(--font-human); margin:8px 0; color:#50483e; }
.journey-illustrated .jj-person .jj-handnote { font:italic 500 23px/1.4 'Iowan Old Style',Georgia,serif; border-left:3px solid #788b70; padding-left:14px; margin:16px 0 0; color:#3c513f; }
.journey-illustrated .journey-journal button:focus-visible,
.journey-illustrated .jj-page:focus-visible,
.journey-illustrated .jj-person summary:focus-visible { outline:3px solid #965633; outline-offset:4px; }
@keyframes journal-open { from { opacity:.4; transform:rotateY(-5deg) translateY(5px); } to {opacity:1; transform:none;} }
@media(hover:hover) { .journey-illustrated .jj-person:hover img { transform:scale(1.025); } }
@media(max-width:700px) {
 .pg.journey-illustrated .journey-journal,.pg.journey-illustrated .journey-pair { padding:28px 18px; }
 .journey-illustrated .jj-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .journey-illustrated .jj-page,.journey-illustrated .jj-pair-grid { grid-template-columns:1fr; }
 .journey-illustrated .jj-page img { min-height:0; aspect-ratio:3/2; height:auto; }
 .journey-illustrated .jj-copy { padding:24px; background:#fffaf2; min-height:270px; }
 .journey-illustrated .jj-person-copy { padding:24px; }
 .journey-illustrated .jj-controls button span { display:none; }
 .journey-illustrated .jj-controls button { min-width:52px; font-size:22px; padding:8px; }
}
@media(prefers-reduced-motion:reduce) {
 .journey-illustrated .jj-page { animation:none; }
 .journey-illustrated .jj-tabs button,.journey-illustrated .jj-person img { transition:none; transform:none!important; }
}
/* Subpage mastheads: one reading path, with photography beside the copy. */
.pg main > section.subpage-banner { opacity:1!important; transform:none!important; transition:none!important; }
.pg main > section.subpage-banner .editorial-page-hero__visual {
 width:100%; max-width:none!important; margin:0; min-height:0;
 display:grid!important; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
 align-items:stretch!important; padding:0!important; background:#f5f0e8; color:#35251f;
}
.pg main > section.subpage-banner .editorial-page-hero__visual::after { display:none; }
.pg main > section.subpage-banner .editorial-page-hero__visual::before {
 content:""; grid-column:2; grid-row:1; display:block; min-height:360px;
 background-image:var(--hero-image); background-size:cover; background-position:center;
}
.pg main > section.subpage-banner .editorial-page-hero__visual > .editorial-hero-copy {
 grid-column:1; grid-row:1; display:flex; flex-direction:column; justify-content:center;
 align-items:flex-start; gap:0; width:100%; max-width:none!important; min-width:0;
 padding:clamp(32px,4vw,64px) clamp(24px,4vw,64px); box-sizing:border-box;
}
.pg main > section.subpage-banner .editorial-page-hero__visual .editorial-hero-eyebrow {
 color:#6c5947!important; font:700 13px/1.5 var(--font-human)!important;
 letter-spacing:.1em; margin:0 0 16px!important; max-width:none!important;
}
.pg main > section.subpage-banner .editorial-page-hero__visual h1 {
 color:#35251f!important; width:100%; max-width:24ch!important; margin:0!important;
 font-size:clamp(34px,3.5vw,54px)!important; line-height:1.08!important;
 letter-spacing:-.025em; text-shadow:none; text-wrap:balance;
}
.pg main > section.subpage-banner .editorial-page-hero__visual .editorial-hero-support {
 width:100%; max-width:58ch!important; align-self:auto; margin:22px 0 0!important;
 display:block; color:#594e43;
}
.pg main > section.subpage-banner .editorial-page-hero__visual .editorial-hero-support :is(p,li,span,strong) {
 color:#594e43!important; font-size:18px!important; line-height:1.65!important; max-width:none!important;
}
.pg main > section.subpage-banner .editorial-hero-support p { margin:0 0 12px!important; }
.pg main > section.subpage-banner .editorial-hero-support p:last-child { margin-bottom:0!important; }
.pg main > section.subpage-banner .editorial-hero-support strong { font-weight:600; }
.pg main > section.subpage-banner .editorial-page-hero__content[hidden] { display:none!important; }
.pg main > section.subpage-banner .editorial-hero-continuation {
 max-width:72ch; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent;
}
@media(min-width:1600px) {
 .pg main > section.subpage-banner .editorial-page-hero__visual > .editorial-hero-copy { padding-left:max(48px,calc((100vw - 1400px)/2)); }
}
@media(max-width:850px) {
 .pg main > section.subpage-banner .editorial-page-hero__visual { grid-template-columns:1fr; }
 .pg main > section.subpage-banner .editorial-page-hero__visual::before { grid-column:1; grid-row:2; min-height:0; height:clamp(210px,44vw,340px); }
 .pg main > section.subpage-banner .editorial-page-hero__visual > .editorial-hero-copy { padding:30px 24px; }
 .pg main > section.subpage-banner .editorial-page-hero__visual h1 { max-width:26ch!important; font-size:clamp(32px,6vw,44px)!important; }
 .pg main > section.subpage-banner .editorial-page-hero__visual .editorial-hero-support { margin-top:18px!important; }
 .pg main > section.subpage-banner .editorial-page-hero__visual .editorial-hero-support :is(p,li,span,strong) { font-size:17px!important; line-height:1.6!important; }
}
