/* The treatments page keeps the clinic's teal, cream and gold palette. */
.menu-shell{background:#f6f7f2}
.menu-shell main{overflow:clip}
.menu-shell .header{background:linear-gradient(115deg,#074f62,#0b7786 66%,#07596c)}
.menu-breadcrumb{display:flex;align-items:center;gap:9px;padding:12px 22px;font-size:12px;line-height:1.5;color:#42606a;background:white}
.menu-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.menu-intro{position:relative;background:#f0f7f5;padding:22px 24px 0;isolation:isolate}
.menu-intro:before{content:"";position:absolute;z-index:-1;width:220px;height:220px;border:1px solid #c9b27e;border-radius:50%;right:-130px;top:58px;box-shadow:0 0 0 25px #decfa42b,0 0 0 51px #decfa41a;pointer-events:none}
.menu-logo{position:absolute;right:17px;top:17px;width:94px;border-radius:8px;overflow:hidden;background:white}
.menu-logo img{width:100%;height:auto}
.menu-kicker{font:600 11px/1.5 var(--sans);letter-spacing:.16em;color:#007082}
.menu-intro>.menu-kicker{padding-right:100px;min-height:32px;padding-top:5px}
.menu-intro h1{font:600 clamp(29px,7.7vw,39px)/1.5 var(--serif);letter-spacing:.035em;margin:12px 0 12px;white-space:pre-line}
.menu-lead{font-size:16px;line-height:1.9;margin-bottom:20px;white-space:pre-line}
.menu-hero-photo{position:relative;height:176px;overflow:hidden;border-radius:50% 50% 0 0 / 20% 20% 0 0;background:#dde9e5}
.menu-hero-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 0}
.menu-hero-photo>span{position:absolute;bottom:0;left:0;padding:6px 12px;font-size:10px;letter-spacing:.14em;background:#064a55ed;color:white}
.menu-categories{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 20px 22px;background:white;border-bottom:1px solid #e2e9e6}
.menu-categories a{display:flex;align-items:center;gap:8px;min-width:0;min-height:51px;padding:9px 12px;background:linear-gradient(#fff,#edf6f4);border:1px solid #b9d2cf;border-radius:8px;box-shadow:0 3px 0 #cbdedb,0 5px 10px #114b5910;color:#075665;font-size:16px;font-weight:600;line-height:1.4}
.menu-categories small{color:#8a672b;font-size:11px}
.menu-categories .icon{margin-left:auto;width:15px;height:15px;transform:rotate(90deg)}
.menu-list{display:grid;gap:20px;padding:24px 16px 0}
.treatment-card{--accent:#07677a;--tint:#edf6f4;border:1px solid #cfdfdc;border-radius:16px;background:white;box-shadow:0 5px 18px #154b5010;scroll-margin-top:75px;overflow:hidden}
.theme-needle{--accent:#795d31;--tint:#f8f3e8}
.theme-beauty{--accent:#9b4c64;--tint:#fcf1f2}
.theme-insurance{--accent:#3c6580;--tint:#edf4f8}
.treatment-heading{display:grid;grid-template-columns:103px minmax(0,1fr);background:var(--tint);border-bottom:1px solid #dce5df;min-height:134px}
.treatment-photo{position:relative;overflow:hidden;background:var(--tint);min-height:134px}
.treatment-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:51% center}
.menu-beauty-photo>img{width:441.38%;max-width:none;height:auto;left:-237.93%;top:-40.28%;object-fit:initial;position:absolute}
.treatment-heading-copy{padding:17px 14px 16px;align-self:center;min-width:0}
.treatment-number{font-size:16px;line-height:1.4;color:var(--accent);font-weight:600;margin-bottom:7px;display:flex;align-items:center;gap:8px}
.treatment-number span{font-size:9px;letter-spacing:.06em}
.menu-shell .treatment-heading h2{font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:.015em;color:var(--accent);margin:0 0 6px;overflow-wrap:anywhere}
.treatment-heading-copy>p:last-child{font-size:13px;line-height:1.7;color:#3d5962}
.treatment-copy{padding:17px 18px 21px}
.treatment-description{font-size:16px;line-height:1.85;margin-bottom:15px;overflow-wrap:anywhere}
.menu-price{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0 11px;border-top:1px solid #dce6e2;min-width:0}
.menu-price>div{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.price-condition{font-size:12px;line-height:1.6;color:var(--accent);background:var(--tint);border:1px solid #d8e2dd;padding:2px 7px;border-radius:4px;font-weight:600}
.menu-time{font-size:12px;line-height:1.6;color:#405c65}
.menu-price>p{white-space:nowrap;line-height:1.2;font-size:14px;color:var(--accent);text-align:right}
.menu-price strong{font-family:var(--sans);font-size:34px;letter-spacing:-.025em;font-weight:600;margin-right:3px}
.menu-price>p>small{display:block;font-size:10px;color:#46616a;line-height:1.5}
.menu-alternative{border-top:1px dashed #ccdcd8;padding:10px 0 14px;font-size:15px;line-height:1.7}
.menu-alternative>span{font-weight:600}.menu-alternative>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.menu-alternative>div>span{font-size:12px;color:#4b636b}
.menu-alternative strong{font-size:21px;white-space:nowrap;color:var(--accent)}.menu-alternative strong small{font-size:12px;margin-left:4px}
.menu-button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:53px;padding:12px 15px;line-height:1.5;border:1px solid #ffffff90;border-radius:8px;color:white;font-size:16px;font-weight:600;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent),#000 17%));box-shadow:inset 0 1px #ffffff70,0 3px 0 color-mix(in srgb,var(--accent),#000 35%),0 6px 12px #123b5520;transition:transform .15s}
.menu-button .icon{width:18px;height:18px}
.menu-button:active,.menu-categories a:active{transform:translateY(2px)}
.menu-conditions{font-size:12px;line-height:1.8;color:#405a63;margin-bottom:13px}
.insurance-price{padding:12px;background:var(--tint);border-radius:7px;margin-bottom:12px;line-height:1.7}
.insurance-price>span{display:block;font-size:12px;color:var(--accent);margin-bottom:3px}
.insurance-price strong{font-size:16px;font-weight:600;display:block}
.menu-price-note{padding:17px 24px 24px;font-size:12px;line-height:1.9;color:#4b6169}
.menu-special{background:#eaf3f2;padding:24px 20px 28px;border-block:1px solid #d6e5df}
.menu-shell .menu-special h2{font-size:24px;line-height:1.6;margin:8px 0 18px}
.menu-special-link{display:flex;align-items:center;gap:11px;padding:16px 13px;background:white;border:1px solid #c8dcd9;border-radius:10px;box-shadow:0 3px 0 #c7dad7;margin-top:12px;min-width:0}
.menu-special-link>span:nth-child(2){flex:1;min-width:0}
.menu-special-link strong{display:block;font-size:16px;line-height:1.6}
.menu-special-link small{display:block;font-size:12px;line-height:1.7;margin-top:4px}
.special-icon{display:flex;align-items:center;justify-content:center;border-radius:50%;width:36px;height:36px;background:#edf5f3;color:#087283;flex-shrink:0}
.special-icon .icon{width:21px;height:21px}
.menu-special-link>.icon{width:16px;height:16px}
.menu-consult{padding:30px 24px;background:linear-gradient(145deg,#075465,#0b3748);color:white;text-align:center;--accent:#087b3f}
.menu-consult .menu-kicker{color:#e3cf9d;font-size:10px}
.menu-shell .menu-consult h2{font-family:var(--serif);font-size:30px;line-height:1.5;margin:12px 0;white-space:pre-line}
.menu-consult>p:not(.menu-kicker){font-size:15px;line-height:1.9;white-space:pre-line}
.menu-consult .menu-button{margin-top:20px}
.menu-back{display:block;font-size:14px;margin-top:23px;text-decoration:underline;text-underline-offset:4px}
.menu-shell footer{padding-top:20px;padding-bottom:calc(108px + env(safe-area-inset-bottom))}
.menu-shell footer p{margin-top:4px}
html[lang=en] .treatment-heading h2,html[lang=ko] .treatment-heading h2{font-family:var(--sans);font-size:21px}
html[lang=en] .menu-categories a{font-size:13px}
html[lang=en] .menu-price{flex-wrap:wrap}html[lang=en] .menu-price>p{margin-left:auto}
@media(min-width:440px){.menu-intro{padding-inline:30px}.menu-hero-photo{height:203px}.menu-list{padding-inline:23px}.treatment-heading{grid-template-columns:126px minmax(0,1fr)}.treatment-heading-copy{padding:20px 18px}.menu-shell .treatment-heading h2{font-size:27px}.treatment-copy{padding-inline:22px}.menu-categories a{font-size:18px}.treatment-description{font-size:17px}}
@media(max-width:359px){.menu-intro{padding-inline:20px}.menu-logo{width:79px}.menu-intro h1{font-size:28px}.menu-lead{font-size:14px}.menu-list{padding-inline:12px}.treatment-heading{grid-template-columns:84px minmax(0,1fr)}.treatment-heading-copy{padding:14px 11px}.menu-shell .treatment-heading h2{font-size:21px}.treatment-number span{font-size:8px}.menu-categories{padding-inline:16px;gap:8px}.menu-categories a{padding:8px;font-size:15px}.treatment-copy{padding-inline:15px}.menu-price strong{font-size:30px}.menu-button{font-size:15px}.treatment-description{font-size:15px}}
@media(prefers-reduced-motion:reduce){.menu-button{transition:none}}

/* Keep long headings and translated labels inside the mobile viewport. */
.menu-shell{width:100%;min-width:0}.menu-shell #menu-main{display:block;width:100%;min-width:0}.menu-shell .treatment-card{scroll-margin-top:18px}.menu-shell .menu-categories a>span{min-width:0;overflow-wrap:anywhere}

/* Visible explanations: treatment methods and suitable concerns. */
.treatment-explained{margin:0 0 15px;padding:14px;background:var(--tint);border-radius:8px;border-left:3px solid var(--accent)}
.menu-shell .treatment-explained h3{font:600 15px/1.6 var(--sans);color:var(--accent);margin:0 0 8px}
.treatment-explained ol{counter-reset:care-step;list-style:none;padding:0;margin:0;display:grid;gap:8px}
.treatment-explained li{position:relative;padding-left:27px;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.treatment-explained li:before{counter-increment:care-step;content:counter(care-step);position:absolute;left:0;top:4px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:white;font:600 11px/1 var(--sans)}
.treatment-for{padding-top:11px;margin-top:12px;border-top:1px solid #b7ccc5;font-size:14px;line-height:1.85}
.treatment-for>strong{display:block;color:var(--accent);font-size:13px;margin-bottom:3px}
.neck-explanation{font-size:14px;line-height:1.85;margin:6px 0 10px;color:#385560}
.menu-first-visit{padding:0 24px 25px}
.menu-shell .menu-first-visit h2{font:600 18px/1.7 var(--sans);color:#075a6a;margin-bottom:8px}
.menu-first-visit p{font-size:15px;line-height:1.9}

/* Symptom chooser with a focused reading panel. */
.menu-shell #insurance{border-color:#b7cfc9;background:#fcfcf7}
.menu-shell #insurance>.treatment-heading{background:linear-gradient(130deg,#074b5a,#08727c);border-bottom:2px solid #c6a35e}
.menu-shell #insurance>.treatment-heading .treatment-number,.menu-shell #insurance>.treatment-heading h2,.menu-shell #insurance>.treatment-heading-copy{color:#fff}
.menu-shell #insurance .treatment-heading h2{color:#fff;font-size:24px}
.menu-shell #insurance .treatment-heading-copy>p:last-child{color:#f0fbfb;font-size:14px}
.menu-shell #insurance .treatment-number{color:#f1d9a1;font-size:14px}.menu-shell #insurance .treatment-number span{font-size:9px}
.menu-shell #insurance>.treatment-copy{padding:22px 14px 24px}
.symptom-guide{margin-bottom:20px}
.symptom-selector-heading{position:relative;padding:0 6px 18px;text-align:center}
.selector-label{display:block;font-size:10px;letter-spacing:.18em;font-weight:600;color:#806022;margin-bottom:9px}
.menu-shell .symptom-selector-heading h3{margin:0;font:600 27px/1.55 var(--serif);letter-spacing:.035em;color:#164c58;white-space:pre-line;overflow-wrap:anywhere}
.symptom-selector-heading>p{font-size:14px;line-height:1.85;margin:12px 0 0;color:#365661}

.tone-teal{--sym-color:#006674;--sym-light:#e8f6f3;--sym-shadow:#a3c9c5;--sym-edge:#97c3be}
.tone-rose{--sym-color:#96425d;--sym-light:#fcedef;--sym-shadow:#d6afb9;--sym-edge:#d4a7b5}
.tone-gold{--sym-color:#805a15;--sym-light:#faf2df;--sym-shadow:#d4c092;--sym-edge:#d2bd8a}
.symptom-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 19px;scroll-margin-top:18px}
.symptom-index .symptom-choice{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) 12px;align-items:center;gap:5px;min-height:56px;min-width:0;padding:8px;border:1px solid var(--sym-edge);border-radius:8px;background:linear-gradient(135deg,#fff,var(--sym-light));color:var(--sym-color);box-shadow:inset 0 1px white,0 2px 0 var(--sym-shadow),0 4px 7px #173f4a0c;transition:transform .15s,box-shadow .15s;line-height:1.5}
.choice-illustration{display:grid;place-items:center;width:26px;height:30px;color:var(--sym-color)}
.choice-illustration .symptom-drawing{display:block;width:26px;height:28px;overflow:visible}
.symptom-drawing{display:block;width:32px;height:32px;overflow:visible}.symptom-drawing .body-spot{stroke:#b18332;stroke-width:2.8}
.choice-title{display:block;min-width:0;font:600 15.5px/1.5 var(--sans);color:var(--sym-color);letter-spacing:-.025em;overflow-wrap:anywhere}
.choice-arrow{display:block;width:12px;height:16px;flex-shrink:0}
.symptom-index .symptom-choice:last-child{grid-column:1/-1;min-height:50px;grid-template-columns:26px minmax(0,1fr) 12px}
.symptom-index .symptom-choice.is-selected{border-color:var(--sym-color);box-shadow:inset 3px 0 var(--sym-color),inset 0 1px white,0 2px 0 var(--sym-shadow),0 4px 8px #173f4a16;background:var(--sym-light)}
.symptom-index .symptom-choice:active{transform:translateY(2px);box-shadow:inset 0 1px white,0 0 0 var(--sym-shadow)}
.symptom-choice:focus-visible{outline:3px solid #b17e17;outline-offset:3px}
.symptom-list{display:grid;gap:13px}.symptom-item{border:1px solid var(--sym-edge);border-radius:15px;background:white;overflow:hidden;scroll-margin-top:18px;box-shadow:0 5px 17px #123e4c0f}
.symptom-item>summary{display:flex;align-items:center;gap:11px;padding:16px 13px;list-style:none;cursor:pointer;background:linear-gradient(135deg,#fff,var(--sym-light));min-height:92px}
.symptom-item>summary::-webkit-details-marker{display:none}.symptom-detail-icon{display:grid;place-items:center;background:white;border-radius:12px;padding:5px;color:var(--sym-color);flex-shrink:0;border:1px solid var(--sym-edge)}
.symptom-summary{flex:1;min-width:0}.symptom-summary strong{display:block;font-size:21px;line-height:1.55;color:var(--sym-color);overflow-wrap:anywhere}.symptom-summary small{display:block;font-size:13px;line-height:1.8;margin-top:3px;color:#34515b}
.symptom-toggle{position:relative;width:23px;height:23px;flex-shrink:0;border-radius:50%;background:var(--sym-color);color:white}.symptom-toggle:before,.symptom-toggle:after{content:'';position:absolute;top:11px;left:6px;width:11px;height:1.5px;background:currentColor}.symptom-toggle:after{transform:rotate(90deg)}.symptom-item[open] .symptom-toggle:after{display:none}
.symptom-item>summary:focus-visible{outline:3px solid #b17e17;outline-offset:-4px}
.symptom-body{padding:16px 13px 18px;border-top:1px solid var(--sym-edge)}
.symptom-body h4{display:flex;align-items:center;gap:8px;font:600 16px/1.6 var(--sans);margin:0 0 10px;color:#295563}.symptom-body h4:before{content:'';width:6px;height:17px;border-radius:4px;background:#b6934c;flex-shrink:0}
.symptom-body p{font-size:16px;line-height:1.95;margin:0;overflow-wrap:anywhere}
.symptom-cause{background:#f8f4e9;border:1px solid #e6d7b4;padding:13px;border-radius:10px;margin-bottom:17px}
.symptom-care{padding:0 1px}.symptom-care ol{counter-reset:treatment-stage;list-style:none;padding:0;margin:0;display:grid;gap:13px}
.symptom-care li{position:relative;padding-left:35px;font-size:16px;line-height:1.9;min-height:28px;overflow-wrap:anywhere}
.symptom-care li:before{counter-increment:treatment-stage;content:counter(treatment-stage);position:absolute;left:0;top:3px;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--sym-color);color:white;font:600 12px/1 var(--sans);box-shadow:0 2px 0 var(--sym-shadow)}
.symptom-body .symptom-note{margin:17px 0 0;padding:12px 13px;border:1px solid #d2dfdf;border-radius:9px;background:#f4f8f7;color:#36565e;font-size:13px;line-height:1.9}
.symptom-back-link{display:flex;align-items:center;justify-content:center;min-height:47px;padding:10px;margin:16px 0 0;border:1px solid var(--sym-edge);border-radius:8px;background:white;color:var(--sym-color);font-size:14px;font-weight:600;box-shadow:0 2px 0 var(--sym-shadow)}
.symptom-eligibility{background:#edf4f6;border-left:3px solid #3c6580;border-radius:8px;padding:14px;margin-top:19px}.symptom-eligibility strong,.symptom-medical strong{display:block;font-size:14px;line-height:1.8;margin-bottom:5px}.symptom-eligibility p,.symptom-medical p{font-size:13px;line-height:1.9}
.symptom-medical{padding:14px 2px;margin-top:6px;color:#694b30}.symptom-sources{font-size:12px;line-height:1.9;border-top:1px solid #d9e4e8;padding-top:11px}.symptom-sources summary{cursor:pointer;color:#3c6580}.symptom-sources ul{padding-left:18px;margin-bottom:0}.symptom-sources a{text-decoration:underline;text-underline-offset:3px}
html[lang=en] .choice-title{font-size:17px;letter-spacing:0}html[lang=en] .choice-cta{font-size:11px}html[lang=en] .choice-sub{font-size:12px}html[lang=en] .symptom-summary strong{font-size:20px}
@media(hover:hover){.symptom-index .symptom-choice:hover{transform:translateY(-2px);box-shadow:inset 0 1px white,0 6px 0 var(--sym-shadow),0 12px 20px #173f4a21}.symptom-choice:hover .choice-arrow{transform:translateX(3px)}}
@media(max-width:359px){.menu-shell #insurance>.treatment-copy{padding-inline:11px}.symptom-index{gap:12px 9px}.symptom-index .symptom-choice{padding:10px 9px 9px;min-height:174px}.choice-cta{font-size:11px}.choice-sub{font-size:11px}.choice-illustration{width:41px;height:41px}.symptom-selector-heading h3{font-size:24px}.symptom-body{padding-inline:11px}.symptom-summary strong{font-size:19px}.symptom-detail-icon .symptom-drawing{width:31px;height:31px}.symptom-body p,.symptom-care li{font-size:15px}}
@media(prefers-reduced-motion:reduce){.symptom-index .symptom-choice,.choice-arrow{transition:none}}

/* Compact symptom section: thin controls, fewer nested borders. */
.menu-shell #insurance>.treatment-copy{padding-top:16px;padding-bottom:18px}
.symptom-selector-heading{padding:0 0 13px;text-align:left}
.menu-shell .symptom-selector-heading h3{font:600 22px/1.55 var(--serif);letter-spacing:.015em;white-space:normal}
.symptom-selector-heading>p{font-size:13px;line-height:1.7;margin-top:5px}
.symptom-guide{margin-bottom:15px}.symptom-list{gap:9px}
.symptom-item{border-radius:9px;box-shadow:none}
.symptom-item>summary{min-height:66px;padding:10px 11px;gap:9px}
.symptom-detail-icon{background:none;border:0;padding:0;border-radius:0}
.symptom-detail-icon .symptom-drawing{width:29px;height:29px}
.symptom-summary strong{font-size:19px;line-height:1.55}.symptom-summary small{font-size:12px;line-height:1.7;margin-top:1px}
.symptom-toggle{width:20px;height:20px}.symptom-toggle:before,.symptom-toggle:after{top:9px;left:5px;width:10px}
.symptom-body{padding:13px 12px 15px}
.symptom-cause{border:0;border-radius:0;background:none;padding:0 0 12px;margin-bottom:13px;border-bottom:1px solid #e0e6e2}
.symptom-body h4{font-size:15px;margin-bottom:6px}.symptom-body h4:before{width:4px;height:14px;border-radius:2px}
.symptom-body p,.symptom-care li{font-size:16px;line-height:1.85}
.symptom-care ol{gap:9px}.symptom-care li{padding-left:28px}
.symptom-care li:before{width:20px;height:20px;border-radius:50%;top:4px;box-shadow:none;font-size:11px}
.symptom-body .symptom-note{margin-top:12px;padding:9px 0 0;border:0;border-top:1px dashed #cbd8d6;border-radius:0;background:none;font-size:13px;line-height:1.85}
.symptom-back-link{min-height:44px;margin-top:10px;padding:7px;background:none;border:0;box-shadow:none;text-decoration:underline;text-underline-offset:3px;font-size:13px}
.symptom-eligibility{margin-top:14px;padding:11px;border-radius:5px}.symptom-medical{padding:11px 0}
html[lang=en] .choice-title{font-size:13px;letter-spacing:0}html[lang=ko] .choice-title{font-size:14px;letter-spacing:0}
@media(hover:hover){.symptom-index .symptom-choice:hover{transform:translateY(-1px);box-shadow:inset 0 1px white,0 3px 0 var(--sym-shadow),0 6px 10px #173f4a18}}
@media(max-width:359px){.symptom-index{grid-template-columns:1fr;gap:8px}.symptom-index .symptom-choice,.symptom-index .symptom-choice:last-child{min-height:48px;padding:7px 10px;grid-template-columns:25px minmax(0,1fr) 14px;gap:8px}.choice-title{font-size:16px}.choice-illustration{width:25px;height:27px}.menu-shell .symptom-selector-heading h3{font-size:21px}.symptom-body p,.symptom-care li{font-size:15px}}

/* Symptom illustrations share the compact title row rather than adding a hero block. */
.symptom-item>summary{gap:11px;padding:9px 11px;min-height:96px}.symptom-detail-icon{display:block;flex:0 0 100px;width:100px;height:77px;padding:0;border:0;overflow:hidden;border-radius:6px;background:#fcfcf7}.symptom-scene{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.symptom-summary strong{font-size:18px;line-height:1.55}.symptom-summary small{font-size:12px;line-height:1.7}
@media(max-width:359px){.symptom-detail-icon{flex-basis:83px;width:83px;height:73px}.symptom-item>summary{gap:9px;padding-inline:9px}.symptom-summary strong{font-size:17px}}

/* Keep the treatment selection note light and compact. */
.symptom-body .symptom-care-intro{font-size:13px;line-height:1.7;color:#52696b;margin:0 0 8px}

/* Source photos retain their full frame inside compact menu headings. */
.menu-shell .treatment-card:not(.theme-insurance) .treatment-heading{grid-template-columns:minmax(112px,42%) minmax(0,1fr)}
.menu-shell .treatment-card:not(.theme-insurance) .treatment-photo{min-height:0;aspect-ratio:4/3;align-self:center;margin:10px 0 10px 10px;border-radius:5px}
.menu-shell .treatment-card:not(.theme-insurance) .treatment-photo>img{object-fit:contain;object-position:center}
.menu-shell .treatment-card:not(.theme-insurance) .treatment-heading-copy{padding:12px 11px}
.menu-shell .treatment-card:not(.theme-insurance) .treatment-heading h2{font-size:21px;line-height:1.5}
.menu-shell #beauty .treatment-heading h2{font-size:19px}
.menu-alternative-photo{float:left;display:block;width:86px;height:65px;object-fit:contain;margin:3px 11px 5px 0;border-radius:5px}
.menu-alternative:after{content:"";display:block;clear:both}
.menu-inline-booking{display:block;clear:both;padding:7px 0 0;font-size:13px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.menu-photo-source{margin:12px 24px 0;font-size:11px;line-height:1.8;color:#50656c}.menu-photo-source a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:359px){.menu-shell .treatment-card:not(.theme-insurance) .treatment-heading h2{font-size:18px}.menu-shell #beauty .treatment-heading h2{font-size:17px}}

/* Full service catalog: compact rows instead of repeated large menu cards. */
.course-tax-note{font-size:12px!important;line-height:1.7;margin:8px 0 4px;color:#52666c}
.menu-course{padding:14px 0;border-bottom:1px solid #d7e2de;scroll-margin-top:90px}
.course-top{display:grid;grid-template-columns:76px minmax(0,1fr);gap:11px;align-items:start}
.course-photo{display:block;width:76px;height:64px;object-fit:contain;background:#f1f4ef;border-radius:5px}
.menu-shell .course-top h3{font:600 17px/1.6 var(--sans);margin:0 0 4px;color:var(--accent);letter-spacing:0;overflow-wrap:anywhere}
.course-top p{font-size:14px;line-height:1.8;margin:0;color:#294a52}
.course-purchase{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}
.course-pricing{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.course-condition{font-size:11px;color:#50646a;line-height:1.6}
.course-pricing strong{font:700 21px/1.5 var(--sans);color:var(--accent);white-space:nowrap}.course-pricing strong small{font-size:12px;margin-left:3px}
.course-regular{font-size:12px;line-height:1.7;color:#536970}.course-pricing a{text-decoration:underline;text-underline-offset:3px}
.course-book{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 11px;border:1px solid var(--accent);border-bottom:3px solid var(--accent);border-radius:6px;background:var(--tint);color:var(--accent);font-size:12px;line-height:1.5;font-weight:600;text-align:center;box-shadow:0 2px 0 #163d4912}
.course-book:active{transform:translateY(1px);border-bottom-width:2px}
.course-promo{font-size:12px;line-height:1.8;margin:9px 0 0}.course-promo-link{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.menu-shell .course-group-heading{font:600 17px/1.7 var(--sans);color:var(--accent);margin:22px 0 3px;padding-left:9px;border-left:3px solid #b89b66}
.course-staff-links{display:flex;gap:9px;margin-top:8px}.course-staff-links .course-book{flex:1;min-width:0;font-size:12px}
.course-eligibility{font-size:12px;line-height:1.8;color:#4e646b;margin:7px 0 0}
.course-normal-links{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:12px;line-height:1.8;margin-top:6px}.course-normal-links a{text-decoration:underline;text-underline-offset:3px}
.course-option{padding:11px 0;border-bottom:1px solid #d7e2de}.course-option>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.course-option h4{font-size:15px;font-weight:600;line-height:1.7;margin:0;color:var(--accent)}.course-option strong{font-size:13px;white-space:nowrap;color:var(--accent)}
html[lang=en] .course-option>div:first-child{flex-wrap:wrap}
@media(max-width:359px){.course-top{grid-template-columns:64px minmax(0,1fr);gap:9px}.course-photo{width:64px;height:55px}.menu-shell .course-top h3{font-size:16px}.course-top p{font-size:13px}.course-pricing strong{font-size:19px}.course-book{padding-inline:8px;font-size:11px}}

/* Compact first-visit reservation, with phrase-based Japanese wrapping. */
.menu-shell #insurance .insurance-first-booking{width:calc(100% - 16px);max-width:360px;box-sizing:border-box;margin:14px auto;padding:12px 13px;border:1px solid #b2cbb8;border-radius:10px;background:#e4f1e7}
.menu-shell #insurance .insurance-first-label{margin:0 0 5px;font-size:11px;font-weight:700;color:#52745f}
.menu-shell #insurance .insurance-first-booking h3{font-size:17px;line-height:1.45;margin:0 0 7px}
.menu-shell #insurance .insurance-first-booking>p:not(.insurance-first-label){font-size:13px;line-height:1.65;margin:0}
.menu-shell #insurance .insurance-first-booking h3 .phrase,.menu-shell #insurance .insurance-first-booking>p .phrase{display:block;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.menu-shell #insurance .insurance-first-booking .insurance-first-button{display:flex;align-items:center;justify-content:space-between;gap:7px;background:linear-gradient(135deg,#cb4279,#a81756);color:#fff;border:1px solid #faafcc;padding:10px 11px;min-height:44px;border-radius:7px;box-shadow:inset 0 1px #ffffff88,0 3px 0 #72133b;font-size:14px;font-weight:700;line-height:1.4;margin:10px 0}
.menu-shell #insurance .insurance-first-booking small{display:block;font-size:11px;line-height:1.6;color:#4f6258}
.menu-shell #insurance .symptom-booking-link{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:44px;box-sizing:border-box;padding:9px 10px;margin-top:10px;border-radius:7px;background:linear-gradient(135deg,#cb4279,#a81756);color:#fff;font-size:13px;font-weight:700;text-decoration:none;line-height:1.5}
.menu-shell #insurance .symptom-booking-note{display:block;font-size:10px;line-height:1.6;margin:6px 0;color:#4f6258}

.menu-shell #insurance .symptom-item .symptom-consult-link{position:relative;justify-content:center;text-align:center;padding-inline:28px}
.menu-shell #insurance .symptom-item .symptom-consult-link>span[aria-hidden]{position:absolute;right:10px;top:50%;transform:translateY(-50%)}

/* Center each symptom action independently of its right-hand arrow. */
.menu-shell #insurance .symptom-item .symptom-booking-link,
.menu-shell #insurance .symptom-item .symptom-readmore{position:relative;justify-content:center;text-align:center;padding-inline:30px}
.menu-shell #insurance .symptom-item .symptom-booking-link>span[aria-hidden],
.menu-shell #insurance .symptom-item .symptom-readmore>b[aria-hidden]{position:absolute;right:10px;top:50%;transform:translateY(-50%)}

/* Head/face offer: center the price and coupon disclosure labels. */
/* Keep the first-visit pain reservation clear without a tall repeated message. */
.menu-shell #insurance .insurance-first-booking{padding:10px 12px;margin:10px auto}
.menu-shell #insurance .insurance-first-booking .first-pain-art{max-width:none;width:100%;margin:0 0 8px;padding:0}
.menu-shell #insurance .insurance-first-booking .first-pain-art>span{font-size:11px;padding:6px}
.menu-shell #insurance .insurance-first-booking .insurance-first-label{display:none}
.menu-shell #insurance .insurance-first-booking h3{font-size:15px;line-height:1.45;margin:0 0 5px}
.menu-shell #insurance .insurance-first-booking h3 .phrase,
.menu-shell #insurance .insurance-first-booking>p .phrase{display:inline}
.menu-shell #insurance .insurance-first-booking>p:not(.insurance-first-label){font-size:12px;line-height:1.55}
.menu-shell #insurance .insurance-first-booking .insurance-first-button{position:relative;justify-content:center;text-align:center;box-sizing:border-box;min-height:42px;margin:8px 0;padding:8px 28px;font-size:13px}
.menu-shell #insurance .insurance-first-booking .insurance-first-button>span[aria-hidden]{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
.menu-shell #insurance .insurance-first-booking small{font-size:10px;line-height:1.5}

.menu-shell #insurance>.treatment-heading{display:block;min-height:0}
.menu-shell #insurance>.treatment-heading>.treatment-heading-copy{padding:17px 18px}

.menu-shell #insurance .symptom-booking-link{border:1px solid #f5a8c7;border-bottom:3px solid #72133b;box-shadow:inset 0 1px 0 #ffffff88,0 4px 0 #72133b44}
.menu-shell #insurance .symptom-booking-link:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff88,0 1px 0 #72133b44}

/* Match the acute-pain coupon card and CTA to the course cards. */
.menu-shell #insurance .insurance-first-booking{width:100%;max-width:none;margin:10px 0;padding:10px;border-radius:8px}
.menu-shell #insurance .insurance-first-booking .insurance-first-button{width:100%;max-width:none;min-height:44px;margin:0 0 7px;padding:10px 34px 10px 13px;font-size:14px;line-height:1.5;text-align:left;justify-content:flex-start;border-bottom:3px solid #791240;box-shadow:inset 0 1px 0 #ffffff88,0 3px 0 #72133b66}
.menu-shell #insurance #first-pain-coupon-art{width:100%;margin-top:10px}
.menu-shell #insurance #first-pain-coupon-art>summary{font-size:12px;min-height:30px;padding:2px;box-sizing:border-box}

/* Keep the reservation and disclosure directly on the section background. */
.menu-shell #insurance .insurance-first-booking{border:0;border-radius:0;background:none;box-shadow:none;padding:0}

/* Give the last coupon the same booking treatment and a clear section ending. */
.menu-shell #insurance .insurance-first-booking{margin:18px 0 30px}
.menu-shell #insurance .insurance-first-booking .insurance-first-button{min-height:44px;padding:10px 34px 10px 13px;border:1px solid #edcf8e;border-bottom:3px solid #99703c;border-radius:5px;background:linear-gradient(110deg,#fff0be,#dcb878 55%,#f5deb0);color:#412b32;box-shadow:inset 0 1px 0 #fff9e6,0 3px 0 #20131c66;letter-spacing:.025em;text-shadow:none}
.menu-shell #insurance .insurance-first-booking .insurance-first-button>span[aria-hidden]{font-size:22px;line-height:1;animation:none}
.menu-shell #insurance .insurance-first-booking .insurance-first-button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #fff9e6,0 1px 0 #20131c66}
.menu-shell #insurance #first-pain-coupon-art{margin-top:10px;padding-bottom:8px;border-bottom:1px solid #b4cbbb}
.menu-shell #insurance .symptom-guide{padding-top:20px;border-top:0}
/* Keep the closing guidance readable as distinct, compact blocks. */
.menu-shell #insurance .symptom-eligibility{padding:12px 14px;margin-top:22px}
.menu-shell #insurance .symptom-medical{margin:14px 0;padding:12px 14px;background:#f8f4e9;border-left:3px solid #aa8350;border-radius:5px}
.menu-shell #insurance .symptom-eligibility strong,.menu-shell #insurance .symptom-medical strong{font-size:13px;line-height:1.6;margin:0 0 7px}
.menu-shell #insurance .symptom-eligibility p,.menu-shell #insurance .symptom-medical p{font-size:12px;line-height:1.85;margin:0}
.menu-shell #insurance .symptom-sources{padding:10px 0;border-bottom:1px solid #c6d7cb}
.menu-shell .menu-photo-source,.menu-shell .menu-price-note{font-size:11px;line-height:1.8;color:#64736d;margin:14px 7px}

/* Keep the subsidized-care amount on its own line after the eligible groups. */
.menu-shell [data-i18n="m.insurance.fees.subsidy"]{white-space:pre-line}
