/* Editorial case study. Shared site styles remain unchanged. */
.page-family-story{color:var(--ink);font-size:16px;line-height:2.1}
.story-shell{width:min(100%,1320px);margin-inline:auto;padding-inline:60px}
.story-section{padding-block:110px}
.page-family-story main p{margin:0 0 1.25em}
.page-family-story main p:last-child{margin-bottom:0}
.page-family-story main h1,.page-family-story main h2,.page-family-story main h3{font-family:var(--serif);font-weight:500;letter-spacing:.035em}
.page-family-story main h2{font-size:2.25rem;line-height:1.8;margin:0}
.page-family-story main h3{font-size:1.5rem;line-height:1.8;margin:0 0 .7em}
.page-family-story figure{margin:0}
.page-family-story figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.page-family-story figcaption{font-size:11px;line-height:1.8;color:var(--muted);padding-top:10px}
.page-family-story .story-kicker,.page-family-story .story-label{font-size:12px;line-height:1.9;letter-spacing:.06em;font-weight:600;margin-bottom:22px}
.page-family-story .story-label{color:var(--muted)}
.story-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:36px 48px;padding-top:66px;padding-bottom:42px;align-items:center}
.story-hero h1{font-size:clamp(1.7rem,2.52vw,2.15rem);line-height:1.85;margin:0 0 25px;letter-spacing:.025em!important}
.story-hero h1 span{display:block}
.story-hero-intro{max-width:460px;margin-bottom:28px;font-size:15px}
.story-hero-photo img{border-top-left-radius:82px}
.page-family-story main .story-source{grid-column:1/-1;font-size:11px;line-height:1.9;color:var(--muted);margin:0}
.story-split{display:grid;grid-template-columns:.88fr 1.12fr;gap:88px}
.story-prose{max-width:650px}
.story-opening{border-top:1px solid var(--line);padding-top:88px}
.story-start{background:#f8f8f5}
.story-start-heading{margin-bottom:55px}
.story-start-heading h2{font-size:2.5rem!important}
.story-start-heading h2 span{display:block;margin-top:8px}
.story-start-scene{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:start}
.story-start-scene figure{margin-top:7px}
.story-start-insight{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;border-top:1px solid var(--line);padding-top:40px;margin-top:55px;align-items:center}
.story-start-insight>p:first-child{font-size:15px;margin:0}
.page-family-story .story-insight{font-family:var(--serif);font-size:1.8rem;line-height:1.9;margin:0}
.story-conversation h2{font-size:1.9rem!important}
.story-questions{margin:55px 0 52px 19%;max-width:850px;border-top:1px solid var(--line)}
.story-questions blockquote{margin:0;border-bottom:1px solid var(--line);padding:25px 0}
.story-questions p{font-family:var(--serif);font-size:1.4rem;line-height:1.9}
.story-offset{margin-left:auto;max-width:622px}
.page-family-story .story-closing-line{margin-top:30px}
.story-time{background:var(--soft)}
.story-time-past{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}
.story-time-past h2{font-size:2.7rem!important}
.story-timeline{list-style:none;padding:0 0 0 28px;margin:7px 0 0;border-left:1px solid #bcc8bd}
.story-timeline li{position:relative;display:grid;grid-template-columns:65px 1fr;gap:20px;padding-bottom:40px}
.story-timeline li:last-child{padding-bottom:0}
.story-timeline li:before{content:"";position:absolute;left:-32px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.page-family-story .story-year{font-size:13px;color:var(--accent);font-weight:600;padding-top:3px;letter-spacing:.04em}
.story-timeline h3{font-size:1.35rem!important;margin-bottom:8px!important}
.story-timeline div p{font-size:15px}
.story-now{margin-top:95px;padding-top:65px;border-top:1px solid #bcc8bd}
.story-now>h3{font-size:3rem!important;margin-bottom:40px!important}
.story-now-columns{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.story-now-change{padding-left:42px;border-left:1px solid #c5cfc5;font-family:var(--serif)}
.page-family-story .story-now-change p:first-child{font-size:1.25rem;line-height:2;margin-bottom:35px;color:#53655b}
.page-family-story .story-now-change p:last-child{font-size:1.7rem;line-height:1.9}
.page-family-story .story-now-summary{font-family:var(--serif);font-size:1.85rem;line-height:1.9;margin:55px 0 0}
.story-business-message{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:48px;text-align:center;font-family:var(--serif);font-size:1.4rem;line-height:2;margin-top:65px!important}
.story-business-message strong{display:inline-block;font-weight:500;font-size:1.9rem;margin-top:14px}
.story-mobile-br{display:none}
.story-operation{background:#f8f8f5}
.story-operation-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:48px}
.story-operation-intro h2{font-size:2rem!important}
.story-phases{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.story-phases>div{border-top:1px solid #b8c5ba;padding-top:25px}
.page-family-story .story-phase-label{font-size:12px;color:var(--accent);letter-spacing:.1em;font-weight:600;margin-bottom:10px}
.story-phases h3{font-size:1.55rem!important}
.story-phases p,.story-company p{font-size:15px}
.story-company{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;border-top:1px solid #b8c5ba;margin-top:58px;padding-top:42px}
.story-company h3{font-size:1.6rem!important}
.story-usage>.story-shell{padding-bottom:85px}
.story-usage-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:40px}
.story-small-heading{font-size:14px!important;font-family:var(--sans)!important;font-weight:600!important}
.story-rate{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:12px 0 10px!important}
.story-rate>strong{font-family:var(--serif);font-size:3.3rem;line-height:1.5;font-weight:500;letter-spacing:.01em}
.story-rate>span{font-size:13px}
.story-travel{font-size:14px}
.story-conditions{margin:0;border-top:1px solid var(--line);font-size:14px}
.story-conditions>div{display:grid;grid-template-columns:116px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}
.story-conditions dt{font-weight:600}
.story-conditions dd{margin:0}
.story-privacy{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-top:1px solid var(--line);margin-top:60px;padding-top:40px}
.story-privacy h3{font-size:1.5rem!important}
.story-privacy p{font-size:14px}
.story-contact{background:#e6ece1;padding-block:75px}
.story-contact>.story-shell{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center}
.story-contact h3{font-size:1.9rem!important}
.story-contact p{font-size:15px}
.story-contact .button{white-space:nowrap}
.page-family-story main section{scroll-margin-top:105px}
@media(max-width:1150px){
.story-shell{padding-inline:40px}.story-split,.story-start-scene,.story-now-columns,.story-operation-intro,.story-company,.story-usage-grid,.story-privacy{gap:45px}
.story-hero{gap:30px}.story-hero h1{font-size:clamp(1.5rem,2.55vw,2rem)}.story-time-past{gap:45px}
.story-conversation h2{font-size:1.7rem!important}.story-now-change{padding-left:30px}.story-now-change p:last-child{font-size:1.5rem!important}
.story-contact>.story-shell{gap:35px}
}
@media(max-width:900px){
.story-section{padding-block:80px}.story-hero{grid-template-columns:1fr;gap:30px;padding-top:45px}
.story-hero h1{font-size:2.3rem}.story-hero-intro{max-width:600px}.story-hero-photo{max-width:700px;width:100%}
.story-hero-photo img{border-top-left-radius:65px}.story-split,.story-start-scene,.story-time-past,.story-now-columns,.story-operation-intro,.story-company,.story-usage-grid,.story-privacy,.story-contact>.story-shell{grid-template-columns:1fr;gap:32px}
.story-prose,.story-offset{max-width:none}.story-start-heading{margin-bottom:35px}.story-start-scene figure{max-width:720px}
.story-start-insight{grid-template-columns:1fr;gap:20px;margin-top:35px;padding-top:28px}
.story-conversation h2{font-size:2rem!important}.story-questions{margin-left:8%}.story-time-past h2 br{display:none}
.story-now{margin-top:65px;padding-top:45px}.story-now-change{padding:25px 0 0;border-left:0;border-top:1px solid #c5cfc5}
.story-now-change p:first-child{font-size:1.25rem!important}.story-now-change p:last-child{font-size:1.65rem!important}
.story-desktop-br{display:none}.story-phases{gap:35px}.story-company{gap:18px}
.story-usage-grid{gap:35px}.story-privacy{gap:20px}.story-contact{padding-block:60px}
}
@media(max-width:650px){
.page-family-story{font-size:15px;line-height:2.05}.story-shell{padding-inline:24px}.story-section{padding-block:62px}
.page-family-story main h2{font-size:1.7rem;line-height:1.85;letter-spacing:.025em}
.page-family-story main h3{font-size:1.35rem}
.page-family-story .story-kicker,.page-family-story .story-label{font-size:11px;letter-spacing:.025em;margin-bottom:17px}
.story-hero{padding-top:32px;padding-bottom:32px;gap:25px}
.story-hero h1{font-size:clamp(1.34rem,5.15vw,1.95rem);line-height:1.85;margin-bottom:22px;letter-spacing:.015em!important}
.story-hero-intro{font-size:14px;margin-bottom:25px}.story-hero-photo img{border-top-left-radius:48px}
.page-family-story .button{min-height:54px;width:100%;padding:15px 18px;text-align:center}
.page-family-story figcaption,.page-family-story main .story-source{font-size:10px;line-height:1.9}
.story-opening{padding-top:52px}.story-split{gap:25px}
.story-start-heading h2{font-size:1.85rem!important}.story-start-heading{margin-bottom:30px}
.story-start-scene{gap:28px}.story-start-insight>p:first-child{font-size:14px}.page-family-story .story-insight{font-size:1.45rem;line-height:1.95}
.story-start-insight .story-insight br{display:none}.story-conversation h2{font-size:1.6rem!important}
.story-questions{margin:32px 0}.story-questions blockquote{padding:22px 0}
.story-questions p{font-size:1.18rem;text-wrap:pretty}.story-questions br{display:none}
.story-time-past h2{font-size:2.2rem!important}.story-timeline{margin-top:0;padding-left:22px}
.story-timeline li{grid-template-columns:1fr;gap:5px;padding-bottom:30px}
.story-timeline li:before{left:-26px;top:11px}.story-year{margin:0!important}
.story-timeline h3{font-size:1.25rem!important;line-height:1.75!important}.story-timeline div p{font-size:14px}
.story-now{margin-top:42px;padding-top:40px}.story-now>h3{font-size:2.3rem!important;margin-bottom:25px!important}
.story-now-columns{gap:26px}.story-now-change p:first-child{font-size:1.15rem!important;margin-bottom:22px!important}
.story-now-change p:last-child{font-size:1.4rem!important}
.page-family-story .story-now-summary{font-size:1.45rem;margin-top:35px}.story-now-summary br{display:none}
.story-business-message{font-size:1.08rem;padding-block:30px;text-align:left;margin-top:35px!important}
.story-business-message>br{display:none}.story-business-message strong{font-size:1.45rem;line-height:1.85;margin-top:18px}
.story-mobile-br{display:block}.story-operation-intro{gap:24px;margin-bottom:35px}
.story-operation-intro h2{font-size:1.7rem!important}.story-phases{grid-template-columns:1fr;gap:30px}
.story-phases>div{padding-top:21px}.story-phases h3{font-size:1.35rem!important}
.story-company{margin-top:34px;padding-top:26px;gap:14px}.story-company h3{font-size:1.4rem!important}
.story-usage-grid{margin-top:30px}.story-rate>strong{font-size:3rem}.story-conditions>div{grid-template-columns:1fr;gap:4px;padding:15px 0}
.story-privacy{margin-top:40px;padding-top:27px;gap:16px}.story-privacy h3{font-size:1.4rem!important}
.story-usage>.story-shell{padding-bottom:55px}.story-contact{padding-block:50px}
.story-contact>.story-shell{gap:26px}.story-contact h3{font-size:1.6rem!important}
.page-family-story main section{scroll-margin-top:88px}
}
@media(max-width:370px){.story-shell{padding-inline:20px}.story-hero h1{font-size:1.3rem}.story-hero h1 span{display:inline}.story-hero h1 span:last-child{display:block}.story-insight{font-size:1.35rem!important}}

/* Keep short closing lines and small-screen headings readable. */
.page-family-story main p{ text-wrap:pretty }
.page-family-story main h2,.page-family-story main h3,.story-insight,.story-now-change p,.story-business-message strong{ text-wrap:balance }
.story-hero-intro{max-width:490px}
.story-conditions>div{grid-template-columns:140px 1fr}
.story-operation-intro h2 span{display:inline-block}
.story-now-change .story-desktop-br{display:none}
@media(min-width:651px) and (max-width:900px){.story-business-message strong{font-size:1.65rem}}
@media(max-width:650px){.story-conditions>div{grid-template-columns:1fr}}
@media(max-width:370px){
.story-hero h1{font-size:1.15rem}
.story-hero h1 span{display:block}
.story-start-heading h2{font-size:1.4rem!important}
.story-conversation h2{font-size:1.25rem!important}
.story-time-past h2{font-size:1.9rem!important}
.story-time-past h2 br{display:block}
.story-operation-intro h2{font-size:1.5rem!important}
.story-usage h2{font-size:1.4rem!important}
}

.page-family-story main .story-hero-intro p,.page-family-story main .story-insight,.page-family-story main .story-now-change p,.page-family-story main .story-now-summary{text-wrap:balance}

/* Preserve the two message sentences as separate lines on small screens. */
@media(max-width:650px){.page-family-story main .story-business-message{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}.story-business-message strong{display:block}}