:root {
  --story-plum:#6d4b66;
  --story-ink:#3f333b;
  --story-cream:#fffaf3;
  --story-blush:#f5e4df;
  --story-lilac:#ddcadf;
  --story-blue:#dceaf0;
  --story-gold:#e6c98d;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.story-page { margin:0; overflow-x:hidden; background:#fffdf9; color:var(--story-ink); font-family:"DM Sans",Arial,sans-serif; }
.story-page h1,.story-page h2,.story-page h3 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-weight:400; letter-spacing:-.035em; }
.story-page p { margin:0; }
.story-page .eyebrow { color:#86647f; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

.story-header { grid-template-columns:220px minmax(600px,1fr) auto; }
.story-header nav { justify-self:center; }
.story-header nav a[aria-current="page"] { background:#fffdf9; }
.story-header nav a[aria-current="page"]::after { opacity:1; transform:translateX(-50%) scaleX(1); }
.story-home-link {
  justify-self:end; padding:13px 18px; border:1px solid rgba(104,72,97,.17); border-radius:999px;
  background:#fffdf9; color:#493a45; font-size:.76rem; font-weight:700; text-decoration:none;
  box-shadow:0 8px 20px rgba(71,48,61,.07); transition:transform .25s,background .25s;
}
.story-home-link:hover { transform:translateY(-2px); background:#edf3f5; }

.story-hero {
  min-height:650px; padding:68px max(28px,calc((100vw - 1260px)/2)) 74px;
  display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:72px; overflow:hidden;
  background:
    radial-gradient(circle at 8% 85%,rgba(221,202,223,.8) 0 14%,transparent 14.2%),
    radial-gradient(circle at 95% 7%,rgba(230,201,141,.38) 0 13%,transparent 13.2%),
    linear-gradient(135deg,#fff9f2,#f7e9e5 56%,#e9dce9);
}
.story-hero-copy { position:relative; z-index:2; }
.story-hero h1 { max-width:720px; margin-top:22px; font-size:clamp(4.5rem,7vw,7.2rem); line-height:.84; }
.story-hero h1 em { color:#875777; font-weight:300; }
.story-hero-copy > p:not(.eyebrow) { max-width:620px; margin-top:36px; color:#665a61; font-size:1.08rem; line-height:1.78; }
.story-signature { width:fit-content; margin-top:30px; padding:10px 15px; display:flex; align-items:center; gap:12px; border-top:1px solid rgba(109,75,102,.2); color:#76596f; font-size:.73rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.story-signature b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--story-plum); color:#fffaf3; font-size:.72rem; }

.portrait-family { position:relative; min-height:510px; }
.portrait { position:absolute; margin:0; filter:drop-shadow(0 24px 30px rgba(74,53,70,.16)); }
.portrait img { width:100%; height:100%; display:block; border:8px solid rgba(255,253,249,.92); border-radius:50%; object-fit:cover; background:#fff; }
.portrait figcaption { position:absolute; left:50%; bottom:-12px; padding:6px 13px; border-radius:999px; background:#fffdf9; color:#5c4757; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transform:translateX(-50%); box-shadow:0 8px 18px rgba(70,48,64,.13); }
.portrait-talia { z-index:4; left:10%; top:10%; width:49%; aspect-ratio:1; }
.portrait-marta { z-index:3; right:2%; top:0; width:35%; aspect-ratio:1; }
.portrait-michelle { z-index:2; right:5%; bottom:0; width:38%; aspect-ratio:1; }
.portrait-claire { z-index:3; left:0; bottom:1%; width:35%; aspect-ratio:1; }
.portrait-laquaisha { z-index:5; left:35%; bottom:2%; width:27%; aspect-ratio:1; }
.portrait-note { position:absolute; z-index:6; left:45%; top:61%; padding:12px 16px; border-radius:18px 18px 18px 4px; background:var(--story-plum); color:#fffaf3; font:400 1.05rem/1.15 "Forum",Georgia,serif; box-shadow:0 15px 30px rgba(73,55,71,.2); transform:rotate(-3deg); }

.origin-section { padding:76px max(28px,calc((100vw - 1180px)/2)) 82px; display:grid; grid-template-columns:240px 1fr; align-items:center; gap:56px; background:#fffdf9; }
.origin-year { min-height:300px; display:grid; align-content:center; justify-items:center; border:1px solid rgba(109,75,102,.12); border-radius:150px 150px 26px 26px; background:linear-gradient(180deg,#eadbea,#f7e9e2); box-shadow:0 24px 48px rgba(71,48,61,.09); }
.origin-year small { color:#8f6b84; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.origin-year strong { color:#704f68; font:400 4.5rem/1 "Cormorant Garamond",Georgia,serif; }
.origin-copy h2 { max-width:780px; margin-top:22px; font-size:clamp(3.4rem,5vw,5.3rem); line-height:.94; }
.origin-columns { margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.origin-columns p { color:#675c62; font-size:.98rem; line-height:1.78; }
.origin-columns p:first-child::first-letter { float:left; margin:7px 9px 0 0; color:#875777; font:400 4.2rem/.72 "Cormorant Garamond",Georgia,serif; }

.setting-story { padding:58px max(28px,calc((100vw - 1260px)/2)) 60px; display:grid; grid-template-columns:.94fr 1.06fr; align-items:start; gap:54px; background:#fffaf3; }
.setting-copy h2 { max-width:600px; margin-top:20px; font-size:clamp(3.6rem,5.2vw,5.5rem); line-height:.9; }
.setting-copy > p:not(.eyebrow) { max-width:570px; margin-top:24px; color:#665a61; font-size:1rem; line-height:1.7; }
.setting-copy ul { margin:26px 0 24px; padding:0; display:grid; gap:12px; list-style:none; }
.setting-copy li { padding:0 0 11px 25px; display:grid; gap:3px; border-bottom:1px solid rgba(109,75,102,.12); }
.setting-copy li::before { content:""; width:7px; height:7px; margin:8px 0 0 -22px; grid-row:1 / span 2; border-radius:50%; background:#b16e98; }
.setting-copy li b { color:#55434f; font-size:.84rem; }
.setting-copy li span { color:#7a6d74; font-size:.78rem; line-height:1.5; }
.setting-copy > a { display:inline-flex; align-items:center; gap:10px; padding:12px 17px; border:1px solid rgba(109,75,102,.16); border-radius:999px; background:#fff; color:#6d4b66; font-size:.74rem; font-weight:700; text-decoration:none; box-shadow:0 8px 20px rgba(73,55,71,.07); }
.setting-gallery { position:relative; min-height:430px; }
.setting-photo { position:absolute; margin:0; overflow:hidden; background:#fff; box-shadow:0 25px 50px rgba(69,48,64,.15); }
.setting-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.setting-photo figcaption { position:absolute; left:18px; bottom:16px; padding:8px 12px; border-radius:999px; background:rgba(255,253,249,.88); color:#59434f; font-size:.64rem; font-weight:700; backdrop-filter:blur(8px); }
.setting-photo-main { z-index:2; left:0; top:0; width:66%; height:342px; border:8px solid #fff; border-radius:180px 180px 22px 22px; }
.setting-photo-second { z-index:3; right:0; top:36px; width:42%; height:202px; border:7px solid #fff; border-radius:24px; transform:rotate(3deg); }
.setting-photo-third { z-index:4; right:3%; bottom:0; width:54%; height:180px; border:7px solid #fff; border-radius:24px; transform:rotate(-2deg); }

.team-section { padding:72px max(28px,calc((100vw - 1280px)/2)) 64px; background:#efe1ec; }
.team-heading { max-width:850px; margin:0 auto 44px; text-align:center; }
.team-heading h2 { margin-top:20px; font-size:clamp(3.7rem,5.5vw,5.9rem); line-height:.9; }
.team-heading > p:last-child { max-width:660px; margin:20px auto 0; color:#675b63; font-size:1rem; line-height:1.65; }
.team-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.team-card { min-height:330px; padding:26px; display:grid; grid-template-columns:180px 1fr; align-items:center; gap:26px; border:1px solid rgba(85,61,80,.1); border-radius:36px; box-shadow:0 22px 44px rgba(70,48,64,.11); }
.team-talia,.team-michelle { background:#fffaf3; }
.team-marta { background:#dceaf0; }
.team-claire { background:#f5e3dd; }
.team-laquaisha { grid-column:1 / -1; min-height:290px; grid-template-columns:200px minmax(0,1fr); background:linear-gradient(115deg,#e8eef0,#f7e8e3); }
.team-laquaisha .team-portrait { width:200px; }
.team-laquaisha .team-copy p { max-width:760px; font-size:1.08rem; }
.team-portrait { position:relative; width:180px; aspect-ratio:1; }
.team-portrait::before { content:""; position:absolute; inset:-10px; border:1px solid rgba(109,75,102,.15); border-radius:50%; }
.team-portrait img { width:100%; height:100%; display:block; border-radius:50%; object-fit:cover; }
.team-copy small { color:#896680; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.team-copy h3 { margin-top:6px; font-size:3.1rem; line-height:1; }
.team-copy p { margin-top:18px; color:#695c64; font:400 1rem/1.58 "Forum",Georgia,serif; }

.story-services { padding:62px max(28px,calc((100vw - 1240px)/2)) 70px; background:#fffdf9; }
.services-heading { margin-bottom:34px; text-align:center; }
.services-heading h2 { margin-top:18px; font-size:clamp(3.4rem,5vw,5.2rem); }
.service-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { position:relative; min-height:380px; padding:32px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border-radius:34px; color:#fff; text-decoration:none; box-shadow:0 24px 44px rgba(57,40,53,.15); transition:transform .3s,box-shadow .3s; }
.service-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(49,34,46,.05),rgba(49,34,46,.91)); }
.service-card > * { position:relative; z-index:2; }
.service-routine { background:url('../assets/story-setting-02.jpg') center/cover; }
.service-meals { background:url('../assets/notice-baking.jpg') center/cover; }
.service-activities { background:url('../assets/activity-seasonal-art.jpg') center/cover; }
.service-card small { font-size:.64rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.service-card h3 { margin-top:9px; font-size:3.8rem; line-height:.9; }
.service-card p { max-width:290px; margin-top:18px; color:rgba(255,255,255,.83); font-size:.84rem; line-height:1.58; }
.service-card span { width:fit-content; margin-top:24px; padding:8px 12px; border:1px solid rgba(255,255,255,.28); border-radius:999px; font-size:.66rem; font-weight:700; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 30px 56px rgba(57,40,53,.22); }

.story-contact { padding:76px 24px 84px; text-align:center; background:linear-gradient(125deg,#dbc8dc,#f4e2dd 58%,#e1edf1); }
.contact-mark { width:48px; height:48px; margin:0 auto 20px; display:grid; place-items:center; border-radius:50%; background:var(--story-plum); color:#fff; box-shadow:0 13px 26px rgba(73,55,71,.17); }
.story-contact h2 { margin-top:20px; font-size:clamp(4rem,6.5vw,6.7rem); line-height:.88; }
.story-contact > p:not(.eyebrow) { max-width:620px; margin:28px auto 36px; color:#655861; font-size:1rem; line-height:1.7; }
.story-actions { max-width:690px; margin:0 auto; display:grid; grid-template-columns:1.2fr .8fr; gap:14px; }
.story-actions a { min-height:78px; padding:16px 23px; display:flex; align-items:center; justify-content:center; gap:12px; border:1px solid rgba(109,75,102,.15); border-radius:999px; background:#fffdf9; color:#56404f; font-size:.78rem; font-weight:700; text-decoration:none; box-shadow:0 12px 28px rgba(73,55,71,.1); }
.story-actions .story-primary { background:var(--story-plum); color:#fff; }
.story-actions a small { display:block; color:#8b7884; font-size:.6rem; }

@media (max-width:1050px) {
  .story-header { grid-template-columns:1fr auto; gap:6px 12px; padding-bottom:12px; }
  .story-header nav { display:flex; grid-column:1 / -1; width:100%; max-width:100%; justify-self:stretch; justify-content:flex-start; gap:2px; padding:5px; overflow-x:auto; scrollbar-width:none; }
  .story-header nav::-webkit-scrollbar { display:none; }
  .story-header nav a { flex:0 0 auto; padding:8px 10px; font-size:.68rem; }
  .story-hero { grid-template-columns:1fr; gap:40px; }
  .story-hero-copy { max-width:850px; }
  .portrait-family { width:min(100%,650px); justify-self:center; }
  .origin-section { grid-template-columns:200px 1fr; gap:45px; }
  .setting-story { grid-template-columns:1fr; }
  .setting-copy { max-width:780px; }
  .setting-gallery { width:min(100%,760px); justify-self:center; }
  .team-card { grid-template-columns:150px 1fr; }
  .team-portrait { width:150px; }
}

@media (max-width:760px) {
  .story-header { grid-template-columns:1fr auto; }
  .story-home-link { padding:10px 13px; font-size:.66rem; }
  .story-hero { min-height:0; padding:54px 24px 60px; }
  .story-hero h1 { font-size:clamp(4rem,18vw,6rem); }
  .story-hero-copy > p:not(.eyebrow) { font-size:.96rem; }
  .portrait-family { min-height:390px; }
  .portrait-talia { left:8%; top:11%; width:52%; }
  .portrait-marta { width:36%; }
  .portrait-michelle { width:39%; }
  .portrait-claire { width:36%; }
  .portrait figcaption { font-size:.54rem; }
  .portrait-note { left:40%; top:64%; padding:10px 12px; font-size:.86rem; }
  .origin-section { padding:58px 24px 62px; grid-template-columns:1fr; gap:28px; }
  .origin-year { width:160px; min-height:210px; justify-self:center; border-radius:90px 90px 22px 22px; }
  .origin-year strong { font-size:3.5rem; }
  .origin-copy h2 { font-size:clamp(3.2rem,14vw,4.8rem); }
  .origin-columns { grid-template-columns:1fr; gap:20px; }
  .setting-story,.team-section,.story-services { padding:52px 24px 58px; }
  .team-heading h2 { font-size:clamp(3.4rem,14vw,5rem); }
  .setting-copy h2 { font-size:clamp(3.4rem,14vw,5rem); }
  .setting-gallery { min-height:410px; }
  .setting-photo-main { width:76%; height:310px; }
  .setting-photo-second { top:32px; width:42%; height:185px; }
  .setting-photo-third { width:61%; height:170px; }
  .team-grid { grid-template-columns:1fr; }
  .team-card { padding:28px 23px; grid-template-columns:1fr; justify-items:center; text-align:center; border-radius:28px; }
  .team-laquaisha { grid-column:auto; grid-template-columns:1fr; }
  .team-portrait { width:170px; }
  .team-laquaisha .team-portrait { width:170px; }
  .service-cards { grid-template-columns:1fr; }
  .service-card { min-height:360px; }
  .story-contact { padding:60px 24px 68px; }
  .story-contact h2 { font-size:clamp(3.8rem,16vw,5.4rem); }
  .story-actions { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .service-card,.story-home-link { transition:none; }
}

/* V35 — composed portrait family, tighter alignment and refined actions */
.story-page { width:100%; max-width:100%; }
.portrait-family,.portrait-family * { clip-path:none!important; }
.portrait-family { min-height:545px; overflow:visible; isolation:isolate; }
.portrait { filter:drop-shadow(0 18px 27px rgba(74,53,70,.14))!important; opacity:1!important; transform:none; }
.portrait img { background:transparent; }
.portrait-talia { left:9%; top:7%; width:45%; }
.portrait-marta { right:4%; top:2%; width:31%; }
.portrait-claire { left:2%; bottom:7%; width:31%; }
.portrait-laquaisha { left:38.5%; bottom:7%; width:23%; }
.portrait-michelle { right:4%; bottom:7%; width:33%; }
.portrait-note { left:43%; top:55%; }

.setting-copy li { position:relative; display:block; padding:0 0 13px 28px; }
.setting-copy li::before { position:absolute; left:4px; top:8px; width:8px; height:8px; margin:0; }
.setting-copy li b,.setting-copy li span { display:block; }
.setting-copy li span { margin-top:4px; }
.setting-gallery { min-height:500px; }
.setting-photo-main { height:395px; border-width:9px; border-radius:205px 205px 24px 24px; }
.setting-photo-second { top:42px; height:235px; border-width:8px; border-radius:26px; }
.setting-photo-third { height:210px; border-width:8px; border-radius:26px; }

.story-actions { max-width:760px; grid-template-columns:1fr 1fr; gap:12px; }
.story-actions .story-action {
  min-height:84px; padding:10px 18px 10px 11px; display:grid;
  grid-template-columns:52px minmax(0,1fr) auto; gap:13px; justify-content:stretch;
  border-radius:24px; text-align:left; font-family:"DM Sans",Arial,sans-serif;
}
.story-action-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:17px; background:#ead8e8; color:#60465a; font-size:1.2rem; }
.story-primary .story-action-icon { background:rgba(255,255,255,.18); color:#fff; }
.story-action-copy { min-width:0; display:grid; gap:5px; }
.story-actions a .story-action-copy small { color:#8a7281; font:700 .61rem/1 "DM Sans",Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.story-actions .story-primary .story-action-copy small { color:rgba(255,255,255,.68); }
.story-action-copy strong { font-size:.87rem; line-height:1.12; }
.story-actions a > b { font:400 1.2rem/1 "DM Sans",Arial,sans-serif; }
.story-actions a:hover { transform:translateY(-3px); box-shadow:0 18px 34px rgba(73,55,71,.16); }

@media (max-width:1050px) {
  .portrait-family { min-height:560px; }
  .setting-gallery { min-height:520px; }
  .setting-photo-main { height:410px; }
  .setting-photo-second { height:240px; }
  .setting-photo-third { height:220px; }
}

@media (max-width:760px) {
  .story-header nav { display:none!important; }
  .story-header { width:100%; grid-template-columns:1fr auto; padding:9px 16px; }
  .story-header .brand-header { justify-self:start; }
  .story-home-link { justify-self:end; }
  .story-hero { width:100%; padding-left:20px; padding-right:20px; gap:28px; }
  .story-hero-copy { width:100%; min-width:0; }
  .story-hero h1 { max-width:100%; font-size:clamp(3.55rem,17vw,5.25rem); }
  .portrait-family { width:100%; min-height:410px; margin:0 auto; }
  .portrait-talia { left:7%; top:8%; width:48%; }
  .portrait-marta { right:3%; top:1%; width:31%; }
  .portrait-claire { left:2%; bottom:8%; width:31%; }
  .portrait-laquaisha { left:38%; bottom:8%; width:24%; }
  .portrait-michelle { right:2%; bottom:8%; width:33%; }
  .portrait-note { left:41%; top:54%; max-width:150px; padding:9px 11px; font-size:.78rem; }
  .portrait img { border-width:5px; }
  .portrait figcaption { bottom:-9px; padding:5px 9px; font-size:.5rem; }

  .setting-story,.team-section,.story-services { width:100%; padding-left:20px; padding-right:20px; }
  .setting-gallery { width:100%; min-height:480px; }
  .setting-photo-main { width:76%; height:365px; }
  .setting-photo-second { top:35px; width:43%; height:210px; }
  .setting-photo-third { width:61%; height:195px; }
  .setting-copy li { padding-left:30px; }
  .setting-copy li::before { left:7px; top:8px; }

  .story-contact { width:100%; padding-left:20px; padding-right:20px; }
  .story-actions { grid-template-columns:1fr; gap:10px; }
  .story-actions .story-action { min-height:76px; grid-template-columns:46px minmax(0,1fr) auto; border-radius:21px; }
  .story-action-icon { width:46px; height:46px; border-radius:15px; }
  .story-action-copy strong { font-size:.84rem; }
  .story-page .site-footer .brand-footer { justify-self:center; }
  .story-page .site-footer > p,.story-page .site-footer .footer-note { justify-self:center; text-align:center; }
}

@media (max-width:390px) {
  .portrait-family { min-height:370px; }
  .portrait-note { top:53%; font-size:.7rem; }
  .setting-gallery { min-height:435px; }
  .setting-photo-main { height:330px; }
  .setting-photo-second { height:185px; }
  .setting-photo-third { height:175px; }
}

/* V36 — restore V32 gallery scale and refine the return control */
.story-home-link {
  min-height:48px;
  padding:6px 15px 6px 7px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  border-color:rgba(104,72,97,.12);
  background:rgba(255,253,249,.82);
  color:#5b4655;
  font-size:.76rem;
  letter-spacing:.02em;
  box-shadow:0 10px 26px rgba(71,48,61,.09);
  backdrop-filter:blur(12px);
}
.story-home-icon {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8d8e7;
  color:#66485f;
  font-size:1rem;
  transition:transform .25s ease,background .25s ease;
}
.story-home-link:hover { background:#fffdf9; }
.story-home-link:hover .story-home-icon { background:#dfc9dd; transform:translateX(-2px); }

.setting-story { grid-template-columns:.88fr 1.12fr; align-items:center; gap:65px; }
.setting-gallery { min-height:555px; }
.setting-photo-main { width:66%; height:440px; border:9px solid #fff; border-radius:220px 220px 24px 24px; }
.setting-photo-second { top:48px; width:42%; height:260px; border:8px solid #fff; border-radius:26px; }
.setting-photo-third { right:3%; bottom:0; width:54%; height:230px; border:8px solid #fff; border-radius:26px; }

@media (max-width:1050px) {
  .setting-story { grid-template-columns:1fr; }
  .setting-gallery { min-height:555px; }
  .setting-photo-main { height:440px; }
  .setting-photo-second { top:48px; height:260px; }
  .setting-photo-third { height:230px; }
}

@media (max-width:760px) {
  .story-home-link { min-height:43px; padding:5px 12px 5px 6px; gap:7px; font-size:.7rem; }
  .story-home-icon { width:31px; height:31px; }
  .setting-gallery { min-height:520px; }
  .setting-photo-main { width:76%; height:390px; }
  .setting-photo-second { top:38px; width:42%; height:220px; }
  .setting-photo-third { width:61%; height:210px; }
  .story-page .site-footer { padding:24px 20px 118px!important; gap:8px!important; }
  .story-page .brand-footer { margin:-12px auto -18px!important; }
  .story-page .brand-footer img { width:184px!important; height:128px!important; }
  .story-page .site-footer > p { max-width:280px; font-size:1.22rem; line-height:1.12; }
}

@media (max-width:390px) {
  .setting-gallery { min-height:500px; }
  .setting-photo-main { height:375px; }
  .setting-photo-second { height:210px; }
  .setting-photo-third { height:200px; }
}
