/* Family-focused homepage. All component styles are isolated from content pages. */
:root { --hc-blue:#0875ca; --hc-navy:#092340; --hc-muted:#52657d; --hc-green:var(--green); }
.header { min-height:88px; gap:24px; padding:0 4.8%; }
.header .brand-logo { width:210px; max-width:100%; height:auto; }
.header #nav { margin-left:auto; }
.header #nav a { font-size:15px; padding:12px 16px; color:var(--hc-navy); font-weight:600; }
.header .lang { margin-left:0; }
.header .lang-toggle { min-height:44px; padding:10px 16px; font-size:14px; }
.header .hc-header-cta { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 18px; border-radius:8px; color:white; background:var(--hc-blue); font-size:15px; font-weight:600; white-space:nowrap; }
.care-home { color:var(--hc-navy); font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif; }
.hc-wrap { width:min(1280px, calc(100% - 96px)); margin-inline:auto; position:relative; }
.care-home h1,.care-home h2,.care-home h3,.care-home p { margin:0; }
.care-home h2 { color:var(--hc-navy); font-size:36px; font-weight:700; line-height:1.3; letter-spacing:-.025em; text-wrap:balance; }
.care-home h3 { color:var(--hc-navy); font-size:22px; line-height:1.35; font-weight:700; }
.care-home p { color:var(--hc-muted); font-size:18px; line-height:1.65; }
.hc-icon { width:48px; height:48px; object-fit:contain; flex-shrink:0; filter:invert(32%) sepia(96%) saturate(1880%) hue-rotate(184deg) brightness(91%) contrast(97%); }
.hc-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hc-hero { position:relative; background:#f2f9fd; overflow:hidden; }
.hc-hero .hc-cover { object-position:center; }
.hc-hero-inner { min-height:610px; display:flex; align-items:center; padding-block:70px; }
.hc-hero-copy { width:53%; }
.care-home h1 { font-size:clamp(38px,4.05vw,60px); font-weight:700; line-height:1.18; letter-spacing:-.035em; }
.care-home h1 span { color:var(--hc-blue); }
.hc-hero-copy > p { max-width:500px; margin-top:25px; font-size:20px; line-height:1.55; }
.hc-actions { display:flex; gap:18px; flex-wrap:wrap; margin-top:36px; }
.hc-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:56px; padding:14px 27px; border:1px solid var(--hc-blue); border-radius:8px; background:var(--hc-blue); color:#fff; font-size:17px; font-weight:600; line-height:1.35; text-align:center; transition:background .18s,transform .18s; text-decoration:none; }
.hc-button .hc-icon { width:21px; height:21px; filter:brightness(0) invert(1); }
.hc-button:hover { background:#005ea8; color:#fff; transform:translateY(-2px); }
.hc-button-outline { color:var(--hc-blue); background:#fff; }
.hc-button-outline:hover { background:#eef8ff; color:#075d9e; }
.hc-section { padding-block:72px; }
.hc-section h2 { text-align:center; margin-bottom:52px; }
.hc-scenario-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.hc-scenario { text-align:center; padding:0 30px; position:relative; }
.hc-scenario + .hc-scenario::before { content:''; position:absolute; left:0; top:80px; bottom:0; width:1px; background:#e1eaf2; }
.hc-portrait { width:204px; height:204px; margin:0 auto 24px; position:relative; }
.hc-portrait > img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.hc-icon-bubble { position:absolute; left:-22px; top:25px; width:74px; height:74px; border-radius:50%; background:#e5f3ff; display:flex; align-items:center; justify-content:center; }
.hc-icon-bubble .hc-icon { width:39px; height:39px; }
.hc-scenario:nth-child(2) .hc-icon-bubble { background:#e8f8f0; }
.hc-scenario:nth-child(2) .hc-icon { filter:invert(61%) sepia(35%) saturate(648%) hue-rotate(102deg) brightness(94%) contrast(87%); }
.hc-scenario p { margin-top:14px; }
.hc-services { background:#f2f9fd; }
.hc-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.hc-service { display:flex; flex-direction:column; align-items:center; text-align:center; padding:4px 26px; text-decoration:none; }
.hc-service + .hc-service { border-left:1px solid #cfe2f1; }
.hc-service > .hc-icon { width:66px; height:66px; margin-bottom:22px; transition:transform .2s; }
.hc-service:nth-child(even) > .hc-icon { filter:invert(61%) sepia(35%) saturate(648%) hue-rotate(102deg) brightness(94%) contrast(87%); }
.hc-service h3 { min-height:2.7em; display:flex; align-items:center; justify-content:center; }
.hc-service p { margin-top:12px; }
.hc-service:hover h3 { color:var(--hc-blue); }
.hc-service:hover > .hc-icon { transform:translateY(-4px); }
.hc-resources { position:relative; min-height:420px; display:flex; align-items:center; background:#f2f9fd; overflow:hidden; }
.hc-resources .hc-cover { object-position:center; }
.hc-resources > .hc-wrap { padding-block:56px; }
.hc-resource-copy { width:58%; }
.hc-resource-copy > h2 { max-width:700px; margin-bottom:42px; }
.hc-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.hc-resource-grid > a { text-align:center; text-decoration:none; padding:0 16px; }
.hc-resource-grid > a:first-child { padding-left:0; }
.hc-resource-grid > a + a { border-left:1px solid #cfdfeb; }
.hc-resource-grid .hc-icon { width:52px; height:52px; margin:0 auto 16px; }
.hc-resource-grid h3 { font-size:19px; min-height:2.7em; display:flex; align-items:center; justify-content:center; }
.hc-resource-grid p { font-size:15px; margin-top:6px; }
.hc-resource-grid > a:hover h3 { color:var(--hc-blue); }
.hc-process { padding-block:66px; }
.hc-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.hc-steps li { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding-inline:20px; }
.hc-step-number { width:50px; height:50px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--hc-blue); color:#fff; font-size:23px; margin-bottom:20px; }
.hc-steps h3 { font-size:20px; }
.hc-step-arrow { position:absolute; width:28px; height:28px; top:11px; right:-14px; opacity:.6; }
.hc-closing { position:relative; min-height:345px; display:flex; align-items:center; overflow:hidden; background:#eef7fc; }
.hc-closing .hc-cover { object-position:center; }
.hc-closing .hc-wrap { padding-block:54px; }
.hc-closing h2 { max-width:510px; margin-bottom:28px; font-size:38px; }
.hc-footer { padding:30px 4.8% 22px; background:#fff; border-top:1px solid #e8edf2; color:var(--hc-muted); }
.hc-footer-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hc-footer-logo { width:180px; height:auto; }
.hc-footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:22px; font-size:14px; }
.hc-footer a:hover { color:var(--hc-blue); }
.hc-footer-bottom { margin-top:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; line-height:1.6; }
.care-home a:focus-visible,.hc-footer a:focus-visible,.header a:focus-visible { outline:3px solid #0086d1; outline-offset:5px; }
.care-home section[id] { scroll-margin-top:100px; }
html[lang^='zh'] .hc-hero-copy { width:56%; }
html[lang^='zh'] .care-home h1 { font-size:clamp(36px,4vw,58px); line-height:1.4; }
html[lang^='zh'] .hc-service h3,html[lang^='zh'] .hc-resource-grid h3 { min-height:0; }
html[lang^='zh'] .hc-closing h2 { max-width:380px; }
@media(min-width:1500px) { .hc-hero-inner { min-height:660px; } }
@media(max-width:1150px) {
 .header { gap:14px; padding-inline:28px; }
 .header .brand-logo { width:175px; }
 .header #nav a { padding-inline:10px; font-size:14px; }
 .header .lang { margin-left:0; }
 .header .hc-header-cta { padding-inline:8px; }
 .hc-wrap { width:calc(100% - 64px); }
 .hc-hero-inner { min-height:540px; }
 .hc-hero-copy > p { font-size:18px; max-width:410px; }
 .care-home h2 { font-size:30px; }
 .care-home h3 { font-size:20px; }
 .hc-service { padding-inline:16px; }
 .hc-resource-copy { width:62%; }
 .hc-resource-grid > a { padding-inline:10px; }
 .hc-resource-grid h3 { font-size:17px; }
}
@media(max-width:1040px) {
 .header { min-height:76px; }
 .header #nav { position:absolute; top:76px; inset-inline:0; margin:0; width:100%; background:#fff; padding:20px 28px; border-bottom:1px solid #e1eaf2; box-shadow:0 8px 18px #0923400a; display:none; max-height:calc(100dvh - 90px); overflow:auto; }
 .header #nav.open { display:block; }
 .header #nav .nav-menu { flex-direction:column; align-items:stretch; }
 .header #nav a { display:flex; font-size:17px; padding:12px; }
 .header .lang { margin-left:auto; }
 .hc-header-cta { order:2; }
 .header .menu { order:3; margin-left:0; }
 .hc-section { padding-block:58px; }
 .hc-section h2 { margin-bottom:40px; }
 .hc-portrait { width:165px; height:165px; }
 .hc-scenario { padding-inline:18px; }
 .hc-scenario p,.hc-service p { font-size:16px; }
 .hc-resource-copy { width:65%; }
 .hc-resource-grid h3 { font-size:16px; }
 .hc-resource-grid p { font-size:14px; }
 .hc-steps h3 { font-size:17px; }
}
@media(max-width:700px) {
 .header { padding:0 20px; gap:12px; min-height:72px; }
 .header .brand-logo { width:145px; }
 .header .hc-header-cta { display:none; }
 .header .lang-toggle { font-size:12px; padding:8px 10px; min-height:38px; }
 .header #nav { top:72px; }
 .header .menu { width:28px; min-width:28px; }
 .hc-wrap { width:calc(100% - 40px); }
 .hc-hero { padding-bottom:0; display:flex; flex-direction:column-reverse; }
 .hc-hero .hc-cover { position:relative; height:290px; width:100%; object-fit:cover; object-position:80% center; }
 .hc-hero-inner { min-height:0; padding:20px 0 30px; }
 .hc-hero-copy,html[lang^='zh'] .hc-hero-copy { width:100%; }
 .care-home h1 { font-size:38px; line-height:1.15; letter-spacing:-.035em; }
 html[lang^='zh'] .care-home h1 { font-size:33px; line-height:1.4; }
 .hc-hero-copy > p { margin-top:18px; font-size:17px; max-width:100%; }
 .hc-actions { gap:12px; margin-top:25px; }
 .hc-button { min-height:50px; padding:13px 18px; gap:12px; font-size:15px; }
 .hc-section { padding-block:44px; }
 .care-home h2 { font-size:27px; line-height:1.35; }
 .hc-section h2 { margin-bottom:30px; }
 .hc-scenario-grid { gap:28px; grid-template-columns:1fr; }
 .hc-scenario { display:grid; grid-template-columns:100px 1fr; column-gap:22px; align-items:center; text-align:left; padding:0; }
 .hc-portrait { width:96px; height:96px; grid-row:span 2; margin:0; }
 .hc-icon-bubble { width:38px; height:38px; left:-7px; top:3px; }
 .hc-icon-bubble .hc-icon { width:24px; height:24px; }
 .hc-scenario h3 { align-self:end; font-size:19px; }
 .hc-scenario p { margin-top:6px; align-self:start; }
 .hc-scenario + .hc-scenario::before { display:none; }
 .hc-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 0; }
 .hc-service { padding-inline:15px; }
 .hc-service + .hc-service { border:0; }
 .hc-service:nth-child(even) { border-left:1px solid #cfe2f1; }
 .hc-service > .hc-icon { width:52px; height:52px; margin-bottom:14px; }
 .hc-service h3 { font-size:18px; }
 .hc-service p { font-size:15px; margin-top:10px; }
 .hc-resources { display:flex; flex-direction:column-reverse; min-height:0; }
 .hc-resources .hc-cover { position:relative; height:240px; object-position:80% center; }
 .hc-resources > .hc-wrap { padding-block:40px 30px; }
 .hc-resource-copy { width:100%; }
 .hc-resource-copy > h2 { margin-bottom:28px; }
 .hc-resource-grid h3 { font-size:15px; }
 .hc-resource-grid p { font-size:13px; line-height:1.5; }
 .hc-resource-grid .hc-icon { width:38px; height:38px; margin-bottom:12px; }
 .hc-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 0; }
 .hc-steps li { padding-inline:10px; }
 .hc-steps li:nth-child(2) .hc-step-arrow { display:none; }
 .hc-step-number { width:44px; height:44px; font-size:20px; margin-bottom:12px; }
 .hc-steps h3 { font-size:16px; }
 .hc-step-arrow { width:24px; height:24px; top:10px; right:-12px; }
 .hc-closing { min-height:330px; align-items:flex-start; }
 .hc-closing .hc-cover { object-position:58% center; }
 .hc-closing .hc-wrap { padding-block:32px; }
 .hc-closing h2 { font-size:28px; max-width:260px; margin-bottom:22px; }
 html[lang^='zh'] .hc-closing h2 { max-width:240px; }
 .hc-footer { padding:25px 20px; }
 .hc-footer-top { flex-direction:column; align-items:flex-start; gap:20px; }
 .hc-footer-logo { width:150px; }
 .hc-footer-links { gap:15px; font-size:13px; }
 .hc-footer-bottom { margin-top:20px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .care-home * { transition:none!important; scroll-behavior:auto!important; } }
/* Library icons keep the compact mobile navigation legible. */
.header .menu::before,.header .menu::after { display:none; }
.header .menu .hc-icon { width:24px; height:24px; }
.header .menu .hc-menu-close { display:none; }
.header .menu[aria-expanded='true'] .hc-menu-open { display:none; }
.header .menu[aria-expanded='true'] .hc-menu-close { display:block; }
@media(max-width:700px) { .header { flex-wrap:nowrap; } .header .menu { width:36px; min-width:36px; } }
@media(max-width:360px) { .header { padding-inline:14px; gap:8px; } .header .brand-logo { width:130px; } .header .lang-toggle { padding-inline:7px; } }
.care-home .hc-phrase { display:inline-block; max-width:100%; }
@media(min-width:701px) and (max-width:900px) {
 .hc-hero { display:flex; flex-direction:column-reverse; }
 .hc-hero .hc-cover { position:relative; height:340px; object-position:right center; }
 .hc-hero-inner { min-height:0; padding-block:45px 35px; }
 .hc-hero-copy,html[lang^='zh'] .hc-hero-copy { width:100%; }
 .hc-hero-copy > p { max-width:600px; }
 .hc-actions { margin-top:24px; }
 .hc-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 0; }
 .hc-service + .hc-service { border:0; }
 .hc-service:nth-child(even) { border-left:1px solid #cfe2f1; }
 .hc-service h3 { min-height:0; }
 .hc-resources { display:flex; flex-direction:column-reverse; }
 .hc-resources .hc-cover { position:relative; height:300px; object-position:right center; }
 .hc-resource-copy { width:100%; }
 .hc-resource-copy > h2 { max-width:600px; }
}
/* Match the selected mock's stronger desktop type hierarchy. */
@media(min-width:1100px) {
 .care-home h1 { font-size:clamp(56px,5vw,70px); }
 html[lang^='zh'] .care-home h1 { font-size:clamp(54px,5vw,68px); line-height:1.35; }
 .hc-hero-copy > p { font-size:22px; }
 .care-home h2 { font-size:42px; }
 .care-home h3 { font-size:24px; }
 .care-home p { font-size:20px; }
 .hc-portrait { width:224px; height:224px; }
 .hc-service > .hc-icon { width:76px; height:76px; }
 .hc-resource-grid h3 { font-size:21px; }
 .hc-resource-grid p { font-size:17px; }
 .hc-resource-grid .hc-icon { width:58px; height:58px; }
 .hc-steps h3 { font-size:22px; }
 .hc-closing h2 { font-size:42px; }
}
/* Keep navigation/footer aligned with the page and show complete banner artwork. */
.header { padding-inline:0; }
.hc-header-inner { display:flex; align-items:center; gap:24px; min-height:inherit; }
.hc-footer { padding-inline:0; }
.hc-resources,.hc-closing {
 width:min(1280px, calc(100% - 96px));
 margin-inline:auto;
 min-height:0;
 display:grid;
 align-items:center;
}
.hc-resources > .hc-cover,.hc-closing > .hc-cover {
 position:static;
 grid-area:1 / 1;
 width:100%;
 height:auto;
 object-fit:contain;
}
.hc-resources > .hc-wrap,.hc-closing > .hc-wrap {
 grid-area:1 / 1;
 width:100%;
 padding:40px;
}
.hc-closing { margin-bottom:32px; }
@media(max-width:1150px) {
 .hc-header-inner { gap:14px; }
 .hc-resources,.hc-closing { width:calc(100% - 64px); }
 .hc-resources > .hc-wrap,.hc-closing > .hc-wrap { padding:32px; }
}
@media(max-width:1040px) {
 .hc-header-inner { position:static; }
}
@media(max-width:900px) {
 .hc-resources { display:flex; flex-direction:column-reverse; }
 .hc-resources > .hc-cover { height:auto; object-fit:contain; }
 .hc-resource-copy { width:100%; }
 .hc-closing { display:flex; flex-direction:column-reverse; align-items:stretch; }
 .hc-closing > .hc-cover { height:auto; object-fit:contain; }
 .hc-closing h2 { max-width:100%; }
}
@media(max-width:700px) {
 .hc-header-inner { gap:12px; }
 .hc-resources,.hc-closing { width:calc(100% - 40px); }
 .hc-resources > .hc-wrap,.hc-closing > .hc-wrap { padding:28px 20px; }
 html[lang^='zh'] .hc-closing h2 { max-width:100%; }
 .hc-footer { padding-inline:0; }
}
@media(max-width:360px) {
 .hc-header-inner { width:calc(100% - 28px); gap:8px; }
}
/* Separate the service overview from the medical resources banner. */
.hc-services + .hc-resources { margin-top:64px; }
@media(max-width:700px) {
 .hc-services + .hc-resources { margin-top:36px; }
}
/* Fine-tune the hero copy position and soften the secondary banners. */
@media(min-width:901px) {
 .hc-hero-copy { transform:translateY(-32px); }
}
.hc-resources,.hc-closing { border-radius:20px; overflow:hidden; }
@media(max-width:700px) {
 .hc-resources,.hc-closing { border-radius:14px; }
}
/* Keep the closing Chinese headline on one line where space allows. */
@media(min-width:901px) {
 html[lang^='zh'] .hc-closing h2 { max-width:none; white-space:nowrap; }
}
/* Shared, contained four-column footer inspired by the supplied references. */
.hc-footer-expanded { background:#0c2033; color:#bdcad7; padding:64px 0 28px; border:0; }
.hc-footer-grid { display:grid; grid-template-columns:1.35fr .8fr .9fr 1.25fr; gap:54px; }
.hc-footer-expanded .hc-footer-logo { width:210px; height:auto; margin-bottom:24px; }
.hc-footer-brand > p { font-size:15px; line-height:1.85; max-width:305px; margin:0 0 24px; }
.hc-footer-international { display:inline-flex; align-items:center; gap:10px; color:#91ccec; font-size:13px; line-height:1.5; }
.hc-footer-international .hc-icon { width:17px; height:17px; }
.hc-footer-column h2 { color:#9bcce3; font-size:16px; line-height:1.4; font-weight:600; letter-spacing:.03em; margin:5px 0 25px; }
.hc-footer-column ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:15px; }
.hc-footer-column li { font-size:15px; line-height:1.65; }
.hc-footer-expanded a { text-decoration:none; transition:color .16s; }
.hc-footer-expanded a:hover { color:#fff; }
.hc-footer-contact li { display:flex; align-items:flex-start; gap:12px; }
.hc-footer-contact .hc-icon { width:20px; height:20px; margin-top:3px; }
.hc-footer-expanded .hc-icon { filter:invert(80%) sepia(17%) saturate(762%) hue-rotate(164deg) brightness(95%) contrast(90%); }
.hc-footer-contact a,.hc-footer-contact span { overflow-wrap:anywhere; }
.hc-footer-contact .hc-footer-hours { font-size:12px; color:#8fa5b9; line-height:1.75; margin:18px 0 0 32px; }
.hc-footer-legal { border-top:1px solid #ffffff1c; margin-top:46px; padding-top:24px; text-align:center; color:#8fa5b9; font-size:12px; line-height:1.75; }
.hc-footer-legal p { margin:0 0 7px; }
.hc-footer-legal p:last-child { margin-bottom:0; }
.hc-footer-expanded a:focus-visible { outline:2px solid #9edbfc; outline-offset:5px; }
@media(max-width:1100px) { .hc-footer-grid { gap:28px; grid-template-columns:1.2fr .8fr .9fr 1.2fr; } .hc-footer-expanded .hc-footer-logo { width:185px; } }
@media(max-width:900px) { .hc-footer-grid { grid-template-columns:1fr 1fr; gap:38px 48px; } .hc-footer-expanded { padding-top:48px; } .hc-footer-brand > p { max-width:100%; } }
@media(max-width:540px) {
 .hc-footer-expanded { padding:38px 0 24px; }
 .hc-footer-grid { grid-template-columns:1fr 1fr; gap:30px 22px; }
 .hc-footer-brand,.hc-footer-contact { grid-column:1 / -1; }
 .hc-footer-expanded .hc-footer-logo { width:185px; margin-bottom:20px; }
 .hc-footer-brand > p { margin-bottom:16px; }
 .hc-footer-column h2 { font-size:15px; margin:0 0 18px; }
 .hc-footer-column li { font-size:14px; }
 .hc-footer-column ul { gap:12px; }
 .hc-footer-legal { margin-top:30px; padding-top:22px; font-size:11px; }
}
.hc-footer-expanded .hc-footer-column h2 { font-size:16px; line-height:1.4; color:#a7d4eb; }
.hc-footer-expanded .hc-footer-brand > p { color:#bdcad7; }
.hc-footer-expanded .hc-footer-legal p { color:#9bb0c2; }
@media(max-width:540px) { .hc-footer-expanded .hc-footer-column h2 { font-size:15px; } }
/* Bottom row: legal information on the left, social marks on the right. */
.hc-footer-legal { display:flex; align-items:center; justify-content:space-between; gap:30px; text-align:left; }
.hc-footer-copyright { min-width:0; }
.hc-footer-social { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:0; flex-shrink:0; }
.hc-social-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid #ffffff20; }
.hc-social-icon img { display:block; width:24px; height:24px; filter:brightness(0) invert(1); }
.hc-social-linkedin { background:#0a66c2; }
.hc-social-facebook { background:#0866ff; }
.hc-social-youtube { background:#ff0000; }
.hc-social-x,.hc-social-tiktok { background:#000; }
.hc-footer-social a { transition:transform .18s,opacity .18s; }
.hc-footer-social a:hover { transform:translateY(-3px); opacity:.85; }
@media(max-width:700px) {
 .hc-footer-legal { flex-direction:column; align-items:flex-start; gap:20px; }
 .hc-footer-social { justify-content:flex-start; gap:12px; }
 .hc-social-icon { width:38px; height:38px; }
}
/* Requested social brands: keep each original mark and its brand color. */
.hc-footer-social { gap:14px; }
.hc-social-icon { width:42px; height:42px; border:0; border-radius:10px; }
.hc-social-icon img { width:27px; height:27px; filter:none; object-fit:contain; }
.hc-social-tiktok { background:#000; }
.hc-social-tiktok img { width:28px; height:31px; }
.hc-social-instagram { background:transparent; }
.hc-social-instagram img { width:42px; height:42px; }
.hc-social-x img { filter:brightness(0) invert(1); width:25px; height:25px; }
.hc-social-youtube { background:transparent; width:48px; }
.hc-social-youtube img { width:46px; height:34px; }
.hc-social-xiaohongshu { background:#ff2442; }
.hc-social-xiaohongshu img { filter:brightness(0) invert(1); width:34px; height:30px; }
.hc-social-wechat { background:#07c160; }
.hc-social-wechat img { filter:brightness(0) invert(1); width:31px; height:31px; }
@media(max-width:700px) { .hc-footer-social { gap:12px; } }
/* Keep the floating control clear of the footer's social row. */
.back-to-top { bottom:110px; }
@media(max-width:700px) { .back-to-top { bottom:calc(40px + env(safe-area-inset-bottom)); } }
@media(max-width:360px) {
 .hc-footer-social { gap:8px; }
 .hc-footer-social .hc-social-icon { width:36px; height:36px; }
 .hc-social-instagram img { width:36px; height:36px; }
 .hc-social-youtube img { width:36px; height:28px; }
}
/* Manrope is self-hosted; Chinese glyphs continue to use the existing stack. */
@font-face {
 font-family:'Manrope';
 font-style:normal;
 font-weight:200 800;
 font-display:swap;
 src:url('fonts/Manrope-VariableFont_wght.woff2') format('woff2');
}
body,.care-home {
 font-family:'Manrope','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
}
/* Monochrome social marks with white circular outlines. */
.hc-footer-social .hc-social-icon {
 width:42px;
 height:42px;
 border:1px solid #fff;
 border-radius:50%;
 background:transparent;
}
.hc-footer-social .hc-social-icon img {
 width:22px;
 height:22px;
 object-fit:contain;
 filter:brightness(0) invert(1);
}
.hc-footer-social .hc-social-xiaohongshu img { width:29px; }
.hc-footer-social a:hover { opacity:1; background:#ffffff14; }
@media(max-width:360px) {
 .hc-footer-social .hc-social-icon { width:36px; height:36px; }
 .hc-footer-social .hc-social-icon img { width:19px; height:19px; }
 .hc-footer-social .hc-social-xiaohongshu img { width:25px; }
}
/* Match the social marks and outlines to the adjacent copyright text. */
.hc-footer-social .hc-social-icon { color:#9bb0c2; border-color:currentColor; }
.hc-footer-social .hc-social-icon img { filter:brightness(0) saturate(100%) invert(75%) sepia(12%) saturate(474%) hue-rotate(166deg) brightness(92%) contrast(87%); }
.hc-footer-social .hc-social-icon img { filter:none; }
/* Compact social icons with a gentle scale interaction. */
.hc-footer-social .hc-social-icon {
 width:36px;
 height:36px;
 transition:transform .2s ease,background-color .2s ease;
 transform-origin:center;
}
.hc-footer-social .hc-social-icon img { width:18px; height:18px; }
.hc-footer-social .hc-social-xiaohongshu img { width:25px; }
@media(hover:hover) and (pointer:fine) {
 .hc-footer-social .hc-social-icon:hover { transform:scale(1.14); background:#ffffff0d; opacity:1; }
}
.hc-footer-social a.hc-social-icon:focus-visible { transform:scale(1.14); }
@media(prefers-reduced-motion:reduce) {
 .hc-footer-social .hc-social-icon { transition:none; }
 .hc-footer-social .hc-social-icon:hover,.hc-footer-social a.hc-social-icon:focus-visible { transform:none; }
}
/* Give compact social icons more breathing room. */
.hc-footer-social { gap:20px; }
@media(max-width:700px) { .hc-footer-social { gap:16px; } }
@media(max-width:360px) { .hc-footer-social { gap:10px; } }
/* New over-the-shoulder hero photo: keep the consultation scene on the right. */
.hc-hero .hc-cover { object-position:right center; }
@media(min-width:901px) {
 .hc-hero .hc-cover { object-position:60% center; }
}

/* Needs-first reading flow: compact entry links and an editorial service list. */
.hc-scenarios { padding-block:48px; }
.hc-scenarios h2,.hc-services h2,.hc-process h2 { text-align:left; margin-bottom:30px; }
.hc-scenario-grid { gap:24px; }
.hc-scenario { display:flex; align-items:flex-start; gap:16px; text-align:left; padding:24px 0; border-top:1px solid #cfdfeb; text-decoration:none; }
.hc-scenario + .hc-scenario::before { display:none; }
.hc-scenario > .hc-icon { width:28px; height:28px; flex:0 0 28px; }
.hc-scenario h3 { font-size:20px; }
.hc-scenario p { font-size:16px; margin-top:8px; }
.hc-scenario > .hc-entry-arrow { width:20px; height:20px; flex-basis:20px; margin-left:auto; transition:transform .2s; }
.hc-scenario:hover .hc-entry-arrow { transform:translateX(4px); }
.hc-scenario:hover h3 { color:var(--hc-blue); }
.hc-scenario:focus-visible,.hc-text-link:focus-visible { outline:3px solid var(--hc-blue); outline-offset:6px; border-radius:4px; }
.hc-services { padding-block:64px; }
.hc-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
.hc-service,.hc-service:nth-child(even),.hc-service + .hc-service { display:flex; flex-direction:row; align-items:flex-start; text-align:left; gap:20px; padding:30px 0; border:0; border-top:1px solid #cfdfeb; scroll-margin-top:110px; }
.hc-service > .hc-icon { width:36px; height:36px; flex:0 0 36px; margin:0; }
.hc-service h3 { display:block; min-height:0; font-size:24px; }
.hc-service p { margin:12px 0 18px; font-size:17px; max-width:48ch; }
.hc-text-link { display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:600; color:var(--hc-blue); text-decoration:none; }
.hc-text-link .hc-icon { width:18px; height:18px; transition:transform .2s; }
.hc-text-link:hover .hc-icon { transform:translateX(4px); }
.hc-resource-copy { width:60%; }
.hc-resource-grid { grid-template-columns:1fr; gap:18px; }
.hc-resource-copy > h2 { margin-bottom:26px; }
.hc-resource-grid > a,.hc-resource-grid > a:first-child,.hc-resource-grid > a + a { display:grid; grid-template-columns:26px 1fr; column-gap:12px; text-align:left; padding:0; border:0; }
.hc-resource-grid .hc-icon { grid-row:1 / 3; width:26px; height:26px; margin:0; }
.hc-resource-grid h3 { display:block; min-height:0; font-size:18px; }
.hc-resource-grid p { margin-top:4px; font-size:15px; }
.hc-steps { gap:28px; }
.hc-steps li { align-items:flex-start; text-align:left; padding:0; }
.hc-steps p { font-size:16px; margin-top:10px; max-width:26ch; }
.hc-step-arrow { display:none; }
@media(max-width:1100px) {
 .hc-resource-copy { width:65%; }
 .hc-resources > .hc-cover { align-self:start; }
 .hc-service-grid { column-gap:36px; }
}
@media(max-width:900px) {
 .hc-resource-copy { width:100%; }
 .hc-scenario-grid { grid-template-columns:1fr; gap:0; }
 .hc-scenario { align-items:center; padding-block:20px; }
 .hc-service h3 { font-size:22px; }
}
@media(max-width:700px) {
 .hc-scenarios { padding-block:36px; }
 .hc-scenarios h2,.hc-services h2,.hc-process h2 { margin-bottom:24px; }
 .hc-service-grid { grid-template-columns:1fr; gap:0; }
 .hc-services { padding-block:40px; }
 .hc-service,.hc-service:nth-child(even) { padding-block:24px; gap:16px; }
 .hc-service > .hc-icon { width:30px; height:30px; flex-basis:30px; }
 .hc-service p { font-size:16px; }
 .hc-scenario h3 { font-size:18px; }
 .hc-scenario p { font-size:15px; }
 .hc-steps { grid-template-columns:1fr 1fr; gap:28px 20px; }
 .hc-steps p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .hc-entry-arrow,.hc-text-link .hc-icon { transition:none; }
}

/* Connect consecutive step markers, leaving 12px clear around each circle. */
.hc-steps li:not(:last-child)::after {
 content:'';
 position:absolute;
 top:24px;
 left:62px;
 width:calc(100% - 46px);
 height:1px;
 background:#c8dfea;
 pointer-events:none;
}
@media(max-width:700px) {
 .hc-steps li:not(:last-child)::after {
  top:21px;
  left:56px;
  width:calc(100% - 48px);
 }
 .hc-steps li:nth-child(2)::after { display:block; width:auto; right:4px; }
}

/* Finish the process timeline with a small endpoint after the final step. */
.hc-steps li:last-child::after {
 content:'';
 position:absolute;
 top:24px;
 left:62px;
 right:4px;
 height:1px;
 background:#c8dfea;
 pointer-events:none;
}
.hc-steps li:last-child::before {
 content:'';
 position:absolute;
 top:21px;
 right:0;
 width:7px;
 height:7px;
 border-radius:50%;
 background:#c8dfea;
 pointer-events:none;
}
@media(max-width:700px) {
 .hc-steps li:last-child::after { top:21px; left:56px; }
 .hc-steps li:last-child::before { top:18px; }
}

/* Public group documents provide inspectable context beneath the closing CTA. */
.hc-trust { padding-block:48px 64px; }
.hc-trust-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:36px; }
.hc-trust-heading h2 { text-align:left; margin:0; max-width:18ch; }
.hc-trust-heading p { margin:0; font-size:17px; line-height:1.8; }
.hc-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.hc-trust-document { display:flex; align-items:center; justify-content:center; height:200px; padding:18px; background:#f5f8fa; border:1px solid #e1eaf0; border-radius:12px; margin-bottom:22px; overflow:hidden; }
.hc-trust-document img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .2s; }
.hc-trust-document:hover img { transform:scale(1.03); }
.hc-trust-item h3 { font-size:21px; margin-bottom:10px; }
.hc-trust-item > p { font-size:16px; line-height:1.7; margin:0 0 16px; }
.hc-trust-source { margin-top:32px; padding-top:22px; border-top:1px solid #e1eaf0; display:flex; align-items:flex-start; justify-content:space-between; gap:32px; }
.hc-trust-source > p { font-size:13px; max-width:78ch; margin:0; }
.hc-trust-source > a { flex-shrink:0; }
.hc-trust-document:focus-visible { outline:3px solid var(--hc-blue); outline-offset:4px; }
@media(max-width:900px) {
 .hc-trust-heading { grid-template-columns:1fr; gap:16px; }
 .hc-trust-heading h2 { max-width:none; }
 .hc-trust-grid { gap:24px; }
 .hc-trust-item h3 { font-size:18px; }
 .hc-trust-source { flex-direction:column; gap:16px; }
}
@media(max-width:700px) {
 .hc-trust { padding-block:24px 40px; }
 .hc-trust-heading { margin-bottom:28px; }
 .hc-trust-heading p { font-size:16px; }
 .hc-trust-grid { grid-template-columns:1fr; gap:32px; }
 .hc-trust-document { height:200px; margin-bottom:16px; }
 .hc-trust-item h3 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .hc-trust-document img { transition:none; } }

/* Group strengths replace document thumbnails with a quiet, readable fact strip. */
.hc-strength-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid #dbe7ef; padding-block:32px; }
.hc-strength-item { padding-inline:28px; }
.hc-strength-item:first-child { padding-left:0; }
.hc-strength-item + .hc-strength-item { border-left:1px solid #dbe7ef; }
.hc-strength-item .hc-strength-value { color:var(--hc-blue); font-size:36px; font-weight:600; letter-spacing:-.025em; line-height:1.3; margin:0 0 12px; }
.hc-strength-item h3 { font-size:17px; line-height:1.6; font-weight:500; max-width:25ch; }
@media(max-width:900px) {
 .hc-strength-item { padding-inline:20px; }
 .hc-strength-item .hc-strength-value { font-size:28px; }
}
@media(max-width:700px) {
 .hc-strength-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; padding-block:28px; }
 .hc-strength-item,.hc-strength-item:first-child { padding-inline:16px; }
 .hc-strength-item:nth-child(odd) { padding-left:0; border-left:0; }
 .hc-strength-item .hc-strength-value { font-size:27px; }
 .hc-strength-item h3 { font-size:15px; }
}

.hc-strength-item > .hc-strength-icon {
 display:block;
 width:64px;
 height:64px;
 object-fit:contain;
 object-position:left center;
 margin-bottom:20px;
 filter:none;
}
@media(max-width:700px) {
 .hc-strength-item > .hc-strength-icon { width:52px; height:52px; margin-bottom:16px; }
}

/* Pair each strength icon with its text horizontally. */
.hc-strength-item { display:flex; align-items:center; gap:18px; }
.hc-strength-item > .hc-strength-icon { flex:0 0 56px; width:56px; height:64px; margin:0; }
.hc-strength-copy { min-width:0; }
.hc-strength-item .hc-strength-value { font-size:29px; margin-bottom:6px; }
.hc-strength-item h3 { font-size:16px; }
@media(max-width:1100px) {
 .hc-strength-item { gap:12px; padding-inline:16px; }
 .hc-strength-item > .hc-strength-icon { flex-basis:44px; width:44px; height:52px; }
 .hc-strength-item .hc-strength-value { font-size:24px; }
}
@media(max-width:700px) {
 .hc-strength-item,.hc-strength-item:first-child { padding-inline:12px; gap:10px; }
 .hc-strength-item:nth-child(odd) { padding-left:0; }
 .hc-strength-item > .hc-strength-icon { flex-basis:36px; width:36px; height:44px; margin:0; }
 .hc-strength-item .hc-strength-value { font-size:20px; }
 .hc-strength-item h3 { font-size:13px; }
}

/* Optical sizing: balance the tall enterprise mark against the wider IP/CiBEC marks. */
.hc-strength-item > .hc-strength-icon { object-position:center; }
.hc-strength-item:nth-child(1) > .hc-strength-icon { height:60px; }
.hc-strength-item:nth-child(2) > .hc-strength-icon { height:52px; }
.hc-strength-item:nth-child(3) > .hc-strength-icon { height:60px; }
.hc-strength-item:nth-child(4) > .hc-strength-icon { height:52px; }
@media(max-width:1100px) {
 .hc-strength-item:nth-child(1) > .hc-strength-icon,
 .hc-strength-item:nth-child(3) > .hc-strength-icon { height:48px; }
 .hc-strength-item:nth-child(2) > .hc-strength-icon,
 .hc-strength-item:nth-child(4) > .hc-strength-icon { height:42px; }
}
@media(max-width:700px) {
 .hc-strength-item:nth-child(1) > .hc-strength-icon,
 .hc-strength-item:nth-child(3) > .hc-strength-icon { height:40px; }
 .hc-strength-item:nth-child(2) > .hc-strength-icon,
 .hc-strength-item:nth-child(4) > .hc-strength-icon { height:34px; }
}

/* Keep patient support and group strengths together before the process. */
.hc-resources + .hc-trust { padding-block:32px 0; }
.hc-resources + .hc-trust .hc-strength-grid { border-top:0; padding-top:8px; }
@media(max-width:700px) {
 .hc-resources + .hc-trust { padding-top:28px; }
}

/* Patient journey ends with practical support, followed by the consultation CTA. */
.hc-process + .hc-resources { margin-top:0; margin-bottom:64px; }
.page-content .hc-trust { padding-block:36px; }
.page-content .hc-strength-grid h3 { margin-top:0; }
.page-content .hc-strength-value { margin-top:0; }
.page-content .hc-strength-icon { border:0; box-shadow:none; border-radius:0; }
@media(max-width:1100px) {
 .page-content .hc-strength-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }
 .page-content .hc-strength-item:nth-child(odd) { border-left:0; padding-left:0; }
}
@media(max-width:700px) { .hc-process + .hc-resources { margin-bottom:36px; } }
.page-content .hc-trust h2 { text-align:left; }
.page-content .hc-strength-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }
.page-content .hc-strength-item:nth-child(odd) { border-left:0; padding-left:0; }
.page-content .hc-strength-item .hc-strength-value { font-size:28px; margin:0 0 6px; }
.page-content .hc-strength-item h3 { font-size:16px; line-height:1.6; margin:0; }
@media(max-width:700px) {
 .page-content .hc-strength-grid { grid-template-columns:1fr; }
 .page-content .hc-strength-item { border-left:0; padding-left:0; }
 .page-content .hc-strength-item .hc-strength-value { font-size:24px; }
}

/* Hospital identities, displayed at their natural proportions. */
.hc-hospitals h2 { text-align:left; margin-bottom:36px; }
.hc-hospital-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:40px 24px; list-style:none; padding:0; margin:0; }
.hc-hospital-grid li { display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; }
.hc-hospital-grid img { width:140px; height:120px; object-fit:contain; }
.hc-hospital-grid p { font-size:14px; line-height:1.6; margin:0; max-width:25ch; }
.hc-hospital-note { font-size:13px; margin:28px 0 0; color:var(--hc-muted); }
@media(max-width:900px) {
 .hc-hospital-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .hc-hospital-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
 .hc-hospital-grid img { width:115px; height:105px; }
 .hc-hospital-grid p { font-size:13px; }
}
.care-home .hc-hospital-note { font-size:13px; line-height:1.6; margin-top:28px; }

/* Original YouTube players retain creator attribution and playback controls. */
.hc-stories { padding-top:0; }
.hc-stories h2 { text-align:left; margin-bottom:16px; }
.care-home .hc-stories-intro { font-size:15px; margin:0 0 30px; max-width:90ch; }
.hc-video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.hc-video-frame { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#eef3f6; }
.hc-video-frame iframe { display:block; width:100%; height:100%; border:0; }
.hc-video-source { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; text-decoration:none; font-size:13px; color:var(--hc-muted); }
.hc-video-source .hc-icon { width:16px; height:16px; flex-shrink:0; }
.hc-video-source:hover { color:var(--hc-blue); }
.hc-video-source:focus-visible { outline:2px solid var(--hc-blue); outline-offset:4px; }
@media(max-width:1000px) { .hc-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } }
@media(max-width:700px) { .hc-video-grid { grid-template-columns:1fr; } .hc-video-frame { border-radius:12px; } }

/* A final consultation invitation follows the video stories. */
.hc-hospitals + .hc-stories { padding-top:0; }
.hc-final-consult { background:var(--hc-blue); color:#fff; padding-block:72px; text-align:center; }
.hc-final-consult h2 { color:#fff; margin:0 auto 20px; }
.care-home .hc-final-consult p { color:#fff; font-size:18px; line-height:1.8; max-width:720px; margin:0 auto 32px; }
.hc-final-consult .hc-button { background:#fff; color:var(--hc-blue); border:1px solid #fff; }
.hc-final-consult .hc-button .hc-icon { filter:none; }
.hc-final-consult .hc-button:hover { background:#e6f3fa; border-color:#e6f3fa; }
@media(max-width:700px) {
 .hc-final-consult { padding-block:48px; }
 .care-home .hc-final-consult p { font-size:16px; margin-bottom:26px; }
}

/* Match Chinese and English brand marks by height, preserving SVG proportions. */
.header .brand-logo { height:44px; width:auto; max-width:none; object-fit:contain; }
.hc-footer-expanded .hc-footer-logo { height:48px; width:auto; max-width:100%; object-fit:contain; }
@media(max-width:1150px) { .header .brand-logo { height:36px; } }
@media(max-width:700px) {
 .header .brand-logo { height:32px; }
 .hc-footer-expanded .hc-footer-logo { height:42px; }
}
@media(max-width:360px) { .header .brand-logo { height:29px; } }

/* Two-tone need icons align with the full title-and-description text block. */
.hc-scenario { align-items:center; gap:18px; }
.hc-scenario > .hc-scenario-icon { width:64px; height:64px; flex:0 0 64px; object-fit:contain; filter:none; }
.hc-scenario > div { min-width:0; }
@media(max-width:1100px) and (min-width:901px) {
 .hc-scenario { gap:12px; }
 .hc-scenario h3 { font-size:18px; }
}
@media(max-width:700px) {
 .hc-scenario { gap:16px; }
 .hc-scenario > .hc-scenario-icon { width:60px; height:60px; flex-basis:60px; }
}
.hc-scenario:nth-child(2) > .hc-scenario-icon { filter:none; }

/* Give the three needs entry points more separation on desktop. */
@media(min-width:901px) {
 .hc-scenario-grid { column-gap:48px; }
}

/* Four service scenes in white cards, with consistent image and content rhythm. */
.hc-service-grid { gap:32px; }
.hc-service,.hc-service:nth-child(even),.hc-service + .hc-service {
 display:flex; flex-direction:column; align-items:stretch; gap:0;
 padding:0; border:0; border-radius:20px; overflow:hidden;
 background:#fff; box-shadow:0 6px 24px rgba(9,35,64,.04);
}
.hc-service > .hc-service-photo { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; flex:none; }
.hc-service-body { display:flex; flex-direction:column; align-items:flex-start; padding:28px 32px 30px; flex:1; }
.hc-service .hc-service-body p { max-width:none; margin:12px 0 22px; }
.hc-service-body .hc-text-link { margin-top:auto; }
.hc-service:hover h3 { color:var(--hc-navy); }
@media(max-width:700px) {
 .hc-service-grid { gap:24px; }
 .hc-service,.hc-service:nth-child(even) { padding:0; gap:0; border-radius:16px; }
 .hc-service-body { padding:22px 24px 24px; }
}

/* Balance Chinese service descriptions to avoid isolated last characters. */
html[lang^='zh'] .hc-service-body > p { text-wrap:balance; }

/* Keep all three needs-entry arrows blue, including the second entry. */
.hc-scenario > .hc-entry-arrow,
.hc-scenario:nth-child(2) > .hc-entry-arrow {
 filter:invert(42%) sepia(99%) saturate(1941%) hue-rotate(174deg) brightness(96%) contrast(101%);
}

/* City-based medical resource directory. */
.hc-resource-page { padding:32px 0 64px; background:#f5f9fc; color:var(--hc-navy); }
.hc-directory-heading { max-width:850px; padding-block:36px 48px; }
.hc-directory-eyebrow { color:var(--hc-blue); font-weight:600; margin:0 0 12px; }
.hc-directory-heading h1 { font-size:clamp(30px,3.3vw,46px); line-height:1.25; margin:0 0 20px; }
.hc-directory-heading > p:not(.hc-directory-eyebrow) { font-size:18px; line-height:1.8; color:var(--hc-muted); }
.hc-city-nav { display:flex; gap:12px; margin-top:28px; }
.hc-city-nav a { display:flex; align-items:center; gap:18px; padding:12px 22px; border:1px solid #d5e4ee; background:#fff; border-radius:9px; color:var(--hc-navy); text-decoration:none; font-weight:600; }
.hc-city-nav span { color:var(--hc-blue); }
.hc-city-nav a:hover { border-color:var(--hc-blue); }
.hc-directory-city { scroll-margin-top:110px; margin-bottom:56px; }
.hc-directory-city-heading { display:flex; align-items:baseline; gap:18px; margin-bottom:24px; }
.hc-directory-city-heading h2 { font-size:30px; margin:0; }
.hc-directory-city-heading p { color:var(--hc-muted); margin:0; font-size:15px; }
.hc-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.hc-hospital-card { background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 4px 20px rgba(9,35,64,.04); }
.hc-hospital-card > img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.hc-hospital-card-body { padding:24px; }
.hc-hospital-city-label { font-size:13px; color:var(--hc-blue); }
.hc-hospital-card h3 { font-size:20px; line-height:1.5; margin:8px 0; }
.hc-hospital-card-body p { font-size:14px; line-height:1.7; margin:0; color:var(--hc-muted); }
.hc-directory-consult { display:flex; align-items:center; justify-content:space-between; gap:28px; background:#e8f3fa; padding:36px; border-radius:16px; }
.hc-directory-consult h2 { font-size:26px; margin:0 0 12px; }
.hc-directory-consult p { margin:0; color:var(--hc-muted); line-height:1.8; }
.hc-directory-consult .hc-button { flex-shrink:0; }
.hc-city-nav a:focus-visible { outline:3px solid var(--hc-blue); outline-offset:4px; }
@media(max-width:1000px) { .hc-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } }
@media(max-width:700px) {
 .hc-resource-page { padding-block:24px 40px; }
 .hc-directory-heading { padding-block:24px 36px; }
 .hc-directory-heading > p:not(.hc-directory-eyebrow) { font-size:16px; }
 .hc-directory-grid { grid-template-columns:1fr; }
 .hc-directory-city { margin-bottom:40px; }
 .hc-directory-consult { align-items:flex-start; flex-direction:column; padding:28px 24px; }
}

/* Four hospital cards per row on desktop. */
@media(min-width:1001px) {
 .hc-directory-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
}

/* Compact directory typography for the four-column layout. */
.hc-hospital-card-body { padding:20px; }
.hc-hospital-card h3 { font-size:17px; line-height:1.45; margin:8px 0 10px; }
.hc-hospital-card-body p { font-size:13px; line-height:1.65; text-wrap:pretty; }
.hc-hospital-city-label { font-size:12px; }

/* Center a more compact service-card group without moving the section heading. */
.hc-services .hc-service-grid { max-width:1040px; margin-inline:auto; gap:28px; }
.hc-services .hc-service-body { padding:24px 28px 26px; }
@media(max-width:700px) {
 .hc-services .hc-service-grid { gap:24px; }
 .hc-services .hc-service-body { padding:22px 24px 24px; }
}

/* Compact four-column service cards on desktop. */
.hc-services .hc-service-grid { max-width:1184px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.hc-services .hc-service-body { padding:20px 20px 22px; }
.hc-services .hc-service h3 { font-size:19px; line-height:1.4; }
.hc-services .hc-service-body p { font-size:14px; line-height:1.75; margin:12px 0 18px; }
.hc-services .hc-service-body .hc-text-link { font-size:13px; }
@media(max-width:1000px) {
 .hc-services .hc-service-grid { max-width:800px; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .hc-services .hc-service-grid { max-width:440px; grid-template-columns:1fr; }
 .hc-services .hc-service-body { padding:22px 24px 24px; }
}

/* Align the service-card grid with the section's content edges. */
.hc-services .hc-service-grid { max-width:none; width:100%; margin-inline:0; }

/* Let service descriptions fill the available line width naturally. */
.hc-services .hc-service-body > p,
html[lang^='zh'] .hc-services .hc-service-body > p {
 text-wrap:wrap;
 max-width:none;
 width:100%;
}

/* Shared primary-action colors for navigation consultation and back-to-top. */
.header .hc-header-cta,
.back-to-top {
 background:var(--hc-blue);
 border-color:var(--hc-blue);
 color:#fff;
 transition:background .18s,transform .18s;
}
.header .hc-header-cta:hover,
.back-to-top:hover {
 background:#005ea8;
 color:#fff;
}
@media(prefers-reduced-motion:reduce) {
 .header .hc-header-cta,.back-to-top { transition:none; }
}

/* Hospital logos link to the original institutions with a quiet hover card. */
.hc-hospital-grid li { align-items:stretch; gap:0; }
.hc-hospital-link { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:16px; height:100%; padding:22px 12px; border-radius:18px; color:var(--hc-muted); text-decoration:none; transition:background .2s,box-shadow .2s,transform .2s; }
.hc-hospital-link:hover,.hc-hospital-link:focus-visible { background:#fff; box-shadow:0 8px 30px rgba(9,35,64,.1); transform:translateY(-3px); }
.hc-hospital-link:focus-visible { outline:2px solid var(--hc-blue); outline-offset:3px; }
.hc-hospital-link:hover p { color:var(--hc-blue); }
@media(prefers-reduced-motion:reduce) { .hc-hospital-link { transition:none; } .hc-hospital-link:hover { transform:none; } }
@media(max-width:700px) {
 .hc-hospital-grid { gap:16px 12px; }
 .hc-hospital-link { height:auto; padding:10px 6px; gap:8px; }
 .hc-hospital-grid img { width:90px; height:80px; }
}


/* Match hospital card shadows to service cards. */
.hc-hospital-card,
.hc-hospital-link:hover,
.hc-hospital-link:focus-visible {
 box-shadow:0 6px 24px rgba(9,35,64,.04);
}

/* Keep Chinese process summaries evenly set across two desktop lines. */
@media(min-width:701px) {
 html[lang^='zh'] .hc-steps p { max-width:none; text-wrap:balance; }
}
@media(min-width:701px) {
 html[lang^='zh'] .hc-steps p { text-wrap:wrap; }
}

/* Match the final consultation arrow to its blue label. */
.hc-final-consult .hc-button .hc-icon {
 filter:invert(32%) sepia(94%) saturate(1954%) hue-rotate(186deg) brightness(91%) contrast(94%);
}

/* Whole service cards share hospital-card hover and keyboard-focus feedback. */
.hc-services .hc-service { color:var(--hc-navy); text-decoration:none; transition:background .2s,box-shadow .2s,transform .2s; }
.hc-services .hc-service:hover,.hc-services .hc-service:focus-visible { background:#fff; box-shadow:0 6px 24px rgba(9,35,64,.04); transform:translateY(-3px); }
.hc-services .hc-service:hover h3 { color:var(--hc-blue); }
.hc-services .hc-service:focus-visible { outline:2px solid var(--hc-blue); outline-offset:3px; }
@media(prefers-reduced-motion:reduce) {
 .hc-services .hc-service { transition:none; }
 .hc-services .hc-service:hover { transform:none; }
}

/* Two-slide hero, with accessible manual controls and pause. */
.hc-hero-slide { position:relative; }
.hc-hero-slide[hidden],.hc-carousel-controls[hidden] { display:none; }
.care-home .hc-hero-heading { font-size:clamp(38px,4.05vw,60px); line-height:1.18; font-weight:700; letter-spacing:-.035em; text-wrap:initial; }
.hc-hero-heading span { color:var(--hc-blue); }
.hc-carousel-controls { position:absolute; left:0; right:0; bottom:20px; display:flex; align-items:center; gap:18px; z-index:2; }
.hc-carousel-dots { display:flex; gap:10px; }
.hc-carousel-dots button { padding:0; width:24px; height:24px; border:0; background:transparent; cursor:pointer; display:grid; place-items:center; }
.hc-carousel-dots button::after { content:''; width:8px; height:8px; border-radius:50%; background:#a1bbcd; }
.hc-carousel-dots button.is-active::after { width:20px; border-radius:8px; background:var(--hc-blue); }
.hc-carousel-toggle { border:0; background:transparent; color:var(--hc-navy); font:inherit; font-size:12px; cursor:pointer; padding:8px; }
.hc-carousel-controls button:focus-visible { outline:2px solid var(--hc-blue); outline-offset:3px; }
@media(max-width:700px) {
 .care-home .hc-hero-heading { font-size:34px; }
 .hc-carousel-controls { bottom:10px; }
}

/* Centered playback/progress controls and a true overlapping crossfade. */
.hc-carousel-ready { display:grid; }
.hc-carousel-ready .hc-hero-slide { grid-area:1 / 1; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .7s ease,visibility 0s .7s; }
.hc-carousel-ready .hc-hero-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; z-index:1; transition:opacity .7s ease,visibility 0s; }
.hc-carousel-controls { justify-content:center; gap:16px; bottom:22px; width:max-content; max-width:calc(100% - 40px); padding:0; }
.hc-carousel-toggle { order:-1; color:#fff; width:28px; height:32px; padding:4px; display:grid; place-items:center; }
.hc-carousel-pause-icon { display:block; width:16px; height:18px; border-left:5px solid currentColor; border-right:5px solid currentColor; border-radius:2px; }
.hc-carousel-play-icon { display:none; width:0; height:0; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:16px solid currentColor; }
.hc-carousel-toggle.is-paused .hc-carousel-pause-icon { display:none; }
.hc-carousel-toggle.is-paused .hc-carousel-play-icon { display:block; }
.hc-carousel-dots { gap:12px; }
.hc-carousel-dots button { position:relative; width:112px; height:32px; }
.hc-carousel-dots button::after { width:100%; height:5px; border-radius:6px; background:rgba(255,255,255,.45); }
.hc-carousel-dots button.is-active::after { width:100%; background:rgba(255,255,255,.45); }
.hc-carousel-dots button::before { content:''; position:absolute; top:calc(50% - 2.5px); left:0; width:100%; height:5px; background:#fff; border-radius:6px; transform:scaleX(0); transform-origin:left; }
.hc-progress-ready .hc-carousel-dots button.is-active::before { animation:hc-slide-progress 7s linear forwards; animation-play-state:paused; }
.hc-progress-ready.is-running .hc-carousel-dots button.is-active::before { animation-play-state:running; }
.hc-carousel-controls button:focus-visible { outline-color:var(--hc-blue); }
@keyframes hc-slide-progress { to { transform:scaleX(1); } }
@media(max-width:700px) {
 .hc-carousel-controls { bottom:12px; }
 .hc-carousel-dots button { width:80px; }
}
@media(prefers-reduced-motion:reduce) {
 .hc-carousel-ready .hc-hero-slide,.hc-carousel-ready .hc-hero-slide.is-active { transition:none; }
}

/* Finer playback glyphs, preserving the existing hit area. */
.hc-carousel-pause-icon {
 width:11px;
 height:13px;
 border-left-width:3px;
 border-right-width:3px;
 border-radius:1px;
}
.hc-carousel-play-icon {
 border-top-width:7px;
 border-bottom-width:7px;
 border-left-width:11px;
}

/* Use the same restrained headline scale on both hero slides. */
.care-home .hc-hero-copy h1,
.care-home .hc-hero-copy .hc-hero-heading {
 font-size:clamp(36px,3.4vw,52px);
 line-height:1.18;
 font-weight:700;
 letter-spacing:-.035em;
}
html[lang^='zh'] .care-home .hc-hero-copy h1,
html[lang^='zh'] .care-home .hc-hero-copy .hc-hero-heading {
 font-size:clamp(34px,3.4vw,50px);
 line-height:1.4;
}
@media(max-width:700px) {
 .care-home .hc-hero-copy h1,.care-home .hc-hero-copy .hc-hero-heading { font-size:34px; }
 html[lang^='zh'] .care-home .hc-hero-copy h1,
 html[lang^='zh'] .care-home .hc-hero-copy .hc-hero-heading { font-size:32px; }
}
@media(min-width:701px) {
 html[lang^='zh'] .hc-hero-copy .hc-hero-heading { white-space:nowrap; }
}

/* Grow progress by width so the leading cap stays rounded from the start. */
.hc-carousel-dots button::before { width:5px; transform:none; border-radius:999px; }
.hc-carousel-dots button:not(.is-active)::before { display:none; }
@keyframes hc-slide-progress {
 from { width:5px; }
 to { width:100%; }
}

/* Rounded playback glyphs, matching the fine scale of the hero controls. */
.hc-carousel-pause-icon,.hc-carousel-play-icon {
 width:16px;
 height:16px;
 border:0;
 border-radius:0;
 background:center / contain no-repeat;
}
.hc-carousel-pause-icon { background-image:url('images/icons/carousel-pause.svg'); }
.hc-carousel-play-icon { background-image:url('images/icons/carousel-play.svg'); }

/* A subtle inset outline reinforces the hospital logo card hover state. */
.hc-hospital-link:hover {
 box-shadow:inset 0 0 0 1px #dcebf5,0 6px 24px rgba(9,35,64,.04);
}

/* Match footer white logos to header full-color logo heights at every breakpoint. */
.hc-footer-expanded .hc-footer-logo { height:44px; width:auto; max-width:100%; }
@media(max-width:1150px) { .hc-footer-expanded .hc-footer-logo { height:36px; } }
@media(max-width:700px) { .hc-footer-expanded .hc-footer-logo { height:32px; } }
@media(max-width:360px) { .hc-footer-expanded .hc-footer-logo { height:29px; } }

/* Services: concise patient guidance, shared photography and restrained layout. */
.yc-services-page{padding:32px 0 0;background:#fff;color:var(--hc-navy,#12334e)}
.ys-intro{max-width:850px;padding:48px 0 44px}.ys-kicker{font-size:13px!important;font-weight:700;letter-spacing:.05em;color:var(--hc-blue)!important;margin:0 0 14px!important}.ys-intro h1{font-size:clamp(32px,3.4vw,48px);line-height:1.22;letter-spacing:-.035em;margin:0 0 22px}.ys-intro>p:not(.ys-kicker){max-width:680px;font-size:18px;line-height:1.8;color:#5b7082;margin-bottom:28px}
.ys-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border-top:1px solid #e4edf3;border-bottom:1px solid #e4edf3;padding:23px 0}.ys-nav a{display:flex;align-items:center;gap:12px;color:inherit;font-size:15px;font-weight:700;text-decoration:none}.ys-nav a span{font-size:12px;color:#71899b}.ys-nav a img{width:18px;margin-left:auto}.ys-nav a:hover{color:var(--hc-blue)}
.ys-offerings{padding:22px 0}.ys-service{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;padding:52px 0;scroll-margin-top:110px}.ys-service>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px}.ys-service:nth-child(even)>img{order:2}.ys-service h2,.ys-start h2,.ys-practical h2,.ys-faq h2{font-size:clamp(26px,2.6vw,34px);line-height:1.3;letter-spacing:-.025em;margin:0 0 20px}.ys-service-copy>p:not(.ys-kicker),.ys-start p,.ys-practical p,.ys-faq p{font-size:16px;line-height:1.85;color:#5b7082}.ys-service ul{padding:0;list-style:none;margin:22px 0 26px}.ys-service li{position:relative;padding-left:21px;margin:10px 0;font-size:15px;line-height:1.75}.ys-service li:before{content:'';position:absolute;width:6px;height:6px;background:var(--hc-blue);border-radius:50%;left:0;top:.65em}.ys-service .hc-text-link{font-size:14px;display:inline-flex;gap:14px;align-items:center}
.ys-start{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;background:#f1f7fb;padding:48px;border-radius:22px;margin:20px 0 70px}.ys-start ol{padding:0;margin:0;list-style:none;counter-reset:steps}.ys-start li{position:relative;padding:0 0 22px 46px;counter-increment:steps}.ys-start li:last-child{padding-bottom:0}.ys-start li:before{content:counter(steps);position:absolute;left:0;top:0;color:var(--hc-blue);font-weight:700;border:1px solid #cbdfea;border-radius:50%;width:29px;height:29px;text-align:center;line-height:27px}.ys-start h3,.ys-practical h3{font-size:18px;margin:0 0 8px}.ys-start li p{margin:0;font-size:15px}.ys-practical{padding-bottom:52px}.ys-practical>div{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ys-practical article{border:0;border-radius:14px;background:#f2f9fd;padding:24px}.ys-practical p{font-size:14px;margin:0}.ys-faq{display:grid;grid-template-columns:1fr 1.8fr;gap:60px;padding:20px 0 64px}.ys-faq details{border-bottom:1px solid #dfe9ef;padding:19px 0}.ys-faq details:first-child{border-top:1px solid #dfe9ef}.ys-faq summary{cursor:pointer;font-weight:600;font-size:16px}.ys-faq p{margin:16px 0 0;font-size:15px}.ys-nav a:focus-visible,.ys-faq summary:focus-visible{outline:2px solid var(--hc-blue);outline-offset:5px}
@media(max-width:900px){.ys-service{gap:32px}.ys-start{gap:32px;padding:32px}.ys-nav{grid-template-columns:repeat(2,1fr);gap:20px 32px}.ys-faq{gap:30px;grid-template-columns:1fr 2fr}}
@media(max-width:600px){.yc-services-page{padding-top:16px}.ys-intro{padding:30px 0}.ys-intro>p:not(.ys-kicker){font-size:16px}.ys-nav a{font-size:13px;gap:8px}.ys-service{grid-template-columns:1fr;gap:26px;padding:32px 0}.ys-service:nth-child(even)>img{order:0}.ys-service>img{border-radius:15px}.ys-start{grid-template-columns:1fr;gap:24px;padding:26px 22px;margin:20px 0 44px}.ys-practical>div{grid-template-columns:1fr;gap:16px}.ys-faq{grid-template-columns:1fr;gap:24px}.ys-practical{padding-bottom:36px}.ys-faq{padding-bottom:40px}.ys-faq h2{margin-bottom:0}}
.ys-nav>a{min-width:0}.ys-nav>a img{flex-shrink:0}
@media(max-width:600px){.ys-nav{gap:18px 20px}.ys-nav>a{font-size:12px}.ys-nav>a span{font-size:10px}.ys-nav>a img{width:14px;height:14px}.ys-nav>a{flex-wrap:wrap}.ys-nav>a img{margin-left:0}}

/* Service introduction: clearer hierarchy and more breathing room. */
.ys-intro{padding-top:54px;padding-bottom:48px}
.ys-intro h1{margin-bottom:0}
.ys-intro h1::after{content:"";display:block;width:88px;height:4px;background:var(--hc-blue);border-radius:2px;margin:28px 0 26px}
.ys-intro>p:not(.ys-kicker){margin-top:0;margin-bottom:32px;line-height:1.9}
.ys-nav{padding:28px 0}
.ys-nav>a{font-size:19px;line-height:1.5}
.ys-nav>a span{font-size:13px}
@media(max-width:900px){.ys-nav>a{font-size:17px}}
@media(max-width:600px){.ys-intro{padding-top:32px;padding-bottom:34px}.ys-intro h1::after{width:64px;height:3px;margin:24px 0 22px}.ys-intro>p:not(.ys-kicker){margin-bottom:28px}.ys-nav{padding:22px 0;gap:22px 16px}.ys-nav>a{font-size:14px;gap:7px}.ys-nav>a span{font-size:10px}}

/* FAQ disclosure cues: blue dot at left, plus/minus at right. */
.ys-faq summary{position:relative;display:block;list-style:none;padding:0 34px 0 21px;line-height:1.7}
.ys-faq summary::-webkit-details-marker{display:none}
.ys-faq summary::marker{content:""}
.ys-faq summary::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--hc-blue)}
.ys-faq summary::after{content:"+";position:absolute;right:2px;top:0;font-size:24px;font-weight:400;line-height:1.1;color:var(--hc-blue)}
.ys-faq details[open]>summary::after{content:"−"}
.ys-faq details>p{padding-left:21px;padding-right:34px}
/* All page templates share the same clear space before the footer. */
:root{--yc-footer-gap:80px}
body>main[class]{padding-bottom:var(--yc-footer-gap)}
@media(max-width:700px){:root{--yc-footer-gap:48px}}

/* Fine disclosure lines share the FAQ divider colour. */
.ys-faq summary::after,.ys-faq details[open]>summary::after{content:none}
.ys-faq summary .ys-faq-cross{position:absolute;right:2px;top:50%;width:14px;height:14px;transform:translateY(-50%);pointer-events:none;color:#c9dbe5}
.ys-faq-cross::before,.ys-faq-cross::after{content:"";position:absolute;left:0;top:6.25px;width:14px;height:1.5px;background:currentColor;border-radius:1px}
.ys-faq-cross::after{transform:rotate(90deg);transition:transform .24s ease,opacity .24s ease;opacity:1}
.ys-faq details[open]>summary .ys-faq-cross::after{transform:rotate(0);opacity:0}
@media(prefers-reduced-motion:reduce){.ys-faq-cross::after{transition:none}}

/* Separate each service introduction from its practical support list. */
.ys-service-copy>ul{border-top:1px solid #d8eaf4;margin-top:24px;padding-top:14px}
@media(max-width:600px){.ys-service-copy>ul{margin-top:22px;padding-top:12px}}

/* Four service entry icons follow the blue/green outline family. */
.ys-nav>a{gap:14px;flex-wrap:nowrap}
.ys-nav>a .ys-nav-icon{width:48px;height:48px;flex:0 0 48px;margin:0;object-fit:contain;filter:none}
.ys-nav>a .ys-nav-label{font-size:inherit;color:inherit;line-height:1.5}
.ys-nav>a>.hc-icon:last-child{margin-left:auto}
@media(max-width:1150px){.ys-nav>a{font-size:16px;gap:10px}.ys-nav>a .ys-nav-icon{width:40px;height:40px;flex-basis:40px}}
@media(max-width:600px){.ys-nav>a{font-size:13px;gap:8px}.ys-nav>a .ys-nav-icon{width:34px;height:34px;flex-basis:34px}.ys-nav>a>.hc-icon:last-child{width:12px;height:12px}.ys-nav{column-gap:14px}}

/* Match service navigation typography and icon scale to homepage needs. */
.ys-nav>a{font-size:20px;gap:18px}
.ys-nav>a .ys-nav-icon{width:64px;height:64px;flex-basis:64px}
.ys-nav>a>.hc-icon:last-child{width:20px;height:20px;flex:0 0 20px}
@media(max-width:1100px) and (min-width:901px){.ys-nav>a{font-size:18px;gap:12px}}
@media(max-width:700px){.ys-nav>a{font-size:18px;gap:16px}.ys-nav>a .ys-nav-icon{width:60px;height:60px;flex-basis:60px}}
@media(max-width:600px){.ys-nav{grid-template-columns:1fr;gap:0}.ys-nav>a{padding:16px 0}.ys-nav>a+a{border-top:1px solid #d8eaf4}}

/* These entries jump down to independent service sections, not sequential steps. */
.ys-nav>a>.hc-icon:last-child{transform:rotate(90deg);width:16px;height:16px;flex-basis:16px;transition:transform .2s ease}
.ys-nav>a:hover>.hc-icon:last-child{transform:translateY(3px) rotate(90deg)}
@media(prefers-reduced-motion:reduce){.ys-nav>a>.hc-icon:last-child{transition:none}}

/* Service entry arrows: larger, inset and pointing northeast. */
.ys-nav>a>.hc-icon:last-child{width:22px;height:22px;flex-basis:22px;margin-right:18px;transform:rotate(-45deg)}
.ys-nav>a:hover>.hc-icon:last-child{transform:translate(2px,-2px) rotate(-45deg)}

/* Align the northeast arrow near the top of each service icon. */
.ys-nav>a>.hc-icon:last-child{align-self:flex-start;margin-top:4px;margin-right:42px}

/* Tighten service heading-to-introduction spacing by 10px. */
.ys-service h2{margin-bottom:10px}

/* Getting started: full-width background, content aligned to the page grid. */
.ys-start{position:relative;padding:48px 0;border-radius:0;background:#f1f7fb;box-shadow:0 0 0 100vmax #f1f7fb;clip-path:inset(0 -100vmax)}
@media(max-width:900px){.ys-start{padding:40px 0}}
@media(max-width:600px){.ys-start{padding:32px 0}}

/* Separate the first two getting-started steps. */
.ys-start li:not(:last-child){border-bottom:1px solid #d8eaf4;padding-bottom:24px;margin-bottom:24px}

/* Tighten the getting-started title and description gap by 10px. */
.ys-start h2{margin-bottom:10px}

/* Service details carry more emphasis than the introductory sentence. */
.ys-service-copy>p:not(.ys-kicker){font-size:15px}
.ys-service li{font-size:16px}

/* Filled brand-blue step numbers. */
.ys-start li::before{background:var(--hc-blue);border-color:var(--hc-blue);color:#fff}

/* Slightly smaller step badges, with numbers kept centered. */
.ys-start li::before{width:25px;height:25px;line-height:23px;font-size:13px}

/* Homepage's full-width closing banner meets the footer directly. */
body>main.care-home{padding-bottom:0}

/* The document already reserves 90px for the sticky header. Account for
   section padding here instead of adding a second header-sized offset. */
.ys-service{scroll-margin-top:-28px}
@media(max-width:600px){.ys-service{scroll-margin-top:-8px}}

/* The refreshed hero photography leaves room for a stronger headline. */
@media(min-width:701px){
 .care-home .hc-hero-copy h1,.care-home .hc-hero-copy .hc-hero-heading{font-size:clamp(40px,3.8vw,58px)}
 html[lang^='zh'] .care-home .hc-hero-copy h1,html[lang^='zh'] .care-home .hc-hero-copy .hc-hero-heading{font-size:clamp(38px,3.8vw,56px)}
}

/* Service process follows the shared service and resource page grid. */
.yc-process-page{padding-top:32px;color:var(--hc-navy);background:#fff}
.yc-process-page h2{font-size:30px;line-height:1.45;margin:0 0 16px;color:var(--hc-navy)}
.yc-process-page h3{font-size:18px;line-height:1.5;margin:0 0 10px;color:var(--hc-navy)}
.yc-process-page p{color:var(--hc-muted);font-size:16px;line-height:1.85}
.yp-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #d8eaf4;padding:26px 0;gap:24px}
.yp-overview>a{display:flex;align-items:center;gap:16px;color:var(--hc-navy);font-size:19px;font-weight:600;text-decoration:none;min-width:0}
.yp-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--hc-blue);color:#fff;flex-shrink:0;font-size:18px;font-weight:400}
.yp-overview .hc-icon{width:20px;height:20px;margin-left:auto}
.yp-overview>a:hover{color:var(--hc-blue)}
.yp-journey{padding:16px 0 56px}
.yp-step{display:grid;grid-template-columns:1fr 1.45fr;gap:72px;padding:48px 0;border-bottom:1px solid #dfe9ef;scroll-margin-top:110px}
.yp-step:last-child{border-bottom:0}
.yp-step-heading>.yp-number{margin-bottom:20px;width:50px;height:50px;font-size:21px}
.yp-step-heading>p:last-child{margin:0}
.yp-step-body{border-radius:20px;background:#f2f9fd;padding:30px 32px;align-self:center}
.yp-responsibilities{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.yp-responsibilities p{margin:0}
.yp-step-body .yp-outcome{display:flex;align-items:center;gap:12px;border-top:1px solid #d8eaf4;padding-top:20px;margin:24px 0 0;font-size:15px}
.yp-outcome>.hc-icon{width:25px;height:25px}
.yp-outcome strong{display:block;color:var(--hc-navy);font-size:13px;margin-bottom:3px}
.yp-preparation{display:grid;grid-template-columns:1fr 1.45fr;gap:72px;padding:48px 0;margin-bottom:64px;background:#f1f7fb;box-shadow:0 0 0 100vmax #f1f7fb;clip-path:inset(0 -100vmax)}
.yp-preparation>div>p{margin:0 0 24px}
.yp-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.yp-checklist>li{border-top:2px solid #c6deed;padding-top:16px}
.yp-checklist p{margin:0}
.yc-process-page .ys-faq h2{font-size:30px}
.yc-process-page a:focus-visible,.yc-process-page summary:focus-visible{outline:3px solid var(--hc-blue);outline-offset:5px}
@media(max-width:1000px){.yp-step,.yp-preparation{gap:32px;grid-template-columns:1fr 1.3fr}.yp-overview{gap:16px}.yp-overview>a{font-size:16px;gap:10px}.yp-responsibilities{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){.yp-overview{grid-template-columns:1fr 1fr;gap:24px}.yp-overview .hc-icon{width:16px;height:16px}.yp-step,.yp-preparation{grid-template-columns:1fr;gap:24px}.yp-step{padding:32px 0}.yp-journey{padding-bottom:24px}.yp-step-body{padding:24px;border-radius:16px}.yp-step-heading>.yp-number{width:40px;height:40px;font-size:17px;margin-bottom:16px}.yc-process-page h2,.yc-process-page .ys-faq h2{font-size:26px}.yp-preparation{padding:32px 0;margin-bottom:40px}.yp-checklist{gap:24px}.yc-process-page{padding-top:16px}}
@media(max-width:400px){.yp-overview>a{gap:8px;font-size:14px}.yp-number{width:34px;height:34px;font-size:15px}.yp-checklist{grid-template-columns:1fr}}

/* About: shared page introduction, calm editorial sections and group context. */
.yc-about-page{padding-top:32px;color:var(--hc-navy);background:#fff}
.yc-about-page h2{font-size:clamp(26px,2.6vw,34px);line-height:1.45;letter-spacing:-.025em;margin:0 0 20px;color:var(--hc-navy)}
.yc-about-page h3{font-size:20px;line-height:1.5;margin:0 0 12px;color:var(--hc-navy)}
.yc-about-page p{font-size:16px;line-height:1.85;color:var(--hc-muted)}
.yc-about-page .ys-intro{max-width:950px}
.ya-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding:16px 0 64px}
.ya-story figure{margin:0}.ya-story img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px;display:block}
.ya-story figcaption{font-size:12px;color:#687d8d;margin-top:8px}
.ya-story p{margin:0 0 20px}
.yc-about-page .hc-text-link{display:inline-flex;align-items:center;gap:14px;font-size:16px;margin-top:6px}
.yc-about-page .hc-text-link .hc-icon{width:20px;height:20px}
.ya-audience{padding:48px 0;background:#f2f9fd;box-shadow:0 0 0 100vmax #f2f9fd;clip-path:inset(0 -100vmax)}
.ya-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:32px}
.ya-card-grid article>.hc-icon{width:58px;height:58px;filter:none;margin-bottom:20px}
.ya-card-grid article>p{margin:0}
.ya-principles{padding:64px 0;border-bottom:1px solid #dfe9ef}
.ya-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:32px}
.ya-section-heading>p{margin:0;padding-top:4px}
.ya-section-heading h2{margin-bottom:0}
.ya-principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-bottom:24px}
.ya-principle-grid article{position:relative;border-top:1px solid #d8eaf4;padding:24px 0 0 48px}
.ya-index{position:absolute;left:0;top:24px;color:var(--hc-blue);font-size:20px;font-weight:600}
.ya-principle-grid p{margin:0}
.ya-group{padding:64px 0}
.yc-about-page .hc-trust{padding:28px 0 50px}
.yc-about-page .hc-trust h2{font-size:22px;text-align:left;margin:0 0 28px}
.yc-about-page .hc-strength-grid{margin-bottom:0}
.yc-about-page .ya-source-note{font-size:13px;border-top:1px solid #dfe9ef;padding-top:20px;margin:28px 0 0}
.ya-contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:48px 0;margin-bottom:56px;background:#f1f7fb;box-shadow:0 0 0 100vmax #f1f7fb;clip-path:inset(0 -100vmax)}
.ya-contact>div>p{margin:0 0 20px}
.ya-contact-card{background:#fff;padding:30px 32px;border-radius:20px}
.yc-about-page .ya-contact-card h3{font-size:17px;margin-bottom:8px}
.yc-about-page .ya-contact-card>p{font-size:15px;margin:0 0 22px}
.ya-contact-links{display:flex;flex-direction:column;gap:12px;border-top:1px solid #dfe9ef;padding-top:20px;margin-bottom:20px}
.ya-contact-links>a{display:flex;align-items:center;gap:12px;font-size:16px;overflow-wrap:anywhere}
.ya-contact-links .hc-icon{width:20px;height:20px}
.yc-about-page .ya-contact-card .ya-hours{font-size:13px;margin-bottom:8px}
.yc-about-page a:focus-visible{outline:3px solid var(--hc-blue);outline-offset:5px}
@media(max-width:1000px){.ya-story,.ya-section-heading,.ya-contact{gap:32px}.ya-card-grid{gap:28px}.ya-principle-grid{gap:28px}}
@media(max-width:700px){.yc-about-page{padding-top:16px}.ya-story,.ya-section-heading,.ya-contact{grid-template-columns:1fr;gap:24px}.ya-story{padding:8px 0 36px}.ya-card-grid,.ya-principle-grid{grid-template-columns:1fr;gap:28px}.ya-audience,.ya-contact{padding:32px 0}.ya-principles,.ya-group{padding:40px 0}.ya-section-heading{margin-bottom:26px}.ya-contact{margin-bottom:40px}.ya-contact-card{padding:24px;border-radius:16px}.ya-card-grid article{position:relative;padding-left:78px}.ya-card-grid article>.hc-icon{position:absolute;left:0;top:0;margin:0}.ya-story img{border-radius:16px}}
.yc-about-page h1,.yc-about-page h2{text-wrap:balance}
.ya-title-phrase{display:inline-block}

/* Privacy policy: readable terms, compact summary and an in-page directory. */
.yc-privacy-page{padding-top:32px;background:#fff;color:var(--hc-navy)}
.yc-privacy-page p,.yc-privacy-page li{font-size:16px;line-height:1.9;color:var(--hc-muted)}
.yc-privacy-page h2{font-size:28px;line-height:1.45;color:var(--hc-navy);margin:0 0 20px}
.yc-privacy-page h3{font-size:18px;line-height:1.5;color:var(--hc-navy);margin:0 0 12px}
.yc-privacy-page .yp-policy-intro{padding-bottom:36px}
.yc-privacy-page .yp-policy-intro>p:not(.ys-kicker){margin-bottom:20px}
.yc-privacy-page .yp-policy-intro .yp-policy-date{font-size:13px;line-height:1.8;margin-bottom:0;color:#687d8d}
.yp-policy-summary{background:#f2f9fd;border-radius:20px;padding:32px 36px;margin-bottom:52px}
.yc-privacy-page .yp-policy-summary>h2{font-size:22px;margin-bottom:26px}
.yp-policy-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.yp-policy-summary-grid article>.hc-icon{width:34px;height:34px;margin-bottom:16px}
.yp-policy-summary-grid p{font-size:15px;margin:0}
.yc-privacy-page .yp-summary-note{font-size:13px;border-top:1px solid #d8eaf4;padding-top:18px;margin:24px 0 0}
.yp-policy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.yp-policy-toc{position:sticky;top:112px;background:#f6f9fc;border:1px solid #e1eaf0;border-radius:16px;padding:24px;max-height:calc(100vh - 140px);overflow-y:auto}
.yc-privacy-page .yp-policy-toc h2{font-size:18px;margin-bottom:16px}
.yp-policy-toc ol{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.yp-policy-toc a{font-size:14px;line-height:1.65;color:var(--hc-muted);text-decoration:none;display:block}
.yp-policy-toc a:hover{color:var(--hc-blue)}
.yp-policy-section{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid #dfe9ef;scroll-margin-top:112px}
.yp-policy-section p{margin:0 0 16px}
.yp-policy-section p:last-child{margin-bottom:0}
.yp-policy-section ul{padding-left:22px;margin:16px 0}
.yp-policy-section li{padding-left:3px;margin-bottom:10px}
.yp-policy-section li::marker{color:var(--hc-blue)}
.yp-policy-section a,.yp-policy-footer-note a{color:var(--hc-blue);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.yp-policy-callout{padding:22px 24px;background:#f2f9fd;border-left:3px solid var(--hc-blue);border-radius:0 12px 12px 0;margin:22px 0}
.yc-privacy-page .yp-policy-callout p{font-size:15px}
.yc-privacy-page .yp-policy-footer-note{font-size:13px;color:#687d8d;margin:0;line-height:1.8}
.yc-privacy-page a:focus-visible{outline:3px solid var(--hc-blue);outline-offset:4px}
@media(max-width:1000px){.yp-policy-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}.yp-policy-summary-grid{gap:24px}.yp-policy-toc{padding:20px}}
@media(max-width:800px){.yp-policy-layout{grid-template-columns:1fr;gap:36px}.yp-policy-toc{position:static;max-height:none;overflow:visible}.yp-policy-toc ol{grid-template-columns:1fr 1fr;gap:14px 24px}.yp-policy-summary-grid{gap:24px}}
@media(max-width:600px){.yc-privacy-page{padding-top:16px}.yp-policy-summary{padding:24px;border-radius:16px;margin-bottom:32px}.yp-policy-summary-grid{grid-template-columns:1fr;gap:24px}.yp-policy-summary-grid article{position:relative;padding-left:48px}.yp-policy-summary-grid article>.hc-icon{position:absolute;left:0;top:1px;width:28px;height:28px;margin:0}.yp-policy-toc ol{grid-template-columns:1fr}.yp-policy-section{padding-bottom:26px;margin-bottom:26px}.yc-privacy-page h2{font-size:24px}.yp-policy-callout{padding:18px 20px}.yc-privacy-page .yp-policy-intro{padding-bottom:28px}}
.yp-policy-date{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:4px}.yp-policy-date>span{display:inline-block}

/* All breadcrumbs share the header grid, with equal separator spacing. */
.yc-breadcrumb{display:block;position:static;margin:0 0 24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--hc-muted)}
.yc-breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:8px 0;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.6}
.yc-breadcrumb ol>li{display:inline-flex;align-items:center;gap:0;margin:0;padding:0;color:var(--hc-muted);min-width:0;font-size:inherit;line-height:inherit}
.yc-breadcrumb li+li::before{content:'/';display:inline-block;margin:0 7px;color:#cfdfeb;font-weight:400;flex-shrink:0}
.yc-breadcrumb a{display:inline;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--hc-muted);font-size:inherit;font-weight:400;line-height:inherit;text-decoration:none;white-space:normal}
.yc-breadcrumb a:hover,.yc-breadcrumb a:focus{background:transparent;color:var(--hc-blue);text-decoration:none}
.yc-breadcrumb a:focus-visible{outline:2px solid var(--hc-blue);outline-offset:4px}
.yc-breadcrumb span[aria-current]{color:var(--hc-navy);font-size:inherit;font-weight:600}
@media(max-width:360px){.hc-wrap>.yc-breadcrumb{margin-inline:-6px}}

/* One introduction rhythm for every inner-page template. */
:root{--yc-intro-title-size:clamp(32px,3.4vw,48px);--yc-intro-gap:28px}
.yc-services-page,.hc-resource-page,.yc-process-page,.yc-about-page,.yc-privacy-page,.page-shell{padding-top:28px}
.hc-resource-page{background:#fff}
.yc-breadcrumb{margin-bottom:var(--yc-intro-gap)}
.ys-intro,.hc-directory-heading,.page-shell .page-hero,.yc-privacy-page .yp-policy-intro{max-width:950px;padding:0 0 40px;margin:0;border:0}
.ys-intro>.ys-kicker,.page-shell .page-hero>.eyebrow,.hc-directory-heading>.hc-directory-eyebrow{display:none}
body .ys-intro h1,body .hc-directory-heading h1,.page-shell .page-hero h1{font-size:var(--yc-intro-title-size);font-weight:700;line-height:1.35;letter-spacing:-.025em;color:var(--hc-navy);margin:0;text-wrap:balance}
.ys-intro h1::after,.hc-directory-heading h1::after,.page-shell .page-hero h1::after{content:'';display:block;width:72px;height:3px;border-radius:2px;background:var(--hc-blue);margin:22px 0}
.ys-intro>p:not(.ys-kicker),.hc-directory-heading>p:not(.hc-directory-eyebrow),.page-shell .page-hero>.page-lead{max-width:780px;font-size:18px;line-height:1.85;color:var(--hc-muted);margin:0 0 24px}
.ys-intro>p:last-child,.hc-directory-heading>p:last-child,.page-shell .page-hero>.page-lead:last-child{margin-bottom:0}
.yc-privacy-page .yp-policy-intro .yp-policy-date{font-size:13px;margin:0;line-height:1.8}
.page-shell .page-hero>.page-meta{font-size:13px;margin:20px 0 0}
@media(max-width:700px){:root{--yc-intro-title-size:32px;--yc-intro-gap:22px}.yc-services-page,.hc-resource-page,.yc-process-page,.yc-about-page,.yc-privacy-page,.page-shell{padding-top:20px}.ys-intro,.hc-directory-heading,.page-shell .page-hero,.yc-privacy-page .yp-policy-intro{padding:0 0 32px}.ys-intro h1::after,.hc-directory-heading h1::after,.page-shell .page-hero h1::after{width:56px;height:3px;margin:18px 0}.ys-intro>p:not(.ys-kicker),.hc-directory-heading>p:not(.hc-directory-eyebrow),.page-shell .page-hero>.page-lead{font-size:16px;line-height:1.85;margin-bottom:22px}}

/* Keep the English need-entry headings consistent across the three columns. */
html[lang^='en'] .care-home .hc-scenario h3{font-size:18px}
@media(min-width:901px) and (max-width:1150px){html[lang^='en'] .care-home .hc-scenario h3{font-size:16px}}

/* Turn the process banner into the next action after the four steps. */
.care-home .hc-process{padding-bottom:36px}
.care-home .hc-closing{display:grid;min-height:300px;margin-bottom:32px;isolation:isolate}
.care-home .hc-closing>.hc-cover{position:absolute;inset:0;grid-area:auto;width:100%;height:100%;object-fit:cover;object-position:center}
.care-home .hc-closing::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,249,255,.96),rgba(240,249,255,.83) 40%,rgba(240,249,255,0) 75%);z-index:1}
.care-home .hc-closing>.hc-wrap{grid-area:1/1;position:relative;z-index:2;padding:36px 40px;width:100%}
.care-home .hc-closing h2,html[lang^='zh'] .care-home .hc-closing h2{font-size:30px;line-height:1.4;max-width:620px;white-space:normal;margin:0 0 14px;text-wrap:balance}
.care-home .hc-closing .hc-closing-sub{max-width:570px;font-size:16px;line-height:1.8;margin:0 0 24px;color:var(--hc-muted)}
@media(max-width:900px){.care-home .hc-closing h2,html[lang^='zh'] .care-home .hc-closing h2{max-width:520px}.care-home .hc-closing>.hc-wrap{padding:32px}.care-home .hc-closing::before{background:linear-gradient(90deg,rgba(240,249,255,.97),rgba(240,249,255,.86) 65%,rgba(240,249,255,.35))}}
@media(max-width:700px){.care-home .hc-process{padding-bottom:24px}.care-home .hc-closing{min-height:0}.care-home .hc-closing>.hc-wrap{padding:28px 24px}.care-home .hc-closing h2,html[lang^='zh'] .care-home .hc-closing h2{font-size:26px;max-width:100%}.care-home .hc-closing .hc-closing-sub{font-size:15px;margin-bottom:22px}.care-home .hc-closing>.hc-cover{object-position:65% center}}

/* Keep the complete skyline visible within the shallow process banner. */
.care-home .hc-closing{background:#eff8ff}
.care-home .hc-closing>.hc-cover{object-fit:contain;object-position:right center}
/* Anchor the mobile skyline independently of the copy height. */
@media(max-width:700px){
 .care-home .hc-closing>.hc-cover{inset:auto 0 0 auto;width:660px;max-width:none;height:220px;object-fit:contain;object-position:right bottom;mask-image:linear-gradient(to bottom,transparent,#000 45%)}
 .care-home .hc-closing::before{background:linear-gradient(180deg,#eff8ff 0%,rgba(239,248,255,.92) 28%,rgba(239,248,255,0) 72%),linear-gradient(90deg,rgba(239,248,255,.95),rgba(239,248,255,.65) 46%,rgba(239,248,255,.08))}
}

/* Bring the skyline closer while retaining clearance above the landmarks. */
@media(min-width:701px){.care-home .hc-closing>.hc-cover{transform:scale(1.15);transform-origin:right bottom}}

/* Enquiries: readable fields with explicit, independent contact methods. */
.yc-contact-page{padding-top:28px;background:#fff;color:var(--hc-navy)}
.yc-contact-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:48px;align-items:start}
.yc-contact-page h2{font-size:24px;line-height:1.5;margin:0 0 12px;color:var(--hc-navy)}
.yc-contact-page h3{font-size:17px;margin:0 0 8px;color:var(--hc-navy)}
.yc-contact-page p{font-size:15px;line-height:1.8;color:var(--hc-muted);margin:0 0 20px}
.yc-contact-form{border:1px solid #dfe9ef;border-radius:20px;padding:32px}
.review-form{display:grid;gap:22px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;margin:0}
.review-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin:0;padding:0}
.review-form .form-row-contact{grid-template-columns:repeat(3,minmax(0,1fr))}
.review-form .form-row-single{grid-template-columns:1fr}
.review-form label{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin:0;padding:0;font-size:14px;font-weight:600;line-height:1.5;min-width:0}
.review-form .field-label{display:block;margin:0;font-size:14px;line-height:1.5;color:var(--hc-navy)}
.review-form .field-label small{font-size:12px;font-weight:400;color:#738496;margin-left:4px}
.review-form input:not([type=checkbox]):not([type=hidden]),.review-form select:not(.native-select-hidden),.review-form textarea{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:12px 14px;border:1px solid #c8dce9;border-radius:8px;background:#fcfdff;color:var(--hc-navy);font-family:inherit;font-size:16px;line-height:1.5;height:48px;box-shadow:none}
.review-form textarea{height:auto;min-height:140px;resize:vertical}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:2px solid #8bc8f0;outline-offset:2px;border-color:var(--hc-blue)}
.review-form .checkline{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.8;margin:0}
.review-form .checkline input{width:17px;height:17px;flex:0 0 17px;margin:4px 0 0;accent-color:var(--hc-blue)}
.review-form .checkline a{color:var(--hc-blue);text-decoration:underline}
.yc-contact-page .review-form-hint,.review-form .review-form-hint{font-size:13px;line-height:1.7;color:var(--hc-muted);margin:0}
.review-form>.hc-button{justify-self:start}
.review-form .form-note:empty{display:none}
.yc-contact-sidebar{display:grid;gap:28px}
.yc-contact-sidebar>section{background:#f2f9fd;border-radius:16px;padding:28px}
.yc-contact-sidebar ol{padding:0;margin:22px 0 0;list-style:none;counter-reset:contact-step}
.yc-contact-sidebar li{position:relative;padding-left:36px;margin:0 0 24px;counter-increment:contact-step}
.yc-contact-sidebar li:last-child{margin-bottom:0}
.yc-contact-sidebar li::before{content:counter(contact-step);position:absolute;left:0;top:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--hc-blue);color:#fff;font-size:12px}
.yc-contact-sidebar li p{margin:0;font-size:14px}
.yc-contact-direct>a{display:flex;align-items:center;gap:10px;font-size:15px;margin:16px 0;overflow-wrap:anywhere}
.yc-contact-direct .hc-icon{width:20px;height:20px;flex-shrink:0}
.yc-contact-direct p{font-size:13px;margin:16px 0}
.yc-contact-direct .yc-contact-privacy{font-size:14px;color:var(--hc-blue)}
@media(max-width:1000px){.yc-contact-layout{grid-template-columns:1fr;gap:32px}.yc-contact-sidebar{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:700px){.yc-contact-page{padding-top:20px}.yc-contact-form{padding:24px 20px;border-radius:16px}.review-form .form-row,.review-form .form-row-contact{grid-template-columns:1fr;gap:20px}.review-form{gap:20px}.yc-contact-sidebar{grid-template-columns:1fr}.yc-contact-sidebar>section{padding:24px}.yc-contact-page h2{font-size:22px}}
.review-form .custom-select-button{min-height:48px;padding:12px 14px;border-radius:8px;border-color:#c8dce9;font-size:16px;line-height:1.5;background:#fcfdff}

/* Keep the policy title intact and avoid an orphan character in consent copy. */
.review-form .checkline>span{text-wrap:pretty}
.review-form .checkline a{white-space:nowrap;display:inline-block}

/* Explain the resource selection and provide a direct directory entry. */
.hc-hospitals-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.care-home .hc-hospitals-heading h2{margin-bottom:14px}
.care-home .hc-hospitals-intro{font-size:14px;line-height:1.8;max-width:850px;margin:0;color:var(--hc-muted)}
.hc-hospitals-heading>.hc-text-link{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:15px;flex-shrink:0;padding-bottom:3px}
.hc-hospitals-heading>.hc-text-link .hc-icon{width:18px;height:18px}
@media(max-width:700px){.hc-hospitals-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.care-home .hc-hospitals-intro{font-size:13px}}

/* Matching regular-weight step numerals on the homepage and process page. */
.hc-step-number,.yp-number{font-weight:400}

/* A green circle grows into a contact card above the return-to-top button. */
.yc-floating-contact{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:172px;width:48px;height:48px;z-index:45;background:var(--hc-green,#00bf83);border-radius:50%;box-shadow:0 6px 24px rgba(12,72,47,.18);overflow:hidden;transition:width .3s ease,height .3s ease,border-radius .3s ease,background .25s ease}
.yc-contact-toggle{position:absolute;top:0;right:0;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:transparent;color:#fff;cursor:pointer;z-index:2}
.yc-contact-toggle>.yc-contact-close-icon{display:none}
.yc-floating-contact.is-open{width:310px;border-radius:20px;background:#fff;border:1px solid #dcece4}
.yc-floating-contact.is-open .yc-contact-toggle{color:var(--green)}
.yc-floating-contact.is-open .yc-contact-toggle>:is(svg,.yc-svg-icon):first-child{display:none}
.yc-floating-contact.is-open .yc-contact-close-icon{display:block}
.yc-contact-panel{width:310px;padding:24px 20px 16px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .25s ease;box-sizing:border-box}
.is-open>.yc-contact-panel{opacity:1;visibility:visible;transform:translateY(0);transition-delay:.12s}
.yc-contact-panel h2{font-size:20px;line-height:1.4;color:var(--hc-navy);margin:0 0 5px;padding-right:30px}
.yc-contact-panel>p{font-size:13px;line-height:1.6;color:var(--hc-muted);margin:0 0 16px}
.yc-contact-panel .yc-contact-method{width:100%;display:flex;align-items:center;gap:12px;padding:12px 8px;margin:0;background:transparent;border:0;border-top:1px solid #e6efe9;border-radius:0;text-decoration:none;text-align:left;font-family:inherit;color:var(--hc-navy);cursor:pointer;box-sizing:border-box}
.yc-contact-method:hover{background:#f2f9fd;border-radius:0}
.yc-method-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;background:#fff;border:1px solid var(--green);border-radius:10px;color:var(--green);font-size:19px;font-weight:600}
.yc-method-icon .hc-icon{width:20px;height:20px;filter:invert(48%) sepia(41%) saturate(685%) hue-rotate(102deg) brightness(90%)}
.yc-contact-method>span:nth-child(2){min-width:0;flex:1}
.yc-contact-method strong{display:block;font-size:14px;font-weight:600;line-height:1.4}
.yc-contact-method small{display:block;font-size:12px;line-height:1.6;color:var(--hc-muted);overflow-wrap:anywhere}
.yc-contact-method>span:last-child{color:var(--green);font-size:14px}
.yc-contact-panel .yc-contact-copy-status{display:block;min-height:18px;font-size:11px;line-height:1.5;color:var(--green);margin-top:4px}
.yc-contact-toggle:focus-visible,.yc-contact-method:focus-visible{outline:2px solid var(--green);outline-offset:-3px}
@media(max-width:700px){.yc-floating-contact{right:16px;bottom:calc(96px + env(safe-area-inset-bottom));width:44px;height:44px}.yc-contact-toggle{width:44px;height:44px}.yc-floating-contact.is-open{width:min(310px,calc(100vw - 32px))}.yc-contact-panel{width:min(310px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.yc-floating-contact,.yc-contact-panel{transition:none!important}}
body .yc-contact-panel h2{font-size:20px;font-weight:600;letter-spacing:0}

/* Consistent outline contact symbols and longer northeast arrow arms. */
.yc-method-icon>:is(svg,.yc-svg-icon){width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.yc-method-arrow{display:flex;align-items:center;flex:0 0 20px}
.yc-method-arrow :is(svg,.yc-svg-icon){width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.yc-contact-panel .yc-contact-copy-status:empty{display:none}

/* Optically balance the chat marks against the wider envelope icon. */
.yc-method-icon-whatsapp>:is(svg,.yc-svg-icon),.yc-method-icon-wechat>:is(svg,.yc-svg-icon){width:25px;height:25px}
.yc-method-icon-wechat>:is(svg,.yc-svg-icon){stroke-width:1.35}

/* Reveal the WeChat QR code without leaving the contact panel. */
.yc-wechat-qr{padding:16px 12px;background:#f1faf5;border-radius:12px;margin:0 0 12px;text-align:center}
.yc-wechat-qr[hidden]{display:none}
.yc-wechat-qr>img{display:block;width:180px;height:180px;object-fit:contain;max-width:100%;margin:0 auto;background:#fff;border:8px solid #fff;border-radius:8px}
.yc-wechat-qr>p{font-size:12px;line-height:1.6;color:var(--hc-muted);margin:10px 0}
.yc-wechat-qr>div{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--hc-navy)}
.yc-wechat-qr button{border:1px solid #bfdfcf;border-radius:6px;padding:5px 9px;color:var(--green);background:#fff;font-size:12px;cursor:pointer}
.yc-floating-contact.is-open{max-height:calc(100dvh - 188px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px){.yc-floating-contact.is-open{max-height:calc(100dvh - 112px - env(safe-area-inset-bottom))}}

/* Show clipboard feedback in the action itself, without adding a footer row. */
.yc-wechat-qr button[data-copy-wechat]{color:#111;min-width:96px}
.yc-wechat-qr button[data-copy-wechat].is-copied{color:var(--green)}

@media(max-width:700px){
 .yc-contact-method>span.yc-wechat-action{color:#111;font-size:12px;white-space:nowrap}
 .yc-contact-method.is-copied>span.yc-wechat-action{color:var(--green)}
}

/* Fade the return-to-top control in and out without a display jump. */
.back-to-top{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease,visibility 0s .28s,background .18s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.back-to-top.is-visible:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none;transform:none}.back-to-top.is-visible:hover{transform:none}}

/* Keep mobile playback controls inside the hero image. */
@media(max-width:700px){
 .hc-hero{--hc-hero-image-height:270px}
 .hc-hero .hc-cover{height:var(--hc-hero-image-height)}
 .hc-hero .hc-carousel-controls{top:calc(var(--hc-hero-image-height) - 44px);bottom:auto}
}

/* First-pass site polish: blue for actions, green for support and reassurance. */
:root{--yc-support:var(--green);--yc-support-soft:#f2f9fd;--yc-support-line:#d8eaf4}
.ys-start{background:#f1f7fb;box-shadow:0 0 0 100vmax #f1f7fb}
.ya-audience{background:#f2f9fd;box-shadow:0 0 0 100vmax #f2f9fd}
.ys-start li::before,.yc-contact-sidebar li::before{background:var(--yc-support);border-color:var(--yc-support)}
.ys-start li:not(:last-child){border-color:var(--yc-support-line)}
.ys-service li::before{background:var(--yc-support)}
.ys-service-copy>.ys-kicker,.yp-step-heading>.ys-kicker{color:var(--hc-blue)!important}
.yp-step-body .yp-outcome{border-top:0;background:var(--yc-support-soft);border-radius:10px;padding:14px 16px;color:var(--yc-support)}
.yp-responsibilities>div:last-child h3,.ya-index{color:var(--yc-support)}
.ya-principle-grid article{border-top-color:var(--yc-support-line)}
.yp-policy-summary,.yc-contact-sidebar>section:first-child{background:var(--yc-support-soft)}
.yp-summary-note{border-color:var(--yc-support-line)!important}
.yp-policy-summary .hc-icon,.yp-outcome>.hc-icon{filter:invert(55%) sepia(87%) saturate(1616%) hue-rotate(121deg) brightness(94%) contrast(101%)}
.hc-hospital-city-label{display:inline-block;background:var(--yc-support-soft);color:var(--yc-support);border-radius:5px;padding:3px 8px}
.review-form .field-required{color:var(--yc-support);font-weight:600}
.page-shell .yc-link-card{text-decoration:none;border-color:#dfe9ef}
.page-shell .yc-link-card:hover{background:var(--yc-support-soft);border-color:var(--yc-support-line)}
.page-shell .yc-link-card:hover strong{text-decoration:underline;text-underline-offset:4px}
.page-shell .yc-link-card:focus-visible{outline:2px solid var(--hc-blue);outline-offset:3px}

/* Separate adjacent services without adding an outer rule. */
.ys-service + .ys-service{border-top:1px solid #d8eaf4}

/* Full-width services closing band, flush with the footer. */
body>main.yc-services-page{padding-bottom:0}
.hc-directory-consult.hc-closing-consult{border-radius:0;padding:36px 0;margin-bottom:0;background:#e8f3fa;box-shadow:0 0 0 100vmax #e8f3fa;clip-path:inset(0 -100vmax)}
@media(max-width:700px){.hc-directory-consult.hc-closing-consult{padding:28px 0}}
.hc-directory-consult.hc-closing-consult{flex-direction:column;align-items:center;text-align:center}

.review-form input::placeholder,.review-form textarea::placeholder{font-size:13px;font-weight:400;opacity:1}

.review-form [data-other-language][hidden]{display:none}

/* Larger service-card copy on phones, with natural wrapping. */
@media(max-width:700px){
 .hc-services .hc-service h3{font-size:21px}
 .hc-services .hc-service-body p{font-size:16px;line-height:1.75}
}

/* Inline link arrows use the exact text color rather than an image filter. */
.hc-text-link :is(svg,.yc-svg-icon).hc-icon{filter:none;fill:currentColor}

/* One exact arrow color across entry links, service navigation and CTAs. */
:is(svg,.yc-svg-icon).hc-icon.hc-arrow{filter:none!important;color:var(--hc-blue);fill:currentColor}
.hc-text-link :is(svg,.yc-svg-icon).hc-icon.hc-arrow,.hc-button :is(svg,.yc-svg-icon).hc-icon.hc-arrow,.hc-footer-expanded :is(svg,.yc-svg-icon).hc-icon.hc-arrow{color:inherit;filter:none}

/* Give the closing consultation heading more space above. */
.hc-directory-consult.hc-closing-consult{padding-top:56px;padding-bottom:56px}
@media(max-width:700px){.hc-directory-consult.hc-closing-consult{padding-top:48px;padding-bottom:48px}}

/* Service details and FAQ share full-width section headings. */
.yc-services-page .ys-practical>h2,.yc-services-page .ys-faq>h2{margin:0 0 28px}
.yc-services-page .ys-faq{display:block;padding:0 0 64px}
@media(max-width:600px){
 .yc-services-page .ys-practical>h2,.yc-services-page .ys-faq>h2{margin-bottom:22px}
 .yc-services-page .ys-practical article{padding:22px}
 .yc-services-page .ys-faq{padding-bottom:40px}
}

/* Mobile service introduction and separated service navigation rows. */
@media(max-width:700px){
 body .yc-services-page .ys-intro h1{text-wrap:wrap;white-space:normal}
 .yc-services-page .ys-nav{grid-template-columns:1fr;gap:0;border-bottom:1px solid #d8eaf4}
 .yc-services-page .ys-nav>a{padding:20px 0;border:0}
 .yc-services-page .ys-nav>a+a{border-top:1px solid #d8eaf4}
}

@media(max-width:700px){
 .hc-footer-brand>p{font-size:14px}
 .hc-footer-column li{font-size:13px}
}

/* Compact mobile footer: brand, contact, collapsible links, then legal details. */
.hc-footer-fold-toggle,.hc-footer-mobile-language{display:none}
.hc-footer-fold ul[hidden]{display:none}
@media(max-width:700px){
 .hc-footer-expanded{padding:32px 0 24px}
 .hc-footer-grid{display:flex;flex-direction:column;gap:0}
 .hc-footer-brand{order:0;padding-bottom:24px}
 .hc-footer-expanded .hc-footer-logo{display:block;width:auto;object-position:left center;margin-bottom:16px}
 .hc-footer-brand>p{max-width:100%;font-size:13px;line-height:1.75;margin:0}
 .hc-footer-brand>.hc-footer-international{display:none}
 .hc-footer-contact{order:1;padding:24px 0;border-top:1px solid #ffffff1c}
 .hc-footer-contact h2{font-size:15px;margin:0 0 16px}
 .hc-footer-contact ul{gap:12px}
 .hc-footer-contact .hc-icon{width:18px;height:18px;margin-top:2px}
 .hc-footer-contact .hc-footer-hours{margin:12px 0 0 30px}
 .hc-footer-fold{order:2;border-top:1px solid #ffffff1c;padding:0}
 .hc-footer-fold h2{margin:0;font-size:14px}
 .hc-footer-fold.is-ready h2>span{display:none}
 .hc-footer-fold-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:52px;padding:14px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
 .hc-footer-fold-cross{position:relative;flex:0 0 12px;width:12px;height:12px;pointer-events:none;color:rgba(255,255,255,.22)}
 .hc-footer-fold-cross::before,.hc-footer-fold-cross::after{content:'';position:absolute;left:0;top:5.25px;width:12px;height:1.5px;background:currentColor;border-radius:1px}
 .hc-footer-fold-cross::after{transform:rotate(90deg);transition:transform .24s ease,opacity .24s ease;opacity:1}
 .hc-footer-fold-toggle[aria-expanded=true] .hc-footer-fold-cross::after{transform:rotate(0);opacity:0}
 .hc-footer-fold-toggle:focus-visible{outline:2px solid #9edbfc;outline-offset:3px}
 .hc-footer-fold ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding-bottom:16px}
 .hc-footer-fold li a{display:block;padding:8px 0}
 .hc-footer-mobile-language{display:block;border-top:1px solid #ffffff1c;padding-top:20px}
 .hc-footer-mobile-language .hc-footer-international{font-size:12px}
 .hc-footer-legal{margin-top:20px;padding-top:18px;text-align:left;font-size:11px;line-height:1.8}
 .hc-footer-records>a{display:block;margin-top:4px}
 .hc-footer-records>span{display:none}
}

.hc-footer-social button.hc-social-icon{padding:0;cursor:pointer;background:transparent;font:inherit}
.hc-footer-wechat-dialog{border:0;border-radius:16px;padding:28px;max-width:calc(100vw - 40px);color:var(--hc-navy);text-align:center;box-shadow:0 18px 70px #0003}
.hc-footer-wechat-dialog::backdrop{background:#09234080}
.hc-footer-wechat-dialog h2{font-size:20px;margin:0 0 18px}
.hc-footer-wechat-dialog>img{display:block;width:220px;height:auto;max-width:100%;margin:auto}
.hc-footer-wechat-dialog>p{margin:14px 0 0;font-size:14px}
.hc-footer-qr-close{position:absolute;right:8px;top:6px;width:36px;height:36px;border:0;background:none;color:var(--green);font-size:28px;cursor:pointer}
@media(max-width:700px){.hc-footer-social{width:100%;justify-content:flex-start;margin:16px 0 0;flex-wrap:wrap}}
.hc-footer-wechat-dialog>form{display:contents;margin:0;padding:0;border:0;background:none;box-shadow:none}
.hc-footer-wechat-dialog .hc-footer-qr-close{min-height:0;padding:0;border-radius:0;box-shadow:none;transform:none}

@media(prefers-reduced-motion:reduce){.hc-footer-fold-cross::after{transition:none}}
@media(max-width:700px){
 .yc-services-page .ys-nav>a>.hc-icon:last-child{margin-left:auto;margin-right:0}
}

/* A light mobile backdrop keeps the contact panel in focus. */
.yc-contact-backdrop{display:none}
@media(max-width:700px){
 .yc-contact-backdrop{display:block;position:fixed;inset:0;z-index:44;background:rgba(9,35,64,.2);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s .2s}
 .yc-contact-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){.yc-contact-backdrop{transition:none}}

.header .menu :is(svg,.yc-svg-icon).hc-icon{color:var(--hc-blue);fill:currentColor;filter:none}

/* Align mobile header controls with the logo height. */
@media(max-width:700px){
 .header{--yc-header-control-height:32px}
 .header .lang-toggle,.header .menu{height:var(--yc-header-control-height);min-height:var(--yc-header-control-height);box-sizing:border-box;padding-block:0;align-items:center;justify-content:center}
 .header .menu{width:var(--yc-header-control-height);min-width:var(--yc-header-control-height)}
}
@media(max-width:360px){.header{--yc-header-control-height:29px}}
@media(max-width:700px){.yc-services-page .ys-nav{padding-block:0}}
@media(max-width:700px){.yc-services-page .ys-service+.ys-service{border-top:0}}

/* Service page spacing: one rhythm, without stacked section margins. */
.yc-services-page{--ys-section-space:64px;--ys-heading-space:28px}
.yc-services-page .ys-offerings{padding:var(--ys-section-space) 0}
.yc-services-page .ys-service{padding:48px 0;margin:0}
.yc-services-page .ys-service:first-child{padding-top:0}
.yc-services-page .ys-service:last-child{padding-bottom:0}
.yc-services-page .ys-start{margin:0 0 var(--ys-section-space);padding:48px 0}
.yc-services-page .ys-practical,.yc-services-page .ys-faq{padding:0 0 var(--ys-section-space);margin:0}
.yc-services-page .ys-start h2,.yc-services-page .ys-practical>h2,.yc-services-page .ys-faq>h2{margin:0 0 var(--ys-heading-space)}
@media(max-width:700px){
 .yc-services-page{--ys-section-space:40px;--ys-heading-space:24px}
 .yc-services-page .ys-service{padding:0;gap:24px}
 .yc-services-page .ys-service+.ys-service{margin-top:var(--ys-section-space)}
 .yc-services-page .ys-start{padding:32px 0;gap:24px}
}

/* Full-width pale background around the city hospital lists. */
.hc-directory-list-band{background:#f2f9fd;box-shadow:0 0 0 100vmax #f2f9fd;clip-path:inset(0 -100vmax);padding:48px 0;margin-bottom:56px}
.hc-directory-list-band>.hc-directory-city:last-child{margin-bottom:0}
@media(max-width:700px){.hc-directory-list-band{padding:32px 0;margin-bottom:40px}}

/* Hospital directory closing invitation, on the plain page background. */
.hc-resource-page .hc-directory-consult{background:transparent;border-radius:0;flex-direction:column;align-items:center;text-align:center}

/* Match the service page's closing-band vertical spacing. */
body>main.hc-resource-page{padding-bottom:0}
.hc-resource-page .hc-directory-list-band{margin-bottom:0}
.hc-resource-page .hc-directory-consult{padding:56px 0;margin-bottom:0}
@media(max-width:700px){.hc-resource-page .hc-directory-consult{padding:48px 0}}

/* Process-page visual cues: steps, responsibilities and tangible outcomes. */
.yp-step-symbol{position:relative;width:76px;margin-bottom:22px}
.yp-step-symbol>.hc-icon{width:68px;height:68px;filter:none;display:block}
.yp-step-badge{position:absolute;right:-4px;bottom:-4px;width:25px;height:25px;border-radius:50%;background:var(--hc-blue);border:3px solid #fff;display:grid;place-items:center;color:#fff;font-size:11px}
.yc-process-page .yp-step-body{background:transparent;padding:0;border-radius:0;align-self:start}
.yc-process-page .yp-responsibilities{gap:20px;align-items:stretch}
.yc-process-page .yp-responsibilities>div{padding:24px;background:#f2f9fd;border:1px solid #e0edf5;border-radius:14px}
.yc-process-page .yp-responsibilities h3{font-size:16px;margin:0 0 7px}
.yc-process-page .yp-responsibilities p{font-size:15px;line-height:1.85}
.yc-process-page .yp-step-body .yp-outcome{background:#f2f9fd;padding:18px 20px;margin-top:16px;border-left:3px solid var(--green);border-radius:0 10px 10px 0;color:var(--hc-muted);align-items:flex-start;font-size:14px}
.yc-process-page .yp-outcome strong{font-size:13px;margin-bottom:5px}
.yc-process-page .yp-outcome>.hc-icon{margin-top:2px}
.yc-process-page .yp-checklist>li{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid #dfebf2;border-radius:12px;padding:20px}
.yc-process-page .yp-checklist .yp-record-icon{width:30px;height:30px;flex:0 0 30px;margin-top:2px}
.yc-process-page .yp-checklist h3{margin:0 0 8px;font-size:16px}
.yc-process-page .yp-checklist p{font-size:14px;line-height:1.8}
@media(max-width:700px){
 .yp-step-symbol{margin-bottom:18px;width:66px}
 .yp-step-symbol>.hc-icon{width:58px;height:58px}
 .yc-process-page .yp-responsibilities{grid-template-columns:1fr;gap:12px}
 .yc-process-page .yp-responsibilities>div{padding:20px}
 .yc-process-page .yp-checklist{grid-template-columns:1fr;gap:14px}
}

/* Four process steps in a two-by-two grid. */
.yc-process-page .yp-journey{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px;padding:40px 0 64px}
.yc-process-page .yp-step{display:flex;flex-direction:column;gap:28px;padding:0 0 32px;border-bottom:1px solid #dfe9ef;min-width:0}
.yc-process-page .yp-step-heading{width:100%}
.yc-process-page .yp-step-body{width:100%;margin-top:auto}
.yc-process-page .yp-step-body .yp-outcome{background:transparent;border:0;border-radius:0;padding:0;margin:20px 0 0;text-align:left;justify-content:flex-start}
@media(max-width:700px){
 .yc-process-page .yp-journey{grid-template-columns:1fr;gap:32px;padding:32px 0 40px}
 .yc-process-page .yp-step{gap:24px;padding-bottom:32px}
 .yc-process-page .yp-step:last-child{border-bottom:0;padding-bottom:0}
}

/* Keep only the process introduction rule, and pair each icon with its title. */
.yp-process-divider{border-top:1px solid #d8eaf4}
.yp-step-title-row{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.yp-step-title-row .yp-step-symbol{flex:0 0 76px;margin-bottom:0}
.yp-step-title-row>div:last-child{min-width:0}
.yc-process-page .yp-step-title-row h2{margin:0;font-size:26px;line-height:1.4}
.yp-step-title-row .ys-kicker{margin-bottom:8px!important}
@media(max-width:700px){
 .yp-step-title-row{gap:16px}
 .yp-step-title-row .yp-step-symbol{flex-basis:66px}
 .yc-process-page .yp-step-title-row h2{font-size:22px}
}
.yc-process-page .yp-responsibilities{grid-template-columns:1fr}

/* Share row heights across adjacent steps, including variable-length copy. */
@media(min-width:701px){
 .yc-process-page .yp-journey{row-gap:24px}
 .yc-process-page .yp-step{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 3;gap:24px}
 .yc-process-page .yp-step-body,.yc-process-page .yp-responsibilities{display:contents}
 .yc-process-page .yp-step-body .yp-outcome{margin:0;align-self:start}
}

/* Process icons belong to the overview; detail headings share the left edge. */
.yp-overview>a>.yp-overview-icon{width:48px;height:48px;flex:0 0 48px;filter:none}
.yc-process-page .yp-step-title-row{display:block;text-align:left}
@media(max-width:700px){.yp-overview>a>.yp-overview-icon{width:38px;height:38px;flex-basis:38px}}

/* Oversized translucent step numbers beside the overview icons. */
.yp-overview>a{position:relative;padding-left:26px}
.yp-overview .yp-overview-index{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:64px;font-weight:700;font-style:italic;line-height:1;letter-spacing:-.06em;color:var(--hc-blue);opacity:.1;pointer-events:none}
@media(max-width:700px){
 .yp-overview>a{padding-left:18px}
 .yp-overview .yp-overview-index{font-size:46px}
}

/* Give each complete process step a clear, independent boundary. */
.yc-process-page .yp-journey{column-gap:28px;row-gap:24px}
.yc-process-page .yp-step{padding:28px;border:1px solid #d8e7f1;border-radius:18px;background:#fff;box-shadow:0 5px 22px rgba(9,35,64,.035)}
.yc-process-page .yp-responsibilities>div{border:0;border-radius:10px;padding:20px}
@media(max-width:700px){
 .yc-process-page .yp-journey{gap:24px}
 .yc-process-page .yp-step,.yc-process-page .yp-step:last-child{padding:24px 20px;border:1px solid #d8e7f1}
 .yc-process-page .yp-responsibilities>div{padding:18px}
}

/* Match the hospital list: full-width pale band with borderless white cards. */
.yc-process-page .yp-journey{background:#f2f9fd;box-shadow:0 0 0 100vmax #f2f9fd;clip-path:inset(0 -100vmax);padding-top:48px;padding-bottom:48px;margin-bottom:64px}
.yc-process-page .yp-step{border:0;box-shadow:0 4px 20px rgba(9,35,64,.04)}
@media(max-width:700px){
 .yc-process-page .yp-journey{padding-top:32px;padding-bottom:32px;margin-bottom:40px}
 .yc-process-page .yp-step,.yc-process-page .yp-step:last-child{border:0}
}
.yc-process-page .yp-overview{border-bottom:0}
/* Match the service navigation icon sizes. */
.yp-overview>a>.yp-overview-icon{width:64px;height:64px;flex-basis:64px}
@media(max-width:700px){.yp-overview>a>.yp-overview-icon{width:60px;height:60px;flex-basis:60px}}

.yc-process-page .yp-step-title-row{margin-bottom:0}

/* Keep each step as one white card, with rules separating responsibilities. */
.yc-process-page .yp-responsibilities>div{background:transparent;border:0;border-top:1px solid #d8eaf4;border-radius:0;padding:20px 0 0}
@media(max-width:700px){.yc-process-page .yp-responsibilities>div{padding:18px 0 0}}
.yc-process-page .yp-responsibilities>div:last-child{border-bottom:0;padding-bottom:0}

.yc-process-page .yp-preparation{background:transparent;box-shadow:none}

/* Process-page supporting sections follow the services page layout rhythm. */
.yc-process-page{--yp-section-space:64px;--yp-heading-space:28px}
.yc-process-page .yp-preparation{display:block;padding:0 0 var(--yp-section-space);margin:0;background:transparent;box-shadow:none;clip-path:none}
.yc-process-page .yp-preparation>div{margin-bottom:28px;max-width:780px}
.yc-process-page .yp-preparation h2{margin:0 0 20px}
.yc-process-page .yp-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.yc-process-page .yp-checklist>li{background:#f2f9fd;border:0;padding:24px;border-radius:14px}
.yc-process-page .yp-practical{padding:0 0 var(--yp-section-space)}
.yc-process-page .yp-practical>h2,.yc-process-page .ys-faq>h2{margin:0 0 var(--yp-heading-space)}
.yc-process-page .ys-faq{display:block;padding:0 0 var(--yp-section-space)}
body>main.yc-process-page{padding-bottom:0}
@media(max-width:700px){
 .yc-process-page{--yp-section-space:40px;--yp-heading-space:24px}
 .yc-process-page .yp-preparation>div{margin-bottom:24px}
 .yc-process-page .yp-checklist{grid-template-columns:1fr;gap:16px}
 .yc-process-page .yp-checklist>li{padding:22px}
 .yc-process-page .yp-practical>div{grid-template-columns:1fr;gap:16px}
}
/* Match the services closing invitation's internal spacing. */

/* Shared closing typography prevents page-wide heading rules changing its spacing. */
.hc-directory-consult.hc-closing-consult h2{font-size:36px;line-height:1.3;margin:0 0 12px;font-weight:700}
.hc-directory-consult.hc-closing-consult p{font-size:16px;line-height:1.8;margin:0}
.hc-directory-consult.hc-closing-consult{gap:28px}

/* Match the homepage closing heading at each responsive breakpoint. */
@media(max-width:1150px){.hc-directory-consult.hc-closing-consult h2{font-size:30px}}
@media(max-width:700px){.hc-directory-consult.hc-closing-consult h2{font-size:27px;line-height:1.35}}
@media(min-width:1100px){.hc-directory-consult.hc-closing-consult h2{font-size:42px}}

/* About: platform capabilities within the existing page typography. */
.ya-app-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ya-app-points article{border-top:2px solid var(--yc-support-line);padding-top:22px}
.ya-app-points p{margin:0}
.ya-app+.ya-group{padding-top:0}
.ya-audience>.hc-text-link{margin-top:28px}
@media(max-width:700px){.ya-app-points{grid-template-columns:1fr;gap:24px}}

/* About page: consistent reading order and spacing. */
.yc-about-page .ya-section-heading{display:block;max-width:850px;margin-bottom:28px}
.yc-about-page .ya-section-heading h2{margin:0 0 20px}
.yc-about-page .ya-section-heading>p{padding:0;margin:0}
.yc-about-page .ya-section-heading .ys-kicker{margin:0 0 12px}
.yc-about-page .ya-group>p{max-width:850px;margin:0 0 28px}
.yc-about-page .ya-story{padding-bottom:64px}
.yc-about-page .ya-audience{padding:56px 0}
.yc-about-page .ya-app{padding:48px 40px;margin:64px 0;background:#f2f9fd;border-radius:16px}
.yc-about-page .ya-app .ya-section-heading{margin:0;max-width:850px}
.yc-about-page .ya-app .ya-section-heading>p{margin:0}
.yc-about-page .ya-group:not(.ya-app){padding:0 0 64px}
.yc-about-page .ya-principles{padding:56px 0;border-top:0;border-bottom:0}
.yc-about-page .ya-principle-grid{margin-bottom:0}
.yc-about-page .ya-card-grid{gap:36px}
.yc-about-page .ya-contact{margin-bottom:0}
.yc-about-page .hc-trust{padding-top:12px}
@media(max-width:700px){
 .yc-about-page .ya-story{padding-bottom:40px}
 .yc-about-page .ya-audience{padding:36px 0}
 .yc-about-page .ya-card-grid{gap:28px}
 .yc-about-page .ya-app{padding:28px 24px;margin:40px 0;border-radius:14px}
 .yc-about-page .ya-group:not(.ya-app){padding-bottom:40px}
 .yc-about-page .ya-principles{padding:36px 0}
 .yc-about-page .ya-section-heading{margin-bottom:24px}
}

/* Shared full-width introduction background; pages supply only the artwork. */
.ya-intro-banner{--intro-art:url('images/about-intro.webp')}
.yg-intro-banner{--intro-art:url('images/guides-intro.webp')}
.yc-intro-banner{position:relative}
.yc-intro-banner::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;transform:translateX(-50%);top:-28px;width:100vw;height:calc(100% + 28px);background-image:var(--intro-art);background-position:right center;background-size:auto var(--intro-art-height,94%);background-repeat:no-repeat;opacity:.45;mask-image:linear-gradient(to right,transparent 40%,#000 78%);-webkit-mask-image:linear-gradient(to right,transparent 40%,#000 78%)}
.yc-intro-banner .ys-intro{position:relative}
/* Fade from the artwork's own edge, rather than the viewport's edge. */
.ya-intro-banner::before{left:auto;right:calc(50% - 50vw);transform:none;top:50%;translate:0 -50%;width:auto;height:340px;aspect-ratio:3840 / 904;background-size:100% 100%;mask-image:linear-gradient(to right,transparent 0%,#000 35%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 35%)}
@media(max-width:1000px){.yc-intro-banner::before{background-size:auto 82%;opacity:.3}}
@media(max-width:700px){.yc-intro-banner::before{top:-20px;height:calc(100% + 20px);background-size:auto 180px;background-position:right bottom;opacity:.16;mask-image:linear-gradient(to right,transparent,#000 80%);-webkit-mask-image:linear-gradient(to right,transparent,#000 80%)}}
@media(max-width:1000px){.ya-intro-banner::before{height:280px;background-size:100% 100%}}
@media(max-width:700px){.ya-intro-banner::before{top:auto;bottom:0;translate:none;height:180px;background-size:100% 100%;mask-image:linear-gradient(to right,transparent,#000 35%);-webkit-mask-image:linear-gradient(to right,transparent,#000 35%)}}

/* Process uses the shared automatic-height introduction background. */
.yp-intro-banner{--intro-art:url('images/process-intro.webp')}

/* Keep overflowing introduction artwork behind all page content. */
.yc-about-page,.yc-process-page,.yc-services-page,.hc-resource-page,.page-shell{isolation:isolate}

/* Services and hospitals share the same full-width introduction behavior. */
.yb-services-intro{--intro-art:url('images/services-intro.webp');--intro-ratio:3840 / 1280}
.yb-hospitals-intro{--intro-art:url('images/hospitals-intro.webp');--intro-ratio:3840 / 1280}

/* About: direct transition between capabilities, group and principles. */
.yc-about-page .ya-audience+.ya-group{padding-top:56px}
.yc-about-page .ya-group:not(.ya-app){padding-bottom:0}
.yc-about-page .ya-principles{padding-top:40px}
@media(max-width:700px){
 .yc-about-page .ya-audience+.ya-group{padding-top:36px}
 .yc-about-page .ya-principles{padding-top:28px}
}
/* About closing invitation connects directly to the footer. */
body>main.yc-about-page{padding-bottom:0}

/* About ends with its principles; keep the remaining sections evenly spaced. */
.yc-about-page .ya-story+.ya-group{padding-top:0}

/* Covers for videos that YouTube will only show on its own site. */
.hc-video-preview{display:block;position:absolute;inset:0;background:#101010}
.hc-video-preview img{display:block;width:100%;height:100%;object-fit:cover}
.hc-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px}
.hc-video-play :is(svg,.yc-svg-icon){display:block;width:100%;height:100%}
.hc-video-preview:focus-visible{outline:3px solid #008ee8;outline-offset:-3px}

/* A brief reading reminder, secondary to the guide content. */
.page-content .yg-reading-note{font-size:14px;line-height:1.8;color:#657b8b;margin:16px 0 0;padding:0;background:none;border:0}

/* Illustrated patient guide directory. */
.yc-guides-directory .page-wrap{width:min(1280px,calc(100% - 96px))}
.yc-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;margin:28px 0 56px}
.yc-guide-card{display:flex;flex-direction:column;color:var(--hc-navy);text-decoration:none;border:0;background:#fff;min-width:0}
.yc-guide-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#f5faff}
.yc-guide-copy{display:flex;flex-direction:column;flex:1;padding:22px 0 0}
.entry-content .yc-guide-copy h3{font-size:21px;line-height:1.45;margin:0 0 12px;color:var(--hc-navy);font-weight:700}
.entry-content .yc-guide-copy p{font-size:16px;line-height:1.8;color:var(--hc-muted);margin:0 0 20px}
.yc-guide-read{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;color:var(--hc-blue);font-size:15px;font-weight:600}
.yc-guide-read :is(svg,.yc-svg-icon),.yc-guide-read img{width:20px;height:20px;transition:transform .2s ease}
.yc-guide-card:hover .yc-guide-read :is(svg,.yc-svg-icon){transform:translateX(4px)}
.yc-guide-card:focus-visible{outline:2px solid var(--hc-blue);outline-offset:8px;border-radius:4px}
@media(max-width:1100px){.yc-guides-directory .page-wrap{width:calc(100% - 64px)}.yc-guide-grid{gap:32px 24px}.entry-content .yc-guide-copy h3{font-size:19px}}
@media(max-width:700px){.yc-guides-directory .page-wrap{width:calc(100% - 40px)}.yc-guide-grid{grid-template-columns:minmax(0,1fr);gap:36px;margin:24px 0 40px}.yc-guide-copy{padding-top:18px}.entry-content .yc-guide-copy h3{font-size:21px}.entry-content .yc-guide-copy p{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.yc-guide-read :is(svg,.yc-svg-icon){transition:none}}
.yc-guide-card{position:relative}
.entry-content .yc-guide-card h3 a{color:inherit;text-decoration:none}
.yc-guide-card h3 a::after{content:'';position:absolute;inset:0;border-radius:12px}
.yc-guide-card h3 a:focus-visible{outline:0}
.yc-guide-card:focus-within{outline:2px solid var(--hc-blue);outline-offset:8px;border-radius:4px}
.yc-guide-card>p:empty,.yc-guide-copy>p:empty{display:none}
.yc-guide-copy>p:last-child{margin-top:auto;margin-bottom:0}
.yc-guides-directory .entry-content .yc-guide-copy>p{font-size:16px;line-height:1.8}
.yc-guides-directory .entry-content .yc-guide-copy>p:last-child{margin-top:auto;margin-bottom:0}

.hc-strength-grid.hc-strength-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){
 .hc-strength-grid.hc-strength-grid-three{grid-template-columns:minmax(0,1fr);gap:24px}
 .hc-strength-grid-three .hc-strength-item,.hc-strength-grid-three .hc-strength-item:first-child{padding-inline:0;border-left:0}
}

/* Separate the guide directory from its reading advice. */
.yc-guides-directory .yc-section+.yc-section{border-top:1px solid #dbe7ef;padding-top:40px}
@media(max-width:700px){.yc-guides-directory .yc-section+.yc-section{padding-top:28px}}

/* Decorative numbering for the four process detail cards. */
.yc-process-page .yp-step{position:relative}
.yc-process-page .yp-card-index{position:absolute;top:18px;right:34px;min-width:1em;padding:0 .15em 0 0;font-size:80px;font-weight:700;font-style:italic;line-height:1.2;letter-spacing:0;text-align:right;overflow:visible;color:var(--hc-blue);opacity:.1;pointer-events:none;user-select:none}
.yc-process-page .yp-step-heading{padding-right:76px}
@media(max-width:700px){
 .yc-process-page .yp-card-index{top:16px;right:20px;font-size:60px}
 .yc-process-page .yp-step-heading{padding-right:56px}
}

/* Mobile heroes move horizontally; desktop keeps the existing crossfade. */
@media(max-width:700px){
 .hc-carousel-ready .hc-hero-slide,.hc-carousel-ready .hc-hero-slide.is-active{transition:none}
}

/* Stack process navigation only on mobile; desktop retains four columns. */
@media(max-width:700px){
 .yc-process-page .yp-overview{grid-template-columns:minmax(0,1fr);gap:24px}
 .yc-process-page .yp-overview>a>.yp-overview-icon{margin-left:0}
}

/* Mobile H1 titles wrap to the available width rather than balanced lines. */
@media(max-width:700px){
 body h1,body h1 span{white-space:normal!important;text-wrap:wrap!important;word-break:normal;overflow-wrap:break-word}
 body h1 span{display:inline!important}
 body h1 br{display:none}
}

/* Mobile process navigation: number sits immediately before the arrow. */
@media(max-width:700px){
 .yc-process-page .yp-overview>a{padding-left:0;gap:16px;font-size:18px;line-height:1.5}
 .yc-process-page .yp-overview .yp-overview-index{position:static;left:auto;top:auto;transform:none;order:2;margin-left:auto;flex:0 0 auto;min-width:.9em;padding:0 .15em 0 0;line-height:1.2;letter-spacing:0;text-align:right;overflow:visible}
 .yc-process-page .yp-overview>a>.hc-arrow{display:none}
 .yc-process-page .yp-overview>a>.yp-overview-icon{order:0;width:52px;height:52px;flex-basis:52px}
 .yc-process-page .yp-overview>a>span:not(.yp-overview-index):not(.hc-icon){order:1;min-width:0}
}

/* Separate mobile process navigation steps, leaving the final row open. */
@media(max-width:700px){
 .yc-process-page .yp-overview>a:not(:last-child){padding-bottom:24px;border-bottom:1px solid #d8eaf4}
}

/* Keep desktop headings compact; lift decorative numerals above the rule. */
@media(min-width:701px){
 .yc-process-page .yp-card-index{top:0}
}

/* One complete card per step, combining the icon, title and responsibilities. */
.yc-process-page .yp-step-title-row{display:flex;align-items:center;gap:18px;text-align:left}
.yc-process-page .yp-step-title-row>.yp-card-icon{width:56px;height:56px;flex:0 0 56px;filter:none;margin:0}
.yc-process-page .yp-step-title-row>div{min-width:0}
@media(max-width:700px){
 .yc-process-page .yp-step-title-row{gap:14px}
 .yc-process-page .yp-step-title-row>.yp-card-icon{width:44px;height:44px;flex-basis:44px}
}

/* Desktop numerals share the title row's vertical center. */
@media(min-width:701px){
 .yc-process-page .yp-step-heading{padding-right:0}
 .yc-process-page .yp-step-title-row>.yp-card-index{position:static;top:auto;right:auto;transform:none;margin-left:auto;flex:0 0 auto;font-size:64px}
}

/* Tighten desktop card headings by 10px above and below. */
@media(min-width:701px){
 .yc-process-page .yp-step{padding-top:18px}
 .yc-process-page .yp-step-heading{margin-bottom:-10px}
}

/* Home process: a single-column vertical timeline. */
@media(max-width:700px){
.care-home .hc-steps{grid-template-columns:minmax(0,1fr);gap:0;max-width:880px}
.care-home .hc-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:24px;row-gap:8px;align-items:start;text-align:left;padding:0 0 32px}
.care-home .hc-steps .hc-step-number{grid-column:1;grid-row:1 / span 2;width:48px;height:48px;margin:0;font-size:22px;position:relative;z-index:1}
.care-home .hc-steps h3{grid-column:2;margin:8px 0 0;font-size:21px;line-height:1.5}
.care-home .hc-steps p{grid-column:2;max-width:none;margin:0;font-size:16px;line-height:1.8;text-wrap:wrap}
.care-home .hc-steps li:not(:last-child)::after{display:block;top:60px;bottom:12px;left:23px;right:auto;width:1px;height:auto;background:#c8dfea}
.care-home .hc-steps li:last-child{padding-bottom:0}
.care-home .hc-steps li:last-child::before,.care-home .hc-steps li:last-child::after{display:none}
@media(max-width:700px){
 .care-home .hc-steps li{grid-template-columns:44px minmax(0,1fr);column-gap:18px;padding-bottom:28px}
 .care-home .hc-steps .hc-step-number{width:44px;height:44px;font-size:20px}
 .care-home .hc-steps h3{margin-top:7px;font-size:19px}
 .care-home .hc-steps p{font-size:15px}
 .care-home .hc-steps li:not(:last-child)::after{top:56px;left:21px;bottom:12px}
 .care-home .hc-steps li:last-child{padding-bottom:0}
}

}

/* Give the desktop hero description room for the expanded service summary. */
@media(min-width:1001px){
 .care-home .hc-hero-copy>p{width:560px;max-width:calc(100vw - 48px)}
}

/* Chinese home headline always uses its two authored lines. */
html[lang^='zh'] .care-home .hc-hero-copy h1{white-space:nowrap!important;text-wrap:nowrap!important}
html[lang^='zh'] .care-home .hc-hero-copy h1 br{display:block}
html[lang^='zh'] .care-home .hc-hero-copy h1 span{display:inline!important;white-space:nowrap!important;text-wrap:nowrap!important}
@media(max-width:700px){
 html[lang^='zh'] .care-home .hc-hero-copy h1{font-size:clamp(26px,8vw,32px)}
}

/* Match both Chinese carousel headlines: two lines without punctuation. */
html[lang^='zh'] .care-home .hc-hero-copy h2.hc-hero-heading{white-space:nowrap!important;text-wrap:nowrap!important}
html[lang^='zh'] .care-home .hc-hero-copy h2.hc-hero-heading br{display:block}
html[lang^='zh'] .care-home .hc-hero-copy h2.hc-hero-heading span{white-space:nowrap!important}
@media(max-width:700px){
 html[lang^='zh'] .care-home .hc-hero-copy h2.hc-hero-heading{font-size:clamp(26px,8vw,32px)}
}

/* Policy text dialog; the surrounding website is intentionally omitted. */
html.yc-privacy-open{overflow:hidden}
.yc-privacy-dialog{width:min(800px,calc(100% - 40px));max-width:none;max-height:85dvh;margin:auto;padding:0;border:0;border-radius:18px;color:var(--hc-navy);background:#fff;box-shadow:0 20px 80px rgba(0,0,0,.2)}
.yc-privacy-dialog::backdrop{background:rgba(8,30,48,.55)}
.yc-privacy-dialog:not([open]){display:none}
.yc-privacy-dialog-shell{display:flex;flex-direction:column;max-height:85dvh}
.yc-privacy-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-bottom:1px solid #d8eaf4;flex-shrink:0}
.yc-privacy-dialog-header h2{font-size:24px;margin:0;line-height:1.4}
.yc-privacy-dialog-header button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:#f0f7fb;color:var(--hc-navy);font-size:30px;cursor:pointer}
.yc-privacy-dialog-content{padding:24px 28px;overflow-y:auto;overscroll-behavior:contain;min-height:0;font-size:15px;line-height:1.85}
.yc-privacy-dialog-content .yp-policy-section{scroll-margin-top:0;padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid #d8eaf4}
.yc-privacy-dialog-content h2{font-size:20px;line-height:1.5;margin:0 0 14px}
.yc-privacy-dialog-content p,.yc-privacy-dialog-content ul{margin:0 0 14px}
.yc-privacy-dialog-content .yp-policy-date{font-size:13px;color:var(--hc-muted);display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:24px}
.yc-privacy-dialog-footer{padding:16px 28px;border-top:1px solid #d8eaf4;flex-shrink:0;font-size:14px}
.yc-privacy-dialog a{color:var(--hc-blue);text-decoration:underline}
@media(max-width:700px){
 .yc-privacy-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}
 .yc-privacy-dialog-shell{height:100%;max-height:100dvh}
 .yc-privacy-dialog-header{padding:calc(12px + env(safe-area-inset-top)) 20px 12px}
 .yc-privacy-dialog-content{padding:20px;flex:1}
 .yc-privacy-dialog-footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom))}
}

/* Center the close mark geometrically and use equal top/right insets. */
.yc-privacy-dialog-header{position:relative;min-height:84px;padding:20px 80px 20px 28px}
.yc-privacy-dialog-header [data-privacy-close]{position:absolute;top:20px;right:20px;width:44px;height:44px;font-size:0;line-height:0}
.yc-privacy-dialog-header [data-privacy-close]::before,.yc-privacy-dialog-header [data-privacy-close]::after{content:'';position:absolute;top:50%;left:50%;width:18px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.yc-privacy-dialog-header [data-privacy-close]::after{transform:translate(-50%,-50%) rotate(-45deg)}
@media(max-width:700px){
 .yc-privacy-dialog-header{min-height:calc(76px + env(safe-area-inset-top));padding:calc(16px + env(safe-area-inset-top)) 76px 16px 20px}
 .yc-privacy-dialog-header [data-privacy-close]{top:calc(16px + env(safe-area-inset-top));right:16px}
}

/* Mobile policy dialog leaves a dimmed frame around the rounded panel. */
@media(max-width:700px){
 .yc-privacy-dialog{width:calc(100% - 32px);height:auto;max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px}
 .yc-privacy-dialog-shell{height:auto;max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .yc-privacy-dialog-header{min-height:76px;padding:16px 76px 16px 20px}
 .yc-privacy-dialog-header [data-privacy-close]{top:16px;right:16px}
 .yc-privacy-dialog-footer{padding:14px 20px}
}

/* Enquiry submission confirmation. */
html.yc-enquiry-success-open{overflow:hidden}
.yc-enquiry-success{box-sizing:border-box;width:min(460px,calc(100% - 40px));max-height:calc(100dvh - 48px);overflow-y:auto;margin:auto;padding:36px 32px 30px;border:0;border-radius:22px;background:#fff;color:var(--hc-navy);text-align:center;box-shadow:0 24px 80px rgba(8,30,48,.2)}
.yc-enquiry-success::backdrop{background:rgba(8,30,48,.55)}
.yc-enquiry-success:not([open]){display:none}
.yc-enquiry-success-mark{display:block;position:relative;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:#e7f8f1}
.yc-enquiry-success-mark::after{content:'';position:absolute;left:24px;top:17px;width:14px;height:25px;border:solid #00b884;border-width:0 3px 3px 0;transform:rotate(45deg)}
.yc-enquiry-success h2{font-size:26px;line-height:1.4;margin:0 0 14px}
.yc-enquiry-success p{font-size:16px;line-height:1.85;color:var(--hc-muted);margin:0 0 26px}
.yc-enquiry-success .hc-button{display:flex;width:100%;justify-content:center;min-height:48px}
@media(max-width:700px){.yc-enquiry-success{padding:30px 24px 24px;border-radius:18px}.yc-enquiry-success h2{font-size:23px}.yc-enquiry-success p{font-size:15px}}

/* Focus the contact page on its form; retain next-step guidance below it. */
.yc-contact-page .yc-contact-layout{grid-template-columns:minmax(0,1fr);max-width:960px;margin-inline:auto;gap:32px}
.yc-contact-page .yc-contact-sidebar{grid-template-columns:minmax(0,1fr)}
.yc-contact-page .yc-contact-emergency{font-size:13px;line-height:1.7;color:var(--hc-muted);margin:20px 0 0}
