.cases-page { --cs-pad:clamp(28px,3.15vw,48px); }
.cases-page h1,.cases-page h2,.cases-page h3 { font-weight:500; letter-spacing:-.045em; }
.cases-page p { line-height:1.46; }
.cs-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:5px; }
.cs-hero-copy { grid-row:span 2; padding:var(--cs-pad); border-radius:24px; background:#173f63; color:white; display:flex; flex-direction:column; align-items:flex-start; }
.cs-hero-copy .section-label { color:#d4e3f1; }
.cs-hero-copy .section-label>span { color:#a9c9e4; }
.cs-hero-copy h1 { font-size:clamp(37px,4.2vw,67px); line-height:1.23; margin:46px 0 28px; }
.cs-hero-copy h1 span { color:#b9d1e7; }
.cs-hero-copy>p:not(.section-label) { font-size:18px; max-width:460px; color:#d3e0ed; }
.cs-hero-copy>.pill { margin-top:38px; }
.cs-hero-photo { min-height:340px; border-radius:24px; position:relative; isolation:isolate; overflow:hidden; color:white; background:#406f91; }
.cs-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 52%; z-index:-2; }
.cs-hero-photo:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#173f6355,transparent 60%,#173f6355); }
.cs-hero-photo>span { display:block; padding:30px; font-size:clamp(40px,4.55vw,72px); line-height:1.02; letter-spacing:-.06em; }
.cs-hero-photo>p { position:absolute; bottom:26px; left:30px; font-size:14px; }
.cs-hero-note { padding:26px 32px; background:#dfebf5; border-radius:24px; }
.cs-hero-note>span { font-size:14px; color:var(--slate); }
.cs-hero-note>div { display:flex; gap:20px; align-items:flex-end; justify-content:space-between; margin-top:20px; }
.cs-hero-note h2 { font-size:29px; line-height:1.25; }
.cs-hero-note svg { flex-shrink:0; }
.cases-page .cs-directory-section { padding-bottom:0; }
.cs-directory-heading { display:grid; align-items:start; grid-template-columns:1fr 3fr; margin-bottom:38px; }
.cs-directory-heading>div { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.cs-directory-heading h2,.cs-reading-intro h2,.cs-related-heading h2 { font-size:clamp(30px,3.05vw,47px); line-height:1.26; }
.cs-directory-heading h2 span,.cs-reading-intro h2 span,.cs-related-heading h2 span { color:#7892a8; }
.cs-directory-heading>div>p { font-size:16px; color:var(--slate); padding-bottom:4px; }
.cs-directory[data-slot=tabs] { gap:20px; }
.cs-category-tabs[data-slot=tabs-list] { height:auto; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:5px; padding:0; background:transparent; border-radius:0; }
.cs-category-tabs [data-slot=tabs-trigger] { flex:none; height:auto; min-height:48px; border-radius:30px; padding:14px 23px; font-size:15px; line-height:1.3; color:var(--ink); background:#e2ebf3; box-shadow:none; }
.cs-category-tabs [data-slot=tabs-trigger][data-state=active] { background:var(--primary); color:white; box-shadow:none; }
.cs-category-tabs [data-slot=tabs-trigger]:hover { background:#cddfed; }
.cs-category-tabs [data-slot=tabs-trigger][data-state=active]:hover { background:#173f63; }
.cs-category-panel { margin:0; }
.cs-empty { display:grid; grid-template-columns:1fr 2fr; gap:40px; padding:clamp(30px,4.1vw,62px); background:white; border-radius:24px; align-items:center; min-height:325px; }
.cs-empty-symbol { display:flex; flex-direction:column; gap:34px; color:#6d8aa3; padding-left:20px; }
.cs-empty-symbol>span { font-size:clamp(24px,2.4vw,37px); letter-spacing:-.055em; }
.cs-empty-status { color:var(--primary); font-size:14px; margin-bottom:20px; }
.cs-empty-copy h3 { font-size:clamp(25px,2.3vw,35px); line-height:1.3; max-width:630px; }
.cs-empty-copy>p:not(.cs-empty-status) { max-width:560px; margin-top:24px; font-size:17px; color:var(--slate); }
.cs-empty-copy>.pill { margin-top:30px; }
.cases-page .cs-reading { display:grid; grid-template-columns:1fr 2fr; gap:clamp(36px,5vw,80px); padding-bottom:0; }
.cs-reading-intro h2 { margin:35px 0 27px; }
.cs-reading-intro>p:not(.section-label) { font-size:17px; color:var(--slate); max-width:320px; }
.cs-reading-intro>a { display:inline-flex; align-items:center; gap:12px; margin-top:32px; font-size:15px; }
.cs-reading-grid { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.cs-reading-grid article { background:#e1ebf4; padding:30px; border-radius:24px; min-width:0; }
.cs-reading-grid article:nth-child(2),.cs-reading-grid article:nth-child(3) { background:white; }
.cs-reading-grid article>span { display:block; font-size:14px; color:var(--slate); margin-top:35px; }
.cs-reading-grid h3 { font-size:25px; line-height:1.3; margin-top:12px; }
.cs-reading-grid article>p { font-size:16px; color:var(--slate); margin-top:24px; max-width:330px; }
.cs-record-note { grid-column:1/-1; font-size:14px; color:var(--slate); margin-top:16px; }
.cases-page .cs-related { padding-bottom:0; }
.cs-related-heading { display:grid; align-items:start; grid-template-columns:1fr 3fr; margin-bottom:38px; }
.cs-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.cs-care-card { background:white; border-radius:24px; padding:30px; display:flex; flex-direction:column; gap:32px; }
.cs-care-card:nth-child(2) { background:#173f63; color:white; }
.cs-care-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; font-size:14px; color:var(--slate); }
.cs-care-top img { width:92px; height:100px; object-fit:cover; border-radius:12px; }
.cs-care-card:first-child .cs-care-top img { object-position:center 20%; }
.cs-care-card h3 { font-size:28px; line-height:1.3; }
.cs-care-card p { font-size:16px; color:var(--slate); margin-top:24px; max-width:270px; }
.cs-care-card:nth-child(2) .cs-care-top,.cs-care-card:nth-child(2) p { color:#cadbec; }
.cs-care-link { display:flex; justify-content:space-between; gap:20px; font-size:15px; align-items:center; margin-top:auto; }
.cs-care-card:hover .cs-care-link { text-decoration:underline; text-underline-offset:5px; }
.cases-page .cs-faq { padding-bottom:0; }
.cases-page a:focus-visible,.cs-category-tabs [data-slot=tabs-trigger]:focus-visible { outline:3px solid #418bcf; outline-offset:5px; }
@media(min-width:1500px) { .cs-hero-photo { min-height:390px; } }
@media(max-width:1000px) {
 .cs-hero-copy h1 { font-size:43px; }
 .cs-desktop-break { display:none; }
 .cs-directory-heading,.cs-related-heading { grid-template-columns:1fr 2fr; }
 .cs-directory-heading>div { display:block; }
 .cs-directory-heading>div>p { margin-top:24px; }
 .cases-page .cs-reading { grid-template-columns:1fr; }
 .cs-reading-intro>p:not(.section-label) { max-width:500px; }
 .cs-care-card { padding:25px; }
 .cs-care-top { flex-direction:column; gap:25px; }
 .cs-care-card h3 { font-size:24px; }
}
@media(max-width:700px) {
 .cs-hero { grid-template-columns:1fr; }
 .cs-hero-copy { grid-row:auto; padding:30px 26px 34px; }
 .cs-hero-copy h1 { font-size:clamp(33px,9.7vw,49px); margin:32px 0 27px; }
 .cs-hero-copy>p:not(.section-label) { font-size:16px; }
 .cs-hero-copy>.pill { margin-top:29px; }
 .cs-hero-photo { min-height:285px; }
 .cs-hero-photo>span { font-size:46px; padding:26px; }
 .cs-hero-photo>p { left:26px; bottom:24px; }
 .cs-hero-note { padding:26px; }
 .cs-hero-note h2 { font-size:26px; }
 .cs-directory-heading,.cs-related-heading { display:block; margin-bottom:30px; }
 .cs-directory-heading h2,.cs-related-heading h2 { margin-top:28px; font-size:32px; }
 .cs-category-tabs[data-slot=tabs-list] { display:grid; grid-template-columns:auto auto; width:100%; }
 .cs-category-tabs [data-slot=tabs-trigger] { font-size:14px; padding:13px 12px; white-space:normal; }
 .cs-empty { grid-template-columns:1fr; padding:28px 24px; gap:30px; }
 .cs-empty-symbol { padding:0; flex-direction:row; gap:15px; align-items:center; }
 .cs-empty-symbol>span { font-size:24px; }
 .cs-empty-symbol>svg { width:28px; height:28px; }
 .cs-empty-status { margin-bottom:18px; }
 .cs-empty-copy h3 { font-size:27px; }
 .cs-empty-copy>p:not(.cs-empty-status) { font-size:16px; }
 .cs-empty-copy>.pill { font-size:13px; padding-inline:18px; gap:12px; max-width:100%; }
 .cs-reading-intro h2 { font-size:33px; }
 .cs-reading-intro>p:not(.section-label) { font-size:16px; }
 .cs-reading-grid,.cs-related-grid { grid-template-columns:1fr; }
 .cs-reading-grid article { padding:28px; }
 .cs-reading-grid article>span { margin-top:30px; }
 .cs-care-card { padding:28px; gap:28px; }
 .cs-care-top { flex-direction:row; }
 .cs-care-card h3 { font-size:28px; }
 .cs-care-top img { width:100px; height:108px; }
}
