/* Shared visual language with the Oreum 3D illustration. */
#therapy, #equipment, #before-after, #location { --ui-ink:#263e33; --ui-green:#517961; --ui-line:#dce4d9; }
:is(#therapy,#equipment,#before-after,#location) .section-eyebrow { color:#617e69; font-size:11px; letter-spacing:.17em; }
:is(#therapy,#equipment,#before-after,#location) .section-title { color:var(--ui-ink); line-height:1.5; }
:is(#therapy,#equipment,#before-after,#location) .section-title span { color:#658672; }
:is(#therapy,#equipment,#before-after,#location) .lead { color:#68776b; line-height:1.9; }
#therapy .therapy-copy { background:#f7f8f3; border:1px solid var(--ui-line); border-radius:28px; box-shadow:none; text-align:left; align-items:stretch; padding:38px; }
#therapy .therapy-copy::before { display:none; }
#therapy .therapy-copy h3 { color:var(--ui-ink); font-size:clamp(24px,2.5vw,32px); line-height:1.5; margin-bottom:18px; }
#therapy .therapy-copy h3 .title-accent { color:#658672; }
#therapy .therapy-copy-desc { max-width:none; gap:24px; }
#therapy .therapy-copy-desc .lead-para { margin:0; color:#586953; font-size:16px; line-height:1.95; }
#therapy .therapy-copy-grid { gap:20px; margin:0; }
#therapy .therapy-copy-item { position:relative; align-items:flex-start; text-align:left; padding:28px; border:1px solid #dce3d6; background:#edf1e8; box-shadow:none; border-radius:18px; }
#therapy .therapy-copy-item.item-laser { background:#f3eee4; border-color:#e3ddcf; }
#therapy .therapy-copy-item strong { color:#42634e; font-size:20px; margin-bottom:12px; }
#therapy .therapy-copy-item.item-laser strong { color:#806e51; }
#therapy .therapy-copy-item p { color:#586953; line-height:1.9; padding-right:30px; }
#therapy .therapy-copy-item::after { content:'01'; position:absolute; right:22px; top:22px; color:#789276; font:24px 'Gowun Batang',serif; opacity:.6; }
#therapy .therapy-copy-item.item-laser::after { content:'02'; color:#9c896d; }
#therapy .therapy-copy-desc .point-para { margin:0; border-top:1px solid var(--ui-line); padding-top:22px; color:#42634e; font-size:15px; line-height:1.9; }
#equipment { background:#f0f3ec; }
#equipment .equipment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; counter-reset:solution; }
#equipment .equip { counter-increment:solution; display:grid; grid-template-columns:160px minmax(0,1fr); align-items:stretch; border:1px solid var(--ui-line); border-radius:24px; box-shadow:none; background:#fffef9; }
#equipment .equip-media { height:auto; min-height:250px; border:0; border-right:1px solid var(--ui-line); background:#f7f8f3; position:relative; }
#equipment .equip-media::before { content:counter(solution,decimal-leading-zero); position:absolute; z-index:1; top:16px; left:16px; font:18px 'Gowun Batang',serif; color:#60785f; background:#fffef9e8; border:1px solid var(--ui-line); border-radius:50%; width:34px; height:34px; display:grid; place-items:center; }
#equipment .equip-media img { height:240px; padding:18px; background:#fff; }
#equipment .equip-media.full img { height:100%; object-fit:contain; padding:0; }
#equipment .equip-media.no-img { font-size:17px; color:#628169; }
#equipment .equip-body { background:transparent; padding:28px; }
#equipment .equip .stage { display:inline-block; background:#edf1e8; color:#60775e; border:1px solid #dce3d6; border-radius:6px; padding:5px 9px; font-size:10px; letter-spacing:.04em; }
#equipment .equip h3 { color:var(--ui-ink); font-size:23px; line-height:1.45; margin:15px 0; }
#equipment .equip p { color:#586953; font-size:14px; line-height:1.95; word-break:normal; overflow-wrap:anywhere; }
#before-after { background:#fffef9; }
#before-after .before-after-gallery { padding:28px; background:#f7f8f3; border:1px solid var(--ui-line); border-radius:28px; }
#before-after .before-after-toolbar { padding-bottom:22px; border-bottom:1px solid var(--ui-line); }
#before-after .before-after-tabs { gap:7px; }
#before-after .before-after-filter { background:transparent; color:#60775e; border-color:#dce3d6; font-size:13px; font-weight:600; border-radius:10px; padding:0 15px; min-height:44px; }
#before-after .before-after-filter.is-active { background:#2f503d; color:white; border-color:#2f503d; }
#before-after .before-after-btn { border-radius:12px; width:44px; height:44px; color:#42634e; background:#fffef9; border-color:#dce3d6; }
#before-after .before-after-card { border-color:#dce3d6; background:#fffef9; }
#before-after .before-after-card__head { padding:20px 20px 4px; }
#before-after .before-after-card__title { font-size:18px; color:#263e33; }
#before-after .before-after-card__badge { font-size:10px; color:#617e69; background:#edf1e8; font-weight:500; }
#before-after .before-after-photo { border-radius:12px; border-color:#dce3d6; }
#before-after .before-after-photo__label { border-radius:5px; background:#2f503de8; font-weight:500; padding:5px 9px; }
#before-after .before-after-dots { flex-wrap:wrap; max-width:520px; margin:24px auto 0; row-gap:12px; }
#before-after .before-after-note { color:#788372; font-size:12px; line-height:1.9; border-top:1px solid var(--ui-line); padding-top:20px; }
#location .location-grid { gap:24px; align-items:stretch; }
#location .location-grid > .card { padding:34px; border:1px solid var(--ui-line); border-radius:26px; box-shadow:none; min-width:0; }
#location .mint-card { background:#edf1e8 !important; }
#location .clinic-card { background:#fffef9; }
#location .location-grid h3 { color:#263e33; font-size:26px; line-height:1.5; margin:0 0 20px; padding-bottom:20px; border-bottom:1px solid #d3dfce; }
#location .location-grid p { color:#586953; line-height:1.9; font-weight:400; }
#location .mint-card h4 { color:#42634e; font-size:17px; margin:26px 0 16px; }
#location .mint-card .bullet-leaf { list-style:none; padding:0; counter-reset:check; display:grid; gap:10px; }
#location .mint-card .bullet-leaf li { counter-increment:check; position:relative; margin:0; padding:14px 16px 14px 48px; background:#f7f8f3; border:1px solid #dce3d6; border-radius:12px; color:#586953; font-size:14px; line-height:1.8; }
#location .mint-card .bullet-leaf li::before { content:counter(check,decimal-leading-zero); position:absolute; left:15px; top:16px; width:auto; height:auto; background:none; mask:none; -webkit-mask:none; color:#7b9275; font-size:12px; }
#location .clinic-info-split { grid-template-columns:1fr; gap:16px; font-size:14px; color:#586953; line-height:2; }
#location .clinic-info-split > div { padding:18px 20px; background:#f3f5ee; border-radius:14px; border:1px solid #e0e5da; }
#location .clinic-info-split-title,#location .clinic-info-block dt { color:#42634e; margin-bottom:9px; font-size:14px; }
#location .clinic-info-split strong { color:#263e33; font-weight:600; margin-left:8px; }
#location .clinic-info-note { font-weight:500; color:#617e69; }
#location .clinic-info-block dd { color:#586953; font-size:14px; line-height:1.95; }
#location .clinic-info-block:last-child { margin-top:0 !important; padding:20px 0 0; border-top:1px solid var(--ui-line); }
:is(#before-after,#location) :is(button,a):focus-visible { outline:3px solid #517961; outline-offset:4px; }
@media(hover:hover) { #equipment .equip:hover { transform:translateY(-4px); border-color:#a2b49b; box-shadow:0 14px 30px #263e330a; } #therapy .therapy-copy-item:hover { box-shadow:0 8px 22px #263e3308; } #before-after .before-after-filter:hover { background:#e3eadd; color:#42634e; } #before-after .before-after-filter.is-active:hover { background:#2f503d; color:#fff; } }
@media(max-width:1100px) { #equipment .equip { grid-template-columns:120px minmax(0,1fr); } #equipment .equip-body { padding:22px; } }
@media(max-width:800px) { #equipment .equipment-grid { grid-template-columns:1fr; } #equipment .equip { grid-template-columns:160px minmax(0,1fr); } #location .location-grid { grid-template-columns:1fr; } }
@media(max-width:600px) {
 #therapy .therapy-copy { padding:24px 21px; border-radius:20px; } #therapy .therapy-copy-grid { grid-template-columns:1fr; gap:12px; } #therapy .therapy-copy-item { padding:23px; } #therapy .therapy-copy-desc .lead-para { font-size:14px; } #therapy .therapy-copy-desc .point-para { font-size:14px; } #therapy .therapy-copy-item p { font-size:14px; }
 #equipment .equip { grid-template-columns:1fr; border-radius:20px; } #equipment .equip-media { min-height:0; height:200px; border-right:0; border-bottom:1px solid var(--ui-line); } #equipment .equip-media img { height:100%; } #equipment .equip-body { padding:24px; } #equipment .equip h3 { font-size:23px; }
 #before-after .before-after-gallery { padding:18px 14px; border-radius:20px; } #before-after .before-after-tabs { flex-wrap:nowrap; overflow-x:auto; width:100%; padding-bottom:6px; } #before-after .before-after-filter { flex-shrink:0; } #before-after .before-after-controls { margin-left:auto; } #before-after .before-after-card__head { padding:16px 12px 0; gap:6px; } #before-after .before-after-card__title { font-size:16px; } #before-after .before-after-card__media { padding:14px 12px; gap:8px; } #before-after .before-after-photo__label { font-size:10px; left:5px; top:5px; }
 #location .location-grid > .card { padding:24px 21px; border-radius:20px; } #location .location-grid h3 { font-size:24px; } #location .clinic-info-split > div { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { #equipment .equip,#therapy .therapy-copy-item,#before-after .before-after-track { transition:none; } #equipment .equip:hover,#therapy .therapy-copy-item:hover { transform:none; } }

/* Doctor portraits retain the existing grid, padding and dimensions. */
#doctor { background:#f7f8f3; }
#doctor .section-eyebrow { color:#617e69; font-size:11px; letter-spacing:.17em; }
#doctor .section-title { color:#263e33; line-height:1.5; }
#doctor .section-title span { color:#658672; }
#doctor .lead { color:#68776b; line-height:1.9; }
#doctor .doctor-stack { gap:24px; perspective:none; }
#doctor .doctor-profile-card { background:#fffef9; border-color:#dce4d9; border-radius:28px; box-shadow:none; }
#doctor .doctor-profile-card::before,#doctor .doctor-profile-card::after { display:none; }
#doctor .doctor-photo-wrap { background:#edf1e8; border-radius:16px; }
#doctor .doctor-profile-card:hover .doctor-photo-wrap,#doctor .doctor-profile-card:hover .doctor-photo-wrap img { transform:none; box-shadow:none; }
#doctor .doctor-heading { gap:12px 16px; padding-bottom:23px; border-bottom:1px solid #dce4d9; }
#doctor .doctor-name { color:#263e33 !important; font-size:clamp(27px,2.5vw,34px); line-height:1.4; }
#doctor .doctor-role { background:#edf1e8; color:#517961; border:1px solid #dce3d6; border-radius:7px; padding:7px 12px; font-size:12px; font-weight:500; line-height:1.5; }
#doctor .doctor-subtitle { flex-basis:100%; color:#617e69; font-size:14px; font-weight:500; line-height:1.7; }
#doctor .doctor-credentials { margin-top:22px; display:grid; gap:12px; }
#doctor .doctor-credential,#doctor .doctor-credential:first-child { position:relative; border:0; padding:0 0 0 18px; color:#586953; font-size:14px; font-weight:400; line-height:1.8; word-break:normal; overflow-wrap:anywhere; }
#doctor .doctor-credential::before { content:''; position:absolute; left:0; top:.75em; width:5px; height:5px; border-radius:50%; background:#a8baa1; }
#doctor .doctor-intro-panel { position:relative; background:#edf1e8; border:1px solid #dce4d9; border-radius:24px; margin-top:24px; box-shadow:none; padding:36px; }
#doctor .doctor-intro-panel p { color:#586953; font-size:16px; line-height:2.1; }
#doctor .doctor-stack.visible .doctor-profile-card:hover,#doctor .doctor-stack.is-visible .doctor-profile-card:hover { transform:none; background:#fffef9; border-color:#a2b49b; box-shadow:0 12px 30px #263e3308; }
@media(max-width:700px) { #doctor .doctor-profile-card { border-radius:20px; } #doctor .doctor-heading { padding-bottom:18px; } #doctor .doctor-credentials { gap:11px; } #doctor .doctor-intro-panel { padding:25px 21px; border-radius:20px; text-align:left; } #doctor .doctor-intro-panel p { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { #doctor .doctor-stack .doctor-profile-card { transition:none; } }
