@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
:root{--ink:#283d35;--green:#245c4b;--mint:#ddefe5;--light:#f2f7f2;--coral:#f3c6b5;--paper:#fffcf7;--line:#dce5df;--muted:#52645a;--round:'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--round);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #af5d43;outline-offset:5px}img{max-width:100%;display:block;height:auto}button{cursor:pointer}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3,h4,h5{line-height:1.5}h1{font-size:clamp(2rem,3.5vw,3.3rem);font-weight:500;letter-spacing:.09em}h2{font-size:clamp(1.65rem,2.5vw,2.35rem);font-weight:500;letter-spacing:.06em}h3{font-size:1.3rem}small{font-size:.85rem}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:20px;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.preview{background:#e8eee7;text-align:center;font-size:12px;letter-spacing:.03em;padding:5px 16px;color:#435d4c}.preview a{text-decoration:underline;margin-left:10px}.header{background:#fffcf7f5;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);border-bottom:1px solid #e7ebe4}.head-inner{max-width:1320px;margin:auto;padding:20px 32px;display:flex;align-items:center;gap:25px}.brand{flex-shrink:0;width:245px}.brand img{width:100%;max-height:47px}.brand-fallback{font-size:19px;font-weight:700;letter-spacing:.07em}.brand small{font-size:12px;display:block}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:14px;font-weight:700}.main-nav a:not(.btn):hover{color:#ab6148}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 25px;min-height:52px;background:var(--green);color:white;border:1px solid var(--green);border-radius:100px;font-weight:700;line-height:1.4;font-size:15px;transition:background .18s}.btn:hover{background:#183e33}.btn.light{background:white;color:var(--green);border-color:#b2c8bb}.btn.light:hover{background:var(--mint)}.btn.coral{background:var(--coral);border-color:var(--coral);color:#57362a}.arrow{margin-left:auto}.menu-button{border:1px solid var(--line);background:white;border-radius:50%;width:48px;height:48px;display:none;padding:10px;color:var(--green)}.menu-button span{display:block;width:20px;height:1px;background:currentColor;margin:5px auto}.notice{display:flex;gap:20px;align-items:center;font-size:14px;padding:14px 0;border-bottom:1px solid var(--line)}.tag{display:inline-flex;padding:3px 12px;border-radius:30px;background:#f7e3d6;font-size:12px;white-space:nowrap;color:#6a4131}.notice .date{white-space:nowrap;color:var(--muted);font-size:13px}.notice a{flex:1}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;min-height:560px;gap:36px;padding:55px 0 50px}.eyebrow{font:700 12px/1.5 sans-serif;letter-spacing:.16em;color:var(--green);display:block;margin-bottom:25px}.hero h1{font-size:clamp(2rem,3.65vw,3.25rem);margin-bottom:26px;line-height:1.65;letter-spacing:.065em}.hero h1 em{font-style:normal;position:relative;white-space:nowrap}.hero h1 em:after{content:'';position:absolute;bottom:2px;left:0;right:0;height:9px;background:var(--coral);z-index:-1}.hero-copy{position:relative;z-index:1}.hero-copy>p{color:var(--muted);font-size:15px;line-height:2.05;max-width:400px}.hero-photo{position:relative;margin:0}.hero-photo>img{height:435px;width:100%;object-fit:cover;border-radius:46% 46% 28px 28px}.photo-label{position:absolute;bottom:20px;left:20px;padding:8px 16px;background:#fffdf3ef;border-radius:30px;font-size:12px;letter-spacing:.05em}.hero-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--green);margin-top:25px}.hero-meta span+span{border-left:1px solid #b8c9bb;padding-left:14px}.section{padding:78px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px;gap:24px}.section-heading p{margin:0;color:var(--muted);font-size:14px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:12px}.text-link{font-size:14px;font-weight:700;color:var(--green);padding-bottom:5px;border-bottom:1px solid var(--green);display:inline-flex;align-items:center;gap:25px;white-space:nowrap}.text-link:hover{color:#9b5b45}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 60px}.reason{background:var(--mint);padding:27px 28px;border-radius:20px;display:flex;align-items:center;gap:18px}.reason:nth-child(2){background:#f8e6da}.reason:nth-child(3){background:#f2eecf}.reason-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffffa3;border-radius:50%;flex-shrink:0;color:var(--green)}.reason strong{display:block;font-size:19px}.reason small{font-size:12px;color:var(--muted);display:block;margin-top:2px}.reason:hover{outline:2px solid var(--green);outline-offset:2px}.icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.schedule-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:36px;background:white;padding:38px;border:1px solid var(--line);border-radius:24px}.schedule-card{background:var(--light);padding:26px;border-radius:16px}.schedule-card h3{font-size:19px;margin-bottom:20px}.day-control{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.day-control select{padding:6px 10px;border:1px solid #b4c7b9;border-radius:7px;background:white;color:var(--green);max-width:170px}.schedule-item{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #d5e0d6;padding:9px 0;font-size:14px}.schedule-item time{font-family:sans-serif;white-space:nowrap}.note{font-size:13px;color:var(--muted);line-height:1.8;margin:16px 0}.weekly{overflow:auto}.weekly table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}.weekly th,.weekly td{padding:13px 8px;border-bottom:1px solid var(--line);text-align:center}.weekly th:first-child{text-align:left;min-width:115px}.weekly td{color:var(--green)}.weekly small{display:block;font-size:11px;font-weight:400}.weekly h3{margin:0 0 13px;font-size:18px}.tint{background:var(--light)}.medical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.medical-card{background:white;border:1px solid var(--line);border-radius:22px;padding:30px 25px;display:flex;flex-direction:column;min-height:235px}.medical-card .card-number{font:12px sans-serif;letter-spacing:.12em;color:#668271;margin-bottom:24px}.medical-card h3{font-size:20px}.medical-card p{font-size:14px;color:var(--muted);flex:1}.medical-card .icon{width:28px;height:28px;margin-top:12px}.medical-card:hover{border-color:var(--green);background:#fafffb}.medical-links{display:flex;justify-content:center;gap:32px;margin-top:25px;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step{padding:8px 20px 10px 0;border-right:1px solid var(--line)}.step:last-child{border:0}.step .num{font:28px Georgia,serif;color:#9aa895;display:block;margin-bottom:18px}.step h3{font-size:20px}.step p{font-size:14px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split figure{margin:0}.split figure img{aspect-ratio:1.3;object-fit:cover;width:100%;border-radius:28px}.split p{font-size:15px;line-height:2}.split .eyebrow{margin-bottom:18px}.split h2{line-height:1.65}.chips{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.chips span{background:white;border:1px solid var(--line);border-radius:30px;font-size:13px;padding:5px 14px}.donguri{background:#f5e9d9}.quote{font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.8;margin-bottom:28px}.doctor-panel{background:var(--mint);border-radius:24px;padding:35px}.doctor-panel .name{font-size:30px;letter-spacing:.15em;margin:20px 0 5px}.doctor-panel .english{font:12px sans-serif;letter-spacing:.15em;color:var(--muted)}.doctor-panel ul{padding-left:20px;font-size:14px}.news-list{list-style:none;padding:0;margin:0}.news-list li{border-bottom:1px solid var(--line)}.news-list a{display:flex;gap:25px;align-items:center;padding:23px 0;font-size:15px}.news-list time{font:13px sans-serif;color:var(--muted);white-space:nowrap}.news-list .news-title{flex:1}.news-list a:hover .news-title{text-decoration:underline}.faq details{border-bottom:1px solid var(--line);background:white}.faq summary{list-style:none;cursor:pointer;padding:23px 24px;display:flex;align-items:center;gap:18px;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:'Q';font:20px Georgia,serif;color:var(--green)}.faq summary:after{content:'+';margin-left:auto;font-size:22px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details>div{padding:0 25px 25px 62px;font-size:15px;color:var(--muted)}.faq a{color:var(--green);text-decoration:underline}.access-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.access-facts div{border-top:1px solid var(--line);padding-top:14px}.access-facts small{color:var(--muted);display:block}.access-facts strong{font-size:21px;font-weight:500}.access-photo{position:relative}.access-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:24px}.footer{background:#245c4b;color:white;padding:55px 0 24px}.footer-top{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.footer-name{font-size:23px;letter-spacing:.08em;margin-bottom:14px}.footer p{font-size:13px;color:#dbe8df}.footer .phone{font-size:26px;letter-spacing:.08em}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 20px;font-size:13px}.footer-nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;margin-top:35px;padding-top:22px;color:#dbe8df;font-size:11px}.mobile-bar{display:none}.breadcrumb{font-size:12px;color:var(--muted);padding:22px 0}.breadcrumb a{text-decoration:underline}.page-hero{padding:34px 0 52px;border-bottom:1px solid var(--line)}.page-hero h1{margin-bottom:18px}.page-hero p{max-width:760px;color:var(--muted);margin-bottom:0}.page-hero .eyebrow{margin-bottom:15px}.page-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:50px;padding:55px 0 80px}.side-nav{align-self:start;position:sticky;top:112px;background:#edf3ec;border-radius:18px;padding:22px;font-size:14px}.side-nav strong{display:block;margin-bottom:12px}.side-nav a{display:block;border-top:1px solid #d2ded3;padding:12px 0}.side-nav a.active{font-weight:700;color:var(--green)}.article{min-width:0;overflow-wrap:anywhere}.article p{margin-bottom:20px;line-height:2}.article h2,.article h3{margin:38px 0 20px;color:var(--green)}.article>h2:first-child{margin-top:0}.article h4{margin:32px 0 14px;font-size:21px;padding-left:16px;border-left:4px solid var(--coral)}.article h5{font-size:19px;margin:28px 0 14px}.article h3 span{display:block;font:11px sans-serif;letter-spacing:.12em;margin-top:8px;color:var(--muted)}.article ul,.article ol{padding-left:24px}.article li{margin-bottom:8px}.article a:not(.btn):not(.medical-card):not(.reason){color:var(--green);text-decoration:underline;text-underline-offset:4px}.article table{width:100%;border-collapse:collapse;margin:15px 0 30px;font-size:14px}.article td,.article th{border:1px solid var(--line);padding:15px;vertical-align:top}.article th{background:var(--light);min-width:70px}.article .text{margin-bottom:35px}.article .ank01{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.article .ank01 li{margin:0}.article .ank01 a{background:white;border:1px solid var(--line);border-radius:30px;padding:7px 15px;font-size:13px;display:block;text-decoration:none!important}.article .tit01{scroll-margin-top:110px}.article .anchor{scroll-margin-top:120px}.article .img_fr{display:none}.callout{background:var(--light);border-left:3px solid var(--green);padding:20px 24px;border-radius:0 12px 12px 0;margin:24px 0;font-size:14px}.callout.warm{background:#fbede4;border-color:#b27a59}.callout p:last-child{margin:0}.article .medical-grid{grid-template-columns:repeat(2,1fr)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery figure{margin:0}.gallery img{border-radius:15px;aspect-ratio:1.45;object-fit:cover;width:100%}.gallery figcaption{font-size:14px;margin-top:8px}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.article .steps{display:block;counter-reset:step}.article .step{border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.article .step h3{margin-top:0}.article details{margin:18px 0}.info-table{margin:0}.info-table dt{font-size:13px;color:var(--muted);margin-top:18px}.info-table dd{margin:4px 0 18px;border-bottom:1px solid var(--line);padding-bottom:18px}.archive-note{font-size:13px;background:#f6eee5;padding:15px 20px;border-radius:10px;margin-bottom:25px}.back-link{display:inline-block;margin:30px 0}.source-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:35px}.directory{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.directory a{display:block;background:white;border:1px solid var(--line);border-radius:12px;padding:15px}.article img{max-width:100%;height:auto}.article iframe{max-width:100%;border:0}.article .book{padding:26px;background:var(--mint);border-radius:20px;margin-top:40px}.article .book h3{margin:0 0 10px}.article .book p{font-size:14px}.article .news-list a{text-decoration:none}.article .news-list .tag{display:none}.clinic-title{font-size:14px}.full-nav{display:none}
@media(min-width:1450px){.hero{min-height:620px}.hero-photo>img{height:485px}}
@media(max-width:1100px){.main-nav{gap:14px;font-size:13px}.brand{width:215px}.head-inner{gap:15px;padding:18px 24px}.main-nav .btn{padding:12px 18px}.hero{gap:25px}.schedule-grid{gap:25px;padding:28px}.split{gap:35px}.medical-card{padding:25px 20px}}
@media(max-width:900px){.main-nav{display:none}.menu-button{display:block;margin-left:auto}.full-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:15px 24px 25px;border-top:1px solid var(--line);max-height:calc(100dvh - 150px);overflow:auto}.full-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:30px}.hero-photo>img{height:365px}.reason{padding:20px 18px;gap:12px}.reason strong{font-size:16px}.reason-icon{width:38px;height:38px}.schedule-grid{grid-template-columns:1fr}.medical-grid{grid-template-columns:1fr 1fr}.page-layout{grid-template-columns:1fr;gap:25px}.side-nav{position:static;display:flex;gap:15px;overflow:auto;padding:16px}.side-nav strong{display:none}.side-nav a{border:0;white-space:nowrap;padding:5px}.footer-top{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.preview{font-size:11px;padding:4px 12px}.head-inner{padding:17px 20px}.brand{width:220px;max-width:calc(100% - 68px)}.menu-button{width:44px;height:44px}.notice{gap:10px;font-size:12px;line-height:1.65;padding:12px 0}.notice .date{display:none}.notice .tag{font-size:10px;padding:3px 7px}.notice .arrow{display:none}.hero{display:flex;flex-direction:column;padding:37px 0 34px;gap:26px;align-items:stretch}.hero h1{font-size:clamp(26px,8.1vw,32px);line-height:1.65;margin-bottom:17px;letter-spacing:.06em}.hero .eyebrow{font-size:10px;margin-bottom:16px}.hero-copy>p{font-size:14px;line-height:1.95;margin-bottom:22px}.hero-copy .btn{font-size:14px;padding:13px 24px;min-height:49px}.hero-meta{margin-top:18px;font-size:11px;gap:10px}.hero-meta span+span{padding-left:10px}.hero-photo{width:100%}.hero-photo>img{height:270px;border-radius:100px 100px 20px 20px}.photo-label{font-size:10px;padding:6px 13px;bottom:14px;left:14px}.reasons{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:38px}.reason{padding:17px 21px;border-radius:15px}.reason strong{font-size:17px}.reason small{font-size:11px}.reason-icon{width:42px;height:42px}.section{padding:50px 0}.section-heading{margin-bottom:25px;align-items:start}.section-heading h2{font-size:26px}.section-heading .eyebrow{font-size:10px;margin-bottom:10px}.section-heading>.text-link{font-size:12px;gap:8px;margin-top:24px}.section-heading p{font-size:13px}.schedule-grid{padding:18px;gap:22px;border-radius:20px}.schedule-card{padding:19px}.schedule-card h3{font-size:17px}.day-control select{font-size:13px}.schedule-item{font-size:12px}.weekly table{font-size:11px}.weekly th,.weekly td{padding:10px 4px}.weekly th:first-child{min-width:100px}.weekly small{font-size:10px}.weekly h3{font-size:16px}.note{font-size:12px}.medical-grid{gap:12px}.medical-card{padding:22px 18px;min-height:218px;border-radius:18px}.medical-card h3{font-size:18px}.medical-card p{font-size:13px;margin-bottom:8px}.medical-card .card-number{margin-bottom:18px;font-size:10px}.medical-links{font-size:12px;gap:20px;flex-wrap:wrap}.steps{grid-template-columns:1fr;gap:0}.step{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.step .num{font-size:21px;margin-bottom:8px}.step h3{font-size:19px;margin-bottom:8px}.step p{margin-bottom:14px}.split{grid-template-columns:1fr;gap:30px}.split h2{font-size:27px}.split p{font-size:14px}.split figure img{aspect-ratio:1.45;border-radius:20px}.donguri .split figure{order:2}.chips{gap:6px;margin:20px 0}.chips span{font-size:12px;padding:4px 11px}.quote{font-size:24px}.doctor-panel{padding:27px}.doctor-panel .name{font-size:27px}.news-list a{gap:10px;flex-wrap:wrap;padding:20px 0}.news-list time{font-size:12px}.news-list .tag{font-size:10px}.news-list .news-title{flex-basis:calc(100% - 35px);font-size:14px}.news-list .arrow{font-size:18px}.faq summary{font-size:14px;padding:20px 16px;gap:12px}.faq summary:before{font-size:17px}.faq details>div{font-size:13px;padding:0 20px 22px 44px}.access-facts strong{font-size:19px}.access-facts small{font-size:12px}.footer{padding:40px 0 105px}.footer-top{gap:28px}.footer-name{font-size:20px}.footer-nav{grid-template-columns:1fr 1fr;font-size:12px}.footer-bottom{display:block;font-size:10px}.footer-bottom span{display:block;margin:7px 0}.mobile-bar{display:grid;grid-template-columns:1fr 1.6fr 1fr;position:fixed;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:7px;background:#fffcf7fa;border-top:1px solid var(--line);z-index:40;backdrop-filter:blur(14px)}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border-radius:12px;color:var(--green);background:var(--mint);font-size:13px;font-weight:700}.mobile-bar a:nth-child(2){background:var(--green);color:white}.mobile-bar .icon{width:18px;height:18px}.page-hero{padding:20px 0 35px}.page-hero h1{font-size:28px;letter-spacing:.04em}.page-hero p{font-size:14px}.page-layout{padding:25px 0 50px}.breadcrumb{font-size:11px;padding:16px 0}.side-nav{margin:0 -20px;border-radius:0;font-size:12px}.article p{font-size:15px;line-height:1.95}.article h3{font-size:22px}.article h4{font-size:19px}.article h5{font-size:17px}.article ul,.article ol{font-size:14px}.article td,.article th{padding:10px;font-size:13px}.article .ank01 a{font-size:12px;padding:6px 10px}.article .medical-grid{grid-template-columns:1fr 1fr}.callout{font-size:13px;padding:17px}.action-row{gap:10px}.action-row .btn{font-size:13px;padding:12px 19px}.gallery{gap:15px;grid-template-columns:1fr}.gallery figcaption{font-size:13px}.directory{grid-template-columns:1fr}.article .news-list a{font-size:14px}.article .book{padding:24px}.article .book h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Photograph planning and clear access points — renewal revision */
.photo-placeholder{margin:24px 0;background:#f1e8dc;border:1px solid #e2d5c4;border-radius:22px;min-height:180px;padding:26px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#655745;overflow:hidden}.photo-placeholder .photo-symbol{font:300 32px/1 sans-serif;color:#9b856c;margin-bottom:12px}.photo-placeholder figcaption{max-width:330px;line-height:1.7}.photo-placeholder small{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:8px;color:#786951}.photo-placeholder strong{display:block;font-size:14px;font-weight:500}.photo-placeholder.portrait{aspect-ratio:4/5;min-height:240px;max-width:240px;margin:0 auto 28px}.photo-placeholder.large{min-height:360px;aspect-ratio:4/3}.photo-placeholder.divider{min-height:175px;margin:36px 0;clear:both}.medical-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.medical-card{padding:16px;min-width:0}.medical-card .photo-placeholder{width:100%;aspect-ratio:4/3;min-height:135px;margin:0 0 22px;padding:14px;border-radius:14px}.medical-card .photo-placeholder strong{font-size:12px}.medical-card .photo-placeholder small{font-size:10px}.medical-card .photo-symbol{font-size:24px;margin-bottom:8px}.medical-card h3{font-size:19px}.medical-card .card-number{font-size:10px;margin-bottom:16px}.medical-card .photo-placeholder figcaption{margin:0}.snapshot-heading{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.snapshot-heading .eyebrow{margin:0}.snapshot-heading p{font-size:14px;margin:0}.snapshots{margin:0 0 55px}.snapshot-track{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;padding:20px 0 12px}.snapshot-track figure{margin:0;flex:0 0 30%;scroll-snap-align:start}.snapshot-track img{width:100%;aspect-ratio:435/307;object-fit:cover;border-radius:20px}.snapshots .note{margin:4px 0}.schedule-grid{align-items:start}.home-duty{margin-top:32px;padding:30px;background:white;border:1px solid var(--line);border-radius:24px}.home-duty h3{margin:0}.home-duty .callout{margin-bottom:0}.home-duty .weekly th:first-child{min-width:96px}.visit-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 38px}.visit-banners a{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#edf3ec;border:1px solid #cfddd2;border-radius:14px;padding:20px;font-size:14px;font-weight:700;min-height:74px}.visit-banners a:nth-child(2){background:#f8eee5}.visit-banners a:hover{border-color:var(--green)}.map-card{border-radius:24px;overflow:hidden;background:#e9e8df;min-width:0;line-height:0}.map-card iframe{display:block;width:100%;height:420px;border:0}.article .map-card{margin:25px 0}.portrait-row{display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;align-items:start}.portrait-row .portrait{margin:0;width:100%}.doctor-profile>.portrait{float:right;width:220px;margin:0 0 24px 28px}.doctor-profile:after{content:'';display:block;clear:both}.leave-note{background:#f6ecdf;border-radius:12px;padding:15px 20px;font-size:14px}.article .step{display:flow-root}.step-photo{float:right;width:200px;min-height:160px;margin:0 0 20px 25px;padding:18px}.main-nav{gap:16px;font-size:13px}.main-nav .header-contact{font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:30px;white-space:nowrap}.head-inner{padding-left:24px;padding-right:24px;gap:18px}.main-nav .btn{white-space:nowrap;padding:13px 18px}.brand{width:225px}
@media(max-width:1190px){.main-nav{display:none}.menu-button{display:block;margin-left:auto}.full-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:15px 24px 25px;border-top:1px solid var(--line);max-height:calc(100dvh - 180px);overflow:auto}.full-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.mobile-bar{display:grid;grid-template-columns:1fr 1.6fr 1fr;position:fixed;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:7px;background:#fffcf7fa;border-top:1px solid var(--line);z-index:40}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border-radius:12px;color:var(--green);background:var(--mint);font-size:13px;font-weight:700}.mobile-bar a:nth-child(2){background:var(--green);color:white}.mobile-bar .icon{width:18px;height:18px}.footer{padding-bottom:110px}.medical-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.snapshot-track figure{flex-basis:42%}.visit-banners{grid-template-columns:repeat(2,minmax(0,1fr))}.medical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.photo-placeholder.large{min-height:260px}.photo-placeholder.divider{min-height:150px;margin:28px 0;padding:20px}.snapshot-heading{gap:10px}.snapshot-heading p{font-size:13px}.snapshot-track figure{flex-basis:78%}.snapshot-track{gap:13px}.snapshots{margin-bottom:35px}.medical-card{padding:12px}.medical-card .photo-placeholder{min-height:145px;padding:12px}.medical-card h3{font-size:17px}.medical-card:last-child{grid-column:1/-1}.medical-card:last-child .photo-placeholder{aspect-ratio:2.2;min-height:150px}.medical-grid{gap:12px}.home-duty{padding:20px 14px}.home-duty .weekly td,.home-duty .weekly th{font-size:11px;padding:12px 7px}.visit-banners{gap:10px}.visit-banners a{font-size:12px;padding:15px 12px;min-height:75px}.map-card iframe{height:310px}.portrait-row{grid-template-columns:1fr;gap:20px}.portrait-row .portrait{max-width:225px;margin:auto}.doctor-profile>.portrait{float:none;margin:20px auto;width:225px}.step-photo{float:none;width:100%;min-height:165px;margin:0 0 22px}.day-control{display:block}.day-control select{max-width:100%}.schedule-card .btn{font-size:13px;padding:13px 15px}.home-duty .weekly{max-width:100%}}
.split>*{min-width:0}.photo-placeholder.large{width:100%}@media(max-width:640px){.photo-placeholder.large{aspect-ratio:auto}}
/* Real clinic photography and shared service access */
.site-photo{margin:24px 0;min-width:0;border-radius:22px;overflow:hidden;position:relative;background:#efe8df;line-height:0}.site-photo img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}.site-photo figcaption{position:absolute;bottom:12px;right:12px;background:#fffcf7ed;color:#35493e;border-radius:20px;padding:5px 11px;font-size:10px;line-height:1.5;max-width:calc(100% - 24px)}.site-photo.divider{margin:36px 0;clear:both}.site-photo.divider img{aspect-ratio:2.9;object-position:center 38%}.site-photo.large img{aspect-ratio:4/3}.site-photo.profile-photo{margin:0 0 24px}.site-photo.profile-photo img{aspect-ratio:4/5}.portrait-row .site-photo{width:100%}.doctor-profile>.site-photo{float:right;width:220px;margin:0 0 24px 28px}.medical-card .site-photo{margin:0 0 20px;width:100%;border-radius:14px}.medical-card .site-photo img{aspect-ratio:4/3}.medical-card .site-photo figcaption{font-size:9px;bottom:6px;right:6px;padding:3px 6px}.site-photo.step-photo{width:200px;margin:0 0 20px 25px;padding:0;float:right}.site-photo.step-photo img{aspect-ratio:4/3}.service-section{padding:55px 0;background:#e8f0e9}.service-section .eyebrow{margin-bottom:12px}.service-section h2{font-size:28px}.service-banners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-banner{display:flex;align-items:center;gap:12px;min-width:0;min-height:98px;padding:18px 16px;border-radius:16px;background:white;border:1px solid #cbd9cf;color:#245c4b}.service-banner>span:nth-child(2){min-width:0}.service-banner strong{font-size:16px;display:block;line-height:1.6}.service-banner small{display:block;font-size:11px;font-weight:400;margin-top:4px}.service-banner .service-arrow{margin-left:auto}.service-banner.booking{background:var(--green);color:white;border-color:var(--green)}.service-banner.line{background:#e0f3e5;border-color:#b4dabc}.service-banner.instagram{background:linear-gradient(120deg,#f7e1d7,#f0e2ee);border-color:#e6cbd8}.service-banner.interview{background:#fbf1dc;border-color:#e7d8b8}.service-banner:hover{box-shadow:0 3px 12px #245c4b18;transform:translateY(-1px)}.desktop-services{position:fixed;right:20px;bottom:20px;z-index:42;border:1px solid #fff8;background:var(--green);color:white;box-shadow:0 4px 18px #153c3433;border-radius:40px;padding:15px 20px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700}.services-dialog{width:min(780px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:28px;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #122d3340}.services-dialog::backdrop{background:#17362c80;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:24px}.dialog-heading h2{font-size:25px;margin:0}.dialog-heading .eyebrow{margin-bottom:8px}.close-services{flex:none;border:1px solid var(--line);border-radius:50%;background:white;color:var(--green);width:42px;height:42px;font:25px sans-serif}.services-dialog .service-banners{grid-template-columns:repeat(2,minmax(0,1fr))}body:has(dialog[open]){overflow:hidden}.mobile-bar button{font-family:inherit;cursor:pointer;border:0}.footer-bottom{padding-right:200px}
@media(max-width:1190px){.desktop-services{display:none}.mobile-bar{grid-template-columns:.75fr 1.2fr 1fr .8fr 1.2fr}.mobile-bar a,.mobile-bar button{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;border-radius:10px;min-height:49px;background:var(--mint);color:var(--green);font-size:11px;font-weight:700;padding:4px 2px;line-height:1.4}.mobile-bar a:nth-child(2){background:var(--green);color:white}.mobile-bar button{background:#f6e6dd}.service-banners{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{padding-right:0}}
@media(max-width:640px){.service-section{padding:38px 0}.service-section h2{font-size:23px}.service-banner{padding:14px 11px;gap:8px;min-height:96px}.service-banner strong{font-size:14px}.service-banner .icon{width:20px;height:20px}.service-banner small{font-size:10px}.service-banner .service-arrow{display:none}.service-banners{gap:10px}.services-dialog{padding:20px 16px;border-radius:20px}.dialog-heading h2{font-size:21px}.dialog-heading .eyebrow{font-size:10px}.site-photo.divider img{aspect-ratio:1.7}.site-photo.step-photo{float:none;width:100%;margin:0 0 22px}.site-photo.step-photo img{aspect-ratio:1.8}.doctor-profile>.site-photo{float:none;width:100%;margin:20px 0}.site-photo.profile-photo img{aspect-ratio:1.5}.medical-card:last-child .site-photo img{aspect-ratio:2}.mobile-bar{padding-left:6px;padding-right:6px;gap:5px}.mobile-bar a,.mobile-bar button{font-size:10px}}

.service-banner.ai{background:#e3eef7;border-color:#b8d0e2;color:#294f68}.service-banner.ai strong{font-size:15px}@media(max-width:640px){.service-banner.ai strong{font-size:13px}}
/* Curated photography and always-visible service banners */
.header{position:relative}.service-front{position:sticky;top:0;z-index:30;background:#fffcf7f5;padding:10px 24px;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.service-front .service-banners{max-width:1400px;margin:auto;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.service-front .service-banner{min-height:72px;border-radius:13px;padding:10px 8px;gap:7px;text-align:left;font-family:var(--round);cursor:pointer}.service-front .service-banner strong{font-size:13px}.service-front .service-banner small{font-size:10px}.service-front .icon{width:20px;height:20px}.service-front .service-banner.ai strong{font-size:13px}.care-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#eaf4ed;border-radius:22px;margin-bottom:25px;color:var(--green)}.medical-card:nth-child(2) .care-icon{background:#fbecdf}.medical-card:nth-child(3) .care-icon{background:#f8f1d9}.medical-card:nth-child(4) .care-icon{background:#e8eef6}.medical-card:nth-child(5) .care-icon{background:#efeadc}.care-icon .icon{width:32px;height:32px;margin:0}.medical-card{padding:28px 22px}.visit-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}.visit-story .site-photo{margin:0;position:sticky;top:115px}.visit-story .site-photo img{aspect-ratio:4/5;object-position:center}.visit-story .steps{display:block}.visit-story .step{padding:8px 0 24px;border-right:0;border-bottom:1px solid var(--line);margin-bottom:20px}.visit-story .step:last-child{margin:0;border:0}.visit-story .num{font-size:23px;margin-bottom:8px}.article .site-photo.curated{margin:0 0 30px}.article .site-photo.curated img{aspect-ratio:2;max-height:360px}.article .step .curated{float:right;width:190px;margin:0 0 20px 24px}.article .step .curated img{aspect-ratio:4/3}.footer-chat{padding:0;text-align:left;background:none;border:0;color:inherit;font:inherit;cursor:pointer}.chat-dialog{position:fixed;inset:auto 24px 24px auto;margin:0;width:450px;height:min(780px,calc(100dvh - 48px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #c4d6cb;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #102e3040;overflow:hidden}.chat-dialog[open]{display:flex;flex-direction:column}.chat-dialog::backdrop{background:#1f352b45;backdrop-filter:blur(2px)}.chat-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--mint);flex-shrink:0}.chat-heading .eyebrow{font-size:9px;margin:0 0 4px}.chat-heading h2{font-size:18px;margin:0}.close-chat{width:36px;height:36px;border:1px solid #a8c2b0;border-radius:50%;font:24px sans-serif;background:white;color:var(--green)}.chat-dialog iframe{display:block;flex:1;min-height:0;width:100%;border:0;background:white}.chat-note{font-size:10px;line-height:1.5;padding:7px 14px;margin:0;flex-shrink:0;background:#f3f6ef}.footer{padding-bottom:35px}.footer-bottom{padding-right:0}html{scroll-padding-top:115px}
@media(max-width:1100px){.service-front .service-banners{grid-template-columns:repeat(4,minmax(0,1fr))}.service-front{padding:8px 20px}.service-front .service-banner{min-height:56px}.visit-story{gap:25px}html{scroll-padding-top:160px}}
@media(max-width:640px){.service-front{padding:7px 10px}.service-front .service-banners{gap:6px}.service-front .service-banner{padding:7px 3px;min-height:57px;flex-direction:column;justify-content:center;gap:3px;text-align:center;border-radius:10px}.service-front .service-banner strong,.service-front .service-banner.ai strong{font-size:10px;white-space:nowrap}.service-front .service-banner small{display:none}.service-front .icon{width:18px;height:18px}.visit-story{grid-template-columns:1fr;gap:26px}.visit-story .site-photo{position:static}.visit-story .site-photo img{aspect-ratio:1.5}.medical-card{padding:22px 18px}.medical-card:last-child{grid-column:auto}.care-icon{width:52px;height:52px;border-radius:17px}.article .step .curated{float:none;width:100%;margin:0 0 22px}.article .step .curated img{aspect-ratio:1.8}.chat-dialog{inset:auto 8px 8px auto;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);max-height:none;border-radius:18px}.hero{padding-top:30px}.footer{padding-bottom:30px}html{scroll-padding-top:150px}}
/* Restore rich, nonrepeating photography; one shared action bar */
.main-nav{gap:32px;font-size:14px}.head-inner{padding-top:22px;padding-bottom:22px}.hero-meta{margin-top:24px}.medical-card{padding:14px 14px 24px}.medical-card .site-photo{margin:0 0 20px;border-radius:14px}.medical-card .site-photo img{height:auto;aspect-ratio:1.3}.doctor-panel>.site-photo{margin:0 0 26px}.doctor-panel>.site-photo img{height:auto;aspect-ratio:1.8}.site-photo.divider{margin-top:38px}.service-front .service-banner.booking{box-shadow:0 2px 7px #245c4b20}.service-front .service-banner{border-radius:12px}.visit-story .site-photo img{height:auto}.footer-nav .footer-chat{font-size:inherit}
@media(max-width:640px){.medical-card .site-photo img{aspect-ratio:1.2}.medical-card{padding:10px 10px 20px}.medical-card h3{font-size:17px}.medical-card .site-photo figcaption{font-size:8px;padding:3px 5px}.medical-card:last-child{grid-column:1/-1}.medical-card:last-child .site-photo img{aspect-ratio:2}.hero-meta{margin-top:20px}.head-inner{padding-top:15px;padding-bottom:15px}}

/* Warm, lively clinic palette and authentic service identities */
:root{--green:#32664f;--mint:#e1f0cb;--light:#f4f7e9;--coral:#f5bc91;--paper:#fffdf8;--line:#dce4d1}
.preview{background:#e7eedb}.header{background:#fffdf8}.head-inner{padding-top:20px;padding-bottom:20px}.main-nav a{position:relative}.main-nav a:after{content:'';display:block;height:3px;width:22px;background:#e7b270;border-radius:4px;margin:5px auto 0}.main-nav a:nth-child(even):after{background:#9fbe78}
.service-front{background:#fffefbf5;border-bottom:1px solid #dedfcf;padding:10px 22px}.service-front .service-banner{min-height:86px;flex-direction:column;justify-content:center;gap:7px;padding:10px 5px;text-align:center;border-width:1px;background:#fff;border-color:#d7ddcc}.service-front .service-banner strong{font-size:13px;line-height:1.4}.service-front .service-banner small{margin-top:2px;font-size:10px}.service-front .icon{width:28px;height:28px}.service-front .brand-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0;margin:4px 9px}.service-front .robot-icon{width:44px;height:44px;flex-shrink:0}.service-front .service-banner.booking{background:#3f7356;border-color:#3f7356;color:white}.service-front .service-banner.interview{background:#fff4da;border-color:#edd5a5;color:#6e542b}.service-front .service-banner.line{background:#fff;border-color:#06c755;border-bottom-width:4px;color:#254637}.service-front .service-banner.instagram{background:#fff;border-color:#e7bed3;border-bottom:4px solid #cd4e88;color:#5c345d}.service-front .service-banner.ai{background:#eceafb;border-color:#b7b7dc;color:#42498b}.service-front .service-banner.online{background:#edf5f3}.service-front .service-banner.phone{background:#fceadd;color:#754c34}.service-front .service-banner.line:hover,.service-front .service-banner.instagram:hover{transform:none}
.notice{margin-top:15px;padding:12px 18px;background:#fff2df;border:1px solid #f0d5ae;border-radius:14px;gap:16px}.notice .tag{background:#f1bd7e;color:#50381f}
.hero{position:relative;isolation:isolate;min-height:540px;padding:45px 0 48px;gap:48px}.hero:before{content:'';position:absolute;inset:24px -25px 28px 34%;border-radius:48% 42% 45% 35%;background:#edf2d7;z-index:-1}.hero-copy>.eyebrow{display:inline-block;background:#e5efd4;border-radius:20px;padding:8px 14px;color:#416039;letter-spacing:.12em;margin-bottom:20px}.hero h1{font-weight:700;font-size:clamp(2rem,3.5vw,3.2rem)}.hero h1 em:after{height:12px;background:#f4bd81;bottom:0}.hero-copy>p{color:#435647}.hero-photo{padding:10px;background:white;border-radius:44% 44% 30px 30px;box-shadow:0 8px 24px #55733c12}.hero-photo>img{height:425px;border-radius:44% 44% 23px 23px}.hero-photo:after{content:'';position:absolute;right:-12px;top:28px;width:48px;height:66px;background:#e8b678;border-radius:90% 10% 90% 10%;transform:rotate(12deg);z-index:-1}.hero-meta span{background:#fff;border:1px solid #dfe5d4;padding:5px 12px;border-radius:20px}.hero-meta span+span{border:1px solid #dfe5d4;padding-left:12px}
.reasons{gap:18px;margin-bottom:65px}.reason{padding:24px 22px;background:#e1edc9;border:1px solid #c9dbad;border-bottom:4px solid #a6c27b}.reason:nth-child(2){background:#fce5d5;border-color:#f2c6a7;border-bottom-color:#e9b087}.reason:nth-child(3){background:#fff0c6;border-color:#eedba3;border-bottom-color:#e2bf6f}.reason-icon{width:52px;height:52px;background:#fffc}.reason strong{font-size:18px}.reason small{color:#485847}
.section-heading .eyebrow{color:#85602d;letter-spacing:.16em}.section-heading h2{font-weight:700}.section-heading:before{content:'';width:9px;align-self:stretch;background:linear-gradient(#a9c47b 0 58%,#efbc82 58%);border-radius:9px;flex-shrink:0}.section-heading{justify-content:flex-start;gap:18px}.section-heading>.text-link{margin-left:auto}.tint{background:#f0f5e5}.section#medical-photos{background:#edf3df;border-top:1px solid #e2eace;border-bottom:1px solid #e2eace}.medical-grid{gap:18px}.medical-card{border:1px solid #d8e0cc;border-bottom:5px solid #a9c47b;box-shadow:0 5px 15px #52673406;background:white}.medical-card:nth-child(2){border-bottom-color:#ecb28c}.medical-card:nth-child(3){border-bottom-color:#e6c260}.medical-card:nth-child(4){border-bottom-color:#a8bbd6}.medical-card:nth-child(5){border-bottom-color:#b8aa89}.medical-card .card-number{color:#786844;font-weight:700;margin-bottom:14px}.medical-card h3{margin-bottom:12px}.medical-card .icon{background:#edf3df;border-radius:50%;padding:5px;width:34px;height:34px}.schedule-grid{border-top:5px solid #aac880}.schedule-card{background:#f2f6e8}.home-duty{border-top-color:#e6c790}.donguri{background:#fae9ce}.donguri .chips span{border-color:#e8d0a4}.doctor-panel{background:#e6efd7}.step .num{color:#a86835}.faq details{border-radius:14px;margin-bottom:10px;border:1px solid #e0e6d7}.faq summary:before{color:#a66f35}.page-hero{background:linear-gradient(115deg,#edf3df,#fff2dc);padding:34px 36px;border-radius:26px;margin-bottom:38px;border-bottom:4px solid #ecc18c}.page-hero h1{font-weight:700}.page-hero .eyebrow{color:#846337}.article h2,.article h3{scroll-margin-top:180px}.side-nav a.active{background:#e7efcf}.footer{border-top:6px solid #a7c47c}
html{scroll-padding-top:180px}
@media(min-width:1101px){.service-front .service-banners{max-width:1280px}.service-front .service-banner{min-height:105px}}
@media(max-width:1100px){.service-front .service-banner{flex-direction:row;min-height:64px;text-align:left;padding:5px 10px;gap:10px}.service-front .brand-icon{margin:4px 6px}.service-front .service-banner strong{font-size:12px}.hero{gap:25px}.hero:before{right:-10px}.hero-photo>img{height:380px}}
@media(max-width:640px){.service-front{padding:7px 9px}.service-front .service-banner{min-height:78px;flex-direction:column;gap:4px;padding:5px 2px;text-align:center}.service-front .service-banner strong,.service-front .service-banner.ai strong{font-size:10px}.service-front .brand-icon{width:40px;height:40px;margin:4px 8px}.service-front .icon{width:30px;height:30px;margin:7px 0}.service-front .robot-icon{width:42px;height:42px;margin:1px 0}.service-front .service-banner small{display:none}.notice{padding:10px 12px;margin-top:12px;gap:8px}.hero{padding:28px 0 32px;gap:24px}.hero:before{inset:42% -8px 12px 12%;border-radius:46% 40% 20% 30%}.hero-copy>.eyebrow{font-size:10px;padding:7px 11px;margin-bottom:17px}.hero h1{font-size:clamp(25px,7vw,34px)}.hero-photo{padding:8px}.hero-photo>img{height:auto;aspect-ratio:1.45;border-radius:36% 36% 20px 20px}.hero-photo:after{right:0;top:8px;width:30px;height:40px}.hero-meta{gap:6px;flex-wrap:wrap;font-size:11px}.hero-meta span{padding:4px 9px}.hero-meta span+span{padding-left:9px}.reasons{gap:10px;margin-bottom:45px}.reason{padding:18px 16px}.section-heading{gap:11px;flex-wrap:wrap}.section-heading:before{width:6px}.section-heading>div{flex:1;min-width:0}.section-heading>.text-link{margin-left:17px}.section-heading h2{font-size:23px}.section{padding:52px 0}.page-hero{padding:26px 20px;border-radius:20px}.medical-grid{gap:12px}.medical-card h3{font-size:16px}.medical-card .card-number{font-size:10px}.article h2,.article h3{scroll-margin-top:195px}html{scroll-padding-top:195px}}
/* Keep each photo caption anchored to its own image on mobile. */
@media(max-width:640px){.visit-story .site-photo{position:relative;top:auto}}
/* Purpose-specific questionnaires and separate sister-floor navigation. */
.service-front .form-icon{width:44px;height:44px;flex-shrink:0;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}.service-front .service-banner.general-form{background:linear-gradient(145deg,#f7fcfa,#e2f1eb);border-color:#bfd9cf;border-bottom:4px solid #76aa98;color:#326c5c}.service-front .service-banner.flu-form{background:linear-gradient(145deg,#fff9ee,#fbe6c6);border-color:#e7cba1;border-bottom:4px solid #d6a162;color:#876033}.service-front .interview>span{position:relative}.service-front .interview strong{font-weight:700;letter-spacing:.04em}.floor-links{padding:44px 0;background:#fffaf1;border-top:1px solid #e9decd}.floor-links .eyebrow{margin-bottom:9px;color:#81683f}.floor-links h2{font-size:23px;margin-bottom:22px}.floor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.floor-card{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #ccd9d0;border-radius:18px;background:#f0f6f2;min-width:0}.floor-card>span:nth-child(2){min-width:0}.floor-card strong,.floor-card small,.floor-card>span>span{display:block}.floor-card strong{font-size:18px;line-height:1.6}.floor-card small{font-size:10px;letter-spacing:.13em;color:#63796b}.floor-card>span>span{font-size:12px;margin-top:5px;color:#5e7064}.floor-symbol{width:54px;height:54px;display:grid;place-items:center;background:#fff;border-radius:50%;flex-shrink:0;font-size:21px;font-weight:700;color:#597b65}.floor-card.beauty{background:#f8eee8;border-color:#dbc5b4;color:#654d3f}.beauty .floor-symbol{color:#a58051;font-size:34px}.beauty small,.beauty>span>span{color:#826b57}.floor-arrow{margin-left:auto;font-size:24px}.floor-card:hover{border-color:#aa8c59;box-shadow:0 4px 15px #70592c12}.inspection-item{padding:16px 0 8px;border-bottom:1px solid var(--line)}
@media(max-width:640px){.service-front .form-icon{width:42px;height:42px;margin:1px 0}.floor-grid{grid-template-columns:1fr;gap:12px}.floor-card{padding:20px 16px;gap:12px}.floor-card strong{font-size:16px}.floor-links h2{font-size:20px}.floor-symbol{width:44px;height:44px}.floor-links{padding:34px 0}}
/* Current notices first, with a compact scrollable archive. */
.home-news{margin:0 0 64px}.news-board{background:#fff;border:1px solid #dce4d1;border-radius:22px;padding:28px}.news-board h3{font-size:17px;margin:0 0 15px}.news-latest,.news-archive{list-style:none;margin:0;padding:0}.news-latest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.news-latest li{min-width:0}.news-latest a{display:flex;height:100%;flex-direction:column;align-items:start;padding:20px;background:#f6f8ef;border:1px solid #dce5ce;border-top:4px solid #9dba70;border-radius:14px;gap:13px}.news-latest li:nth-child(2) a{background:#fff7eb;border-color:#efddc2;border-top-color:#e5b077}.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.news-meta time{font:600 13px sans-serif;color:#576958}.news-meta .tag{font-size:10px;padding:3px 9px}.news-latest .news-title{font-size:16px;line-height:1.8}.news-open{align-self:end;margin-top:auto;color:var(--green)}.news-archive-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;margin-bottom:10px}.news-archive-heading h3{margin:0}.news-archive-heading>span{font-size:11px;color:#617052}.news-scroll{max-height:270px;overflow-y:auto;border:1px solid #e0e5d7;border-radius:12px;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#92a877 #f1f4e8}.news-scroll:focus-visible{outline:3px solid #ad7949;outline-offset:3px}.news-scroll::-webkit-scrollbar{width:10px}.news-scroll::-webkit-scrollbar-thumb{background:#92a877;border-radius:10px;border:2px solid #f1f4e8}.news-scroll::-webkit-scrollbar-track{background:#f1f4e8}.news-archive li+li{border-top:1px solid #e4e8dc}.news-archive a{display:grid;grid-template-columns:220px 1fr 20px;gap:18px;align-items:center;padding:17px 18px}.news-archive .news-title{font-size:14px;font-weight:500;line-height:1.7}.news-archive a:hover,.news-latest a:hover{background:#edf3df}.news-board>.note{margin-bottom:0}.article .news-board{padding:22px}.article .news-latest{grid-template-columns:1fr}.article .news-latest a{gap:8px}.article .news-archive a{grid-template-columns:1fr 20px;gap:6px}.article .news-archive .news-meta{grid-column:1/-1}.article .news-scroll{max-height:360px}
@media(max-width:640px){.home-news{margin-bottom:42px}.news-board,.article .news-board{padding:18px 14px}.news-latest{grid-template-columns:1fr;gap:10px}.news-latest a{padding:15px;gap:8px}.news-latest .news-title{font-size:15px}.news-latest .news-open{display:none}.news-archive-heading{display:block;margin-top:24px}.news-archive-heading>span{display:block;margin-top:5px}.news-archive a{grid-template-columns:1fr 18px;padding:14px 12px;gap:7px}.news-archive .news-meta{grid-column:1/-1}.news-scroll,.article .news-scroll{max-height:280px}.news-meta time{font-size:12px}.news-archive .news-title{font-size:13px}}
/* Show the embedded bot's own header and controls without a second host header. */
.chat-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:#fff}.chat-dialog .chat-viewport iframe{position:absolute;left:0;max-width:none;min-height:0;border:0;transform-origin:top left}.chat-dialog{border:2px solid #d4e0bf}
/* Mobile finishing: retain all eight tools while preserving reading space. */
@media(max-width:640px){
 .service-front{padding:5px 8px}.service-front .service-banners{gap:5px}.service-front .service-banner{min-height:69px;padding:4px 2px;gap:3px;border-radius:11px}.service-front .brand-icon{margin:0 8px;width:40px;height:40px}.service-front .icon{width:30px;height:30px;margin:5px 0}.service-front .form-icon,.service-front .robot-icon{width:40px;height:40px;margin:0}.service-front .service-banner strong,.service-front .service-banner.ai strong{font-size:10px;line-height:1.4}.service-front .service-banner.line,.service-front .service-banner.instagram,.service-front .service-banner.interview{border-bottom-width:3px}
 .hero{padding-top:22px;gap:18px}.hero h1{margin-bottom:18px}.hero-copy>p{font-size:14px;line-height:1.9;margin-bottom:14px}.hero-meta{margin-top:14px}.hero-copy>.eyebrow{margin-bottom:12px}.notice{font-size:12px;line-height:1.7}.hero-photo .photo-label{font-size:9px;max-width:calc(100% - 24px);left:12px;bottom:12px;padding:5px 9px}
 .page-hero{margin-bottom:20px;padding:24px 18px}.page-layout{padding-top:12px;gap:20px}.side-nav{margin:0;border-radius:12px;gap:14px;padding:10px 12px;scrollbar-width:thin}.side-nav a{min-height:44px;display:flex;align-items:center}.full-nav.open{max-height:65dvh;overflow-y:auto;overscroll-behavior:contain}.full-nav a{min-height:44px}.page-hero h1{font-size:26px;overflow-wrap:anywhere}
 .medical-card p{font-size:14px;line-height:1.85}.medical-links{gap:14px;flex-wrap:wrap}.medical-links .text-link{white-space:normal}.text-link{max-width:100%}.action-row .btn{white-space:normal;line-height:1.65;text-align:center;max-width:100%;min-height:48px}.article .news-latest,.article .news-archive{padding-left:0}.article .news-latest li,.article .news-archive li{margin-bottom:0}.article .news-board a{text-decoration:none!important}.article .news-board h3{font-size:17px;margin-top:0}.news-scroll{touch-action:pan-y}.news-archive a{min-height:76px}
 .weekly{border-radius:10px;scrollbar-width:thin}.weekly table{min-width:330px}.home-duty .weekly table{min-width:490px}.article .weekly table{min-width:490px}.weekly:focus-visible{outline:3px solid #ad7949;outline-offset:3px}.table-hint{font-size:11px;color:#637252;margin:8px 0}.article p,.article li{word-break:normal;overflow-wrap:anywhere}.floor-card strong{overflow-wrap:anywhere}.footer-nav a,.footer-chat{min-height:44px;display:flex;align-items:center}.footer-nav{row-gap:4px}html{scroll-padding-top:168px}.article h2,.article h3,.article .tit01,.article .anchor{scroll-margin-top:168px}
}
@media(max-width:374px){.medical-grid,.article .medical-grid{grid-template-columns:1fr}.medical-card:last-child{grid-column:auto}.medical-card .site-photo img,.medical-card:last-child .site-photo img{aspect-ratio:1.7}.medical-card{padding:12px 12px 18px}.medical-card h3{font-size:19px}.medical-card .site-photo figcaption{font-size:10px}.hero h1{font-size:25px}.reason strong{font-size:17px}.floor-card{gap:10px}.floor-card strong{font-size:15px}}
@media(max-height:520px) and (orientation:landscape){.service-front{position:relative}.chat-dialog{height:calc(100dvh - 16px)}html{scroll-padding-top:16px}}
/* New clinical imagery: retain complete scenes, including the low floor mat. */
.site-photo.service-hero{margin:0 0 30px}.site-photo.service-hero img{height:auto;aspect-ratio:3/2;object-fit:contain}.medical-card [data-photo-key="roomcard"] img{object-position:54% 60%}.medical-card [data-photo-key="check"] img{object-position:44% 50%}.medical-card [data-photo-key="vaccine"] img{object-position:44% 50%}
@media(max-width:640px){.site-photo.service-hero{margin-bottom:24px;border-radius:16px}.site-photo.service-hero img{aspect-ratio:3/2;height:auto}.medical-card .site-photo img,.medical-card:last-child .site-photo img{aspect-ratio:3/2;object-fit:contain}.site-photo.service-hero figcaption{font-size:10px;bottom:8px;right:8px}}

/* Keep the eight recognizable cards, reclaim reading space after scrolling. */
.header{position:relative}.mobile-actions{display:none}.table-hint{display:none}.hours-change{font-weight:700;color:#815326;background:#fff1dc;padding:12px 14px;border-radius:10px}
@media(min-width:768px){
 .service-slot{height:126px}.service-front{position:relative;padding:10px 16px;height:126px}.service-front .service-banners{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.service-front .service-banner{min-height:105px;height:105px;flex-direction:column;text-align:center;padding:8px 3px;gap:4px}.service-front .service-banner strong{font-size:12px}.service-front .service-banner small{font-size:9px}.service-front .brand-icon{margin:0}
 .service-front.is-compact{position:fixed;inset:0 0 auto;height:64px;padding:5px 16px;box-shadow:0 3px 12px #283d3510}.service-front.is-compact .service-banner{min-height:54px;height:54px;padding:3px;gap:2px;border-bottom-width:2px}.service-front.is-compact .service-banner small{display:none}.service-front.is-compact .service-banner strong{font-size:10px;line-height:1.2}.service-front.is-compact .icon,.service-front.is-compact .robot-icon,.service-front.is-compact .form-icon{width:24px;height:24px;margin:0}.service-front.is-compact .brand-icon{width:32px;height:32px;margin:0}.service-front.is-compact .service-banner.line,.service-front.is-compact .service-banner.instagram{flex-direction:row;gap:5px}
 html{scroll-padding-top:80px}.article h2,.article h3{scroll-margin-top:80px}
}
@media(max-width:767px){
 .service-slot{height:auto;margin:0 0 24px}.service-front{position:static;padding:8px 0;background:transparent;border:0;backdrop-filter:none}.service-front .service-banners{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.service-front .service-banner{flex-direction:column;min-height:72px;padding:4px 2px;text-align:center;gap:3px}.service-front .service-banner small{display:none}.service-front .service-banner strong{font-size:10px}.service-front .brand-icon,.service-front .form-icon,.service-front .robot-icon{width:40px;height:40px;margin:0}.service-front .icon{width:30px;height:30px;margin:5px 0}
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.mobile-actions{position:fixed;z-index:35;inset:auto 0 0;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:7px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffdf8f5;border-top:1px solid #dce4d1;box-shadow:0 -3px 15px #283d3510}.mobile-actions a{min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:14px;font-weight:700;border:1px solid #d8ddcf}.mobile-actions .mobile-phone{background:#fceadd;color:#754c34}.mobile-actions .mobile-booking{background:#32664f;color:white;border-color:#32664f}.mobile-actions .mobile-line{background:white;color:#254637;border-color:#06c755;gap:4px}.mobile-line img{width:32px;height:32px}
 .table-hint{display:block;font-size:11px;color:#637252;margin:8px 0;grid-column:1/-1}html{scroll-padding-top:20px}.article h2,.article h3,.article .tit01,.article .anchor{scroll-margin-top:20px}
}
/* Center the chat close mark independently of font baseline and button padding. */
.close-chat{display:grid;place-items:center;padding:0;line-height:1;flex-shrink:0;appearance:none}.close-chat svg{display:block;width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}

/* Mobile navigation: the eight branded cards stay in normal page flow. */
@media (max-width: 767px), (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
  .mobile-actions { display: none !important; }
  .service-slot { display: block; height: auto; margin: 0 0 24px; }
  .service-front { position: static; top: auto; z-index: auto; margin: 0; padding: 8px 0; background: transparent; border: 0; backdrop-filter: none; }
  .header { position: relative; top: auto; height: auto; }
  body { padding-bottom: calc(var(--mobile-bottom-bar-height, 67px) + 16px); }
  html { scroll-padding-top: 20px; }
  .article h2, .article h3, .article .tit01, .article .anchor { scroll-margin-top: 20px; }

  .mobile-bottom-bar {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 82;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    background: #fffdf8;
    border-top: 1px solid #dce4d1;
    box-shadow: 0 -3px 15px #283d351b;
  }
  .mobile-bottom-bar a,
  .mobile-bottom-bar button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 0;
    min-height: 52px;
    padding: 4px 1px;
    border: 1px solid #dce4d1;
    border-radius: 11px;
    background: #eff5ee;
    color: #254637;
    font: 700 10px/1.2 var(--round);
    text-align: center;
    text-decoration: none;
  }
  .mobile-bottom-bar svg { width: 21px; height: 21px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-bottom-bar .bottom-booking { background: #245c4b; border-color: #245c4b; color: white; }
  .mobile-bottom-bar .bottom-ai { background: #eceafb; border-color: #b7b7dc; color: #42498b; }
  .mobile-bottom-bar .bottom-ai .robot-icon { width: 25px; height: 25px; fill: none; stroke: none; }
  .mobile-bottom-bar .bottom-phone { background: #f9eee6; color: #674a38; }
  .mobile-bottom-bar .bottom-menu { background: #f4f2e8; }
  .mobile-bottom-bar button[aria-expanded="true"] { border-color: #245c4b; }

  .mobile-sheet-backdrop {
    position: fixed;
    inset: 0;
    z-index: 79;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: #172b23a6;
    transition: opacity .18s ease, visibility .18s ease;
  }
  .mobile-sheet-backdrop.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
  .mobile-bottom-sheet {
    position: fixed;
    inset: auto 0 var(--mobile-bottom-bar-height, 67px);
    z-index: 81;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
    max-height: calc(100dvh - var(--mobile-bottom-bar-height, 67px) - 16px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 18px 20px;
    background: #fffdf8;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -8px 30px #172b2326;
    transition: transform .2s ease, opacity .2s ease, visibility .2s ease;
  }
  .mobile-bottom-sheet.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
  .mobile-sheet-header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
    background: #fffdf8;
    border-bottom: 1px solid #dce4d1;
  }
  .mobile-sheet-header h2 { margin: 0; color: #245c4b; font-size: 17px; }
  .mobile-sheet-close { display: grid; place-items: center; flex: none; min-width: 44px; min-height: 44px; border: 1px solid #dce4d1; border-radius: 50%; background: white; color: #245c4b; font-size: 24px; line-height: 1; }
  .mobile-sheet-options { display: grid; gap: 10px; padding-top: 16px; }
  .mobile-sheet-options a { display: flex; align-items: center; min-height: 56px; padding: 12px 16px; border: 1px solid #dce4d1; border-radius: 12px; background: #f6faf5; color: #254637; font-size: 14px; font-weight: 700; }
  .mobile-sheet-menu-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; padding-top: 6px; }
  .mobile-sheet-menu-links a { display: flex; align-items: center; min-height: 44px; padding: 9px 0; border-bottom: 1px solid #dce4d1; font-size: 13px; line-height: 1.5; }
  .mobile-sheet-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #dce4d1; }
  .mobile-sheet-extras a, .mobile-sheet-extras button { display: grid; place-items: center; min-height: 48px; min-width: 0; padding: 5px 2px; border: 1px solid #dce4d1; border-radius: 10px; background: #eff5ee; color: #245c4b; font: 700 11px/1.3 var(--round); text-align: center; }
}
@media (min-width: 768px) {
  .mobile-bottom-bar, .mobile-sheet-backdrop, .mobile-bottom-sheet { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-sheet-backdrop, .mobile-bottom-sheet { transition: none; }
}

/* Two always-visible desktop rows, distinct from the eight action cards. */
@media (max-width: 767px), (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
  .desktop-page-nav { display: none; }
  .mobile-sheet-menu-links a[aria-current="page"] { color: #245c4b; background: #e5f1e8; border-bottom-color: #245c4b; }
}
@media (min-width: 768px) {
  .head-inner { padding: 14px 24px 10px; }
  .header .main-nav, .header .menu-button { display: none !important; }
  .desktop-page-nav { display: block; width: min(1320px, 100%); margin: 0 auto; padding: 0 12px 9px; }
  .desktop-page-nav-row { padding: 1px 8px 4px; border-radius: 12px; }
  .desktop-page-nav-row + .desktop-page-nav-row { margin-top: 3px; background: #edf6ee; }
  .desktop-page-nav-label { display: block; height: 16px; margin-bottom: 2px; padding-left: 3px; color: #52645a; font-size: 11px; font-weight: 700; line-height: 16px; }
  .desktop-page-nav-links { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
  .desktop-page-nav-row.is-support .desktop-page-nav-links { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .desktop-page-nav-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 44px;
    padding: 4px 3px;
    border: 1px solid transparent;
    border-bottom: 2px solid transparent;
    border-radius: 10px;
    color: #283d35;
    font-size: clamp(12px, 1.15vw, 15px);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
  }
  .desktop-page-nav-links a:hover { background: #e6f0e9; color: #245c4b; }
  .desktop-page-nav-links a.is-current { border-bottom-color: #245c4b; }
  .desktop-page-nav-links a:focus-visible { outline: 3px solid #af5d43; outline-offset: -2px; }
}

/* Inspection page: close the gap left by the removed duplicate CT lead figure. */
.article > h2 + .inspection-item { padding-top: 0; }
.article > h2 + .inspection-item > h3:first-child { margin-top: 0; }

/* Desktop-only one-row sticky page navigation above the original eight service cards. */
@media (min-width: 768px) {
  :root { --desktop-page-nav-height: 60px; --desktop-service-height: 56px; }
  .header { display: none; }
  .desktop-page-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    height: var(--desktop-page-nav-height);
    margin: 0;
    padding: 0;
    background: #fffdf8;
    border-bottom: 1px solid #dce4d1;
    box-shadow: 0 2px 12px #283d3510;
  }
  .desktop-page-nav-inner { display: flex; align-items: center; gap: 20px; width: min(1320px, 100%); height: 100%; margin: 0 auto; padding: 0 24px; }
  .desktop-page-nav .brand { flex: 0 0 245px; width: 245px; }
  .desktop-page-nav .brand img { display: block; width: 100%; height: auto; max-height: 46px; object-fit: contain; }
  .desktop-page-nav-links { flex: 1; min-width: 0; height: 100%; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
  .desktop-page-nav-links a,
  .desktop-page-menu-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    min-height: 44px;
    height: 44px;
    padding: 2px 4px;
    border: 1px solid transparent;
    border-bottom: 2px solid transparent;
    border-radius: 10px;
    color: #283d35;
    background: transparent;
    font: 700 clamp(14px, 1.04vw, 15px)/1.3 var(--round);
    text-align: center;
    white-space: nowrap;
  }
  .desktop-page-nav-links a:hover,
  .desktop-page-menu-trigger:hover { background: #e6f0e9; color: #245c4b; }
  .desktop-page-nav-links a.is-current { color: #245c4b; background: #edf6ee; border-bottom-color: #245c4b; }
  .desktop-page-menu-trigger { border-color: #dce4d1; background: #f3f7ef; cursor: pointer; }
  .desktop-page-menu-trigger[aria-expanded="true"] { border-bottom-color: #245c4b; background: #e5f1e8; color: #245c4b; }
  .desktop-page-menu-trigger span:first-child { font: 18px/1 sans-serif; }
  .desktop-page-nav-links a:focus-visible,
  .desktop-page-menu-trigger:focus-visible { outline: 3px solid #af5d43; outline-offset: -2px; }

  .service-front.is-compact { top: var(--desktop-page-nav-height); z-index: 30; height: var(--desktop-service-height); padding: 4px 16px; }
  .service-front.is-compact .service-banner,
  .service-front.is-compact .service-banner.line,
  .service-front.is-compact .service-banner.instagram { min-height: 48px; height: 48px; flex-direction: row; align-items: center; justify-content: center; gap: 4px; padding: 2px 3px; }
  .service-front.is-compact .service-banner strong { font-size: clamp(10px, .86vw, 12px); line-height: 1.2; white-space: nowrap; }
  .service-front.is-compact .icon,
  .service-front.is-compact .robot-icon,
  .service-front.is-compact .form-icon { width: 23px; height: 23px; margin: 0; }
  .service-front.is-compact .brand-icon { width: 29px; height: 29px; margin: 0; }
  .side-nav, .visit-story .site-photo { top: calc(var(--desktop-page-nav-height) + var(--desktop-service-height) + 12px); }
  html { scroll-padding-top: calc(var(--desktop-page-nav-height) + var(--desktop-service-height) + 12px); }
  .article h2, .article h3, .article .tit01, .article .anchor,
  main [id], section[id] { scroll-margin-top: 12px; }
  a:focus-visible, button:focus-visible, summary:focus-visible { scroll-margin-top: 12px; }

  .desktop-page-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 45;
    background: #172b2380;
  }
  .desktop-page-menu-panel {
    position: absolute;
    top: calc(100% + 1px);
    right: max(16px, calc((100vw - 1320px) / 2 + 16px));
    z-index: 1;
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100dvh - var(--desktop-page-nav-height) - 12px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px 20px 20px;
    border: 1px solid #cbdccc;
    border-radius: 0 0 18px 18px;
    background: #fffdf8;
    box-shadow: 0 15px 36px #163b2c2e;
  }
  .desktop-page-menu-header {
    position: sticky;
    top: -14px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 54px;
    border-bottom: 1px solid #dce4d1;
    background: #fffdf8;
  }
  .desktop-page-menu-header h2 { margin: 0; font-size: 17px; font-weight: 700; color: #245c4b; }
  .desktop-page-menu-close {
    display: grid;
    place-items: center;
    flex: none;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid #cbdccc;
    border-radius: 50%;
    background: white;
    color: #245c4b;
    font: 26px/1 sans-serif;
  }
  .desktop-page-menu-section { padding-top: 16px; }
  .desktop-page-menu-section + .desktop-page-menu-section { margin-top: 16px; border-top: 1px solid #dce4d1; }
  .desktop-page-menu-section h3 { margin: 0 0 7px; color: #52645a; font-size: 13px; font-weight: 700; }
  .desktop-page-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; }
  .desktop-page-menu-grid a {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 10px;
    color: #245c4b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
  }
  .desktop-page-menu-grid a:hover { background: #edf6ee; }
  .desktop-page-menu-grid a.is-current { background: #e5f1e8; text-decoration: underline; text-underline-offset: 4px; }
  .desktop-page-menu-grid a:focus-visible,
  .desktop-page-menu-close:focus-visible { outline: 3px solid #af5d43; outline-offset: -2px; }
}
.desktop-page-menu-panel[hidden], .desktop-page-menu-backdrop[hidden] { display: none !important; }
@media (max-width: 767px) {
  .desktop-page-nav, .desktop-page-menu-backdrop { display: none !important; }
}

@media (min-width: 768px) and (max-width: 900px) {
  .service-front.is-compact .service-banner.instagram { gap: 2px; }
  .service-front.is-compact .service-banner.instagram .brand-icon { width: 28px; height: 28px; }
  .service-front.is-compact .service-banner.instagram strong { font-size: 9px; }
}

/* At narrow desktop widths, move the least essential direct links into the same menu. */
@media (min-width: 768px) and (max-width: 1100px) {
  .desktop-page-nav-inner { gap: 16px; padding: 0 18px; }
  .desktop-page-nav .brand { flex-basis: 220px; width: 220px; }
  .desktop-page-nav-links { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .desktop-page-nav-links a[href="/clinic.html"] { display: none; }
}
@media (min-width: 768px) and (max-width: 950px) {
  .desktop-page-nav-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .desktop-page-nav-links a[href="/doctor.html"] { display: none; }
}
@media (min-width: 1101px) {
  .desktop-page-menu-grid a[href="/clinic.html"] { display: none; }
}
@media (min-width: 951px) {
  .desktop-page-menu-grid a[href="/doctor.html"] { display: none; }
}
@media (min-width: 768px) and (max-width: 960px) {
  .service-front.is-compact .service-banner,
  .service-front.is-compact .service-banner.line,
  .service-front.is-compact .service-banner.instagram { flex-direction: column; gap: 0; }
  .service-front.is-compact .service-banner strong,
  .service-front.is-compact .service-banner.instagram strong { font-size: 10px; }
  .service-front.is-compact .brand-icon,
  .service-front.is-compact .service-banner.instagram .brand-icon { width: 23px; height: 23px; }
}

/* Clinic-side guidance remains usable even when the third-party chat iframe is blank. */
.chat-help { flex: none; padding: 7px 12px 6px; border-top: 1px solid #d4e0bf; background: #f7f9f2; color: #334b3d; font-size: 11px; line-height: 1.35; }
.chat-help p { margin: 0 0 3px; }
.chat-help .chat-guide { font-size: 12px; font-weight: 700; }
.chat-help .chat-fallback { color: #52645a; font-size: 10px; }
.chat-help-links { display: flex; gap: 6px; margin: 4px 0 2px; }
.chat-help-links a { display: flex; flex: 1; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 5px; border: 1px solid #b7b7dc; border-radius: 9px; background: #eceafb; color: #42498b; font-size: 10px; font-weight: 700; line-height: 1.3; text-align: center; }
.chat-help-links a:last-child { border-color: #bfd3c2; background: #fff; color: #245c4b; }
.chat-help small { display: block; font-size: 10px; color: #52645a; }
.chat-dialog.is-keyboard-tight .chat-guide, .chat-dialog.is-keyboard-tight .chat-note { display: none; }

/* Contact: the existing chat is the first stop, then the official LINE account. */
.contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 28px; }
.contact-actions .btn { width: 100%; min-height: 64px; padding: 12px 14px; border-radius: 14px; text-align: center; }
.contact-actions .contact-line { border: 2px solid #06c755; background: #fff; color: #254637; }
.contact-actions .contact-line:hover { background: #ecfaef; }
.contact-actions .contact-line img { width: 32px; height: 32px; flex: none; object-fit: contain; }
@media (max-width: 640px) {
  .contact-actions { grid-template-columns: 1fr; gap: 10px; margin-bottom: 23px; }
  .contact-actions .btn { min-height: 58px; }
}

/* Mobile-only fixed clinic identity; the eight action cards remain in page flow. */
@media (max-width: 767px), (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
  .header { position: fixed; top: 0; right: 0; left: 0; z-index: 90; height: 56px; background: #fffdf8f5; border-bottom: 1px solid #dce4d1; backdrop-filter: blur(12px); }
  .header .head-inner { display: flex; align-items: center; gap: 10px; height: 56px; padding: 6px 16px; }
  .header .brand { flex: 0 1 220px; width: 220px; max-width: calc(100% - 104px); }
  .header .brand img { display: block; width: 100%; height: auto; max-height: 42px; object-fit: contain; }
  .header .menu-button { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; flex: none; width: 94px; height: 44px; margin-left: auto; padding: 4px 7px; border-radius: 11px; background: #f3f7ef; color: #245c4b; }
  .header .menu-button span { display: none; }
  .header .menu-button::before { content: '☰'; font: 19px/1 sans-serif; }
  .header .menu-button::after { content: 'メニュー'; font: 700 12px/1.2 var(--round); white-space: nowrap; }
  .header .menu-button[aria-expanded='true'] { border-color: #245c4b; background: #e5f1e8; }
  body { padding-top: 56px; }
  .mobile-bottom-sheet { max-height: calc(100dvh - 56px - var(--mobile-bottom-bar-height, 67px) - 8px); }
  html { scroll-padding-top: 68px; }
  .article h2, .article h3, .article .tit01, .article .anchor, main [id], section[id] { scroll-margin-top: 8px; }
}

/* Non-WebGL Google Maps embeds retain a legible address and external route if blocked. */
.map-fallback { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; border-top: 1px solid #dce4d1; background: #f7f9f2; color: #40564a; line-height: 1.45; }
.map-fallback address { font-style: normal; font-size: 12px; }
.map-fallback .btn { flex: none; min-height: 44px; padding: 9px 13px; font-size: 12px; line-height: 1.35; white-space: nowrap; }
@media (max-width: 767px) { .map-fallback { flex-wrap: wrap; } }

/* Recruitment uses the original external-site card on desktop and a plain menu row on mobile. */
.desktop-page-menu-grid .careers-link, .mobile-sheet-menu-links .careers-link { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-height: 44px; padding: 8px 10px; border: 1px solid #dce4d1; border-radius: 9px; background: #f3f7ef; color: #245c4b; }
.careers-link span, .careers-link small { white-space: nowrap; }
.careers-link small { color: #52645a; font-size: 10px; font-weight: 600; }
.desktop-page-menu-grid .careers-link:hover, .mobile-sheet-menu-links .careers-link:hover { background: #e5f1e8; }
.mobile-sheet-menu-links .careers-link.careers-link--recruitment { justify-content: flex-start; padding: 9px 0; border: 0; border-bottom: 1px solid #dce4d1; border-radius: 0; background: transparent; color: inherit; font-size: 13px; font-weight: 400; line-height: 1.5; }
.mobile-sheet-menu-links .careers-link--recruitment small { display: none; }
.desktop-page-menu-grid .careers-link:focus-visible, .mobile-sheet-menu-links .careers-link:focus-visible { outline: 3px solid #af5d43; outline-offset: 2px; }

/* Dedicated second-parking guidance; the clinic location map above is unchanged. */
.article .parking-card { margin: 18px 0 26px; padding: 20px 22px; border: 1px solid #cbdcca; border-left: 5px solid #477b61; border-radius: 17px; background: #f3f8ee; box-shadow: 0 7px 22px rgba(36, 92, 75, .06); }
.parking-card-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.parking-card-mark { display: inline-grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 9px; background: #307156; color: white; font-size: 17px; font-weight: 800; }
.parking-card h4 { margin: 0; color: #245c4b; font-size: 18px; line-height: 1.4; }
.parking-card p { margin: 8px 0 0; line-height: 1.75; }
.parking-card .parking-card-address { font-weight: 700; color: #245c4b; }
@media (max-width: 767px) { .article .parking-card { padding: 17px 16px; } .parking-card h4 { font-size: 17px; } }

/* Match the logo's visual center to the links and menu inside the 60px desktop row. */
@media (min-width: 768px) { .desktop-page-nav-links { align-items: center; } }
@media (min-width: 768px) { .parking-card p:last-child { max-width: 720px; } }

/* Desktop quick rail: five equal cards beside, never over, the reading area. */
.related-floor-rail { display: none; }
@media (min-width: 1024px) {
  .wrap { width: min(1160px, calc(100% - 176px)); }
  .related-floor-rail {
    --rail-card-height: clamp(54px, calc((100dvh - 254px) / 5), 110px);
    position: fixed;
    top: 194px;
    bottom: 24px;
    right: 0;
    z-index: 18;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 80px;
    line-height: 1.35;
  }
  .related-floor-rail-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .related-floor-rail-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 80px;
    height: var(--rail-card-height);
    min-height: 0;
    padding: 7px 3px;
    border: 1px solid #ccd9d0;
    border-radius: 18px;
    background: #f0f6f2;
    color: #245c4b;
    box-shadow: 0 3px 10px #283d3515;
    text-align: center;
    font: inherit;
    line-height: 1.25;
    cursor: pointer;
  }
  .related-floor-rail-link.beauty {
    border-color: #dbc5b4;
    background: #f8eee8;
    color: #654d3f;
  }
  .related-floor-rail-link.booking {
    border-color: #3f7356;
    background: #3f7356;
    color: #fff;
    box-shadow: 0 4px 14px #245c4b2e;
  }
  .related-floor-rail-link.interview {
    border-color: #e4c98f;
    background: #fff4da;
    color: #6e542b;
  }
  .related-floor-rail-link.ai {
    border-color: #b7b7dc;
    background: #eceafb;
    color: #42498b;
  }
  .related-floor-rail-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: clamp(30px, 4.2dvh, 42px);
    height: clamp(30px, 4.2dvh, 42px);
    border-radius: 50%;
    background: #fff;
    color: #597b65;
    font-size: 14px;
    font-weight: 700;
  }
  .related-floor-rail-link.beauty .related-floor-rail-icon { color: #a58051; }
  .related-floor-rail-link.booking .related-floor-rail-icon { color: #3f7356; }
  .related-floor-rail-link.interview .related-floor-rail-icon { color: #6e542b; }
  .related-floor-rail-icon svg { display: block; width: min(30px, 3.2dvh); height: min(30px, 3.2dvh); }
  .related-floor-rail-icon .robot-icon { width: min(34px, 3.6dvh); height: min(34px, 3.6dvh); }
  .related-floor-rail-label { font-size: 11px; font-weight: 700; white-space: normal; overflow-wrap: anywhere; }
  .related-floor-rail-link:hover { border-color: currentColor; box-shadow: 0 4px 13px #283d3526; }
  .related-floor-rail-link:focus-visible { outline: 3px solid #af5d43; outline-offset: 2px; }
  body:has(#chat-dialog[open]) .related-floor-rail,
  body:has(.desktop-page-menu-panel:not([hidden])) .related-floor-rail { display: none; }
}

/* Keep the three home entry cards visibly separated from the full-width hero. */
.hero + .reasons {
  margin-top: 20px;
}

/* Preview revision: four familiar, low-profile entries; the other six tools remain in the menu. */
.service-front .service-banners { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1160px; }
.service-front .service-banner:not(.booking):not(.general-form):not(.symptom-shortcut):not(.schedule-shortcut) { display: none; }
.service-front { padding: 7px 22px; }
.service-front .service-banner { min-height: 54px; height: 54px; flex-direction: row; gap: 9px; padding: 5px 15px; text-align: left; }
.service-front .service-banner strong { font-size: 13px; }
.service-front .service-banner small { display: none; }
.service-front .icon, .service-front .form-icon { width: 24px; height: 24px; flex: none; }
.service-front .service-banner.symptom-shortcut { background: #eef4df; border-color: #c9dbad; color: #365c47; }
.service-front .service-banner.schedule-shortcut { background: #fff1df; border-color: #eed7ad; color: #6e542b; }
@media (min-width: 768px) {
  .service-slot { height: 68px; }
  .service-front { height: 68px; }
  .service-front.is-compact .service-banner { min-height: 48px; height: 48px; flex-direction: row; gap: 7px; padding: 3px 9px; }
  .service-front.is-compact .service-banner strong { font-size: 12px; }
  .service-front.is-compact .icon, .service-front.is-compact .form-icon { width: 22px; height: 22px; }
  .desktop-page-menu-grid a[href="/clinic.html"] { display: flex; }
  .desktop-page-menu-grid .desktop-menu-chat { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 10px; background: transparent; color: #245c4b; font-size: 14px; font-weight: 700; text-align: left; }
  .desktop-page-menu-grid .desktop-menu-chat:hover { background: #edf6ee; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .desktop-page-nav-links a[href^="/medical/medical01.html"] { display: none; }
}
@media (max-width: 767px) {
  .service-front { padding: 7px 10px; }
  .service-front .service-banners { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .service-front .service-banner { min-height: 54px; height: 54px; flex-direction: column; gap: 1px; padding: 4px 2px; text-align: center; }
  .service-front .service-banner strong { font-size: 10px; white-space: nowrap; }
  .service-front .icon, .service-front .form-icon { width: 20px; height: 20px; }
}

/* Preview: clearer symptom entry while keeping the established clinic palette and photos. */
.hours-brief { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 10px 0 44px; padding: 23px 26px; border: 1px solid #dce4d1; border-radius: 20px; background: #f4f7e9; }
.hours-brief .eyebrow { margin-bottom: 6px; }
.hours-brief h2 { margin: 0 0 6px; font-size: clamp(18px, 1.8vw, 23px); }
.hours-brief p { margin: 0; max-width: 56ch; color: #52645a; font-size: 13px; line-height: 1.75; }
.hours-brief-links { display: flex; flex: none; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.hours-brief-links .btn { min-height: 46px; padding: 9px 14px; font-size: 12px; }
.symptom-section { margin: 0 0 62px; }
.symptom-section .section-heading { margin-bottom: 10px; }
.symptom-section .section-heading .eyebrow { margin-bottom: 7px; }
.symptom-lead { margin: 0 0 20px; color: #52645a; font-size: 14px; }
.symptom-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.symptom-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 114px; padding: 17px 16px 12px; border: 1px solid #d7dfcb; border-bottom: 3px solid #a9c47b; border-radius: 17px; background: #fff; }
.symptom-card:nth-child(4n + 2) { background: #fffbf3; border-bottom-color: #e8bc83; }
.symptom-card:nth-child(4n + 3) { background: #f5f8ed; border-bottom-color: #b4c9aa; }
.symptom-card:nth-child(4n + 4) { background: #fff6f0; border-bottom-color: #e9b99c; }
.symptom-card strong { font-size: 16px; line-height: 1.55; }
.symptom-card small { display: block; margin-top: 3px; color: #52645a; font-size: 11px; line-height: 1.5; }
.symptom-card > span { margin-top: auto; margin-left: auto; color: #32664f; font-size: 18px; line-height: 1; }
.symptom-card:hover { border-color: #8eb07a; background: #fafff4; }
.symptom-more { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 22px; }
.home-duty-brief { margin-top: 24px; padding: 16px 22px; border: 1px solid #dce4d1; border-radius: 16px; background: #fff; }
.home-duty-brief h3 { margin: 0 0 4px; font-size: 17px; }
.home-duty-brief p { margin: 0; font-size: 14px; }
.home-duty-brief a { color: #245c4b; text-decoration: underline; text-underline-offset: 4px; }
.article .topic-intro { margin: 26px 0; }
.article .topic-intro h2 { margin: 0 0 12px; font-size: 22px; }
.article .topic-intro p { margin-bottom: 8px; }
.article .topic-directory { margin: 28px 0 42px; padding: 22px 24px; border: 1px solid #dce4d1; border-radius: 18px; background: #f6f8f0; }
.article .topic-directory > h2 { margin: 0 0 6px; font-size: 21px; }
.article .topic-directory > p { margin: 0 0 18px; color: #52645a; font-size: 14px; }
.article .topic-directory-group { padding-top: 12px; }
.article .topic-directory-group + .topic-directory-group { margin-top: 18px; border-top: 1px solid #dce4d1; }
.article .topic-directory-group h3 { margin: 0 0 12px; font-size: 17px; }
.article .topic-directory-group ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.article .topic-directory-group li { margin: 0; }
.article .topic-directory-group li a, .article .topic-subchoice a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 13px; border: 1px solid #dce4d1; border-radius: 20px; background: #fff; font-size: 13px; line-height: 1.5; text-decoration: none !important; }
.article .topic-subchoice { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 0 15px; padding: 10px 12px; border-radius: 12px; background: #fff3e6; }
.article .topic-subchoice strong { margin-right: 5px; font-size: 13px; }
.article .topic-subchoice a { min-height: 40px; padding: 6px 11px; font-size: 12px; }
.article .topic-summary { margin: 10px 0 15px; padding: 12px 16px; border-left: 3px solid #aac47d; border-radius: 0 10px 10px 0; background: #f6f8f0; font-size: 15px; line-height: 1.8; }
.article .topic-detail-label { margin: 18px 0 10px; color: #52645a; font-size: 14px; }
.article .topic-detail-label + p { max-width: 58ch; }
.article .topic-related { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 14px; margin: 18px 0 34px; padding-top: 10px; border-top: 1px solid #e0e7db; font-size: 13px; }
.article .topic-related strong { color: #52645a; font-size: 12px; }
.article .topic-related a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 900px) {
  .hours-brief { align-items: flex-start; flex-direction: column; }
  .hours-brief-links { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .hours-brief { gap: 14px; margin: 8px 0 36px; padding: 18px; }
  .hours-brief-links { width: 100%; }
  .hours-brief-links .btn { flex: 1 1 150px; }
  .symptom-section { margin-bottom: 46px; }
  .symptom-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .symptom-card { min-height: 110px; padding: 13px 12px 10px; }
  .symptom-card strong { font-size: 14px; }
  .symptom-card small { font-size: 11px; }
  .article .topic-directory { padding: 17px 14px; }
  .article .topic-directory-group li a { padding: 7px 11px; font-size: 12px; }
  .article .topic-related { gap: 5px 12px; }
}

/* Source-checked medical supplement: restrained alerts, short sections and only three FAQs. */
.article .topic-emergency { margin: 20px 0 24px; padding: 18px 20px; border: 1px solid #eed5b7; border-left: 4px solid #b67956; border-radius: 14px; background: #fff7ee; }
.article .topic-emergency h2 { margin: 0 0 7px; font-size: 18px; }
.article .topic-emergency p { margin: 0 0 7px; font-size: 14px; line-height: 1.8; }
.article .topic-emergency > a { font-size: 13px; font-weight: 700; }
.article .topic-guidance { margin: 16px 0; padding: 16px 18px; border: 1px solid #dce4d1; border-radius: 13px; background: #f7f9f2; }
.article .topic-guidance h5, .article .topic-support h5 { margin: 0 0 8px; font-size: 16px; color: #245c4b; }
.article .topic-guidance p, .article .topic-support p { margin: 0 0 9px; max-width: 62ch; font-size: 14px; line-height: 1.85; }
.article .topic-support { margin: 22px 0; }
.article .topic-support > h5:not(:first-child) { margin-top: 20px; }
.article .topic-source { display: block; margin-top: 7px; font-size: 11px; line-height: 1.5; color: #52645a; }
.article .topic-faq { margin: 18px 0; border: 1px solid #dce4d1; border-radius: 12px; background: #fffdf8; }
.article .topic-faq summary { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 10px 14px; cursor: pointer; font-size: 14px; font-weight: 700; list-style: none; }
.article .topic-faq summary::-webkit-details-marker { display: none; }
.article .topic-faq summary::after { content: '+'; margin-left: 10px; color: #32664f; font-size: 20px; line-height: 1; }
.article .topic-faq[open] summary::after { content: '−'; }
.article .topic-faq > div { padding: 0 14px 14px; }
.article .topic-further-link { padding: 8px 12px; border-left: 3px solid #aac47d; background: #f7f9f2; font-size: 13px; }
.article .topic-night { margin: 30px 0; padding: 20px 22px; border: 1px solid #dce4d1; border-radius: 18px; background: #f4f7e9; }
.article .topic-night h2 { margin: 0 0 8px; font-size: 19px; }
.article .topic-night p { margin: 0 0 10px; font-size: 14px; }
.article .topic-night .note { margin: 0 0 12px; }
.article .topic-night strong { color: #245c4b; font-size: 17px; }
@media (max-width: 767px) {
  .article .topic-emergency, .article .topic-night { padding: 16px; }
  .article .topic-guidance { padding: 14px; }
  .article .topic-guidance p, .article .topic-support p { font-size: 14px; }
}

/* Preview feedback: keep mobile booking arrows together and put small related lists after the articles. */
.hours-brief-links .btn { white-space: nowrap; }
.page-layout.page-layout--single { grid-template-columns: minmax(0, 1fr); padding-top: 30px; }
.page-layout--single .article { width: 100%; max-width: 880px; margin-inline: auto; }
.article .related-page-links { margin: 46px 0 0; padding-top: 24px; border-top: 1px solid #dce4d1; }
.article .related-page-links h2 { margin: 0 0 14px; font-size: 19px; }
.article .related-page-links-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.article .related-page-links-list a { display: flex; align-items: center; min-height: 48px; padding: 10px 14px; border: 1px solid #dce4d1; border-radius: 12px; background: #f7f9f3; font-size: 14px; text-decoration: none !important; }
.article .related-page-links-list a:hover { background: #edf3e6; }
@media (max-width: 767px) {
  .page-layout.page-layout--single { padding-top: 24px; }
  .article .related-page-links-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .article .related-page-links-list a { font-size: 12px; padding: 8px 10px; }
}

/* Symptom/disease destinations only: native hash navigation lands immediately, never animates through long medical copy. */
html.medical-topic-page { scroll-behavior: auto; }

/* 2026-10 UI preview: simplify each viewport without changing its palette or photographs. */
@media (min-width: 768px) {
  :root { --desktop-service-height: 0px; }
  .service-slot { display: none !important; }
  .desktop-page-nav-links { display: flex; align-items: center; gap: 5px; }
  .desktop-page-nav-links > a,
  .desktop-page-nav-links > .desktop-nav-group { flex: 1 1 0; min-width: 0; }
  .desktop-page-nav-links > .desktop-page-menu-trigger { flex: 0 0 112px; }
  .desktop-nav-group { position: relative; display: flex; align-items: center; height: 100%; }
  .desktop-page-nav-links .desktop-nav-group > a { flex: 1; min-width: 0; }
  .desktop-page-nav-links .desktop-nav-group > .desktop-nav-toggle {
    flex: none; display: grid; place-items: center; width: 28px; height: 36px;
    margin-left: -6px; padding: 0; border: 1px solid transparent;
    border-radius: 7px; background: transparent; color: #245c4b;
    font: 700 17px/1 var(--round); cursor: pointer;
  }
  .desktop-nav-group > .desktop-nav-toggle:hover,
  .desktop-nav-group > .desktop-nav-toggle[aria-expanded="true"] { background: #e6f0e9; }
  .desktop-page-nav-links .desktop-nav-toggle:focus-visible,
  .desktop-nav-dropdown a:focus-visible { outline: 3px solid #af5d43; outline-offset: -2px; }
  .desktop-nav-dropdown {
    position: absolute; top: 100%; left: 0; z-index: 55;
    width: min(260px, calc(100vw - 26px)); max-height: calc(100dvh - 70px);
    overflow: auto; padding: 8px; border: 1px solid #dce4d1;
    border-radius: 0 0 14px 14px; background: #fffdf8;
    box-shadow: 0 12px 28px #283d3526;
  }
  .desktop-nav-dropdown[hidden] { display: none !important; }
  .desktop-page-nav-links .desktop-nav-dropdown a {
    display: flex; justify-content: flex-start; min-height: 40px; height: auto;
    padding: 9px 12px; border: 0; border-radius: 8px;
    font-size: 13px; font-weight: 600; line-height: 1.4; white-space: normal;
  }
  .schedule-grid { display: block; }
  .schedule-grid .schedule-card { display: none; }
  .schedule-grid .weekly { display: block; }
  .weekly-toggle { display: none; }
  .related-floor-rail { top: 126px; --rail-card-height: clamp(54px, calc((100dvh - 186px) / 5), 110px); }
  body:has(.mobile-bottom-sheet.is-open) .related-floor-rail { display: none; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .desktop-page-nav-links .desktop-nav-group:has(a[href^="/medical/medical01.html"]) { display: none; }
}
@media (min-width: 768px) and (max-width: 950px) {
  .desktop-page-nav-links > a[href="/doctor.html"] { display: none; }
  .desktop-page-nav-links > .desktop-page-menu-trigger { flex-basis: 100px; }
}
@media (max-width: 767px) {
  .service-front .service-banners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-front .service-banner.booking,
  .service-front .service-banner.general-form { display: none; }
  .service-front .service-banner.symptom-shortcut,
  .service-front .service-banner.schedule-shortcut {
    display: flex; flex-direction: row; justify-content: center;
    min-height: 50px; height: 50px; gap: 7px; padding: 5px 8px;
  }
  .service-front .service-banner.symptom-shortcut strong,
  .service-front .service-banner.schedule-shortcut strong { font-size: 12px; }
  .service-front .service-banner.symptom-shortcut .icon,
  .service-front .service-banner.schedule-shortcut .icon { width: 22px; height: 22px; margin: 0; }
  .schedule-grid { display: block; padding: 20px 15px; }
  .schedule-grid .schedule-card { display: block; }
  .schedule-grid .weekly { display: none; }
  .schedule-grid .weekly.is-visible { display: block; margin-top: 17px; }
  .weekly-toggle {
    display: flex; justify-content: space-between; align-items: center;
    width: 100%; min-height: 48px; margin-top: 14px; padding: 10px 14px;
    border: 1px solid #dce4d1; border-radius: 12px;
    background: #f6f8f0; color: #245c4b;
    font: 700 13px/1.5 var(--round); cursor: pointer;
  }
  .weekly-toggle::after { content: '+'; font-size: 19px; }
  .weekly-toggle[aria-expanded="true"]::after { content: '−'; }
  .schedule-grid .schedule-card { padding: 17px 14px; }
  .reasons .reason-icon { width: 40px; height: 40px; }
}
/* The fourth entry uses the actual Donguri room photograph already on this site. */
.reasons { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.reasons .reason { min-width: 0; padding: 20px 15px; gap: 10px; }
.reasons .reason-donguri { background: #edf4e6; }
.reasons .reason-thumb { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.reasons .reason-note { display: block; margin-top: 3px; color: #52645a; font-size: 11px; font-style: normal; }
.reasons .reason small { line-height: 1.45; }
@media (min-width: 768px) and (max-width: 1199px) { .reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reasons .reason { min-height: 122px; padding: 12px; align-items: flex-start; gap: 8px; }
  .reasons .reason strong { font-size: 14px; line-height: 1.45; }
  .reasons .reason small { font-size: 11px; }
  .reasons .reason-icon { flex: 0 0 34px; width: 34px; height: 34px; }
  .reasons .reason .arrow { display: none; }
}
@media (max-width: 390px) { .reasons { grid-template-columns: 1fr; } .reasons .reason { min-height: 74px; align-items: center; } }
/* Reuse the same interview sheet for desktop rail and mobile bottom button. */
@media (min-width: 768px) {
  .mobile-sheet-backdrop {
    display: block !important; position: fixed; inset: 0; z-index: 79;
    visibility: hidden; opacity: 0; pointer-events: none;
    background: #172b23a6;
  }
  .mobile-sheet-backdrop.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
  .mobile-bottom-sheet {
    display: block !important; position: fixed; top: 50%; left: 50%; z-index: 81;
    width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 24px);
    overflow-y: auto; padding: 0 22px 22px;
    visibility: hidden; opacity: 0; pointer-events: none;
    transform: translate(-50%, -48%);
    border: 1px solid #dce4d1; border-radius: 20px;
    background: #fffdf8; box-shadow: 0 15px 36px #163b2c2e;
  }
  .mobile-bottom-sheet.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%, -50%); }
  .mobile-sheet-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 60px; border-bottom: 1px solid #dce4d1; background: #fffdf8; }
  .mobile-sheet-header h2 { margin: 0; color: #245c4b; font-size: 17px; }
  .mobile-sheet-close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #dce4d1; border-radius: 50%; background: white; color: #245c4b; font-size: 24px; }
  .mobile-sheet-options { display: grid; gap: 10px; padding-top: 16px; }
  .mobile-sheet-options a { display: flex; align-items: center; min-height: 56px; padding: 12px 16px; border: 1px solid #dce4d1; border-radius: 12px; background: #f6faf5; color: #254637; font-size: 14px; font-weight: 700; }
}

/* Nine familiar symptom cards, with compact disease-name links beneath them. */
.symptom-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-illness-links { margin-top: 22px; padding: 17px 20px; border: 1px solid #dce4d1; border-radius: 15px; background: #f6f8f0; }
.home-illness-links strong { display: block; color: #245c4b; font-size: 14px; margin-bottom: 9px; }
.home-illness-links > div { display: flex; flex-wrap: wrap; gap: 8px; }
.home-illness-links a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 11px; border: 1px solid #dce4d1; border-radius: 11px; background: #fff; color: #245c4b; font-size: 12px; text-decoration: none; }
.home-illness-links a:last-child { background: #eaf2e6; font-weight: 700; }
.home-illness-links a:hover { background: #e6f0e9; }
.article .topic-back { margin: -17px 0 31px; font-size: 12px; }
.article .topic-back a, .illness-back { color: #245c4b; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.article .illness-intro { padding: 20px 22px; border: 1px solid #dce4d1; border-radius: 16px; background: #f6f8f0; }
.article .illness-intro p { margin: 0; line-height: 1.85; }
.article .illness-index { margin: 28px 0 45px; padding: 22px; border: 1px solid #dce4d1; border-radius: 18px; background: #fffaf0; }
.article .illness-index h2 { margin: 0 0 14px; font-size: 20px; }
.article .illness-index ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.article .illness-index li { margin: 0; }
.article .illness-index a { display: flex; align-items: center; min-height: 46px; height: 100%; padding: 9px 13px; border: 1px solid #dce4d1; border-radius: 11px; background: white; font-size: 13px; font-weight: 700; text-decoration: none; }
.article .illness-index a:hover { background: #edf4e7; }
.article .illness-detail { padding: 25px 0 32px; border-top: 1px solid #dce4d1; scroll-margin-top: 78px; }
.article .illness-detail > h2 { margin: 0 0 15px; font-size: clamp(20px,2.4vw,25px); }
.article .illness-detail h3 { margin: 19px 0 7px; color: #245c4b; font-size: 16px; }
.article .illness-detail p { max-width: 65ch; margin: 0 0 13px; line-height: 1.9; }
.article .illness-related { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 15px; margin: 20px 0; font-size: 12px; }
.article .illness-related a { display: inline-flex; align-items: center; min-height: 40px; }
.article .illness-sources { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 12px 14px; border-radius: 12px; background: #f6f8f0; color: #52645a; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.article .illness-sources a { color: #245c4b; }
.article .illness-back { display: inline-flex; align-items: center; min-height: 42px; margin-top: 13px; font-size: 12px; }
@media (max-width: 767px) {
 .symptom-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .home-illness-links { padding: 15px 13px; }
 .article .illness-index { padding: 16px 12px; }
 .article .illness-index ul { grid-template-columns: 1fr; }
 .article .illness-detail { scroll-margin-top: 70px; }
}

/* Shared interview choice: clearly distinguish examination from influenza vaccination. */
.mobile-sheet-note { margin: 15px 0 0; padding: 11px 13px; border-left: 3px solid #8bae85; border-radius: 0 9px 9px 0; background: #f6f8f0; color: #283d35; font-size: 13px; line-height: 1.65; }
.mobile-sheet-options a { overflow-wrap: anywhere; }

/* Unpublished clinician-review drafts: structure only, no unverified triage advice. */
.draft-status { margin: 20px 0 14px; padding: 16px 20px; border: 1px solid #e8caa7; border-radius: 18px; background: #fff8ed; color: #55422b; line-height: 1.7; }
.draft-status strong { display: block; font-size: 16px; margin-bottom: 5px; }
.draft-status p { margin: 0; }
.article .draft-section { padding: 22px 0; border-bottom: 1px solid #e5e9df; }
.article .draft-section h2 { margin-top: 0; font-size: clamp(19px,2.1vw,23px); }
.article .draft-section p { line-height: 1.85; }
.article .draft-triage { margin: 14px 0; padding: 18px 20px; border: 1px solid #e1e8dd; border-left: 5px solid #c2ceb8; border-radius: 16px; background: #fafbf7; }
.article .draft-triage--red { border-left-color: #ba7c7c; background: #fff9f7; }
.article .draft-triage--yellow { border-left-color: #dab774; background: #fffdf5; }
.article .draft-triage--green { border-left-color: #8eae8d; background: #f8fbf6; }
.article .draft-related { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.article .draft-related a { color: #245c50; font-weight: 700; text-underline-offset: 4px; }
.article .draft-closing { border-radius: 18px; background: #f6f8ef; padding: 18px 20px; margin: 24px 0; }
.draft-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #dce5d6; border-radius: 16px; }
.article .draft-tokoen-table { min-width: 760px; width: 100%; margin: 0; border-collapse: collapse; }
.article .draft-tokoen-table th,.article .draft-tokoen-table td { min-width: 145px; padding: 12px 15px; border-bottom: 1px solid #e1e7de; text-align: left; font-size: 14px; vertical-align: top; }
.article .draft-tokoen-table th:first-child { min-width: 198px; }
.article .draft-tokoen-table thead th { background: #f3f8ed; color: #27463d; }
.article .draft-tokoen-table tbody tr:last-child th,.article .draft-tokoen-table tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 767px) { .draft-status { margin: 12px 0 14px; padding: 14px 16px; } .article .draft-triage { padding: 15px 16px; } }

/* Clinician-review manuscript sections; the urgent and ordinary paths are also named in text. */
.article .draft-caution { margin: 20px 0 8px; padding: 15px 18px; border: 1px solid #bfcfb9; border-radius: 16px; background: #f5faf1; font-weight: 650; line-height: 1.8; }
.article .draft-caution p { margin: 0; }
.article .draft-link-list { margin: 12px 0 0; padding-left: 1.5em; display: grid; gap: 7px; }
.article .draft-link-list a { color: #245c50; text-underline-offset: 4px; overflow-wrap: anywhere; }
.article .draft-source { font-size: 13px; color: #496057; }
.article .draft-review { margin: 24px 0; padding: 16px 18px; border: 1px dashed #afbba7; border-radius: 16px; background: #fbfcf8; }
.article .draft-review h2 { font-size: 17px; margin: 0 0 8px; }
.article .draft-review li,.article .draft-review p { margin: 4px 0; font-size: 13px; }

.draft-triage-label { display: inline-block; margin-bottom: 7px; padding: 2px 9px; border-radius: 999px; background: #faeae7; color: #813e39; font-size: 12px; font-weight: 800; }
.draft-tokoen-cards { display: none; }
@media (max-width: 767px) {
 .draft-table-wrap { display: none; }
 .draft-tokoen-cards { display: grid; gap: 12px; margin: 16px 0; }
 .draft-tokoen-card { padding: 17px 18px; border: 1px solid #dfe7d9; border-radius: 18px; background: #fbfcf8; }
 .article .draft-tokoen-card h3 { margin: 0 0 12px; color: #294c42; font-size: 17px; }
 .draft-tokoen-card dl { margin: 0; }
 .draft-tokoen-card dt { margin: 12px 0 3px; color: #31574b; font-size: 13px; font-weight: 800; }
 .draft-tokoen-card dd { margin: 0; line-height: 1.75; overflow-wrap: anywhere; }
}

/* Seven independent desktop header guides: parent navigation remains a real link. */
@media (min-width: 768px) {
 .desktop-page-nav-links > .desktop-nav-group { display: flex !important; }
 .desktop-page-nav-links > .desktop-nav-group:last-child { flex: 0 0 122px; }
 .desktop-page-nav-links .desktop-nav-group > a,
 .desktop-page-nav-links .desktop-nav-group > .desktop-page-menu-trigger {
  flex: 1 1 0; min-width: 0; white-space: normal;
  font-size: clamp(12px, 1.02vw, 15px); line-height: 1.22;
 }
 .desktop-page-nav-links .desktop-nav-group > .desktop-nav-toggle { width: 24px; margin-left: -3px; }
 .desktop-page-nav-links .desktop-nav-dropdown a { display: flex !important; }
 .desktop-nav-group:nth-last-child(-n+3) .desktop-nav-dropdown { left: auto; right: 0; }
 .desktop-nav-dropdown { width: min(280px, calc(100vw - 24px)); }
 .desktop-nav-group:focus-within > .desktop-nav-toggle { color: #245c4b; }
 .desktop-dropdown-all {
  display: flex; align-items: center; width: 100%; min-height: 44px;
  margin-top: 4px; padding: 9px 12px; border: 1px solid #dce4d1;
  border-radius: 9px; background: #edf5e9; color: #245c4b;
  font: 700 13px/1.4 var(--round); text-align: left;
 }
 .desktop-dropdown-all:hover { background: #e6f0e9; }
 .desktop-dropdown-all:focus-visible { outline: 3px solid #af5d43; outline-offset: 2px; }
}
@media (min-width: 768px) and (max-width: 1100px) {
 .desktop-page-nav-inner { gap: 9px; padding-inline: 13px; }
 .desktop-page-nav .brand { flex-basis: 185px; width: 185px; }
 .desktop-page-nav-links { gap: 2px; }
 .desktop-page-nav-links > .desktop-nav-group:last-child { flex-basis: 105px; }
}
@media (min-width: 768px) and (max-width: 900px) {
 .desktop-page-nav .brand { flex-basis: 142px; width: 142px; }
 .desktop-page-nav-inner { padding-inline: 8px; gap: 6px; }
 .desktop-page-nav-links .desktop-nav-group > a,
 .desktop-page-nav-links .desktop-nav-group > .desktop-page-menu-trigger { font-size: 11px; }
 .desktop-page-nav-links .desktop-nav-group > .desktop-nav-toggle { width: 19px; }
 .desktop-page-nav-links > .desktop-nav-group:last-child { flex-basis: 82px; }
 .desktop-page-menu-trigger span:first-child { display: none; }
}
/* Two long medical articles: the actual eighteen/sixteen sections remain the link targets. */
@media (min-width: 768px) {
 .medical-toc-page .page-layout.page-layout--toc {
  display: grid; grid-template-columns: clamp(200px,18vw,230px) minmax(0,1fr);
  gap: clamp(18px,2.5vw,32px); padding-top: 30px;
 }
 .medical-toc-page .page-layout--toc .article { width: auto; max-width: none; min-width: 0; margin: 0; }
 .medical-page-toc {
  position: sticky; top: calc(var(--desktop-page-nav-height) + 14px);
  align-self: start; max-height: calc(100dvh - var(--desktop-page-nav-height) - 28px);
  min-width: 0; overflow: hidden; border: 1px solid #dce4d1;
  border-radius: 18px; background: #f5f8ef;
 }
 .medical-toc-scroll { max-height: calc(100dvh - var(--desktop-page-nav-height) - 30px); overflow-y: auto; overscroll-behavior: auto; padding: 16px 11px; }
 .medical-toc-toggle { display: none; }
}
.medical-toc-heading { display: block; margin: 0 8px 11px; color: #245c4b; font-size: 14px; font-weight: 700; }
.medical-page-toc a {
 display: block; min-height: 38px; padding: 8px 10px; border-radius: 9px;
 color: #385548; font-size: 13px; line-height: 1.48; overflow-wrap: anywhere;
}
.medical-page-toc a:hover,.medical-page-toc a.is-active { background: #e4efdd; color: #245c4b; }
.medical-page-toc a.is-active { border-left: 3px solid #78a56f; font-weight: 700; }
.medical-page-toc a:focus-visible { outline: 3px solid #af5d43; outline-offset: -2px; }
@media (max-width: 767px) {
 html.medical-toc-page { scroll-padding-top: 122px; }
 .medical-toc-page .service-front { position: relative; top: auto; }
 .medical-toc-page .page-layout.page-layout--toc { display: block; padding-top: 19px; }
 .medical-page-toc {
  position: sticky; top: 56px; z-index: 40; margin: 0 0 20px;
  border: 1px solid #dce4d1; border-radius: 13px;
  background: #fffdf8; box-shadow: 0 3px 12px #283d3510;
 }
 .medical-toc-toggle {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; min-height: 48px; padding: 8px 14px; border: 0;
  background: transparent; color: #245c4b; font: 700 13px/1.5 var(--round);
 }
 .medical-toc-toggle span { font-size: 19px; line-height: 1; }
 .medical-toc-scroll { display: none; max-height: calc(100dvh - 56px - 76px - 56px); overflow-y: auto; padding: 6px 9px 12px; border-top: 1px solid #dce4d1; }
 .medical-page-toc.is-open .medical-toc-scroll { display: block; }
 .medical-toc-heading { font-size: 12px; margin-bottom: 5px; }
 .medical-page-toc a { min-height: 42px; padding-block: 10px; }
}
/* The same existing destinations, grouped for thumb-friendly mobile use. */
@media (max-width: 767px) {
 .mobile-sheet-menu-section { padding: 15px 0 10px; }
 .mobile-sheet-menu-section + .mobile-sheet-menu-section { border-top: 1px solid #dce4d1; }
 .mobile-sheet-menu-section h3 { margin: 0 0 7px; color: #245c4b; font-size: 14px; font-weight: 700; }
 .mobile-sheet-menu-links { gap: 3px 10px; padding: 0; }
 .mobile-sheet-menu-links a,.mobile-sheet-menu-links button {
  display: flex; align-items: center; min-width: 0; min-height: 48px;
  padding: 9px 8px; border: 0; border-bottom: 1px solid #dce4d1;
  border-radius: 0; background: transparent; color: #283d35;
  font: 500 13px/1.55 var(--round); text-align: left;
  white-space: normal; overflow-wrap: anywhere;
 }
 .mobile-sheet-menu-links .careers-link,
 .mobile-sheet-menu-links .careers-link.careers-link--recruitment {
  min-height: 48px; padding: 9px 8px; border: 0; border-bottom: 1px solid #dce4d1;
  border-radius: 0; background: transparent; color: #283d35;
  font: 500 13px/1.55 var(--round); justify-content: flex-start;
 }
 .mobile-sheet-menu-links .careers-link small { display: none; }
 .mobile-sheet-menu-links a[aria-current="page"] { background: #e5f1e8; }
}
@media (max-width: 370px) {
 .mobile-sheet-menu-links { grid-template-columns: 1fr; }
}

@media (min-width: 768px) {
 .desktop-page-nav-links .desktop-nav-group > a { display: flex !important; }
}
@media (max-width: 767px) {
 .medical-toc-heading { display: none; }
}

@media (max-width: 767px) {
 .mobile-sheet-menu-links .careers-link span { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
}

/* One canonical destination per symptom or disease; the original medical copy follows triage. */
.symptom-expanded-legacy { margin: 36px 0 24px; padding: 22px clamp(15px, 2.4vw, 30px); border: 1px solid #dce4d1; border-radius: 20px; background: #fffdf8; }
.symptom-expanded-legacy > h2 { margin: 0 0 19px; color: #245c4b; font-size: clamp(19px,2vw,24px); }
.symptom-expanded-legacy > .text { margin: 20px 0 0; min-width: 0; }
.symptom-expanded-legacy > .text:first-of-type { margin-top: 0; }
.symptom-expanded-legacy .text > h4 { margin: 0 0 12px; font-size: 20px; scroll-margin-top: 130px; }
.symptom-expanded-legacy .text :is(img,figure) { max-width: 100%; height: auto; }
.illness-category-title { margin: 44px 0 16px; padding: 0 0 10px; color: #245c4b; border-bottom: 2px solid #dce4d1; font-size: clamp(20px,2vw,25px); scroll-margin-top: 132px; }
.illness-category-title:first-of-type { margin-top: 22px; }
.illness-migrated > .text { min-width: 0; }
.illness-migrated > .text :is(img,figure) { max-width: 100%; height: auto; }
.medical-toc-category { display: block; margin: 12px 4px 3px; padding: 6px 8px; border-bottom: 1px solid #dce4d1; color: #245c4b; font-size: 12px; }
.medical-symptom-entries { margin: 24px 0; }
.medical-symptom-entries > h3, .medical-hub-door > h3 { margin: 0 0 13px; color: #245c4b; }
.medical-symptom-entries .symptom-card-grid { margin: 12px 0 18px; }
.medical-symptom-entries .symptom-card-grid a { min-width: 0; }
.medical-respiratory-link { margin: 10px 0 0; }
.medical-respiratory-link a, .medical-hub-door > a { color: #245c4b; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.medical-hub-door { margin: 20px 0; padding: 19px 21px; border: 1px solid #dce4d1; border-radius: 16px; background: #f7f9f3; }
.medical-hub-door p { margin: 0 0 10px; }
.medical-hub-door a + a { margin-left: 18px; }
@media (max-width: 767px) {
  .symptom-expanded-legacy { padding: 18px 15px; }
  .symptom-expanded-legacy .text > h4 { scroll-margin-top: 102px; }
  .medical-hub-door a + a { display: block; margin: 10px 0 0; }
}

/* The complete page menu opens directly from its desktop header control. */
@media (min-width: 768px) {
 .desktop-nav-group--all > .desktop-page-menu-trigger { width: 100%; white-space: nowrap; }
 .desktop-nav-group--all .desktop-menu-arrow { margin-left: auto; font-size: 16px; line-height: 1; }
 .desktop-page-menu-panel {
  top: 100%; right: max(12px, calc((100vw - 1320px)/2 + 12px));
  width: min(980px, calc(100vw - 24px));
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  align-content: start; column-gap: 20px; row-gap: 18px;
  max-height: calc(100dvh - var(--desktop-page-nav-height) - 8px);
 }
 .desktop-page-menu-header { grid-column: 1/-1; top: -14px; }
 .desktop-page-menu-section, .desktop-page-menu-section + .desktop-page-menu-section {
  min-width: 0; margin: 0; padding: 0; border: 0;
 }
 .desktop-page-menu-section h3 { font-size: 14px; margin-bottom: 9px; }
 .desktop-page-menu-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2px; }
 .desktop-page-menu-grid a,.desktop-page-menu-grid button { overflow-wrap: anywhere; white-space: normal; }
 .desktop-page-menu-grid a { font-size: 13px; min-height: 40px; padding: 7px 9px; }
 .desktop-page-menu-grid .menu-subheading { grid-column: 1/-1; }
}
@media (min-width:768px) and (max-width:960px) {
 .desktop-page-menu-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.menu-subheading { margin: 10px 4px 3px; color: #31594c; font-size: 12px; font-weight: 800; line-height: 1.5; }
.menu-subheading--illness { border-top: 1px solid #dce4d1; padding-top: 12px; }
@media (max-width:767px) {
 .mobile-sheet-menu-links .menu-subheading { grid-column:1/-1; margin: 12px 8px 4px; }
}
/* Five unaltered original facility photos; JS measures one exact start-to-start cycle at 50px/s. */
.photo-loop-section { padding: clamp(36px,5vw,64px) 0; background: #f7f8ee; overflow: clip; }
.photo-loop-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; width:min(1200px,calc(100% - 32px)); margin:0 auto 20px; }
.photo-loop-heading h2 { margin:0; color:#245c4b; font-size:clamp(21px,2.3vw,30px); line-height:1.45; }
.photo-loop-toggle { min-width:82px; min-height:38px; padding:6px 12px; border:1px solid #cbdccc; border-radius:999px; background:#fffdf8; color:#245c4b; font:700 13px/1.4 var(--round); }
.photo-loop-toggle:focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
.photo-loop-window { width:100%; max-width:100%; overflow:hidden; }
.photo-loop-track { display:flex; width:max-content; animation: photo-loop-move var(--photo-loop-duration,43.5s) linear infinite; will-change:transform; }
.photo-loop-track.is-paused { animation-play-state:paused; }
.photo-loop-set { flex:none; display:flex; width:2175px; }
.photo-loop-item { flex:0 0 435px; width:435px; margin:0; padding:0; }
.photo-loop-item img { display:block; width:435px; height:307px; max-width:none; object-fit:none; }
.photo-loop-item figcaption { min-height:27px; padding:5px 11px 2px; color:#385548; background:#fffdf8; font:500 12px/1.5 var(--round); }
.photo-loop-note { width:min(1200px,calc(100% - 32px)); margin:14px auto 0; color:#385548; font-size:12px; line-height:1.65; }
.photo-loop-note a { color:#245c4b; text-decoration:underline; text-underline-offset:3px; }
@keyframes photo-loop-move { to { transform:translate3d(calc(-1 * var(--photo-loop-distance,2175px)),0,0); } }
@media (prefers-reduced-motion:reduce) {
 .photo-loop-track { animation:none !important; will-change:auto; }
 .photo-loop-window { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; }
 .photo-loop-item { scroll-snap-align:start; }
 .photo-loop-toggle { display:none; }
}
@media (max-width:767px) {
 .photo-loop-heading { align-items:flex-start; }
 .photo-loop-heading h2 { font-size:21px; }
}

/* Allergy clinic care: disease definitions now live in the disease encyclopedia. */
.article .allergy-care-flow { margin: 22px 0 28px; padding: clamp(18px,2.8vw,26px); border: 1px solid #dbe6d9; border-radius: 22px; background: #f7faf4; }
.article .allergy-care-flow h2 { margin:0 0 10px; color:#245c4b; }
.article .allergy-care-flow p { margin: 0 0 16px; }
.article .allergy-care-flow ol { list-style:decimal; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; margin:0; padding-left:26px; }
.article .allergy-care-flow li { padding:6px 10px 6px 2px; line-height:1.65; }
.article .allergy-care-flow li strong { display:block; color:#254b40; }
.article .allergy-care-flow li span { display:block; }
.article .allergy-care-block { margin:20px 0 28px; }
.article .allergy-care-block > h3 { margin:18px 0 12px; color:#245c4b; }
.article .allergy-role-links { display:flex; flex-wrap:wrap; gap:8px 15px; margin:18px 0 26px; }
.article .allergy-role-links a { display:inline-block; padding:7px 11px; border:1px solid #d9e4d5; border-radius:11px; background:#f6faf3; color:#245c4b; font-size:14px; overflow-wrap:anywhere; }
.article .topic-detail-label { margin:17px 0 8px; font-size:16px; color:#315747; }
@media(max-width:767px) {
 .article .allergy-care-flow ol { grid-template-columns:1fr; }
 .article .allergy-role-links { display:grid; }
}

/* Compact complete page menu: top actions, three topical columns, final external row. */
@media (min-width:768px) {
 .desktop-page-menu-panel { row-gap:11px; column-gap:15px; padding:9px 16px 13px; }
 .desktop-page-menu-header { min-height:42px; top:-9px; }
 .desktop-menu-actions { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
 .desktop-menu-actions a,.desktop-menu-actions button { display:flex; justify-content:center; align-items:center; min-height:43px; padding:6px 10px; border:1px solid #cbdccc; border-radius:11px; background:#eaf3e8; color:#245c4b; font:700 13px/1.35 var(--round); text-align:center; }
 .desktop-menu-actions a:first-child { background:#245c4b; color:#fff; }
 .desktop-menu-actions :is(a,button):hover { filter:brightness(.96); }
 .desktop-menu-column { min-width:0; }
 .desktop-menu-column > h3 { margin:0 0 5px; font-size:14px; color:#31594c; }
 .desktop-menu-column .desktop-page-menu-grid { gap:0; }
 .desktop-menu-column .desktop-page-menu-grid a,.desktop-menu-column .desktop-page-menu-grid button {
  min-height:30px; padding:4px 8px; font-size:12.5px; line-height:1.35;
 }
 .desktop-menu-column .desktop-menu-chat { width:100%; text-align:left; border-radius:8px; }
 .desktop-menu-column .menu-subheading--illness { margin:4px 2px 0; padding-top:5px; font-size:11px; }
 .desktop-menu-other { grid-column:1/-1; padding-top:8px; border-top:1px solid #dce4d1; min-width:0; }
 .desktop-menu-other h3 { margin:0 0 5px; color:#52645a; font-size:12px; }
 .desktop-menu-other-links { display:flex; flex-wrap:wrap; align-items:center; gap:3px 8px; }
 .desktop-menu-other-links a { display:inline-flex; align-items:center; min-height:28px; padding:3px 7px; border-radius:8px; color:#245c4b; font:600 11.5px/1.35 var(--round); overflow-wrap:anywhere; }
 .desktop-menu-other-links a:hover { background:#edf6ee; }
 .desktop-menu-other-links a small { display:none; }
 .desktop-menu-other-links a.careers-link { background:#e9f4f8; }
 .desktop-menu-other-links a.careers-link span { font:inherit; }
 .desktop-menu-actions :is(a,button):focus-visible,.desktop-menu-other-links a:focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
}
@media (min-width:768px) and (max-width:960px) {
 .desktop-menu-column:nth-of-type(3) { grid-column:1/-1; }
 .desktop-page-menu-panel { max-height:calc(100dvh - var(--desktop-page-nav-height) - 8px); }
}

/* Optional chat-first guidance; phone and emergency routes remain directly available. */
.ai-social-section { background: #faf9f2; }
.ai-help-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 20px; align-items: center; padding: 22px 26px; border: 1px solid #dbe5d5; border-left: 5px solid #245c4b; border-radius: 18px; background: #f8faf4; color: #283d35; }
.ai-help-copy h2 { margin: 0 0 6px; font: 700 clamp(17px,2vw,22px)/1.4 var(--round); color: #245c4b; }
.ai-help-copy p { margin: 0; line-height: 1.7; font-size: 14px; }
.ai-help-button { cursor: pointer; min-height: 44px; border: 0; border-radius: 11px; padding: 10px 17px; color: #fff; background: #245c4b; font: 700 14px/1.4 var(--round); white-space: nowrap; }
.ai-help-button:hover { background: #1d4d3e; }
.ai-help-button:focus-visible,.sns-banner:focus-visible { outline: 3px solid #a65c43; outline-offset: 3px; }
.ai-help-limit,.ai-help-phone { grid-column: 1/-1; margin: 0; line-height: 1.6; font-size: 12px; }
.ai-help-phone { font-weight: 700; }
.ai-social-section .sns-banners,.article > .sns-banners { margin-top: 18px; }
.sns-banners { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.sns-banner { min-width: 0; display: flex; align-items: center; gap: 15px; min-height: 108px; padding: 17px 20px; border: 1px solid #dce4d1; border-radius: 17px; background: #fff; text-decoration: none; color: #283d35; box-shadow: 0 5px 19px rgba(31,60,47,.05); }
.sns-banner--line { border-color: #bae5c9; }
.sns-banner--instagram { border-color: #e5cbdb; }
.sns-banner:hover { box-shadow: 0 8px 23px rgba(31,60,47,.11); }
.sns-banner img { display: block; width: 64px; height: 64px; flex: none; object-fit: contain; }
.sns-banner--instagram img { width: 72px; height: 72px; }
.sns-banner > span:not(.sns-arrow) { display: grid; gap: 3px; min-width: 0; }
.sns-banner strong { display: block; font: 700 17px/1.4 var(--round); color: #245c4b; }
.sns-banner small { display: block; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.sns-arrow { margin-left: auto; color: #547b66; font-size: 17px; }
.ai-help-card--contact { margin-bottom: 0; }
.article > .sns-banners { margin-bottom: 28px; }
.footer .ai-help-card--footer { display: block; margin: 16px 0 12px; padding: 14px 15px; border-radius: 13px; background: #f7f9f2; }
.footer .ai-help-card--footer .ai-help-copy h2 { font-size: 15px; margin-bottom: 4px; }
.footer .ai-help-card--footer .ai-help-copy p { font-size: 12px; }
.footer .ai-help-card--footer .ai-help-button { margin: 10px 0; min-height: 40px; font-size: 13px; }
.footer .ai-help-card--footer .ai-help-limit,.footer .ai-help-card--footer .ai-help-phone { font-size: 11px; margin: 0 0 3px; }
.vaccine-interview-note { margin: 8px 0 18px; padding: 10px 14px; border-left: 3px solid #8bae85; border-radius: 0 10px 10px 0; background: #f6f8f0; font-size: 13px; }
@media (min-width: 768px) {
 .desktop-menu-actions { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .desktop-menu-actions :is(a,button) { min-width:0; min-height: 54px; white-space: normal; overflow-wrap: anywhere; padding: 7px 8px; }
 .mobile-sheet-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.mobile-sheet-options a { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; gap: 4px; }
.mobile-sheet-options a strong { font-size: 14px; overflow-wrap: anywhere; }
.mobile-sheet-options a small { color: #506a5e; font-size: 12px; line-height: 1.4; }
@media (max-width: 767px) {
 .sns-banners { grid-template-columns: 1fr; gap: 10px; }
 .sns-banner { min-height: 94px; padding: 14px; gap: 12px; }
 .sns-banner img { width: 58px; height: 58px; }
 .sns-banner--instagram img { width: 72px; height: 72px; }
 .ai-help-card { display: block; padding: 18px 16px; }
 .ai-help-copy p { font-size: 13px; }
 .ai-help-button { margin: 12px 0; }
 .ai-help-card--footer { padding: 13px; }
}

.footer .ai-help-card--footer p { color: #283d35; }
.article a.sns-banner { color: #283d35; text-decoration: none; }
.article a.sns-banner:not(.btn):not(.medical-card):not(.reason) { color: #283d35; text-decoration: none; }

/* Menu hierarchy refresh: retain every destination and the existing controls. */
@media (max-width:767px) {
 .mobile-bottom-sheet { background:#f9fbf6; padding-inline:clamp(14px,4vw,20px); }
 .mobile-sheet-header { background:#f9fbf6; }
 .mobile-sheet-header h2 { font-size:18px; }
 .mobile-menu-primary-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:15px 0 17px; }
 .mobile-menu-primary-actions :is(a,button) { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:55px; padding:9px 6px; border:1px solid #245c4b; border-radius:12px; background:#245c4b; color:#fff; font:700 14px/1.35 var(--round); text-align:center; }
 .mobile-menu-primary-actions button { background:#eaf4e8; color:#245c4b; border-color:#bfd6c2; }
 .mobile-menu-primary-actions a::before { content:'▣'; font-size:16px; }
 .mobile-menu-primary-actions button::before { content:'▤'; font-size:16px; }
 .mobile-menu-primary-actions .mobile-menu-phone { grid-column:1/-1; background:#f9eee6; color:#674a38; border-color:#e8c9b6; }
 .mobile-menu-primary-actions .mobile-menu-phone::before { content:none; }
 .mobile-menu-primary-actions .mobile-menu-phone svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
 .mobile-sheet-menu-section,.mobile-sheet-menu-section + .mobile-sheet-menu-section { padding:16px 0 15px; border-top:1px solid #dce6d8; }
 .mobile-sheet-menu-section h3 { margin:0 0 10px; border-left:3px solid #8daf8d; padding-left:9px; color:#245c4b; font-size:15px; font-weight:800; line-height:1.45; }
 .mobile-sheet-menu-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 9px; padding:0; }
 .mobile-sheet-menu-links :is(a,button) { display:flex; align-items:center; min-width:0; min-height:48px; padding:9px 8px; border:0; border-bottom:1px solid #dce6d8; border-radius:8px; background:transparent; color:#283d35; font:600 13px/1.5 var(--round); text-align:left; white-space:normal; overflow-wrap:anywhere; }
 .mobile-sheet-menu-links :is(a,button):not(.menu-site-card,.menu-social-card)::before { content:''; flex:none; width:5px; height:5px; margin-right:7px; border-radius:50%; background:#91b29a; }
 .mobile-sheet-menu-links .menu-link--wide { grid-column:1/-1; }
 .mobile-sheet-menu-links .menu-subheading { grid-column:1/-1; margin:10px 4px 3px; color:#476958; font-size:12px; }
 .mobile-sheet-menu-links :is(a,button):focus-visible,.mobile-menu-primary-actions :is(a,button):focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
 .mobile-sheet-menu-links a[aria-current='page'] { background:#e7f2e7; }
 .mobile-sheet-menu-links.menu-site-links,.mobile-sheet-menu-links.menu-social-links { grid-template-columns:1fr; }
 .mobile-sheet-menu-links .careers-link.careers-link--recruitment { grid-column:1/-1; padding:9px 8px; border-bottom:1px solid #dce6d8; border-radius:8px; background:transparent; font-weight:600; }
 .mobile-sheet-menu-links .careers-link--recruitment small { display:none; }
 .mobile-sheet-menu-links.menu-social-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
@media (min-width:768px) {
 .desktop-page-menu-panel { background:#fbfcf8; }
 .desktop-menu-column > h3,.desktop-menu-other h3,.desktop-menu-social h3 { margin:0 0 10px; border-left:3px solid #8daf8d; padding-left:9px; color:#245c4b; font-size:14px; font-weight:800; line-height:1.4; }
 .desktop-menu-column .desktop-page-menu-grid :is(a,button) { min-height:36px; padding:6px 9px; border-radius:8px; color:#283d35; font-size:12.5px; line-height:1.4; }
 .desktop-menu-column .desktop-page-menu-grid :is(a,button):hover { background:#e8f3e7; }
 .desktop-menu-other,.desktop-menu-social { grid-column:1/-1; border-top:1px solid #dce6d8; padding-top:11px; }
 .desktop-menu-other-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
 .desktop-menu-other-links a.careers-link { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; min-height:62px; padding:9px 12px; font-size:12px; }
 .desktop-menu-other-links a.careers-link--recruitment { grid-template-columns:minmax(0,1fr) auto; background:#e9f4f8; border-left:4px solid #8ab4c2; }
 .desktop-menu-other-links a.careers-link small { display:inline; font-size:10px; }
 .desktop-menu-social .menu-social-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
@media (min-width:768px) and (max-width:960px) {
 .desktop-menu-other-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .desktop-menu-other-links a.careers-link--recruitment { grid-column:1/-1; }
}
.menu-site-card { box-sizing:border-box; border:1px solid #e5ddd3; border-left:4px solid #a46842; border-radius:11px; background:#fbf3ed; color:#503724; text-decoration:none; }
.menu-site-card--beauty { border-color:#ebe1c9; border-left-color:#ac914c; background:#faf7eb; color:#4f492e; }
.menu-site-card .menu-site-mark { display:grid; place-items:center; width:33px; height:33px; flex:none; border-radius:9px; background:#f0ddd0; color:#805037; font:800 12px/1 var(--round); white-space:nowrap; }
.menu-site-card--beauty .menu-site-mark { background:#f1ead6; color:#887038; font-size:21px; }
.menu-site-card span:not(.menu-site-mark) { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.menu-site-card small { white-space:nowrap; }
.menu-site-card:hover { filter:brightness(.985); }
@media (max-width:767px) {
 .mobile-sheet-menu-links .menu-site-card,.mobile-sheet-menu-links .menu-site-card.careers-link { display:grid; grid-template-columns:33px minmax(0,1fr) auto; gap:9px; align-items:center; min-height:62px; margin:3px 0; padding:8px 9px; border:1px solid #e5ddd3; border-left:4px solid #a46842; border-radius:11px; background:#fbf3ed; color:#503724; font-size:12px; }
 .mobile-sheet-menu-links .menu-site-card--beauty,.mobile-sheet-menu-links .menu-site-card--beauty.careers-link { border-color:#ebe1c9; border-left-color:#ac914c; background:#faf7eb; color:#4f492e; }
 .mobile-sheet-menu-links .menu-site-card small { display:block; font-size:10px; }
}
.menu-social-card { box-sizing:border-box; display:flex; align-items:center; gap:9px; min-width:0; min-height:93px; padding:5px 12px; border:1px solid #dce6d8; border-radius:12px; background:#fff; color:#245c4b; text-decoration:none; font:700 14px/1.3 var(--round); }
.menu-social-card--line { border-color:#bfe3cb; }
.menu-social-card--instagram { border-color:#dfd0dd; }
.menu-social-card .menu-social-icon { display:grid; place-items:center; width:96px; height:96px; flex:none; }
.menu-social-card .menu-social-icon img { display:block; width:96px; height:96px; object-fit:contain; }
.menu-social-card--line .menu-social-icon img { width:48px; height:48px; }
.menu-social-card:hover { background:#f7faf6; }
.menu-social-card:focus-visible,.menu-site-card:focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
@media (max-width:767px) {
 .mobile-sheet-menu-links .menu-social-card { display:flex; flex-direction:column; justify-content:center; gap:0; min-height:122px; padding:5px 4px 9px; border:1px solid #dce6d8; border-radius:12px; background:#fff; color:#245c4b; font:700 13px/1.3 var(--round); text-align:center; }
 .mobile-sheet-menu-links .menu-social-card--line { border-color:#bfe3cb; }
 .mobile-sheet-menu-links .menu-social-card--instagram { border-color:#dfd0dd; }
}

@media (min-width:768px) {
 .desktop-menu-other-links a.menu-site-card--internal { border:1px solid #e5ddd3; border-left:4px solid #a46842; background:#fbf3ed; color:#503724; }
 .desktop-menu-other-links a.menu-site-card--beauty { border:1px solid #ebe1c9; border-left:4px solid #ac914c; background:#faf7eb; color:#4f492e; }
}

/* The main clinic's phone-or-AI decision pattern, limited to mobile clinic calls. */
.phone-choice-dialog {
 position:fixed;
 width:min(420px,calc(100vw - 32px));
 max-width:none;
 max-height:calc(100dvh - 32px);
 margin:auto;
 padding:25px 24px 16px;
 overflow:auto;
 border:1px solid #b9d1b7;
 border-radius:18px;
 background:#f5f9ee;
 color:var(--ink);
 box-shadow:0 18px 58px #19332538;
}
.phone-choice-dialog::backdrop { background:#15281e88; }
.phone-choice-dialog h2 {
 margin:0 44px 13px 0;
 color:var(--green);
 font-size:clamp(20px,5.5vw,24px);
 font-weight:700;
 letter-spacing:.02em;
}
.phone-choice-dialog p { margin:0 0 20px; font-size:14px; line-height:1.75; color:#40594a; }
.phone-choice-close {
 position:absolute; top:11px; right:12px;
 display:grid; place-items:center;
 width:44px; height:44px; padding:0;
 border:0; border-radius:10px;
 background:transparent; color:var(--green);
 font:26px/1 sans-serif;
}
.phone-choice-close:hover,.phone-choice-cancel:hover { background:#edf5e8; }
.phone-choice-actions { display:grid; gap:10px; }
.phone-choice-actions :is(button,a) {
 display:flex; align-items:center; justify-content:center;
 min-height:52px; padding:10px 14px;
 border:1px solid var(--green); border-radius:10px;
 font:700 15px/1.5 var(--round);
 text-align:center;
}
.phone-choice-ai { background:var(--green); color:white; }
.phone-choice-call { background:#fff; color:var(--green); text-decoration:none; }
.phone-choice-ai:hover { background:#24513e; }
.phone-choice-call:hover { background:#edf5e8; }
.phone-choice-cancel {
 display:block; min-height:44px; margin:10px auto 0; padding:8px 20px;
 border:0; border-radius:8px;
 background:transparent; color:#425849;
 font-size:13px; font-weight:700;
}
.phone-choice-dialog :is(button,a):focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
@media (max-width:374px) {
 .phone-choice-dialog { padding:24px 18px 12px; }
 .phone-choice-dialog h2 { margin-right:38px; font-size:18px; letter-spacing:0; }
}

/* Photo frames and captions remain fixed; only the clipped image responds to hover. */
.clinic-photo-window { display:block; position:relative; overflow:hidden; line-height:0; box-shadow:0 5px 15px rgba(40,61,53,.11); }
.gallery .clinic-photo-window { border-radius:15px; }
.gallery .clinic-photo-window > img { border-radius:0; }
.photo-loop-item > .clinic-photo-window { width:435px; height:307px; border-radius:0; }
.article > .clinic-photo-window--standalone { width:100%; max-width:100%; }
.article > .clinic-photo-window--standalone > img { display:block; width:100%; height:auto; max-width:100%; border-radius:0; }
:is(
 .hero .hero-photo,
 .site-photo:has(> img:is([src^="/assets/clinic-"],[src^="/assets/waiting"],[src^="/assets/donguri"],[src^="/assets/ct-clinic-"]))
) { box-shadow:0 5px 15px rgba(40,61,53,.11); }
/* Preserve the previously verified strip padding and exactly 435px per item. */
.photo-loop-window { padding-block:8px 14px; }
:where(
 .site-photo,
 .clinic-photo-window
) > img { animation:none; transform:none; transform-origin:center center; transition:transform 300ms cubic-bezier(.23,1,.32,1); }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 :where(.site-photo:hover,.clinic-photo-window:hover,.medical-card:hover .site-photo,a:hover .site-photo) > img { transform:scale(1.02); }
}
/* Large interactive cards may lift; their clipped photos move only inside the mask. */
#medical-photos :is(.medical-card,.text-link):focus-visible { outline:3px solid #a3543b; outline-offset:4px; }
#medical-photos .text-link { transition:color 220ms ease,background-color 220ms ease,border-color 220ms ease; }
#medical-photos .text-link:hover { color:#315b44; border-color:#adc8ab; background-color:#f5f9ef; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 #medical-photos .medical-card { transition:transform 250ms cubic-bezier(.23,1,.32,1),box-shadow 250ms cubic-bezier(.23,1,.32,1); }
 #medical-photos .medical-card:hover { transform:translate3d(0,-4px,0); box-shadow:0 14px 30px rgba(40,61,53,.14); }
 #medical-photos .medical-card:active { transform:translate3d(0,-1px,0); box-shadow:0 5px 13px rgba(40,61,53,.10); }
 :is(.btn,.reason[href],.symptom-card[href],.sns-banner,.service-front .service-banner[href]) {
  transition:transform 250ms cubic-bezier(.23,1,.32,1),box-shadow 250ms cubic-bezier(.23,1,.32,1),background-color 200ms ease;
 }
 :is(.btn,.reason[href],.symptom-card[href],.sns-banner,.service-front .service-banner[href]):hover {
  transform:translate3d(0,-3px,0); box-shadow:0 10px 22px rgba(40,61,53,.12);
 }
 :is(.btn,.reason[href],.symptom-card[href],.sns-banner,.service-front .service-banner[href]):active {
  transform:translate3d(0,-1px,0); box-shadow:0 5px 13px rgba(40,61,53,.09);
 }
 /* Brand assets inside large service cards do not change shape or color. */
 .service-front .service-banner.line:hover,.service-front .service-banner.instagram:hover { transform:translate3d(0,-3px,0); }
}
/* Even if a shared hover rule changes later, small MEDICAL CARE links never lift. */
#medical-photos .text-link:is(:hover,:active) { transform:none !important; box-shadow:none !important; }
@media (prefers-reduced-motion:reduce) {
 :where(.hero-photo-window,.site-photo,.clinic-photo-window) > img { animation:none !important; transform:none !important; transition:none !important; will-change:auto; }
 #medical-photos :is(.medical-card,.text-link),
 :is(.btn,.reason[href],.symptom-card[href],.sns-banner,.service-front .service-banner[href]) {
  transform:none !important; transition:none !important;
 }
}

/* October 2026 doctor duties: limited to the doctor page, not clinic opening hours. */
#doctor-roster {
 margin:0 0 36px;
 padding:clamp(18px,3vw,30px);
 border:1px solid #d9e6d9;
 border-radius:22px;
 background:#f7faf4;
 color:#283d35;
 min-width:0;
}
#doctor-roster .doctor-roster-head { margin:0 0 23px; }
#doctor-roster .doctor-roster-head .eyebrow { display:inline-block; margin-right:12px; color:#5e765f; font-size:11px; }
#doctor-roster .doctor-roster-date { display:inline-block; padding:5px 10px; border-radius:999px; background:#e3efdf; color:#245c4b; font-size:12px; font-weight:700; }
#doctor-roster h2 { margin:12px 0 9px; font-size:clamp(22px,3vw,28px); color:#245c4b; line-height:1.4; }
#doctor-roster .doctor-roster-head p { margin:0; font-size:14px; line-height:1.8; }
#doctor-roster .doctor-roster-subhead { margin:26px 0 14px; padding-left:11px; border-left:4px solid #a7c6a2; font-size:19px; color:#294f40; line-height:1.5; }
#doctor-roster .doctor-roster-table-wrap { width:100%; overflow-x:auto; border:1px solid #dbe4d8; border-radius:15px; background:#fff; }
#doctor-roster .doctor-roster-table { width:100%; margin:0; border:0; border-collapse:collapse; table-layout:fixed; font-size:13px; line-height:1.5; text-align:center; }
#doctor-roster .doctor-roster-table caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#doctor-roster .doctor-roster-table th,#doctor-roster .doctor-roster-table td { padding:11px 6px; border:0; border-bottom:1px solid #e5ece4; border-right:1px solid #edf0e9; vertical-align:middle; white-space:normal; }
#doctor-roster .doctor-roster-table tr:last-child th,#doctor-roster .doctor-roster-table tr:last-child td { border-bottom:0; }
#doctor-roster .doctor-roster-table tr > :last-child { border-right:0; }
#doctor-roster .doctor-roster-table thead th { background:#eaf3e7; color:#245c4b; font-weight:700; }
#doctor-roster .doctor-roster-table tbody th { width:105px; background:#f6f9f3; font-weight:700; color:#435b49; }
#doctor-roster .doctor-roster-table td span { font-weight:700; color:#29463a; }
#doctor-roster .doctor-roster-table td small { display:block; color:#50695c; font-size:11px; line-height:1.4; }
#doctor-roster .doctor-roster-table td.doctor-roster-none { color:#9aa89c; }
#doctor-roster .doctor-roster-days { display:none; }
#doctor-roster .doctor-roster-note { margin:14px 0 28px; padding:12px 15px; border-left:3px solid #91ae94; border-radius:0 9px 9px 0; background:#eef5eb; font-size:12px; line-height:1.8; }
#doctor-roster .doctor-roster-note a,#doctor-roster .doctor-roster-sources a { color:#245c4b; text-decoration:underline; text-underline-offset:3px; }
#doctor-roster .doctor-roster-group { margin:22px 0 11px; font-size:16px; font-weight:700; color:#294f40; }
#doctor-roster .doctor-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#doctor-roster .regular-doctor-card { min-width:0; margin:0; padding:20px; border:1px solid #dce7d8; border-radius:16px; background:#fff; box-shadow:0 5px 15px rgba(43,75,48,.035); }
#doctor-roster .doctor-card-grid:last-of-type .regular-doctor-card { background:#fffcf7; border-color:#e8dfcf; }
#doctor-roster .regular-doctor-card h4 { margin:0 0 11px; color:#245c4b; font-size:19px; line-height:1.45; overflow-wrap:anywhere; }
#doctor-roster .doctor-card-duty { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
#doctor-roster .doctor-card-duty li { max-width:100%; padding:5px 9px; border:1px solid #d4e4d2; border-radius:8px; background:#edf5ea; color:#345a43; font-size:12px; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
#doctor-roster .doctor-card-affiliation { margin:12px 0 0; font-size:12px; line-height:1.6; color:#4a6354; }
#doctor-roster .doctor-card-credentials { margin:14px 0 0; padding-top:12px; border-top:1px solid #e9eee8; }
#doctor-roster .doctor-card-credentials strong { display:block; margin:0 0 7px; font-size:12px; color:#415b4a; }
#doctor-roster .doctor-card-credentials ul { margin:0; padding-left:18px; font-size:12px; line-height:1.7; }
#doctor-roster .doctor-card-profile-link { display:inline-block; margin-top:12px; font-size:12px; color:#245c4b; text-decoration:underline; text-underline-offset:3px; }
#doctor-roster .doctor-roster-sources { margin:24px 0 0; padding-top:15px; border-top:1px solid #dce6d8; color:#52655a; font-size:12px; line-height:1.9; overflow-wrap:anywhere; }
#doctor-roster a:focus-visible { outline:3px solid #a65c43; outline-offset:3px; border-radius:3px; }
#doctor-roster .regular-doctor-card { scroll-margin-top:125px; }
@media (max-width:767px) {
 #doctor-roster { margin-bottom:27px; padding:18px 15px; border-radius:17px; }
 #doctor-roster .doctor-roster-head { margin-bottom:18px; }
 #doctor-roster .doctor-roster-head p { font-size:13px; }
 #doctor-roster .doctor-roster-subhead { margin-top:23px; font-size:17px; }
 #doctor-roster .doctor-roster-table-wrap { display:none; }
 #doctor-roster .doctor-roster-days { display:grid; grid-template-columns:1fr; gap:9px; }
 #doctor-roster .doctor-roster-day { min-width:0; margin:0; padding:12px 13px; border:1px solid #dbe6d8; border-radius:12px; background:white; }
 #doctor-roster .doctor-roster-day h4 { margin:0 0 7px; font-size:15px; color:#245c4b; }
 #doctor-roster .doctor-roster-day ul { display:grid; grid-template-columns:1fr; gap:0; margin:0; padding:0; list-style:none; }
 #doctor-roster .doctor-roster-day li { display:grid; grid-template-columns:85px minmax(0,1fr); gap:7px; padding:5px 0; border-top:1px solid #edf2eb; font-size:13px; line-height:1.5; }
 #doctor-roster .doctor-roster-day li span { color:#52675a; }
 #doctor-roster .doctor-roster-day li strong { color:#283d35; font-weight:700; overflow-wrap:anywhere; }
 #doctor-roster .doctor-roster-day li small { color:#4f6756; font-size:11px; font-weight:500; }
 #doctor-roster .doctor-roster-note { margin-bottom:22px; }
 #doctor-roster .doctor-card-grid { grid-template-columns:1fr; gap:10px; }
 #doctor-roster .regular-doctor-card { padding:17px 16px; }
 #doctor-roster .regular-doctor-card h4 { font-size:17px; }
}

/* 2026-10: Six purposeful guides below the established fixed navigation. */
.mega-icon { display:block; flex:none; width:21px; height:21px; }
.mega-panel-heading { padding:19px 25px 16px; border-bottom:1px solid #dce6d8; background:linear-gradient(105deg,#f1f7ed,#fffdf8 75%); }
.mega-panel-eyebrow { color:#547765; font-size:11px; font-weight:800; letter-spacing:.11em; }
.mega-panel-heading h2 { display:flex; align-items:center; gap:9px; margin:4px 0 5px; color:#245c4b; font-size:20px; line-height:1.4; }
.mega-panel-heading p { margin:0; color:#506459; font-size:13px; line-height:1.6; }
.mega-panel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:15px 15px 19px; }
.mega-panel-column { min-width:0; padding:0 13px; }
.mega-panel-column + .mega-panel-column { border-left:1px solid #e0e8dc; }
.mega-panel-column h3 { margin:0 0 8px; padding:0 0 9px; border-bottom:1px solid #dce6d8; color:#245c4b; font-size:14px; line-height:1.45; font-weight:800; }
.mega-panel-list { display:grid; gap:1px; }
.mega-link { position:relative; box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:100%; min-width:0; min-height:45px; padding:7px 29px 7px 10px; border:0; border-bottom:1px solid #ebeee6; border-radius:7px; background:transparent; color:#283d35; font:700 14px/1.45 var(--round); text-align:left; text-decoration:none; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.mega-link::after { position:absolute; right:9px; top:50%; content:'→'; transform:translateY(-50%); color:#55816b; font:18px/1 sans-serif; }
.mega-link:hover,.mega-link.is-current { background:#e9f3e8; color:#245c4b; }
.mega-link small { display:block; margin-top:2px; color:#4f6759; font-size:12px; font-weight:500; line-height:1.4; }
.mega-link:focus-visible,.mobile-mega-guide > summary:focus-visible { outline:3px solid #af5d43; outline-offset:1px; }
.mega-panel-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 27px 17px; border-top:1px solid #dce6d8; background:#f8faf4; }
.mega-panel-actions .mega-link { width:auto; min-height:44px; padding:9px 32px 9px 13px; border:1px solid #cbdccc; border-radius:9px; background:#fffdf8; }
.mega-panel-actions .mega-link:hover { background:#e7f2e8; }
@media (min-width:768px) {
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group { position:static; }
 .desktop-page-nav .desktop-page-nav-links .desktop-nav-group .desktop-nav-dropdown {
  position:absolute; top:100%; left:50%; right:auto; z-index:55;
  width:min(1080px,calc(100vw - 32px)); max-height:calc(100dvh - 72px);
  overflow:auto; overscroll-behavior:contain; padding:0;
  transform:translateX(-50%);
  border:1px solid #cbdccc; border-top:3px solid #85ac8d;
  border-radius:0 0 17px 17px; background:#fffdf8;
  box-shadow:0 18px 36px #173a2d29;
 }
 .desktop-page-nav-links .desktop-nav-dropdown .mega-link { display:flex !important; justify-content:center; align-items:flex-start; width:100%; min-height:45px; height:auto; padding:7px 29px 7px 10px; border:0; border-bottom:1px solid #ebeee6; border-radius:7px; color:#283d35; background:transparent; font:700 14px/1.45 var(--round); text-align:left; white-space:normal; }
 .desktop-page-nav-links .desktop-nav-dropdown .mega-link:hover { background:#e9f3e8; }
 .desktop-page-nav-links .desktop-nav-dropdown .mega-panel-actions .mega-link { width:auto; min-height:44px; padding:9px 32px 9px 13px; border:1px solid #cbdccc; background:#fffdf8; }
 .desktop-page-nav-links .desktop-nav-dropdown .mega-panel-actions .mega-link:hover { background:#e7f2e8; }
 .desktop-page-nav-links .desktop-nav-dropdown .mega-link:focus-visible { outline:3px solid #af5d43; outline-offset:1px; }
 .mega-panel-grid--doctors { grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:0; }
 .mega-panel-grid--doctors .mega-panel-column:first-child { grid-row:1/3; }
 .mega-panel-grid--doctors .mega-panel-column:first-child .mega-panel-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 13px; }
 .mega-panel-grid--doctors .mega-panel-column:nth-child(2),.mega-panel-grid--doctors .mega-panel-column:nth-child(3) { grid-column:2; }
 .mega-panel-grid--doctors .mega-panel-column:nth-child(3) { padding-top:11px; }
 .mega-panel-grid--doctors .mega-panel-column:nth-child(3) h3 { margin-top:0; }
 .desktop-menu-column .menu-subheading { grid-column:1/-1; margin:10px 0 3px; padding:6px 7px; border-top:1px solid #dce6d8; color:#476958; font-size:12px; }
 body:has(.desktop-nav-dropdown:not([hidden])) .related-floor-rail { visibility:hidden; }
}
@media (max-width:767px), (orientation:landscape) and (max-height:500px) and (hover:none) and (pointer:coarse) {
 .mobile-mega-guide { border-top:1px solid #dce6d8; }
 .mobile-mega-guide > summary { display:flex; align-items:center; gap:10px; min-height:54px; padding:10px 5px; color:#245c4b; font-size:16px; line-height:1.4; font-weight:800; list-style:none; cursor:pointer; }
 .mobile-mega-guide > summary::-webkit-details-marker { display:none; }
 .mobile-mega-guide > summary::after { content:'⌄'; margin-left:auto; color:#245c4b; font-size:20px; line-height:1; }
 .mobile-mega-guide[open] > summary::after { transform:rotate(180deg); }
 .mobile-mega-guide > summary .mega-icon { width:20px; height:20px; }
 .mobile-mega-content { padding:0 3px 13px; }
 .mobile-mega-content .mega-panel-heading { padding:0 5px 12px; border:0; background:transparent; }
 .mobile-mega-content .mega-panel-heading h2,.mobile-mega-content .mega-panel-eyebrow { display:none; }
 .mobile-mega-content .mega-panel-heading p { font-size:13px; }
 .mobile-mega-content .mega-panel-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:0; }
 .mobile-mega-content .mega-panel-column { padding:0 5px; border:0; }
 .mobile-mega-content .mega-panel-column h3 { margin:0 0 3px; padding:6px 0; font-size:14px; }
 .mobile-mega-content .mega-link { min-height:48px; padding:8px 27px 8px 9px; font-size:14px; }
 .mobile-mega-content .mega-link small { font-size:12px; }
 .mobile-mega-content .mega-panel-actions { gap:7px; padding:12px 5px 0; background:transparent; }
 .mobile-mega-content .mega-panel-actions .mega-link { width:100%; min-height:45px; }
}

/* 2026-10: Balance the complete desktop page menu without changing the physician hover guide. */
@media (min-width:768px) {
 .desktop-page-menu-panel { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; column-gap:14px; row-gap:12px; }
 .desktop-page-menu-panel .desktop-menu-column:nth-of-type(3) { grid-column:auto; }
 .desktop-menu-column--doctors .desktop-page-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 7px; }
 .desktop-menu-doctor-actions { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-bottom:3px; }
 .desktop-menu-column--doctors .desktop-menu-doctor-actions a { min-height:38px; padding:6px 7px; border:1px solid #d7e6d8; background:#f3f8f0; font-weight:700; }
 .desktop-menu-column--doctors .menu-subheading { grid-column:1/-1; margin:5px 2px 0; padding:5px 3px 1px; border-top:1px solid #dce6d8; font-size:11px; line-height:1.4; }
 .desktop-menu-column--doctors .menu-subheading:first-of-type { margin-top:1px; padding-top:2px; border-top:0; }
 .desktop-menu-column--doctors .desktop-page-menu-grid a.menu-doctor-link { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:45px; padding:5px 7px; font-size:12.5px; line-height:1.35; }
 .desktop-menu-column--doctors .menu-doctor-link small { display:block; margin-top:2px; color:#526b5b; font-size:11px; font-weight:500; line-height:1.35; }
 .desktop-menu-column--doctors .menu-doctor-link:focus-visible,.desktop-menu-doctor-actions a:focus-visible { outline:3px solid #af5d43; outline-offset:1px; }
}
@media (min-width:1280px) {
 .desktop-page-menu-panel { width:min(1260px,calc(100vw - 24px)); grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.7fr) minmax(0,.95fr); }
}
@media (min-width:768px) and (max-width:1279px) {
 .desktop-page-menu-panel > .desktop-menu-column:nth-of-type(-n+2) .desktop-page-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px 8px; }
}
@media (min-width:768px) {
 .desktop-page-menu-panel .desktop-menu-doctor-actions a[href="/doctor.html"] { display:flex !important; }
}

/* Clinic access guide. The official Google Maps iframe loads on opening. */
.mega-access-layout { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:22px; align-items:stretch; padding:19px 23px 22px; }
.mega-access-info { min-width:0; color:#344c3e; }
.mega-access-info h3 { margin:0 0 10px; color:#245c4b; font-size:18px; line-height:1.45; }
.mega-access-address { margin:0 0 11px; font-size:14px; font-weight:700; line-height:1.65; }
.mega-access-fact { margin:0; padding:7px 0 7px 25px; border-top:1px solid #e4ebdd; font-size:13px; line-height:1.45; }
.mega-access-fact::before { content:'⌖'; display:inline-block; width:23px; margin-left:-25px; color:#438367; font-size:19px; vertical-align:-1px; }
.mega-access-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:12px; }
.mega-access-links .mega-link:first-child { grid-column:1/-1; }
.mega-access-extras { display:flex; flex-wrap:wrap; gap:2px 10px; margin-top:12px; padding-top:9px; border-top:1px solid #e1e9dc; }
.mega-access-extras .mega-link { width:auto; min-height:34px; padding:5px 8px; border:0; font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.mega-access-extras .mega-link::after { display:none; }
.desktop-page-nav-links .desktop-nav-dropdown .mega-access-extras .mega-link { width:auto; min-height:34px; height:auto; padding:5px 8px; border:0; font-size:12px; font-weight:600; }
.mega-access-map { position:relative; box-sizing:border-box; width:100%; height:300px; overflow:hidden; border:1px solid #d8e6d5; border-radius:13px; background:#edf2e9; isolation:isolate; }
.mega-access-map iframe { display:block; width:100%; height:100%; border:0; background:#edf2e9; }
@media (min-width:768px) and (max-width:1023px) {
 .mega-access-layout { gap:14px; padding:16px; }
 .mega-access-info h3 { font-size:16px; }
 .mega-access-links { grid-template-columns:1fr; }
 .mega-access-links .mega-link:first-child { grid-column:auto; }
}
@media (max-width:767px) {
 .mobile-mega-content .mega-access-layout { grid-template-columns:minmax(0,1fr); gap:11px; padding:0 3px 8px; }
 .mobile-mega-content .mega-access-info h3 { font-size:16px; }
 .mobile-mega-content .mega-access-address { font-size:13px; }
 .mobile-mega-content .mega-access-links { grid-template-columns:minmax(0,1fr); gap:2px; margin-top:8px; }
 .mobile-mega-content .mega-access-links .mega-link:first-child { grid-column:auto; }
 .mobile-mega-content .mega-access-extras { gap:2px 6px; }
 .mobile-mega-content .mega-access-extras .mega-link { width:auto; min-height:40px; padding:7px 8px; font-size:12px; }
 .mobile-mega-content .mega-access-map { height:245px; }
}

/* Original Ogawa emblem from the reference header, locally hosted without redrawing. */
.header .brand,
.desktop-page-nav .brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  min-width: 0;
}
.header .brand .brand-emblem,
.desktop-page-nav .brand .brand-emblem {
  display: block;
  flex: 0 0 clamp(18px, 12.5%, 31px);
  width: clamp(18px, 12.5%, 31px);
  aspect-ratio: 72.27 / 56.01;
  height: auto;
  object-fit: contain;
}
.header .brand-lettering,
.desktop-page-nav .brand-lettering {
  display: block;
  flex: 1 1 0;
  min-width: 0;
}
.header .brand-lettering img,
.desktop-page-nav .brand-lettering img {
  display: block;
  width: 100%;
  height: auto;
}

/* 2026-10 symptom / illness journeys: only these surfaces change. */
.find-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:19px 0 24px; }
.find-entry { display:flex; flex-direction:column; min-width:0; min-height:230px; padding:25px clamp(19px,2.6vw,30px); border:1px solid #c9ddc9; border-radius:20px; background:#f3f8ef; box-shadow:0 4px 16px #25493410; color:#283d35; text-decoration:none; transition:transform .24s cubic-bezier(.23,1,.32,1),box-shadow .24s; }
.find-entry--illness { border-color:#e6d8bc; background:#fffaf0; }
.find-entry:hover { transform:translateY(-3px); box-shadow:0 10px 24px #2549341c; }
.find-entry:active { transform:translateY(-1px); }
.find-entry:focus-visible,.illness-card-link:focus-visible,.illness-filters button:focus-visible,.illness-search-box input:focus-visible,.illness-empty button:focus-visible,.illness-expander summary:focus-visible { outline:3px solid #af5d43; outline-offset:3px; }
.find-entry-label { align-self:flex-start; padding:5px 11px; border-radius:99px; background:#e1eddf; color:#245c4b; font-size:13px; font-weight:800; }
.find-entry--illness .find-entry-label { background:#f5e9cf; color:#634c2d; }
.find-entry strong { margin-top:15px; font-size:clamp(20px,2vw,27px); line-height:1.4; }
.find-entry p { margin:8px 0 15px; font-size:15px; line-height:1.7; }
.find-entry-cta { margin-top:auto; color:#245c4b; font-size:15px; font-weight:800; }
.find-entry-cta span { margin-left:6px; }
@media(max-width:767px){ .find-entry-grid{grid-template-columns:1fr;gap:11px}.find-entry{min-height:185px;padding:20px 19px}.find-entry strong{font-size:21px} }
@media(prefers-reduced-motion:reduce){ .find-entry{transition:none}.find-entry:hover,.find-entry:active{transform:none} }
/* A disease-only layout: original detailed copy is inside native details, not shortened or duplicated. */
.page-layout--single .article.illness-library { max-width:1120px; min-width:0; }
.illness-library .illness-intro { margin:0 0 15px; }
.illness-urgent { margin:0 0 28px; padding:16px 21px; border:1px solid #e8cdbd; border-left:4px solid #b46d52; border-radius:12px; background:#fff8f1; line-height:1.75; }
.illness-urgent strong { color:#763f32; font-size:16px; }
.illness-urgent p { margin:5px 0 5px; }
.illness-urgent a,.illness-crosslink a { color:#245c4b; font-weight:700; text-underline-offset:3px; }
.illness-legacy-anchors span { display:block; height:0; scroll-margin-top:115px; }
.illness-search-box { margin:20px 0 15px; }
.illness-search-box label { display:block; margin-bottom:9px; color:#245c4b; font-size:18px; font-weight:800; }
.illness-search-box input { display:block; width:100%; min-height:52px; padding:10px 17px; border:1px solid #afc9b5; border-radius:12px; background:white; color:#283d35; font:500 16px/1.5 var(--round); }
.illness-search-box p { margin:7px 0 0; color:#52645a; font-size:13px; }
.illness-filter-bar { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; }
.illness-filters { display:contents; }
.illness-filter-bar button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:7px 12px; border:1px solid #cddccd; border-radius:99px; background:#fffdf8; color:#2d5042; font:700 14px/1.35 var(--round); cursor:pointer; }
.illness-filter-bar button[aria-pressed="true"] { border-color:#245c4b; background:#245c4b; color:white; }
.illness-filter-bar button:hover:not([aria-pressed="true"]) { background:#e9f3e8; }
.illness-category-icon { flex:none; width:20px; height:20px; }
.illness-count { margin:18px 0 11px; color:#3a5a47; font-size:14px; font-weight:750; }
.illness-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.illness-card { display:flex; flex-direction:column; min-width:0; padding:18px 18px 16px; border:1px solid #d9e5d4; border-radius:16px; background:#fffdf9; box-shadow:0 3px 14px #315b3910; overflow-wrap:anywhere; }
.illness-card[hidden],.illness-empty[hidden] { display:none !important; }
.illness-card-tags { display:flex; flex-wrap:wrap; gap:5px; min-height:26px; }
.illness-tag { display:inline-flex; align-items:center; gap:5px; padding:3px 9px 3px 6px; border-radius:99px; background:#e8f1e6; color:#285a45; font-size:12px; font-weight:700; }
.illness-tag .illness-category-icon { width:15px; height:15px; }
.illness-tag--secondary { background:#f6eddb; color:#664e32; }
.illness-card h3 { margin:12px 0 2px; color:#244d3c; font-size:19px; line-height:1.45; }
.illness-card-alias { margin:0 0 11px; color:#52665a; font-size:12px; line-height:1.55; }
.illness-card-description { margin:0 0 15px; color:#30443a; font-size:14px; line-height:1.75; }
.illness-card-link { display:flex; align-items:center; justify-content:space-between; min-height:44px; margin-top:auto; padding:8px 12px; border:1px solid #bfd2c0; border-radius:9px; background:#eff6ec; color:#245c4b; font-size:14px; font-weight:800; text-decoration:none; }
.illness-card-link:hover { background:#dfedde; }
.illness-empty { margin:13px 0; padding:22px; border:1px solid #d8e3d1; border-radius:15px; background:#f7f9f4; }
.illness-empty p { margin:0 0 10px; }
.illness-empty button { min-height:44px; padding:8px 15px; border:1px solid #8bb195; border-radius:9px; background:white; color:#245c4b; font:700 14px/1.4 var(--round); cursor:pointer; }
.illness-details-stack { margin-top:26px; }
.illness-ui-ready .illness-expander:not([open]) { display:none; }
.illness-expander { padding:13px clamp(14px,2.2vw,25px) 20px; border:1px solid #cbdcc9; border-radius:17px; background:#fffdf9; }
.illness-expander + .illness-expander { margin-top:10px; }
.illness-expander summary { padding:6px 0 10px; color:#245c4b; font-weight:800; cursor:pointer; }
.illness-expander .illness-detail { padding-top:13px; scroll-margin-top:145px; }
.illness-expander .illness-detail:focus { outline:none; }
.illness-crosslink { margin:14px 0; padding:10px 13px; border-radius:10px; background:#f3f8ef; }
@media (min-width:768px) and (max-width:1099px){ .illness-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:767px){ .illness-card-grid{grid-template-columns:1fr}.illness-card{padding:17px}.illness-expander .illness-detail{scroll-margin-top:75px}.illness-urgent{padding:14px 16px} }
/* Seven independent header guides. At narrower desktop widths the existing Menu remains an escape route. */
@media(min-width:768px){
 .desktop-page-nav-links > .desktop-nav-group:has(>a[href^="/medical/medical01.html"]){display:flex !important}
 .desktop-page-nav-links > .desktop-nav-group > a[href^="/medical/medical01.html"]{display:flex !important}
 .desktop-page-nav-links .desktop-nav-dropdown:has(.mega-panel-grid--illness) .mega-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mega-panel-grid--illness .mega-panel-column:nth-child(n+4){padding-top:12px}
}
@media(min-width:768px) and (max-width:900px){.desktop-page-nav .brand{flex-basis:125px;width:125px}.desktop-page-nav-inner{gap:4px;padding-inline:7px}.desktop-page-nav-links{gap:0}.desktop-page-nav-links .desktop-nav-group>a{font-size:11px}.desktop-page-nav-links .desktop-nav-group>.desktop-nav-toggle{width:17px}}
@media(max-width:767px){.mobile-mega-content .mega-panel-grid--illness{grid-template-columns:1fr}}

.mega-panel-grid--illness .mega-panel-column h3 { display:flex; align-items:center; gap:7px; }
.mega-panel-grid--illness .mega-panel-column h3 .illness-category-icon { width:18px; height:18px; }

/* 2026-10: full disease manuscripts and attendance guidance. */
.illness-library .illness-intro { display:grid; gap:8px; padding:16px 18px; border:1px solid #d7e5d6; border-radius:13px; background:#f7faf4; }
.illness-library .illness-intro p { margin:0; font-size:15px; line-height:1.8; }
.illness-expander .illness-detail { max-width:100%; overflow-wrap:anywhere; }
.article .illness-expander .illness-detail > p,.article .illness-expander .illness-attendance p { max-width:70ch; color:#283d35; font-size:16px; line-height:1.85; }
.article .illness-expander .illness-detail > h3 { max-width:70ch; margin:27px 0 9px; font-size:18px; line-height:1.55; }
.article .illness-expander .illness-detail > h2 { margin-bottom:22px; }
.article .illness-expander .illness-attendance { max-width:76ch; margin:29px 0 20px; padding:18px clamp(15px,2.7vw,26px); border-left:4px solid #80ad90; border-radius:0 13px 13px 0; background:#f1f7ee; }
.article .illness-expander .illness-attendance h3 { margin:0 0 12px; color:#245c4b; font-size:18px; }
.article .illness-expander .illness-attendance h4 { margin:0 0 8px; padding:0; border:0; color:#3a614d; font-size:16px; }
.article .illness-expander .illness-attendance p { margin:0 0 12px; }
.illness-attendance-link { display:inline-flex; align-items:center; min-height:44px; color:#245c4b; font-size:15px; font-weight:800; text-underline-offset:3px; }
.illness-related-links { max-width:76ch; margin:25px 0; padding:15px 18px; border:1px solid #dfebdb; border-radius:12px; background:#fffefa; }
.illness-related-links h3 { margin:0 0 9px; color:#245c4b; font-size:16px; }
.illness-related-links > div { display:flex; flex-wrap:wrap; gap:6px 17px; }
.illness-related-links a { padding:5px 0; color:#245c4b; font-size:14px; line-height:1.5; text-underline-offset:3px; }
.article .illness-expander .illness-sources { display:block; max-width:76ch; margin:24px 0 17px; padding:16px 20px; font-size:14px; }
.illness-sources h3 { margin:0 0 7px; color:#245c4b; font-size:16px; }
.article .illness-expander .illness-sources p { max-width:none; margin:0 0 7px; font-size:13px; line-height:1.6; }
.illness-sources ul { margin:0; padding-left:1.25em; }
.illness-sources li + li { margin-top:4px; }
.illness-sources a { display:inline-block; min-height:35px; padding:4px 0; font-size:14px; overflow-wrap:anywhere; text-underline-offset:3px; }
.illness-preserved-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:720px; margin:0 0 26px; }
.illness-preserved-media figure { width:100%; min-width:0; margin:0; }
.illness-preserved-media img { max-width:100%; height:auto; }
@media(max-width:767px){ .illness-preserved-media { grid-template-columns:1fr; max-width:460px; } .article .illness-expander .illness-detail > p,.article .illness-expander .illness-attendance p{font-size:16px;line-height:1.8} .illness-expander{padding:12px 15px 17px} }

/* The menu uses the same canonical 30-record catalog as the disease cards. */
.mega-illness-explorer { padding:18px 21px 20px; }
.mega-illness-controls { display:flex; align-items:end; gap:10px; }
.mega-illness-controls label { display:block; flex:1; color:#245c4b; font-size:15px; font-weight:800; }
.mega-illness-controls input { box-sizing:border-box; display:block; width:100%; min-height:46px; margin-top:6px; padding:9px 12px; border:1px solid #a6c6ad; border-radius:9px; background:white; color:#283d35; font:500 16px/1.5 var(--round); }
.mega-illness-clear,.mega-illness-filters button { min-height:44px; border:1px solid #bdd3bd; border-radius:9px; background:#fffdf8; color:#245c4b; font:700 14px/1.4 var(--round); cursor:pointer; }
.mega-illness-clear { flex:none; padding:8px 14px; }
.mega-illness-filters { display:flex; flex-wrap:wrap; gap:7px; margin:15px 0 9px; }
.mega-illness-filters button { padding:7px 12px; border-radius:99px; }
.mega-illness-filters button[aria-pressed="true"] { background:#245c4b; border-color:#245c4b; color:white; }
.mega-illness-clear:hover,.mega-illness-filters button:hover:not([aria-pressed="true"]) { background:#eaf3e8; }
.mega-illness-count { margin:11px 0; color:#3c5949; font-size:14px; font-weight:750; }
.mega-illness-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 13px; }
.mega-illness-group { min-width:0; padding:10px 12px 13px; border:1px solid #e0e9dc; border-radius:12px; background:#fffefa; }
.mega-illness-group h3 { display:flex; align-items:center; gap:7px; margin:0 0 5px; padding:0 0 8px; border-bottom:1px solid #dce8d8; color:#245c4b; font-size:15px; line-height:1.4; }
.mega-illness-group .illness-category-icon { width:19px; height:19px; }
.mega-illness-links { display:grid; gap:1px; }
.mega-illness-link { position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:2px 8px; min-width:0; min-height:40px; padding:7px 23px 7px 6px; border-bottom:1px solid #eef1e8; border-radius:5px; color:#283d35; font-size:14px; font-weight:700; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.mega-illness-link small { color:#5c7362; font-size:12px; font-weight:500; }
.mega-illness-link::after { position:absolute; right:3px; content:'→'; color:#628a6c; font-size:16px; }
.mega-illness-link:hover { background:#eaf3e8; }
.mega-illness-empty { grid-column:1/-1; padding:15px; color:#4c5d52; }
.mega-illness-explorer :is(input,button,a):focus-visible,.illness-attendance-link:focus-visible,.illness-related-links a:focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
@media(min-width:768px){
 .desktop-page-nav-links .desktop-nav-dropdown .mega-illness-link { display:flex !important; min-height:40px; height:auto; padding:7px 23px 7px 6px; border-bottom:1px solid #eef1e8; font-size:14px; line-height:1.45; }
 .desktop-page-nav-links > a[href="/tokoen.html"] { display:flex; align-items:center; flex:0 0 auto; min-height:44px; padding:7px 6px; color:#245c4b; font-size:13px; font-weight:800; white-space:nowrap; }
}
@media(min-width:768px) and (max-width:1120px){
 .desktop-page-nav-links > .desktop-nav-group:has(>a[href="/first.html"]),
 .desktop-page-nav-links > .desktop-nav-group:has(>a[href="/doctor.html"]) { display:none !important; }
 .desktop-page-nav-links > a[href="/tokoen.html"] { font-size:12px; }
}
.mobile-attendance-shortcut { display:flex; align-items:center; min-height:52px; margin:10px 0 4px; padding:10px 14px; border:1px solid #b9d3be; border-radius:10px; background:#f0f7ed; color:#245c4b; font:800 16px/1.4 var(--round); text-decoration:none; }
.mobile-attendance-shortcut::after { content:'→'; margin-left:auto; font-size:19px; }
.mobile-attendance-shortcut:focus-visible { outline:3px solid #af5d43; outline-offset:2px; }
@media(max-width:767px){
 .mobile-mega-content .mega-illness-explorer { padding:5px 4px 13px; }
 .mobile-mega-content .mega-illness-controls { align-items:stretch; flex-direction:column; gap:6px; }
 .mobile-mega-content .mega-illness-controls label { flex:none; font-size:14px; }
 .mobile-mega-content .mega-illness-clear { align-self:start; }
 .mobile-mega-content .mega-illness-filters { gap:6px; margin:12px 0; }
 .mobile-mega-content .mega-illness-filters button { font-size:13px; }
 .mobile-mega-content .mega-illness-results { grid-template-columns:1fr; gap:8px; }
 .mobile-mega-content .mega-illness-group { padding:9px 10px; }
 .mobile-mega-content .mega-illness-link { min-height:44px; font-size:15px; }
}
@media(prefers-reduced-motion:reduce){ .mega-illness-explorer *, .illness-attendance-link { transition:none !important; scroll-behavior:auto !important; } }

.tokoen-other-diseases { margin-top:28px; }
.tokoen-other-group { margin:20px 0; }
.tokoen-other-group h3 { margin:0 0 10px; color:#245c4b; font-size:18px; }
.tokoen-other-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.article .tokoen-other-links a { display:flex; align-items:center; min-height:44px; padding:9px 12px; border:1px solid #d7e5d2; border-radius:9px; background:#fffefa; color:#245c4b; font-size:14px; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.article .tokoen-other-links a:hover { background:#edf6ec; }
@media(min-width:768px) and (max-width:1023px){ .tokoen-other-links{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:767px){ .tokoen-other-links{grid-template-columns:1fr} }

/* Final reading layout: balance a comfortable line length within an equally centred detail frame. */
.illness-library .illness-expander { width:100%; max-width:760px; margin-inline:auto; }
.illness-library .illness-expander .illness-detail { max-width:70ch; margin-inline:auto; }
/* Four-column overview on wide desktops, with the three shorter groups stacked together. */
@media(min-width:1200px){
 .mega-illness-results { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .mega-illness-results:has(> .mega-illness-group:nth-child(6)) > .mega-illness-group:nth-child(1){grid-column:1;grid-row:1 / 4}
 .mega-illness-results:has(> .mega-illness-group:nth-child(6)) > .mega-illness-group:nth-child(2){grid-column:2;grid-row:1 / 4}
 .mega-illness-results:has(> .mega-illness-group:nth-child(6)) > .mega-illness-group:nth-child(3){grid-column:3;grid-row:1 / 4}
 .mega-illness-results:has(> .mega-illness-group:nth-child(6)) > .mega-illness-group:nth-child(4){grid-column:4;grid-row:1}
 .mega-illness-results:has(> .mega-illness-group:nth-child(6)) > .mega-illness-group:nth-child(5){grid-column:4;grid-row:2}
 .mega-illness-results:has(> .mega-illness-group:nth-child(6)) > .mega-illness-group:nth-child(6){grid-column:4;grid-row:3}
}
@media(min-width:768px) and (max-width:1199px){ .mega-illness-results{grid-template-columns:repeat(2,minmax(0,1fr))} }

.mega-illness-results { align-items:start; }

@media(min-width:768px) and (max-width:1120px){
 .desktop-page-nav-links > .desktop-nav-group:has(>a[href="/first.html"]),
 .desktop-page-nav-links > .desktop-nav-group:has(>a[href="/doctor.html"]) { display:flex !important; }
 .desktop-page-nav-links > a[href="/tokoen.html"] { display:none !important; }
}

.mega-illness-link small { font-size:13px; }

/* One-line seven-item header. Preserve full-size labels; collapse instead of wrapping. */
@media (min-width:1280px){
 .desktop-page-nav-inner { gap:14px; padding-inline:20px; }
 .desktop-page-nav-links { justify-content:space-between; gap:2px; flex-wrap:nowrap; }
 .desktop-page-nav-links > .desktop-nav-group { flex:0 0 auto !important; min-width:0; }
 .desktop-page-nav-links > .desktop-nav-group--all { flex:0 0 110px !important; }
 .desktop-page-nav-links .desktop-nav-group > a,
 .desktop-page-nav-links .desktop-nav-group > .desktop-page-menu-trigger { flex:0 0 auto !important; padding-inline:3px; white-space:nowrap !important; font-size:14px !important; line-height:1.35; }
 .desktop-page-nav-links .desktop-nav-group > .desktop-nav-toggle { width:21px; height:44px; margin-left:0; }
 .desktop-page-nav-links .desktop-nav-group--all > .desktop-page-menu-trigger { width:100%; }
}
@media (min-width:1280px) and (max-width:1399px){
 .desktop-page-nav .brand { flex-basis:220px; width:220px; }
}
@media (min-width:768px) and (max-width:1279px){
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group:not(.desktop-nav-group--all),
 .desktop-page-nav .desktop-page-nav-links > a[href="/tokoen.html"] { display:none !important; }
 .desktop-page-nav-links { justify-content:flex-end; flex:1; }
 .desktop-page-nav-links > .desktop-nav-group--all { display:flex !important; flex:0 0 120px !important; }
 .desktop-page-nav-links .desktop-nav-group--all > .desktop-page-menu-trigger { font-size:15px; white-space:nowrap; }
}
@media (min-width:768px) and (max-width:1199px){ .related-floor-rail { display:none !important; } }
/* Two distinct areas, each retaining the established symptom URLs and canonical 30-name explorer. */
.mega-journey { display:grid; grid-template-columns:minmax(255px,.31fr) minmax(0,.69fr); gap:0; min-width:0; }
.mega-journey > section { min-width:0; max-height:calc(100dvh - 182px); overflow-y:auto; overscroll-behavior:contain; padding:16px 16px 19px; }
.mega-journey-symptoms { border-right:1px solid #dce6d8; background:#f6faf3; }
.mega-journey > section > h3 { margin:0 0 3px; color:#245c4b; font-size:17px; line-height:1.4; }
.mega-journey > section > p { margin:0 0 12px; color:#52645a; font-size:13px; line-height:1.5; }
.mega-journey-symptom-links { display:grid; gap:1px; }
.mega-journey .mega-illness-explorer { padding:1px 0 5px; }
.mega-journey .mega-panel-actions { padding:9px 0 0; background:transparent; }
.mega-journey-illnesses .mega-illness-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mega-journey-illnesses .mega-illness-results > .mega-illness-group { grid-column:auto !important; grid-row:auto !important; }
.desktop-menu-guides { display:none; }
@media (min-width:768px) and (max-width:1279px){
 .desktop-page-menu-panel .desktop-menu-guides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; grid-column:1/-1; }
 .desktop-menu-guide { min-width:0; border:1px solid #cbdccc; border-radius:12px; background:#f7faf4; }
 .desktop-menu-guide > summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:8px 12px; color:#245c4b; font-size:15px; font-weight:800; list-style:none; cursor:pointer; }
 .desktop-menu-guide > summary::after { content:'⌄'; padding-left:12px; font-size:19px; }
 .desktop-menu-guide > summary::-webkit-details-marker { display:none; }
 .desktop-menu-guide[open] { grid-column:1/-1; }
 .desktop-menu-guide[open] > summary::after { transform:rotate(180deg); }
 .desktop-menu-guide-content { padding:0 8px 10px; }
 .desktop-menu-guide-content .mega-panel-heading { padding:11px; }
 .desktop-menu-guide-content .mega-journey { grid-template-columns:1fr; }
 .desktop-menu-guide-content .mega-journey > section { max-height:none; overflow:visible; padding:12px; }
 .desktop-menu-guide-content .mega-journey-symptoms { border-right:0; border-bottom:1px solid #dce6d8; }
 .desktop-menu-guide-content .mega-journey-symptom-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 9px; }
 .desktop-menu-guide-content .mega-illness-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .desktop-menu-guide-content .mega-panel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .desktop-menu-guide-content .mega-panel-column { padding:8px 12px; }
}
@media (max-width:767px){
 .mobile-mega-content .mega-journey { grid-template-columns:1fr; }
 .mobile-mega-content .mega-journey > section { max-height:none; overflow:visible; padding:9px 5px 16px; }
 .mobile-mega-content .mega-journey-symptoms { border-right:0; border-bottom:1px solid #dce6d8; }
 .mobile-mega-content .mega-journey-symptom-links { gap:1px; }
 .mobile-mega-content .mega-journey-illnesses .mega-illness-results { grid-template-columns:1fr; }
}
.hero-copy .hero-parent-care { max-width:425px; margin:13px 0 0; padding:10px 13px; border-left:3px solid #91b18e; border-radius:0 10px 10px 0; background:#f3f8ee; color:#294c3d; font-size:14px; line-height:1.7; }
.hero-parent-care a { display:inline-block; margin-left:5px; color:#245c4b; font-size:13px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.hero-parent-care a:focus-visible { outline:3px solid #af5d43; outline-offset:3px; }
@media (max-width:767px){ .hero-copy .hero-parent-care { padding:8px 11px; font-size:13px; } }

/* 病児保育室どんぐり：旧公式の決済登録QRをそのまま読み取れるサイズで表示 */
.donguri-payment-qr {
  display: inline-block;
  max-width: 100%;
  margin: 0.8rem 0 0.55rem;
  padding: 0.55rem;
  border: 1px solid #c6daca;
  border-radius: 0.9rem;
  background: #fff;
  line-height: 0;
}
.donguri-payment-qr img {
  display: block;
  width: min(186px, 100%);
  height: auto;
}
.donguri-payment-qr:focus-visible {
  outline: 3px solid #537a60;
  outline-offset: 3px;
}

/* 共通ヘッダー：症状と病名を独立させ、ラベルの間の矢印を置かずに一行で表示する。 */
@media (min-width:1280px) {
 .desktop-page-nav-inner { gap:12px; padding-inline:18px; }
 .desktop-page-nav-links { gap:2px; max-width:980px; margin-left:auto; justify-content:space-between; flex-wrap:nowrap; }
 .desktop-page-nav-links > .desktop-nav-group { flex:0 0 auto !important; }
 .desktop-page-nav-links > .desktop-nav-group--all { flex:0 0 106px !important; }
 .desktop-page-nav-links .desktop-nav-group > a,
 .desktop-page-nav-links .desktop-nav-group > .desktop-page-menu-trigger {
  padding-inline:5px; white-space:nowrap !important; font-size:14px !important;
  line-height:1.35; transition:background-color .18s ease,color .18s ease,border-color .18s ease;
 }
 .desktop-page-nav-links .desktop-nav-group--all > .desktop-page-menu-trigger { width:100%; }
}
@media (min-width:768px) {
 .desktop-page-nav-links .desktop-nav-group.is-current > a,
 .desktop-page-nav-links .desktop-nav-group.is-open > a { background:#e7f1e8; color:#205440; border-bottom-color:#699777; }
 .desktop-page-nav-links .desktop-nav-group > a:hover,
 .desktop-page-nav-links .desktop-nav-group:focus-within > a { background:#f0f6ee; color:#205440; }
 .desktop-page-nav-links .desktop-nav-group > a:focus-visible { outline:3px solid #af5d43; outline-offset:-2px; }
 .desktop-menu-guide > summary.is-current { background:#e8f3e8; color:#205440; }
}
@media (max-width:767px) {
 .mobile-mega-guide > summary.is-current { background:#e7f1e8; color:#205440; }
}
@media (hover:none) and (min-width:768px) {
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group:not(.desktop-nav-group--all) { display:none !important; }
 .desktop-page-nav-links { justify-content:flex-end; }
 .desktop-page-nav-links > .desktop-nav-group--all { display:flex !important; flex:0 0 120px !important; }
 .desktop-page-menu-panel .desktop-menu-guides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; grid-column:1/-1; }
}

/* 横向きスマホ：幅が768pxを超えても低いタッチ画面なら4項目バーを維持する。 */
@media (orientation:landscape) and (max-height:500px) and (hover:none) and (pointer:coarse) and (min-width:768px) {
 .desktop-page-nav { display:none !important; }
 .header { display:block !important; }
 .header .menu-button { display:inline-flex !important; }
 .service-slot { display:block !important; height:auto; }
 .service-front { position:static; top:auto; z-index:auto; }
 .related-floor-rail { display:none !important; }
 .mobile-bottom-bar { display:grid !important; }
 .mobile-sheet-backdrop { display:block !important; }
 .mobile-bottom-sheet {
  display:block !important; position:fixed; top:auto; left:0; right:0;
  bottom:var(--mobile-bottom-bar-height,67px); width:100%; height:auto;
  margin:0; max-height:calc(100dvh - 56px - var(--mobile-bottom-bar-height,67px) - 8px);
  border-radius:20px 20px 0 0; transform:translateY(18px);
 }
 .mobile-bottom-sheet.is-open { transform:translateY(0); }
 .mobile-mega-content .mega-panel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mobile-mega-content .mega-illness-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mobile-menu-primary-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:10px 0 14px; }
 .mobile-menu-primary-actions :is(a,button) { display:flex; align-items:center; justify-content:center; min-height:48px; padding:7px 10px; border:1px solid #bfd6c2; border-radius:12px; background:#eaf4e8; color:#245c4b; font:700 14px/1.35 var(--round); }
 .mobile-menu-primary-actions .mobile-menu-phone { grid-column:1/-1; background:#f9eee6; color:#674a38; border-color:#e8c9b6; }
 .mobile-menu-primary-actions .mobile-menu-phone svg { width:20px; height:20px; margin-right:7px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
}

/* 病児保育の2用紙は同じ登録欄に置き、スマホでは1列の明確なダウンロード入口にする。 */
.action-row.donguri-doc-downloads { display:flex; flex-wrap:wrap; gap:10px; }
.action-row.donguri-doc-downloads .btn { flex:1 1 265px; min-width:0; min-height:54px; padding:11px 14px; white-space:normal; overflow-wrap:anywhere; text-align:center; line-height:1.5; }
@media (max-width:640px) {
 .action-row.donguri-doc-downloads { flex-direction:column; align-items:stretch; }
 .action-row.donguri-doc-downloads .btn { flex:0 0 auto; width:100%; }
}

/* メニューとWEB問診の丸い閉じるボタン：枠と操作を保ち、×だけ幾何学中心に描く。 */
:is(.desktop-page-menu-close,.mobile-sheet-close) { position:relative; font-size:0; line-height:0; }
:is(.desktop-page-menu-close,.mobile-sheet-close)::before,
:is(.desktop-page-menu-close,.mobile-sheet-close)::after {
 content:""; position:absolute; top:50%; left:50%; width:17px; height:2px;
 border-radius:2px; background:currentColor; pointer-events:none;
 transform:translate(-50%,-50%) rotate(45deg);
}
:is(.desktop-page-menu-close,.mobile-sheet-close)::after { transform:translate(-50%,-50%) rotate(-45deg); }

/* PCページメニューの×だけを文字・疑似要素に依存しないSVGへ固定する。 */
.desktop-page-menu-close { width:44px; height:44px; padding:0; align-self:center; }
.desktop-page-menu-close::before,.desktop-page-menu-close::after { content:none; }
.desktop-page-menu-close svg {
 display:block; position:absolute; top:50%; left:50%; width:18px; height:18px;
 transform:translate(-50%,-50%); pointer-events:none;
}

/* PC common menu — balanced four-category navigation. Mobile sheet styles are untouched. */
@media (min-width:768px) {
 .desktop-page-nav-inner { gap:18px; padding-inline:18px; }
 .desktop-page-nav-links { max-width:none; gap:4px; justify-content:flex-end; flex-wrap:nowrap; }
 .desktop-page-nav-links > .desktop-nav-group--all { flex:0 0 132px !important; }
 .desktop-page-nav-links .desktop-nav-group > a { font-size:16px !important; line-height:1.5; min-height:48px; padding:10px 8px; white-space:nowrap; }
 .desktop-page-nav-links .desktop-nav-group--all > .desktop-page-menu-trigger {
  display:flex; align-items:center; justify-content:center; gap:9px; width:132px;
  min-height:48px; padding:10px 14px; font-size:16px !important; line-height:1.5; letter-spacing:0;
 }
 .desktop-page-menu-trigger::before,.desktop-page-menu-trigger::after { content:none !important; }
 .desktop-page-menu-trigger > span { display:block; margin:0; padding:0; line-height:1.5; font-size:16px; }
 .desktop-page-menu-trigger > .desktop-menu-trigger-icon { display:flex; align-items:center; justify-content:center; flex:0 0 22px; width:22px; height:24px; line-height:0; }
 .desktop-menu-trigger-icon svg { display:block; width:22px; height:22px; }
 .desktop-page-nav.is-nav-condensed .desktop-page-nav-links > .desktop-nav-group:not(.desktop-nav-group--all) { display:none !important; }
 .desktop-page-nav.is-nav-condensed .desktop-page-nav-links { justify-content:flex-end; }
 .desktop-page-menu-panel {
  display:block; width:min(1360px,calc(100vw - 40px)); max-height:calc(100dvh - var(--desktop-page-nav-height) - 16px);
  padding:0 24px 20px; background:#fbfcf8; border:1px solid #d5e1d3; border-radius:0 0 20px 20px;
  overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable;
 }
 .desktop-page-menu-panel[hidden] { display:none !important; }
 .desktop-page-menu-header {
  display:flex; align-items:center; justify-content:space-between; min-height:72px;
  margin:0; padding:12px 0; position:sticky; top:0; z-index:5;
  border-bottom:1px solid #dce5d7; background:#fbfcf8;
 }
 .desktop-page-menu-header h2 { margin:0; font-size:20px; font-weight:700; line-height:1.5; letter-spacing:.05em; }
 .desktop-page-menu-close { display:flex; align-items:center; justify-content:center; flex:0 0 44px; padding:0; width:44px; height:44px; }
 .desktop-page-menu-close svg { position:static; display:block; width:18px; height:18px; transform:none; margin:0; }
 .desktop-menu-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 0 0; }
 .desktop-menu-actions :is(a,button) {
  display:flex; align-items:center; justify-content:center; min-height:54px; padding:14px 16px;
  font:700 16px/1.5 var(--round); border:1px solid #c6d9c9; border-radius:10px;
  color:#245c4b; background:#eff5eb; text-align:center; transform:none; filter:none;
 }
 .desktop-menu-actions .desktop-menu-booking { background:#245c4b; color:#fff; border-color:#245c4b; }
 .desktop-menu-actions .desktop-menu-chat { background:#f2f1f8; border-color:#dad5e9; color:#414b72; }
 .desktop-menu-actions :is(a,button):hover { background:#e4efe0; filter:none; transform:none; }
 .desktop-menu-actions .desktop-menu-booking:hover { background:#1c493b; }
 .desktop-menu-actions .desktop-menu-chat:hover { background:#e9e6f3; }
 .desktop-menu-secondary-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; column-gap:24px; padding:3px 0 12px; border-bottom:1px solid #dce5d7; }
 .desktop-menu-secondary-actions :is(a,button) { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 0; border:0; background:transparent; color:#52645a; font:500 16px/1.5 var(--round); text-decoration:underline; text-underline-offset:4px; }
 .desktop-menu-secondary-actions :is(a,button):hover { color:#245c4b; }
 .desktop-menu-body { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:24px 0; align-items:start; }
 .desktop-menu-body > .desktop-menu-column { min-width:0; grid-column:auto !important; }
 .desktop-menu-column > h3 { min-height:48px; margin:0 0 10px; border:0; border-bottom:2px solid #a2baa0; padding:0 0 10px; color:#245c4b; font-size:17px; line-height:1.5; letter-spacing:0; font-weight:700; display:flex; align-items:flex-start; }
 .desktop-menu-body .desktop-page-menu-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; }
 .desktop-menu-body .desktop-page-menu-grid :is(a,button),.desktop-menu-disclosure > summary {
  min-width:0; display:flex; align-items:center; justify-content:flex-start; min-height:44px; padding:10px 8px;
  border:0; border-radius:6px; background:transparent; color:#283d35; text-align:left;
  font:500 16px/1.5 var(--round); white-space:normal; overflow-wrap:anywhere;
 }
 .desktop-menu-body .desktop-page-menu-grid a.is-current { color:#245c4b; background:#eaf2e6; font-weight:700; }
 .desktop-menu-body .desktop-page-menu-grid :is(a,button):hover,.desktop-menu-disclosure > summary:hover { background:#edf4e8; }
 .desktop-menu-body .desktop-page-menu-grid .desktop-menu-feature-link { color:#245c4b; font-weight:700; background:#f0f5ec; }
 .desktop-menu-disclosure { min-width:0; margin:6px 0 0; padding-top:4px; border-top:1px solid #dce5d7; }
 .desktop-menu-disclosure > summary { justify-content:space-between; gap:10px; list-style:none; cursor:pointer; color:#245c4b; }
 .desktop-menu-disclosure > summary::-webkit-details-marker { display:none; }
 .desktop-menu-disclosure > summary::before,.desktop-menu-disclosure > summary::after { content:none; }
 .desktop-menu-disclosure-indicator { display:grid; place-items:center; flex:0 0 18px; width:18px; height:18px; position:relative; }
 .desktop-menu-disclosure-indicator::before,.desktop-menu-disclosure-indicator::after { content:''; position:absolute; width:12px; height:1.5px; background:#547460; }
 .desktop-menu-disclosure-indicator::after { transform:rotate(90deg); }
 .desktop-menu-disclosure[open] > summary .desktop-menu-disclosure-indicator::after { content:none; }
 .desktop-menu-disclosure-links,.desktop-menu-doctor-list { padding:4px 0 8px; }
 .desktop-menu-doctor-list h4 { margin:14px 8px 4px; color:#52645a; font-size:14px; line-height:1.5; font-weight:700; }
 .desktop-menu-body .menu-doctor-link { flex-direction:column; align-items:flex-start !important; justify-content:center !important; gap:3px; }
 .desktop-menu-body .menu-doctor-link small { color:#52645a; font-size:14px; line-height:1.5; }
 .desktop-menu-disclosure--illness[open] { position:relative; }
 .desktop-menu-illness-search .mega-illness-explorer { padding:8px 0; }
 .desktop-menu-illness-search .mega-illness-controls { grid-template-columns:1fr; padding:0; }
 .desktop-menu-illness-search .mega-illness-controls label { font-size:14px; }
 .desktop-menu-illness-search .mega-illness-controls input { width:100%; min-width:0; font-size:16px; }
 .desktop-menu-illness-search .mega-illness-filters { padding:10px 0; gap:5px; }
 .desktop-menu-illness-search .mega-illness-filters button { min-height:44px; padding:8px; border:1px solid #ccdcca; font-size:14px; }
 .desktop-menu-illness-search .mega-illness-results { display:grid; grid-template-columns:1fr; padding:0; }
 .desktop-menu-illness-search .mega-illness-group { grid-column:auto !important; grid-row:auto !important; }
 .desktop-menu-illness-search .mega-illness-count { padding:0; font-size:14px; }
 .desktop-menu-illness-search .mega-illness-group h3 { font-size:16px; padding:8px; }
 .desktop-menu-illness-search .mega-illness-link { min-height:44px; font-size:16px; line-height:1.5; }
 .desktop-menu-illness-search .mega-illness-link small { font-size:14px; }
 .desktop-menu-footer { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:24px; border-top:1px solid #dce5d7; padding-top:16px; }
 .desktop-menu-footer :is(.desktop-menu-other,.desktop-menu-social) { border:0; padding:0; grid-column:auto; }
 .desktop-menu-footer h3 { border:0; margin:0 0 6px; padding:0; font-size:14px; color:#52645a; font-weight:700; }
 .desktop-menu-footer .desktop-menu-other-links,.desktop-menu-footer .menu-social-links { display:flex; flex-wrap:wrap; gap:8px; }
 .desktop-menu-footer .desktop-menu-other-links a.careers-link { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid #dce5d7; border-radius:7px; font-size:16px; line-height:1.5; background:transparent; }
 .desktop-menu-footer .menu-site-mark,.desktop-menu-footer .careers-link small { display:none !important; }
 .desktop-menu-footer .menu-social-card { display:flex; align-items:center; gap:9px; min-height:44px; width:auto; padding:8px 10px; border:1px solid #dce5d7; border-radius:7px; background:transparent; font-size:16px; line-height:1.5; }
 .desktop-menu-footer .menu-social-icon { display:flex; align-items:center; justify-content:center; width:24px; height:24px; margin:0; }
 .desktop-menu-footer .menu-social-icon img { width:24px; height:24px; object-fit:contain; }
 .desktop-page-menu-panel :is(a,button,summary,input):focus-visible { outline:3px solid #af5d43; outline-offset:-2px; }
 .desktop-page-nav .desktop-nav-dropdown :is(.mega-link,.mega-illness-link) { font-size:16px !important; line-height:1.5; min-height:44px; }
 .desktop-page-nav .desktop-nav-dropdown .mega-link small { font-size:14px; line-height:1.5; }
 .desktop-page-nav .desktop-nav-dropdown .mega-panel-column h3 { font-size:17px; line-height:1.5; }
 .desktop-page-nav .desktop-nav-dropdown .mega-panel-heading h2 { font-size:22px; }
 .desktop-page-nav .desktop-nav-dropdown .mega-panel-heading p { font-size:16px; line-height:1.5; }
 .desktop-flyout-doctor-directory { margin:12px 20px 20px; }
 .desktop-flyout-doctor-directory > summary { font-size:16px; }
 .desktop-flyout-doctor-directory .mega-panel-grid { padding:10px 0 0; }
}
@media (min-width:768px) and (max-width:1199px) {
 .desktop-menu-body { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 .desktop-menu-footer { grid-template-columns:1fr; gap:14px; }
}
@media (min-width:768px) and (hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:500px) {
 /* The established mobile layout owns low-height touch landscape; no PC panel is displayed. */
 .desktop-page-nav { display:none !important; }
}

@media (min-width:768px) {
 .desktop-page-menu-panel { right:50%; transform:translateX(50%); }
 .desktop-page-menu-header { min-height:64px; padding:10px 0; }
 .desktop-menu-actions { padding-top:14px; }
 .desktop-menu-actions :is(a,button) { height:auto; min-height:54px; padding:12px 16px; }
 .desktop-menu-secondary-actions { padding-bottom:6px; }
 .desktop-menu-body { padding:18px 0; gap:22px; }
 .desktop-menu-column > h3 { min-height:40px; margin-bottom:8px; padding-bottom:8px; }
 .desktop-menu-body .desktop-page-menu-grid :is(a,button) { height:auto; padding:10px 8px; }
 .desktop-menu-body .desktop-page-menu-grid .desktop-menu-feature-link { text-decoration:none; }
 .desktop-menu-footer { padding-top:12px; }
 .desktop-menu-footer .desktop-menu-other-links a.careers-link { height:auto; }
 .desktop-page-nav-links .desktop-nav-group > a { height:auto; }
}
@media (min-width:768px) and (max-width:1399px) {
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group:not(.desktop-nav-group--all) { display:none !important; }
 .desktop-page-nav-links { justify-content:flex-end; }
}

@media (min-width:768px) {
 .desktop-page-nav-links .desktop-nav-group--all > .desktop-page-menu-trigger { border:1px solid #cbdccc; height:auto; }
 .desktop-page-menu-trigger[aria-expanded='true'] { border-color:#87a78e; background:#e5f1e8; }
 .desktop-menu-secondary-actions { justify-content:space-between; }
 .desktop-page-nav .desktop-nav-dropdown .mega-illness-filters button { min-height:44px; font-size:16px; }
 .desktop-page-nav .desktop-nav-dropdown .mega-illness-clear { min-height:44px; font-size:16px; }
 .desktop-page-nav .desktop-nav-dropdown .mega-illness-link small { font-size:14px; }
 .desktop-page-nav .desktop-nav-dropdown .mega-access-info p { font-size:16px; line-height:1.5; }
 .desktop-page-nav .desktop-nav-dropdown .mega-access-extras .mega-link { min-height:44px; }
}

/* Doctor hover entrance remains visible on PC even when other guides are condensed.
   The right-hand page menu disclosure and all mobile sheet rules remain unchanged. */
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group.desktop-nav-group--doctor,
 .desktop-page-nav.is-nav-condensed .desktop-page-nav-links > .desktop-nav-group.desktop-nav-group--doctor {
  display:flex !important; flex:0 0 auto !important; width:auto; min-width:96px;
 }
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group--doctor > a {
  display:flex; align-items:center; justify-content:center; white-space:nowrap;
  min-height:48px; padding:10px 12px; font-size:16px !important; line-height:1.5;
 }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-grid--doctors { padding:18px 18px 20px; }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-column { padding-inline:14px; }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-column h3 {
  min-height:36px; margin-bottom:6px; padding-bottom:10px; font-size:17px; line-height:1.5;
 }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-column .mega-link {
  min-height:76px; padding:10px 30px 10px 10px; font-size:16px !important; line-height:1.5;
 }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-column .mega-link small {
  margin-top:4px; font-size:14px; line-height:1.5;
 }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-column:nth-child(3) { padding-top:14px; }
 .desktop-page-nav .desktop-doctor-mega .mega-panel-actions { padding:12px 32px; }
 .desktop-page-nav .desktop-doctor-mega { scrollbar-gutter:auto; overflow-x:hidden; overflow-y:auto; }
}

/* Clean disease hover directory: aliases remain in the original search catalog,
   while PC list rows display the unchanged canonical names only. */
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group.desktop-nav-group--illness,
 .desktop-page-nav.is-nav-condensed .desktop-page-nav-links > .desktop-nav-group.desktop-nav-group--illness {
  display:flex !important; flex:0 0 auto !important; width:auto; min-width:120px;
 }
 .desktop-page-nav .desktop-page-nav-links > .desktop-nav-group--illness > a {
  display:flex; align-items:center; justify-content:center; white-space:nowrap;
  min-height:48px; padding:10px 12px; font-size:16px !important; line-height:1.5;
 }
 #desktop-illnesses-dropdown .mega-illness-controls label,
 #desktop-illnesses-dropdown .mega-illness-count { font-size:16px; line-height:1.5; }
 #desktop-illnesses-dropdown .mega-illness-filters { margin:14px 0 12px; gap:8px; }
 #desktop-illnesses-dropdown .mega-illness-results {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 14px;
  align-items:stretch; padding:0;
 }
 #desktop-illnesses-dropdown .mega-illness-group,
 #desktop-illnesses-dropdown .mega-illness-links { display:contents; }
 #desktop-illnesses-dropdown .mega-illness-group > h3 {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
 }
 #desktop-illnesses-dropdown .mega-illness-results .mega-illness-link {
  display:flex !important; flex-direction:row; flex-wrap:nowrap; align-items:center;
  justify-content:flex-start; min-height:56px; height:auto; padding:12px 24px 12px 10px;
  font:700 16px/1.5 var(--round); color:#283d35; text-align:left;
  white-space:normal; word-break:normal; overflow-wrap:anywhere;
  border-bottom:1px solid #dce6d8; border-radius:5px; gap:0;
 }
 #desktop-illnesses-dropdown .mega-illness-link small { display:none; }
 #desktop-illnesses-dropdown .mega-illness-link::after { right:5px; top:50%; transform:translateY(-50%); }
 #desktop-illnesses-dropdown .mega-illness-empty { grid-column:1/-1; font-size:16px; line-height:1.6; }
 #desktop-illnesses-dropdown .mega-illness-link:hover { background:#e9f3e8; color:#245c4b; }
}
@media (min-width:768px) and (max-width:1199px) and (hover:hover) and (pointer:fine) {
 #desktop-illnesses-dropdown .mega-illness-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Right-hand page menu only: expand the doctor directory across the body grid.
   Keep its original disclosure control and the ordinary four-category layout. */
@media (min-width:768px) {
 .desktop-menu-body > .desktop-menu-expanded-doctors {
  grid-column:1 / -1; min-width:0; padding:18px 16px 12px;
  border:1px solid #dce5d7; border-radius:10px; background:#f5f8f1;
 }
 .desktop-menu-body > .desktop-menu-expanded-doctors[hidden] { display:none !important; }
 .desktop-menu-expanded-doctors .desktop-menu-doctor-list {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch; column-gap:22px; row-gap:8px; padding:0;
 }
 .desktop-menu-expanded-doctors .desktop-menu-doctor-list h4 {
  grid-column:1 / -1; margin:10px 0 0; padding:0 8px 8px;
  border-bottom:1px solid #d4e0ce; color:#245c4b;
  font:700 16px/1.5 var(--round);
 }
 .desktop-menu-expanded-doctors .desktop-menu-doctor-list h4:first-child { margin-top:0; }
 .desktop-page-menu-panel .desktop-menu-body .desktop-menu-doctor-list a.menu-doctor-link {
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  min-width:0; min-height:76px; height:auto; padding:12px 10px; gap:4px;
  color:#283d35; background:#fffdf8; border-bottom:1px solid #dce5d7; border-radius:6px;
  font:700 16px/1.5 var(--round); white-space:normal; overflow-wrap:normal; word-break:normal;
 }
 .desktop-page-menu-panel .desktop-menu-body .desktop-menu-doctor-list a.menu-doctor-link > span {
  display:block; width:100%; min-width:0; font:700 16px/1.5 var(--round);
  white-space:nowrap; overflow:visible; text-overflow:clip;
 }
 .desktop-page-menu-panel .desktop-menu-body .desktop-menu-doctor-list a.menu-doctor-link > small {
  display:block; width:100%; margin:0; color:#52645a; font:500 14px/1.5 var(--round);
  white-space:normal; overflow-wrap:normal;
 }
 .desktop-page-menu-panel .desktop-menu-body .desktop-menu-doctor-list a.menu-doctor-link:hover {
  background:#e9f3e8; color:#245c4b;
 }
 .desktop-menu-disclosure--doctors[open] > summary { background:#e9f3e8; }
}
@media (min-width:768px) and (max-width:1199px) {
 .desktop-menu-expanded-doctors .desktop-menu-doctor-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }
}

/* PC right-hand page menu: wide find details, separate from unchanged hover/mobile. */
@media (min-width:768px) {
 .desktop-menu-body > .desktop-menu-expanded-find {
  grid-column:1/-1; min-width:0; padding:16px; border:1px solid #dce5d7;
  border-radius:10px; background:#f5f8f1;
 }
 .desktop-menu-body > .desktop-menu-expanded-find[hidden] { display:none !important; }
 .desktop-menu-detail-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
 .desktop-menu-detail-header h3 { margin:0; font:700 18px/1.5 var(--round); color:#245c4b; }
 .desktop-menu-detail-header button {
  display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px;
  border:1px solid #b9cbb6; border-radius:7px; background:#fffdf8; color:#245c4b; font:500 16px/1.5 var(--round);
 }
 .desktop-menu-detail-header button:hover { background:#e9f3e8; }
 .desktop-menu-expanded-find .desktop-menu-disclosure-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 16px; padding:0; }
 .desktop-page-menu-panel .desktop-menu-expanded-find .desktop-menu-disclosure-links a {
  display:flex; align-items:center; justify-content:flex-start; min-width:0; min-height:48px; padding:12px 10px;
  border-bottom:1px solid #dce5d7; border-radius:5px; background:#fffdf8; color:#283d35;
  font:500 16px/1.5 var(--round); text-align:left; white-space:normal; word-break:normal; overflow-wrap:anywhere;
 }
 .desktop-page-menu-panel .desktop-menu-expanded-find a:hover { background:#e9f3e8; color:#245c4b; }
 .desktop-menu-expanded-find .mega-illness-explorer { padding:0; }
 .desktop-menu-expanded-find .mega-illness-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:16px; padding:0; }
 .desktop-menu-expanded-find .mega-illness-controls label { font:700 16px/1.5 var(--round); color:#245c4b; }
 .desktop-menu-expanded-find .mega-illness-controls input { display:block; width:100%; min-width:0; min-height:48px; margin-top:6px; font:500 16px/1.5 var(--round); }
 .desktop-page-menu-panel .desktop-menu-expanded-find .mega-illness-clear {
  display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 14px;
  border:1px solid #b9cbb6; border-radius:7px; background:#fffdf8; color:#245c4b;
  font:500 16px/1.5 var(--round); white-space:nowrap;
 }
 .desktop-menu-expanded-find .mega-illness-filters { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 10px; padding:0; }
 .desktop-page-menu-panel .desktop-menu-expanded-find .mega-illness-filters button {
  display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px;
  border:1px solid #ccdcca; border-radius:7px; background:#fffdf8; color:#245c4b;
  font:500 16px/1.5 var(--round); white-space:nowrap;
 }
 .desktop-page-menu-panel .desktop-menu-expanded-find .mega-illness-filters button[aria-pressed='true'] { background:#245c4b; color:#fff; border-color:#245c4b; }
 .desktop-menu-expanded-find .mega-illness-count { padding:0; margin:0 0 12px; font:500 16px/1.5 var(--round); }
 .desktop-menu-expanded-find .mega-illness-results { display:block; padding:0; }
 .desktop-menu-expanded-find .mega-illness-group { margin:0 0 12px; padding:0; background:none; border:0; border-radius:0; }
 .desktop-menu-expanded-find .mega-illness-group:last-child { margin-bottom:0; }
 .desktop-menu-expanded-find .mega-illness-group h3 {
  display:flex; align-items:center; gap:8px; margin:0 0 6px; padding:0 0 6px;
  border-bottom:1px solid #d4e0ce; color:#245c4b; font:700 16px/1.5 var(--round);
 }
 .desktop-menu-expanded-find .mega-illness-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px 14px; }
 .desktop-page-menu-panel .desktop-menu-expanded-find .mega-illness-link {
  display:flex; flex-direction:row; align-items:center; justify-content:flex-start; min-width:0; min-height:48px;
  height:auto; padding:10px 24px 10px 10px; border-bottom:1px solid #dce5d7; border-radius:5px; background:#fffdf8;
  color:#283d35; font:700 16px/1.5 var(--round); text-align:left; white-space:normal; word-break:normal; overflow-wrap:anywhere;
 }
 .desktop-menu-expanded-find .mega-illness-link small { display:none; }
 .desktop-menu-expanded-find .mega-illness-link::after { right:6px; top:50%; transform:translateY(-50%); }
 .desktop-menu-expanded-find .mega-illness-empty { margin:0; padding:18px; font:500 16px/1.5 var(--round); }
 .desktop-menu-disclosure--illness[open] > summary,
 .desktop-menu-disclosure--symptoms[open] > summary,
 .desktop-menu-disclosure--attendance[open] > summary { background:#e9f3e8; font-weight:700; }
 .desktop-menu-disclosure--compact .desktop-menu-disclosure-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; padding:4px 0 0; }
 .desktop-menu-disclosure--compact .desktop-menu-disclosure-links a { font:500 16px/1.5 var(--round); min-height:44px; height:auto; padding:10px 8px; word-break:normal; overflow-wrap:anywhere; }
 .desktop-menu-disclosure--compact[open] > summary { background:#e9f3e8; }
}
@media (min-width:768px) and (max-width:1199px) {
 .desktop-menu-expanded-find .mega-illness-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .desktop-menu-expanded-find .desktop-menu-disclosure-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:768px) {
 .desktop-menu-expanded-find .mega-illness-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 18px; align-items:start; }
 .desktop-menu-expanded-find .mega-illness-group { margin:0; }
 .desktop-menu-expanded-find .mega-illness-group:is([data-category='infection'],[data-category='respiratory'],[data-category='allergy']) { grid-column:1/-1 !important; }
 .desktop-menu-expanded-find .mega-illness-group:is([data-category='stomach'],[data-category='urinary'],[data-category='neurology']) .mega-illness-links { grid-template-columns:1fr; }
 .desktop-menu-expanded-find .mega-illness-empty { grid-column:1/-1; }
}

/* General pediatrics overview: scoped to this existing page only. */
.general-pediatrics-hub .page-layout .article { max-width: 1060px; width: 100%; margin-inline: auto; }
.general-pediatrics-hub .page-hero > p { max-width: 850px; margin-inline: auto; font-size: 16px; line-height: 1.85; }
.general-pediatrics-hub .general-hub-toc { margin: 0 0 26px; padding: 18px 20px; border: 1px solid #dce4d1; border-radius: 16px; background: #f6f8f0; }
.general-hub-toc > span { display: block; margin-bottom: 10px; color: #52645a; font-size: 14px; }
.general-hub-toc > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.general-hub-toc a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; padding: 10px 14px; border: 1px solid #dce4d1; border-radius: 9px; background: #fffdf8; color: #245c4b; font-size: 16px; font-weight: 700; line-height: 1.5; text-decoration: none; }
.general-pediatrics-hub .topic-intro { font-size: 16px; line-height: 1.8; }
.general-pediatrics-hub .topic-intro .note { font-size: 16px; }
.general-pediatrics-hub .general-hub-section { margin: 42px 0; padding-top: 8px; scroll-margin-top: 88px; }
.general-pediatrics-hub .general-hub-section > h2 { margin: 6px 0 10px; padding-bottom: 12px; border-bottom: 1px solid #dce4d1; color: #245c4b; font-size: clamp(23px,2.2vw,28px); line-height: 1.45; }
.general-pediatrics-hub .general-hub-section > p { margin: 0 0 20px; font-size: 16px; line-height: 1.8; }
.general-hub-kicker { color: #7b6244; font-size: 12px; letter-spacing: .12em; font-weight: 700; }
.general-hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.general-hub-grid--consults { grid-template-columns: repeat(2,minmax(0,1fr)); }
.general-pediatrics-hub .general-hub-card { display: flex; flex-direction: column; align-items: stretch; gap: 9px; min-width: 0; padding: 20px; border: 1px solid #dce4d1; border-radius: 13px; background: #fffdf8; color: #283d35; text-decoration: none; box-shadow: 0 2px 8px #283d3505; }
.general-pediatrics-hub .general-hub-card h3 { margin: 0; padding: 0; color: #245c4b; font-size: 18px; font-weight: 700; line-height: 1.5; border: 0; }
.general-pediatrics-hub .general-hub-card p { margin: 0; font-size: 16px; line-height: 1.75; color: #52645a; }
.general-hub-card-action { margin-top: auto; padding-top: 5px; font-size: 16px; font-weight: 700; line-height: 1.5; color: #245c4b; }
.general-hub-card-action > span { margin-left: 6px; }
.general-pediatrics-hub .general-hub-group-title { margin: 28px 0 15px; color: #245c4b; font-size: 20px; line-height: 1.5; }
.general-pediatrics-hub .general-hub-disease-door { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 25px; border: 1px solid #b9cdbb; border-radius: 16px; background: #edf4e8; }
.general-hub-disease-door strong { color: #245c4b; font-size: 21px; line-height: 1.5; }
.general-pediatrics-hub .general-hub-disease-door p { margin: 9px 0 0; font-size: 16px; line-height: 1.8; }
.general-hub-disease-door .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; font-size: 16px; line-height: 1.5; white-space: normal; }
.general-hub-categories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.general-hub-categories a { display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 5px 8px; padding: 16px; min-width: 0; border: 1px solid #dce4d1; border-radius: 10px; text-decoration: none; background: #f7f9f3; color: #245c4b; }
.general-hub-categories strong { font-size: 16px; line-height: 1.5; }
.general-hub-categories a > span:not(.general-hub-category-arrow) { grid-column: 1; font-size: 16px; line-height: 1.5; color: #52645a; }
.general-hub-category-arrow { grid-column: 2; grid-row: 1/3; align-self: center; }
.general-pediatrics-hub .general-hub-section .general-hub-small-note { margin-top: 10px; font-size: 14px; color: #52645a; }
.general-pediatrics-hub .general-hub-inline-link { margin-top: 16px; }
.general-hub-inline-link a { display: inline-flex; align-items: center; min-height: 44px; color: #245c4b; font-weight: 700; }
.general-pediatrics-hub #visit-guide .book { margin: 18px 0 20px; }
.general-pediatrics-hub #visit-guide .book p { font-size: 16px; }
.general-pediatrics-hub :is(.general-hub-card,.general-hub-toc a,.general-hub-categories a):focus-visible { outline: 3px solid #af5d43; outline-offset: 3px; }
@media (hover:hover) and (pointer:fine) {
 .general-pediatrics-hub :is(.general-hub-card,.general-hub-toc a,.general-hub-categories a):hover { background: #f1f6eb; border-color: #a9bfaa; }
}
@media (min-width:768px) and (max-width:1100px) {
 .general-hub-grid,.general-hub-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .general-hub-toc > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .general-pediatrics-hub .page-hero > p { text-align: left; }
 .general-pediatrics-hub .general-hub-toc { padding: 15px; }
 .general-hub-toc > div { grid-template-columns: 1fr; gap: 8px; }
 .general-hub-grid,.general-hub-grid--consults,.general-hub-categories { grid-template-columns: 1fr; }
 .general-pediatrics-hub .general-hub-card { padding: 18px; }
 .general-pediatrics-hub .general-hub-disease-door { grid-template-columns: 1fr; padding: 20px; gap: 18px; }
 .general-hub-disease-door .btn { width: 100%; }
 .general-pediatrics-hub .general-hub-section { margin: 32px 0; scroll-margin-top: 78px; }
 .general-pediatrics-hub :is(#symptom-list,#contents) { scroll-margin-top: 78px; }
}

.general-pediatrics-hub .page-hero > p { margin-inline: 0; }
.general-pediatrics-hub .article :is(a.general-hub-card,.general-hub-toc a,.general-hub-categories a) { text-decoration: none !important; }
.general-hub-card-action { text-decoration: underline; text-underline-offset: 4px; }

/* Semantic heading repair, appearance-only classes on changed headings. */
.seo-visual-h3.seo-visual-h3,.seo-visual-h4.seo-visual-h4,.seo-visual-h5.seo-visual-h5{font-weight:700;letter-spacing:inherit}
.seo-visual-h3.seo-visual-h3{font-size:1.3rem}
.seo-visual-h4.seo-visual-h4,.seo-visual-h5.seo-visual-h5{color:inherit}
.seo-visual-h5.seo-visual-h5{padding-left:0;border-left:0}
.seo-visual-h3.seo-visual-h3,.seo-visual-h4.seo-visual-h4,.seo-visual-h5.seo-visual-h5{margin-top:0}
.seo-visual-h3.seo-visual-h3,.seo-visual-h4.seo-visual-h4,.seo-visual-h5.seo-visual-h5{line-height:1.5}
.seo-visual-h3.seo-visual-h3{font-size:1.3rem}
.schedule-card .seo-visual-h3.seo-visual-h3{font-size:19px;margin-bottom:20px}
.weekly .seo-visual-h3.seo-visual-h3{margin:0 0 13px;font-size:18px}
.medical-card .seo-visual-h3.seo-visual-h3{font-size:20px}
.step .seo-visual-h3.seo-visual-h3{font-size:20px}
.article .seo-visual-h3.seo-visual-h3{margin:38px 0 20px;color:var(--green)}
.article .seo-visual-h4.seo-visual-h4{margin:32px 0 14px;font-size:21px;padding-left:16px;border-left:4px solid var(--coral)}
.article .seo-visual-h5.seo-visual-h5{font-size:19px;margin:28px 0 14px}
.article .seo-visual-h3.seo-visual-h3 span{display:block;font:11px sans-serif;letter-spacing:.12em;margin-top:8px;color:var(--muted)}
.article .step .seo-visual-h3.seo-visual-h3{margin-top:0}
.article .book .seo-visual-h3.seo-visual-h3{margin:0 0 10px}
@media (max-width:640px){.schedule-card .seo-visual-h3.seo-visual-h3{font-size:17px}
.weekly .seo-visual-h3.seo-visual-h3{font-size:16px}
.medical-card .seo-visual-h3.seo-visual-h3{font-size:18px}
.step .seo-visual-h3.seo-visual-h3{font-size:19px;margin-bottom:8px}
.article .seo-visual-h3.seo-visual-h3{font-size:22px}
.article .seo-visual-h4.seo-visual-h4{font-size:19px}
.article .seo-visual-h5.seo-visual-h5{font-size:17px}
.article .book .seo-visual-h3.seo-visual-h3{font-size:20px}}
.medical-card .seo-visual-h3.seo-visual-h3{font-size:19px}
.home-duty .seo-visual-h3.seo-visual-h3{margin:0}
@media (max-width:640px){.medical-card .seo-visual-h3.seo-visual-h3{font-size:17px}}
@media (max-width:640px){.medical-card .seo-visual-h3.seo-visual-h3{font-size:17px}}
.medical-card .seo-visual-h3.seo-visual-h3{margin-bottom:12px}
.article .seo-visual-h3.seo-visual-h3{scroll-margin-top:180px}
@media (max-width:640px){.medical-card .seo-visual-h3.seo-visual-h3{font-size:16px}
.article .seo-visual-h3.seo-visual-h3{scroll-margin-top:195px}}
.news-board .seo-visual-h3.seo-visual-h3{font-size:17px;margin:0 0 15px}
.news-archive-heading .seo-visual-h3.seo-visual-h3{margin:0}
@media (max-width:640px){.article .news-board .seo-visual-h3.seo-visual-h3{font-size:17px;margin-top:0}
.article .seo-visual-h3.seo-visual-h3{scroll-margin-top:168px}}
@media (max-width:374px){.medical-card .seo-visual-h3.seo-visual-h3{font-size:19px}}
@media (min-width:768px){.article .seo-visual-h3.seo-visual-h3{scroll-margin-top:80px}}
@media (max-width:767px){.article .seo-visual-h3.seo-visual-h3{scroll-margin-top:20px}}
@media  (max-width: 767px), (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {.article .seo-visual-h3.seo-visual-h3{ scroll-margin-top: 20px; }}
.article > h2 + .inspection-item > .seo-visual-h3.seo-visual-h3:first-child{ margin-top: 0; }
@media  (min-width: 768px) {.article .seo-visual-h3.seo-visual-h3{ scroll-margin-top: 12px; }
.desktop-page-menu-section .seo-visual-h3.seo-visual-h3{ margin: 0 0 7px; color: #52645a; font-size: 13px; font-weight: 700; }}
@media  (max-width: 767px), (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse) {.article .seo-visual-h3.seo-visual-h3{ scroll-margin-top: 8px; }}
.parking-card .seo-visual-h4.seo-visual-h4{ margin: 0; color: #245c4b; font-size: 18px; line-height: 1.4; }
@media  (max-width: 767px) {.parking-card .seo-visual-h4.seo-visual-h4{ font-size: 17px; }}
.home-duty-brief .seo-visual-h3.seo-visual-h3{ margin: 0 0 4px; font-size: 17px; }
.article .topic-directory-group .seo-visual-h3.seo-visual-h3{ margin: 0 0 12px; font-size: 17px; }
.article .topic-guidance .seo-visual-h5.seo-visual-h5,.article .topic-support .seo-visual-h5.seo-visual-h5{ margin: 0 0 8px; font-size: 16px; color: #245c4b; }
.article .topic-support > .seo-visual-h5.seo-visual-h5:not(:first-child){ margin-top: 20px; }
.article .illness-detail .seo-visual-h3.seo-visual-h3{ margin: 19px 0 7px; color: #245c4b; font-size: 16px; }
@media  (max-width: 767px) {.article .draft-tokoen-card .seo-visual-h3.seo-visual-h3{ margin: 0 0 12px; color: #294c42; font-size: 17px; }}
@media  (max-width: 767px) {.mobile-sheet-menu-section .seo-visual-h3.seo-visual-h3{ margin: 0 0 7px; color: #245c4b; font-size: 14px; font-weight: 700; }}
.symptom-expanded-legacy .text > .seo-visual-h4.seo-visual-h4{ margin: 0 0 12px; font-size: 20px; scroll-margin-top: 130px; }
.medical-symptom-entries > .seo-visual-h3.seo-visual-h3,.medical-hub-door > .seo-visual-h3.seo-visual-h3{ margin: 0 0 13px; color: #245c4b; }
@media  (max-width: 767px) {.symptom-expanded-legacy .text > .seo-visual-h4.seo-visual-h4{ scroll-margin-top: 102px; }}
@media  (min-width: 768px) {.desktop-page-menu-section .seo-visual-h3.seo-visual-h3{ font-size: 14px; margin-bottom: 9px; }}
.article .allergy-care-block > .seo-visual-h3.seo-visual-h3{ margin:18px 0 12px; color:#245c4b; }
@media  (min-width:768px) {.desktop-menu-column > .seo-visual-h3.seo-visual-h3{ margin:0 0 5px; font-size:14px; color:#31594c; }
.desktop-menu-other .seo-visual-h3.seo-visual-h3{ margin:0 0 5px; color:#52645a; font-size:12px; }}
@media  (max-width:767px) {.mobile-sheet-menu-section .seo-visual-h3.seo-visual-h3{ margin:0 0 10px; border-left:3px solid #8daf8d; padding-left:9px; color:#245c4b; font-size:15px; font-weight:800; line-height:1.45; }}
@media  (min-width:768px) {.desktop-menu-column > .seo-visual-h3.seo-visual-h3,.desktop-menu-other .seo-visual-h3.seo-visual-h3,.desktop-menu-social .seo-visual-h3.seo-visual-h3{ margin:0 0 10px; border-left:3px solid #8daf8d; padding-left:9px; color:#245c4b; font-size:14px; font-weight:800; line-height:1.4; }}
#doctor-roster .regular-doctor-card .seo-visual-h4.seo-visual-h4{ margin:0 0 11px; color:#245c4b; font-size:19px; line-height:1.45; overflow-wrap:anywhere; }
@media  (max-width:767px) {#doctor-roster .doctor-roster-day .seo-visual-h4.seo-visual-h4{ margin:0 0 7px; font-size:15px; color:#245c4b; }
#doctor-roster .regular-doctor-card .seo-visual-h4.seo-visual-h4{ font-size:17px; }}
.mega-panel-column .seo-visual-h3.seo-visual-h3{ margin:0 0 8px; padding:0 0 9px; border-bottom:1px solid #dce6d8; color:#245c4b; font-size:14px; line-height:1.45; font-weight:800; }
@media  (min-width:768px) {.mega-panel-grid--doctors .mega-panel-column:nth-child(3) .seo-visual-h3.seo-visual-h3{ margin-top:0; }}
@media  (max-width:767px), (orientation:landscape) and (max-height:500px) and (hover:none) and (pointer:coarse) {.mobile-mega-content .mega-panel-column .seo-visual-h3.seo-visual-h3{ margin:0 0 3px; padding:6px 0; font-size:14px; }}
.mega-access-info .seo-visual-h3.seo-visual-h3{ margin:0 0 10px; color:#245c4b; font-size:18px; line-height:1.45; }
@media  (min-width:768px) and (max-width:1023px) {.mega-access-info .seo-visual-h3.seo-visual-h3{ font-size:16px; }}
@media  (max-width:767px) {.mobile-mega-content .mega-access-info .seo-visual-h3.seo-visual-h3{ font-size:16px; }}
.illness-card .seo-visual-h3.seo-visual-h3{ margin:12px 0 2px; color:#244d3c; font-size:19px; line-height:1.45; }
.mega-panel-grid--illness .mega-panel-column .seo-visual-h3.seo-visual-h3{ display:flex; align-items:center; gap:7px; }
.mega-panel-grid--illness .mega-panel-column .seo-visual-h3.seo-visual-h3 .illness-category-icon{ width:18px; height:18px; }
.article .illness-expander .illness-detail > .seo-visual-h3.seo-visual-h3{ max-width:70ch; margin:27px 0 9px; font-size:18px; line-height:1.55; }
.article .illness-expander .illness-attendance .seo-visual-h3.seo-visual-h3{ margin:0 0 12px; color:#245c4b; font-size:18px; }
.article .illness-expander .illness-attendance .seo-visual-h4.seo-visual-h4{ margin:0 0 8px; padding:0; border:0; color:#3a614d; font-size:16px; }
.illness-related-links .seo-visual-h3.seo-visual-h3{ margin:0 0 9px; color:#245c4b; font-size:16px; }
.illness-sources .seo-visual-h3.seo-visual-h3{ margin:0 0 7px; color:#245c4b; font-size:16px; }
.mega-illness-group .seo-visual-h3.seo-visual-h3{ display:flex; align-items:center; gap:7px; margin:0 0 5px; padding:0 0 8px; border-bottom:1px solid #dce8d8; color:#245c4b; font-size:15px; line-height:1.4; }
.tokoen-other-group .seo-visual-h3.seo-visual-h3{ margin:0 0 10px; color:#245c4b; font-size:18px; }
.mega-journey > section > .seo-visual-h3.seo-visual-h3{ margin:0 0 3px; color:#245c4b; font-size:17px; line-height:1.4; }
@media  (min-width:768px) {.desktop-menu-column > .seo-visual-h3.seo-visual-h3{ min-height:48px; margin:0 0 10px; border:0; border-bottom:2px solid #a2baa0; padding:0 0 10px; color:#245c4b; font-size:17px; line-height:1.5; letter-spacing:0; font-weight:700; display:flex; align-items:flex-start; }
.desktop-menu-doctor-list .seo-visual-h4.seo-visual-h4{ margin:14px 8px 4px; color:#52645a; font-size:14px; line-height:1.5; font-weight:700; }
.desktop-menu-illness-search .mega-illness-group .seo-visual-h3.seo-visual-h3{ font-size:16px; padding:8px; }
.desktop-menu-footer .seo-visual-h3.seo-visual-h3{ border:0; margin:0 0 6px; padding:0; font-size:14px; color:#52645a; font-weight:700; }
.desktop-page-nav .desktop-nav-dropdown .mega-panel-column .seo-visual-h3.seo-visual-h3{ font-size:17px; line-height:1.5; }}
@media  (min-width:768px) {.desktop-menu-column > .seo-visual-h3.seo-visual-h3{ min-height:40px; margin-bottom:8px; padding-bottom:8px; }}
@media  (min-width:768px) and (hover:hover) and (pointer:fine) {.desktop-page-nav .desktop-doctor-mega .mega-panel-column .seo-visual-h3.seo-visual-h3{
  min-height:36px; margin-bottom:6px; padding-bottom:10px; font-size:17px; line-height:1.5;
 }}
@media  (min-width:768px) and (hover:hover) and (pointer:fine) {#desktop-illnesses-dropdown .mega-illness-group > .seo-visual-h3.seo-visual-h3{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
 }}
@media  (min-width:768px) {.desktop-menu-expanded-doctors .desktop-menu-doctor-list .seo-visual-h4.seo-visual-h4{
  grid-column:1 / -1; margin:10px 0 0; padding:0 8px 8px;
  border-bottom:1px solid #d4e0ce; color:#245c4b;
  font:700 16px/1.5 var(--round);
 }
.desktop-menu-expanded-doctors .desktop-menu-doctor-list .seo-visual-h4.seo-visual-h4:first-child{ margin-top:0; }}
@media  (min-width:768px) {.desktop-menu-detail-header .seo-visual-h3.seo-visual-h3{ margin:0; font:700 18px/1.5 var(--round); color:#245c4b; }
.desktop-menu-expanded-find .mega-illness-group .seo-visual-h3.seo-visual-h3{
  display:flex; align-items:center; gap:8px; margin:0 0 6px; padding:0 0 6px;
  border-bottom:1px solid #d4e0ce; color:#245c4b; font:700 16px/1.5 var(--round);
 }}
.general-pediatrics-hub .general-hub-card .seo-visual-h3.seo-visual-h3{ margin: 0; padding: 0; color: #245c4b; font-size: 18px; font-weight: 700; line-height: 1.5; border: 0; }
.donguri-seo-toc{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.donguri-seo-toc a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #d8e0cc;border-radius:10px;background:#f2f6e8;font-size:16px;line-height:1.5;text-decoration:none}
.donguri-seo-addition a:focus-visible{outline:3px solid #ad7949;outline-offset:3px}
.article p.donguri-seo-addition{font-size:16px}

/* Preserve existing small profile/topic labels against visual-level defaults. */
.article .topic-detail-label.seo-visual-h5{margin:17px 0 8px;font-size:16px;color:#315747}
.roster-profile-expanded .seo-visual-h5.seo-visual-h5{margin:10px 0 5px;font-size:15px;color:#245c4b}
