/* Scoped to About and Facilities. Shared service pages remain unchanged. */
.clinic-page { background: #f8f7f4; }
.clinic-page .kc-toc,.clinic-page .kc-faq { background: #e8dfd5; }
.clinic-page .kc-clinic,.clinic-page .kc-arrival { background: #f2eee7; }
.clinic-page .kc-portrait figcaption { background: #fbfaf7ed; }
.clinic-page main { --kc-green: #173f36; --kc-muted: #5d685d; --kc-line: #d3d9cb; color: #4e5e52; }
.kc-wrap { width: min(1380px,100%); margin-inline: auto; padding-inline: clamp(24px,5vw,80px); }
.kc-section { padding-block: clamp(64px,8vw,108px); }
.clinic-page main h1,.clinic-page main h2,.clinic-page main h3 { color: var(--kc-green); }
.clinic-page main h1,.clinic-page main h2 { text-wrap: balance; }
.clinic-page main h2 { font-size: clamp(2.2rem,3.7vw,3.5rem); line-height: 1.1; letter-spacing: -.035em; }
.clinic-page main h3 { font-size: 1.7rem; line-height: 1.22; }
.clinic-page main p { line-height: 1.8; }
.clinic-page main a:focus-visible,.clinic-page summary:focus-visible { outline: 3px solid #83945e; outline-offset: 5px; }
.kc-kicker { color: #596a49; font: 600 .68rem/1.6 var(--sans); text-transform: uppercase; letter-spacing: .15em; margin: 0 0 20px; }
.kc-crumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: .7rem; color: #67725f; padding-block: 30px; }
.kc-crumb a:hover { text-decoration: underline; }.kc-crumb>span:nth-child(2) { color: #9ca88e; }
.kc-about-hero { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(40px,8vw,112px); padding-bottom: 64px; }
.kc-about-hero>* { min-width: 0; }
.kc-hero-copy { padding-block: 35px; }.clinic-page main h1 { font-size: clamp(3.4rem,5.3vw,5.5rem); line-height: 1.03; letter-spacing: -.055em; }
.clinic-page main h1 em { display: block; font-weight: 400; color: #687854; }
.kc-hero .kc-lead { font-size: 1.03rem; max-width: 48ch; margin: 28px 0; }
.kc-hero .btn-row { margin-top: 30px; align-items: center; gap: 25px; }
.kc-hero-note { font-size: .75rem; margin: 30px 0 0; color: #65735f; }
.kc-link { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: .88rem; font-weight: 500; color: #214f3e; border-bottom: 1px solid #c3cfb8; padding-block: 12px; }
.kc-link>span:last-child { flex: 0 0 auto; transition: transform .2s; }.kc-link:hover>span:last-child { transform: translate(2px,-2px); }.kc-link:hover { border-color: #496c46; }
.kc-portrait { position: relative; margin: 0; height: 580px; }
.kc-portrait img { height: 100%; width: 100%; object-fit: cover; object-position: 50% 36%; border-radius: 160px 4px 4px 4px; }
.kc-portrait figcaption { position: absolute; bottom: 20px; left: 20px; right: 20px; padding: 16px 20px; background: #f0ece3ed; color: #3f5642; font-size: .73rem; }
.kc-toc { border-block: 1px solid var(--kc-line); background: #ebe6db; }
.kc-toc .kc-wrap { display: flex; gap: 45px; align-items: baseline; padding-block: 23px; }.kc-toc p { font-size: .65rem; color: #65715a; margin: 0; text-transform: uppercase; letter-spacing: .1em; flex-shrink: 0; }.kc-toc .kc-wrap>div { display: flex; flex-wrap: wrap; gap: 10px 30px; }.kc-toc a { font-size: .8rem; color: #315241; }.kc-toc a:hover { text-decoration: underline; text-underline-offset: 5px; }
.kc-heading { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: clamp(40px,9vw,130px); }
.kc-heading p:not(.kc-kicker) { margin: 0 0 18px; font-size: .95rem; }.kc-heading p:last-child { margin-bottom: 0; }.kc-heading .kc-lead { color: #2b503f; font-size: 1.13rem !important; }
.kc-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px; margin-top: 64px; }
.kc-principles article { border-top: 1px solid var(--kc-line); padding-top: 24px; }.kc-principles article>span,.kc-number { display: block; font-size: .7rem; color: #698258; margin-bottom: 26px; letter-spacing: .12em; }.kc-principles h3 { font-size: 1.5rem !important; }.kc-principles p { font-size: .88rem; margin: 16px 0 0; }
.kc-care { background: #173f36; }.clinic-page .kc-care h2,.clinic-page .kc-care h3 { color: #f5f6ed; }.kc-care .kc-kicker { color: #c0d1ab; }.kc-care .kc-heading>p { color: #d0dccd; }
.kc-care-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; margin-top: 55px; }.kc-care-grid article { border-top: 1px solid #779078; padding-top: 26px; display: flex; flex-direction: column; }.kc-care-grid h3 { font-size: 1.7rem; }.kc-care-grid p { font-size: .88rem; color: #cfdbcc; margin: 20px 0 28px; }.kc-care-grid article>div { margin-top: auto; }.kc-care .kc-link { color: #e4eddc; border-color: #517463; font-size: .82rem; }.kc-care .kc-link:hover { border-color: #c9dab4; }
.kc-centered { text-align: center; max-width: 750px; margin-inline: auto; }
.kc-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; list-style: none; margin: 60px 0 0; padding: 0; counter-reset: none; }.kc-steps li>span { display: block; font: 2.8rem/1 var(--serif); color: #849268; border-bottom: 1px solid var(--kc-line); padding-bottom: 25px; margin-bottom: 26px; }.kc-steps h3 { font-size: 1.5rem !important; }.kc-steps p { font-size: .88rem; margin: 17px 0 0; }
.kc-clinic { background: #e7e2d6; }.kc-image-story { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px,7vw,100px); align-items: center; }.kc-image-story figure { margin: 0; height: 480px; }.kc-image-story img { height: 100%; width: 100%; object-fit: cover; border-radius: 4px 4px 110px 4px; }.kc-image-story p:not(.kc-kicker) { font-size: .92rem; margin: 24px 0; }.kc-image-story .kc-location-note { font-size: .8rem !important; line-height: 2; }.kc-image-story .kc-link { max-width: 320px; }
.kc-facilities-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: end; padding-block: 22px 45px; }.kc-facilities-heading h1 { font-size: clamp(3rem,4.6vw,4.6rem) !important; }.kc-facilities-heading .kc-lead { margin: 0; font-size: .96rem; }.kc-facilities-heading .btn-row { margin-top: 20px; }.kc-facilities-hero { padding-bottom: 45px; }
.kc-wide-photo { margin: 0; }.kc-wide-photo img { width: 100%; height: clamp(320px,36vw,530px); object-fit: cover; object-position: center 52%; border-radius: 3px; }.kc-wide-photo figcaption { display: flex; flex-wrap: wrap; gap: 10px 25px; justify-content: space-between; font-size: .7rem; color: #607052; padding-top: 15px; }
.kc-room-story { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(45px,7vw,100px); align-items: center; margin-top: 70px; }.kc-room-story figure { margin: 0; }.kc-room-story img { width: 100%; aspect-ratio: 1.25; object-fit: cover; border-radius: 3px; }.kc-room-story figcaption { font-size: .69rem; color: #69745d; padding-top: 14px; }.kc-room-story h3 { font-size: 2.3rem !important; letter-spacing: -.025em; }.kc-room-story p { font-size: .9rem; margin-block: 22px; }.kc-room-story--reverse { grid-template-columns: .85fr 1.15fr; }.kc-room-story--reverse figure { grid-column: 2; grid-row: 1; }.kc-room-story--reverse>div { grid-column: 1; grid-row: 1; }.kc-room-story .kc-inbody-photo img { aspect-ratio: 1.2; object-position: center 58%; border-radius: 4px 110px 4px 4px; }
.kc-room-note { display: grid; grid-template-columns: 45px 1fr 220px; gap: 28px; border-top: 1px solid var(--kc-line); margin-top: 60px; padding-top: 30px; align-items: baseline; }.kc-room-note p { font-size: .88rem; max-width: 70ch; margin: 18px 0 0; }.kc-room-note .kc-link { align-self: center; }
.kc-arrival { background: #e7e2d6; }.kc-exterior { margin: 45px 0 0; }.kc-exterior img { width: 100%; aspect-ratio: 2.25; object-fit: cover; object-position: center 58%; border-radius: 3px; }.kc-arrival-grid { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(45px,10vw,150px); margin-top: 45px; }.kc-arrival-grid h3 { margin-bottom: 22px; }.kc-arrival-grid address { font-style: normal; line-height: 1.8; font-size: .95rem; max-width: 40ch; }.kc-arrival-grid p { font-size: .87rem; margin-top: 20px; }.kc-arrival-grid .kc-link { max-width: 330px; }.kc-arrival-grid dl { margin: 0 0 22px; font-size: .8rem; }.kc-arrival-grid dl>div { display: flex; align-items: baseline; gap: 25px; justify-content: space-between; padding-block: 16px; border-bottom: 1px solid #cbd3c2; }.kc-arrival-grid dd { margin: 0; text-align: right; line-height: 1.8; }.kc-arrival-grid dd span { display: block; color: #64735f; font-size: .73rem; }.kc-contact { display: block; font-size: .82rem; margin-top: 14px; color: #2a543e; overflow-wrap: anywhere; }.kc-contact:hover { text-decoration: underline; }
.kc-prep-grid { display: grid; grid-template-columns: .8fr 1fr; gap: clamp(45px,10vw,140px); align-items: start; }.kc-prep-grid>div>p:not(.kc-kicker) { font-size: .9rem; margin-block: 25px; }.kc-prep-grid .kc-link { max-width: 210px; }.kc-prep-list article { border-top: 1px solid var(--kc-line); padding: 25px 0; }.kc-prep-list h3 { font-family: var(--sans); font-size: .98rem !important; font-weight: 600; }.kc-prep-list p { font-size: .88rem; margin: 14px 0 0; }
.kc-faq { background: #e7e2d6; }.kc-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }.kc-faq details { border-bottom: 1px solid #cad3c1; }.kc-faq details:first-child { border-top: 1px solid #cad3c1; }.kc-faq summary { list-style: none; display: flex; justify-content: space-between; gap: 24px; align-items: baseline; padding: 24px 0; font-size: .94rem; color: #254a3a; cursor: pointer; font-weight: 500; }.kc-faq summary::-webkit-details-marker { display: none; }.kc-faq summary span { flex-shrink: 0; font-size: 1.25rem; }.kc-faq details[open] summary span { transform: rotate(45deg); }.kc-faq details p { margin: 0; padding: 0 24px 25px 0; font-size: .89rem; }
.kc-final { background: #173f36; padding-block: 85px; text-align: center; }.kc-final .kc-kicker { color: #bfd0ab; }.clinic-page .kc-final h2 { color: #f6f7ed; max-width: 20ch; margin-inline: auto; }.kc-final p:not(.kc-kicker) { color: #d0dfcb; font-size: .95rem; max-width: 46ch; margin: 28px auto; }.kc-final .btn-row { justify-content: center; gap: 30px; align-items: center; }.kc-light-link { color: #edf4e2; border-bottom: 1px solid #829879; padding-block: 12px; font-size: .85rem; }
.clinic-page .site-footer { border-top: 1px solid #ffffff20; }
.kc-final .btn--mint { background: #dce8cc; color: #173f36; border-color: #dce8cc; }.kc-final .btn--mint:hover { background: #f0ece3; border-color: #f0ece3; }
.clinic-page main [id] { scroll-margin-top: 100px; }
.clinic-page.lang-th main h1,.clinic-page.lang-zh main h1 { font-size: clamp(2.8rem,4.3vw,4.3rem); line-height: 1.3; letter-spacing: -.02em; }.clinic-page.lang-th main h2,.clinic-page.lang-zh main h2 { font-size: clamp(1.95rem,2.9vw,2.8rem); line-height: 1.4; letter-spacing: 0; }.clinic-page.lang-th main h3,.clinic-page.lang-zh main h3 { line-height: 1.5; }.clinic-page.lang-th main h1 em,.clinic-page.lang-zh main h1 em { font-style: normal; }.clinic-page.lang-th .kc-kicker { letter-spacing: 0; }.clinic-page.lang-th .kc-facilities-heading h1,.clinic-page.lang-zh .kc-facilities-heading h1 { font-size: clamp(2.6rem,3.6vw,3.6rem) !important; }.clinic-page.lang-th .kc-room-story h3,.clinic-page.lang-zh .kc-room-story h3 { font-size: 1.9rem !important; }.clinic-page.lang-th .kc-prep-list h3 { font-family: inherit; }
@media(max-width:1000px) { .kc-about-hero { gap: 45px; }.kc-portrait { height: 530px; }.kc-facilities-heading { gap: 45px; }.kc-care-grid,.kc-principles,.kc-steps { gap: 28px; }.kc-faq-grid { gap: 40px; }.kc-room-story { gap: 45px; }.kc-room-note { grid-template-columns: 30px 1fr; }.kc-room-note .kc-link { grid-column: 2; max-width: 250px; }.kc-arrival-grid { gap: 45px; } }
@media(max-width:760px) { .kc-about-hero { grid-template-columns: 1fr 1fr; gap: 28px; }.kc-portrait { height: 510px; }.kc-portrait img { border-top-left-radius: 100px; }.kc-hero-copy h1 { font-size: 3.2rem !important; }.kc-hero .btn-row { gap: 10px; }.kc-heading { gap: 35px; }.kc-facilities-heading { grid-template-columns: 1fr; gap: 25px; }.kc-facilities-heading h1 { max-width: 650px; }.kc-facilities-heading .kc-lead { max-width: 65ch; }.kc-toc .kc-wrap { gap: 25px; }.kc-toc .kc-wrap>div { gap: 10px 22px; }.kc-image-story { gap: 35px; }.kc-image-story figure { height: 420px; }.kc-room-story,.kc-room-story--reverse { gap: 30px; grid-template-columns: 1fr 1fr; } }
@media(max-width:600px) {
 .kc-section { padding-block: 60px; }.kc-wrap { padding-inline: 24px; }.kc-crumb { padding-block: 23px; font-size: .65rem; }.kc-about-hero { grid-template-columns: 1fr; gap: 30px; padding-bottom: 35px; }.kc-hero-copy { padding-block: 15px 0; }.kc-hero-copy h1 { font-size: clamp(3.3rem,11vw,4.5rem) !important; }.kc-hero .kc-lead { font-size: .99rem; margin-top: 24px; }.kc-hero .btn-row { gap: 20px; margin-top: 25px; }.kc-hero-note { font-size: .72rem; margin-top: 24px; }.kc-portrait { height: 430px; }.kc-portrait img { object-position: center 32%; border-top-left-radius: 100px; }.kc-portrait figcaption { left: 14px; right: 14px; bottom: 14px; padding: 14px; font-size: .7rem; }
 .kc-toc .kc-wrap { display: block; padding-block: 20px; }.kc-toc p { margin-bottom: 12px; }.kc-toc .kc-wrap>div { gap: 8px 20px; }.kc-toc a { font-size: .76rem; }.kc-heading,.kc-image-story,.kc-arrival-grid,.kc-prep-grid,.kc-faq-grid { grid-template-columns: 1fr; gap: 28px; }.kc-heading p:not(.kc-kicker) { font-size: .93rem; }.kc-heading .kc-lead { font-size: 1.03rem !important; }
 .kc-principles,.kc-care-grid,.kc-steps { grid-template-columns: 1fr; gap: 30px; margin-top: 38px; }.kc-principles article>span { margin-bottom: 15px; }.kc-care-grid p { margin-bottom: 20px; }.kc-care .kc-link { font-size: .86rem; }.kc-steps li { position: relative; padding-left: 54px; }.kc-steps li>span { position: absolute; left: 0; top: 0; font-size: 1.7rem; padding: 0; border: 0; }.kc-steps h3 { font-size: 1.5rem !important; }.kc-steps p { margin-top: 12px; }.kc-centered { text-align: left; }.kc-image-story figure { height: 340px; }.kc-image-story img { border-bottom-right-radius: 80px; }
 .kc-facilities-heading { padding-block: 15px 30px; }.kc-facilities-heading h1 { font-size: clamp(2.85rem,10.5vw,4.5rem) !important; }.kc-facilities-heading .btn-row { gap: 22px; }.kc-facilities-heading .kc-link { font-size: .79rem; }.kc-wide-photo img { height: 320px; object-position: 62% center; }.kc-wide-photo figcaption { font-size: .66rem; gap: 7px; }.kc-facilities-hero { padding-bottom: 28px; }
 .kc-room-story,.kc-room-story--reverse { grid-template-columns: 1fr; gap: 28px; margin-top: 42px; }.kc-room-story--reverse figure,.kc-room-story--reverse>div { grid-column: auto; grid-row: auto; }.kc-room-story img { aspect-ratio: 1.25; }.kc-room-story .kc-inbody-photo img { aspect-ratio: .95; border-top-right-radius: 80px; }.kc-number { margin-bottom: 17px; }.kc-room-story h3 { font-size: 2rem !important; }.kc-room-story p { margin-block: 18px; }.kc-room-note { margin-top: 40px; gap: 18px; grid-template-columns: 25px 1fr; }.kc-room-note h3 { font-size: 1.5rem !important; }.kc-room-note .kc-link { font-size: .8rem; }
 .kc-exterior { margin-top: 30px; }.kc-exterior img { aspect-ratio: 1.2; object-position: 38% center; }.kc-arrival-grid { margin-top: 32px; gap: 35px; }.kc-arrival-grid dl>div { gap: 15px; }.kc-arrival-grid h3 { font-size: 1.5rem; }.kc-prep-list article { padding-block: 22px; }.kc-faq summary { font-size: .9rem; padding-block: 22px; }.kc-faq details p { padding-right: 0; font-size: .88rem; }.kc-final { padding-block: 60px; }.kc-final .btn-row { flex-direction: column; gap: 16px; }.kc-final p:not(.kc-kicker) { font-size: .9rem; }
 .clinic-page.lang-th .kc-hero-copy h1 { font-size: clamp(2.8rem,9.7vw,3.7rem) !important; }.clinic-page.lang-th .kc-facilities-heading h1 { font-size: 2.65rem !important; }.clinic-page.lang-th .kc-room-story h3 { font-size: 1.75rem !important; }
}
@media(max-width:360px) { .clinic-page:not(.lang-th):not(.lang-zh) .kc-hero-copy h1 { font-size: 2.65rem !important; } }
@media(prefers-reduced-motion:reduce) { .clinic-page *, .clinic-page *::before,.clinic-page *::after { scroll-behavior: auto !important; transition: none !important; } }
