/* Haedam — a calm medical editorial system */
[hidden]{display:none!important}
:root{
 --navy:#182c3d;--ink:#273848;--ivory:#f8f9fb;--white:#ffffff;
 --gold:#b9a078;--line:#dce2e8;--muted:#586675;--soft:#eff3f6;
 --radius:.65rem;--gutter:clamp(1.25rem,5vw,5rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7.5rem}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Pretendard,'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:1.125rem;line-height:1.9;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
img,video{max-width:100%}
button,a,input,textarea,summary{outline-offset:5px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b58e44}
button,a{-webkit-tap-highlight-color:transparent}
header{min-height:6.4rem;padding:1.25rem var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:1.75rem;background:rgba(248,249,251,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{font-size:1.95rem;letter-spacing:.12em;font-weight:600;line-height:1.15;flex-shrink:0}
.brand span{font-size:1rem;letter-spacing:.035em;margin-left:.45rem;font-weight:500}
.brand small{display:block;font-size:.875rem;font-weight:400;letter-spacing:.06em;line-height:1.6;margin-top:.5rem;color:var(--muted)}
nav{display:flex;gap:1.6rem;margin-left:auto;font-size:1rem;line-height:1.5}
nav a{padding:.65rem 0;border-bottom:1px solid transparent;white-space:nowrap}
nav a:hover{border-bottom-color:var(--gold)}
.text-button{border:0;border-bottom:1px solid #bec9d2;background:transparent;color:var(--navy);font-size:.9375rem;min-height:2.75rem;white-space:nowrap;padding:.4rem 0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;background:var(--navy);color:var(--white);padding:1.1rem 1.65rem;border:1px solid var(--navy);border-radius:.35rem;min-height:3.5rem;font-weight:600;font-size:1.0625rem;line-height:1.6;text-align:center;transition:background .18s,border-color .18s,box-shadow .18s}
.button:hover{background:#2a4358;border-color:#2a4358;box-shadow:0 4px 14px #182c3d12}
.button>span{min-width:0}
.button.small{padding:.8rem 1.4rem;min-height:3rem;font-size:1rem;white-space:nowrap}
.button.outline{background:transparent;color:var(--navy);border-color:#8d9daa}
.button.outline:hover{background:var(--soft);border-color:var(--navy)}
.button.light{background:var(--white);border-color:var(--white);color:var(--navy)}
.plain{display:inline-block;border-bottom:1px solid var(--gold);padding:.55rem 0;font-size:1rem;font-weight:600;line-height:1.8}
.plain:hover{border-bottom-color:var(--navy)}
.eyebrow{display:flex;align-items:center;gap:.85rem;font-size:.8125rem;letter-spacing:.15em;font-weight:600;color:#586675;margin:0 0 1.75rem;line-height:1.6}
.chapter{font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;font-weight:400;letter-spacing:.02em;color:#796044;border-right:1px solid #b5a686;padding-right:.8rem}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:clamp(2.75rem,4.15vw,4rem);font-weight:500;line-height:1.48;letter-spacing:-.05em;margin-bottom:1.75rem}
h1 em{font-style:normal}
h2{font-size:clamp(2.15rem,3.15vw,3.1rem);font-weight:500;line-height:1.48;letter-spacing:-.045em;margin-bottom:1.5rem}
h3{font-size:1.5rem;line-height:1.55;font-weight:600;letter-spacing:-.025em}
p{margin-bottom:1.4rem}
.lead{font-size:1.1875rem;line-height:1.95;color:var(--muted)}
.subtle{font-size:.9375rem;color:var(--muted);line-height:1.9}
.icon{display:inline-block;width:1.35rem;height:1.35rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.hero{position:relative;isolation:isolate;overflow:hidden;margin:1.35rem auto 0;padding:clamp(2.25rem,4.5vw,4.5rem);max-width:1440px;width:calc(100% - 2.7rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);border-radius:.7rem;background:var(--navy);color:var(--ivory)}

.hero-copy{min-width:0;position:relative}
.hero-specialty{display:flex;align-items:center;gap:1rem;margin-bottom:2.25rem}
.hero-specialty>img{display:block;width:3rem;height:3.75rem;object-fit:contain;filter:brightness(1.2);flex-shrink:0}
.hero-specialty .eyebrow{font-size:.875rem;letter-spacing:.025em;margin:0 0 .35rem;color:#d4dce3}
.hero-specialty strong{display:block;font-size:1.3rem;font-weight:500;letter-spacing:.035em;line-height:1.5}
.hero-specialty span{display:block;font-size:.75rem;letter-spacing:.14em;line-height:1.7;color:#dcc8a6;margin-top:.35rem}
.hero h1 em{color:#e7d5b6}
.hero .lead{color:#e6ebf0;max-width:32rem}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.hero .button{background:#e7d5b6;border-color:#e7d5b6;color:#182c3d}
.hero .button:hover{background:#f2e7d3;border-color:#f2e7d3}
.hero .button.outline{background:transparent;border-color:#8d9daa;color:var(--ivory)}
.hero .button.outline:hover{background:#ffffff0b;border-color:#d4dce3}
.hero-location{font-size:1rem;margin-top:2rem;padding-top:1.3rem;border-top:1px solid #506273;max-width:29rem;line-height:1.8}
.hero-location span{font-size:.9375rem;color:#d4dce3}
.hero-visual{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;min-width:0;background:#96928a;border-radius:.35rem}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.hero-visual figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(18,34,49,.94));padding:5rem 2rem 1.8rem;color:#fff;line-height:1.65}
.hero-visual figcaption>span{display:block;font-size:2rem;font-weight:500;letter-spacing:.08em;margin:.2rem 0}
.hero-visual figcaption small,.hero-visual figcaption p{font-size:.9375rem;color:#e9edf2;margin:0}
.principles{max-width:1200px;margin:0 auto;padding:2.1rem 0 2.4rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;border-bottom:1px solid var(--line)}
.principles span{display:flex;gap:1rem;align-items:center;font-size:1.0625rem;line-height:1.7}
.principles span+span{border-left:1px solid var(--line);padding-left:2rem}
.principles b{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400;color:#796044}
section:not(.hero){padding:6.5rem max(var(--gutter),calc((100vw - 1200px)/2))}
.section-head{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:2.8rem}
.section-head h2{margin-bottom:0}
.section-head>p{color:var(--muted);margin-bottom:.3rem;font-size:1.0625rem;max-width:26rem}
#symptoms{position:relative;isolation:isolate;overflow:hidden;background:var(--white)}

.symptom-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem;align-items:stretch}
.symptom-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.symptom-buttons button{background:transparent;color:var(--navy);border:1px solid #c6d0d8;padding:1.15rem 1.2rem;text-align:left;border-radius:.35rem;min-height:6.5rem;font-size:1.0625rem;display:flex;flex-direction:column;justify-content:center;gap:.3rem;line-height:1.7;transition:background .18s,border-color .18s}
.symptom-buttons button small{font-family:Georgia,'Times New Roman',serif;font-size:.875rem;color:#796044;line-height:1.5}
.symptom-buttons button:hover{background:#f0f3f6;border-color:#668294}
.symptom-buttons button.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.symptom-buttons button.active small{color:#dcc8a6}
.symptom-buttons button:last-child:nth-child(odd){grid-column:1/-1;min-height:5.5rem}
.symptom-panel{position:relative;isolation:isolate;overflow:hidden;padding:2.5rem 2.75rem;min-width:0;background:var(--soft);border-radius:.5rem;border-top:2px solid var(--gold)}

.index{font-size:.9375rem;color:var(--muted);display:block;padding-bottom:1rem;border-bottom:1px solid #c6d0d8}
.symptom-panel h3{font-size:1.65rem;margin:1.4rem 0 1.1rem;line-height:1.55;font-weight:500}
.symptom-panel ul{padding-left:1.35rem;margin:1.35rem 0 1.75rem}
.symptom-panel li{margin-bottom:.4rem}
.symptom-layout+.subtle{margin-top:1.5rem;margin-bottom:0;max-width:62rem}
.philosophy{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--ivory)}

.philosophy .eyebrow,.philosophy .subtle{color:#d4dce3}
.philosophy .chapter{color:#dcc8a6;border-color:#748393}
.philosophy-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:5rem;margin-top:3.2rem}
.large{font-size:1.85rem;line-height:1.8;padding-left:1.4rem;border-left:1px solid #c3a775;letter-spacing:-.03em;align-self:start;font-weight:400}
.director-name{font-size:1.25rem;margin:2rem 0 1.25rem}
.director-name span{display:block;font-size:1rem;color:#d4dce3;margin-top:.35rem}
.doctor-bio{border-color:#506273;padding:1rem 0}
.doctor-bio summary{font-size:1rem}
.doctor-bio ul{padding-left:1.25rem;font-size:1rem;color:#e6ebf0;line-height:2}
.philosophy-body>div:last-child{border-top:1px solid #506273;padding-top:1.75rem}
.philosophy-body>div:last-child .subtle{margin-bottom:0}
.warning{background:#eee9de;border-top:1px solid #ded5c4;border-bottom:1px solid #ded5c4}
.warning .eyebrow{color:#765e3c}
.safety-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:4rem;align-items:start}
.safety-heading>p:last-child{max-width:28rem;color:#586675}
.icon-eyebrow .icon{width:1.5rem;height:1.5rem;color:#796044}
.warning-grid{display:grid;gap:1rem}
.warning-grid>div{background:#fbf8ef;border:1px solid #d5cbbb;border-radius:.45rem;padding:1.75rem 2rem}
.warning h3{font-size:1.25rem;margin-bottom:1rem}
.warning-grid>div:first-child{border-left:3px solid #92714c}
.warning li{margin-bottom:.4rem}
.warning ul{padding-left:1.3rem;margin-top:0}
.warning-grid p{font-size:1rem;margin-bottom:0}
.warning>.subtle{margin:2rem 0 .5rem}
.source{font-size:.8125rem;border-bottom:1px solid #9c865f;line-height:1.9}
#care{background:var(--ivory)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.steps button{color:var(--navy);border:1px solid #c6d0d8;background:var(--white);border-radius:.4rem;padding:1.5rem;text-align:left;display:flex;flex-direction:column;gap:1rem;min-height:13.5rem;line-height:1.8;transition:background .18s,border-color .18s}
.steps button:hover{border-color:#4c7185}
.steps .step-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem;margin-bottom:.35rem}
.step-top .step-number{font-family:Georgia,'Times New Roman',serif;font-size:2.25rem;font-weight:400;line-height:1.3;color:#796044}
.step-top .icon{width:1.85rem;height:1.85rem;color:#4c7185}
.steps button strong{font-size:1.125rem;font-weight:600}
.steps button small{font-size:.9375rem;line-height:1.8;font-weight:400}
.steps button.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.steps button.active .step-number{color:#dcc8a6}
.steps button.active .icon{color:#d4dce3}
.step-detail{margin-top:1.2rem;padding:2.25rem 2.6rem;background:var(--soft);border-radius:.4rem;border-left:2px solid var(--gold);min-height:14rem}
.step-detail .eyebrow{margin-bottom:.75rem;font-size:.875rem;letter-spacing:.075em}
.step-detail h3{font-size:1.5rem;font-weight:500;margin-bottom:1rem}
.step-detail p{max-width:57rem;margin:0}
.care-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:3rem}
.consultation-scene{margin:0;min-width:0;overflow:hidden;border-radius:.4rem;background:var(--white);border-bottom:1px solid var(--line)}
.consultation-scene>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 53%;display:block}
.director-consultation>img{object-position:center 38%}
.consultation-scene figcaption{padding:1.75rem 1.8rem 2rem}
.scene-label{display:flex;align-items:center;gap:.7rem;font-size:.9375rem;font-weight:500;color:#796044;margin-bottom:.9rem;line-height:1.7}
.scene-label::before{content:"";width:1.5rem;height:1px;background:#b9a078;flex-shrink:0}
.consultation-scene h3,.exam-scene h3{font-size:1.5rem;font-weight:500;margin-bottom:1rem}
.consultation-scene p{font-size:1.0625rem;color:var(--muted);margin-bottom:0}
.exam-scene{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);align-items:center;gap:3rem;padding:2.5rem 3rem;background:#edf2f6;border-top:1px solid #c6d0d8;border-bottom:1px solid #c6d0d8;min-width:0}
.exam-media{min-width:0;background:var(--navy);border-radius:.3rem;overflow:hidden;line-height:0}
.exam-media video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:var(--navy)}
.exam-copy{max-width:38rem}
.exam-copy h3{font-size:2rem;line-height:1.5}
.exam-copy p{font-size:1.0625rem;margin-bottom:1.2rem}
.exam-copy .subtle{font-size:.9375rem;margin-bottom:0}
.treatments{margin-top:5rem;padding-top:3rem;border-top:1px solid #bec9d2}
.treatment-heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-bottom:2rem}
.treatment-heading>h3{font-size:1.9rem;font-weight:500;max-width:27rem;line-height:1.55}
.treatment-heading>p{color:var(--muted);font-size:1.0625rem;margin-bottom:0}
.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch;margin:2rem 0}
.treatment-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--white);border-radius:.4rem;border:1px solid #dce2e8}
.treatment-card>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.treatment-card:first-child>img{object-position:center 70%}
.treatment-card:nth-child(2)>img{object-position:54% center}
.treatment-card:nth-child(3)>img{object-position:center 63%}
.treatment-copy{display:flex;flex-direction:column;flex:1;padding:1.7rem 1.65rem}
.treatment-label{display:flex;align-items:baseline;gap:.8rem;margin-bottom:1rem}
.treatment-index{font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;color:#796044;line-height:1.5}
.treatment-copy h4{font-size:1.4rem;line-height:1.55;margin:0;font-weight:600;letter-spacing:-.03em}
.treatment-intro{font-size:1.0625rem;font-weight:600;color:var(--navy);margin-bottom:1.15rem;line-height:1.8}
.treatment-explanation p{font-size:1.125rem;line-height:1.9;color:var(--ink);margin-bottom:1.15rem}
.treatment-caution{font-size:.875rem;color:var(--muted);line-height:1.85;border-top:1px solid var(--line);padding-top:1rem;margin:auto 0 0}
.treatment-caution>span{display:block;font-weight:600;margin-bottom:.2rem}
.herbal-treatment{background:transparent;border:1px solid #bec9d2;border-radius:.35rem;padding:1.15rem 1.5rem}
.herbal-treatment summary{font-size:1.125rem}
.treatment-note{margin-top:1.4rem;margin-bottom:0}
details{border-bottom:1px solid #c6d0d8;padding:1.45rem 0}
summary{cursor:pointer;font-size:1.1875rem;min-height:2.75rem;padding:.3rem 0;line-height:1.75}
details p{margin:1rem 0 .25rem;color:var(--muted)}
#contact{background:var(--white);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:2rem;align-items:start}
.prep{border:1px solid #c6d0d8;border-radius:.45rem;padding:2.25rem;background:var(--ivory);min-width:0}
.prep h3{font-size:1.4rem;margin-bottom:1rem}
.prep label{display:block;font-size:1.0625rem;font-weight:500;margin:1.35rem 0 .65rem}
input,textarea{width:100%;padding:1rem;border:1px solid #a4b3bf;border-radius:.25rem;color:var(--ink);background:var(--white);font-size:1.0625rem;line-height:1.7}
input::placeholder,textarea::placeholder{color:#617080;opacity:1}
textarea{min-height:8rem;resize:vertical}
.prep-output{font-size:1rem;white-space:pre-wrap;background:#e8eef3;padding:1.4rem;border-radius:.25rem;margin:1.5rem 0;overflow-wrap:anywhere}
#copy-status{margin:1rem 0 0}
#copy-status:empty{margin:0}
.contact-card{position:relative;padding:2.5rem;background:var(--navy);color:var(--ivory);border-radius:.45rem;border-top:3px solid var(--gold);min-width:0}
.contact-card h3{font-size:1.65rem;font-weight:500;line-height:1.6}
.contact-card>.button{display:flex;margin:1.1rem 0;background:var(--ivory);color:var(--navy);border-color:var(--ivory);justify-content:flex-start;padding:1.05rem 1.25rem;gap:.85rem}
.contact-card>.button:hover{background:#f2e7d3;border-color:#f2e7d3}
.contact-card .button .icon{width:1.5rem;height:1.5rem}
.contact-card .button.outline{background:transparent;color:var(--ivory);border-color:#8d9daa}
.contact-card .button.outline:hover{background:#ffffff0b}
.contact-card>.button+ p{padding-top:1.5rem;margin-top:1.65rem;border-top:1px solid #506273;font-size:1.0625rem}
.contact-card .subtle{color:#d4dce3;margin-bottom:0}
.faq{background:#f2f4f7;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.faq h2{max-width:20rem}
.faq-list{border-top:1px solid #a2b0bc}
.faq-list details:last-child{border-bottom:0}
.faq-list summary{font-weight:500;font-size:1.1875rem}
.faq-list details p{font-size:1.0625rem;padding-left:1.5rem}
.visit{background:var(--ivory)}
.visit .section-head .plain{margin-bottom:.35rem;white-space:normal}
.clinic-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:0 0 3rem}
.clinic-gallery figure{margin:0;min-width:0;overflow:hidden}
.clinic-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.35rem}
.clinic-gallery figure:first-child img{object-position:center 68%}
.clinic-gallery figure:last-child img{object-position:center 67%}
.clinic-gallery figcaption{padding:1rem 0;font-size:1rem;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4rem;align-items:start}
.location-card{background:var(--navy);color:var(--ivory);border-radius:.4rem;overflow:hidden}
.location-copy{padding:2.75rem}
.location-card .eyebrow{color:#d4dce3;font-size:.875rem;letter-spacing:.035em}
.location-card h3{font-size:1.55rem;font-weight:500;margin-bottom:.75rem}
.address-floor{font-family:Georgia,'Times New Roman','Malgun Gothic',serif;font-size:4.5rem;font-weight:400;line-height:1.35;margin-bottom:1.4rem;letter-spacing:-.04em}
.address-floor span{font-family:'Malgun Gothic',sans-serif;font-size:1.5rem;letter-spacing:0}
.location-card .button{margin-top:.5rem}
.visit-info{padding-top:.35rem;min-width:0}
.address-title{display:flex;align-items:flex-start;gap:.65rem;font-size:1.5rem;margin-bottom:.5rem}
.address-title .icon{width:1.45rem;height:1.45rem;margin-top:.3rem;color:#796044}
.visit-info>p{font-size:1.0625rem;color:var(--muted)}
.visit dl{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1.5rem 1.25rem;padding-top:1.65rem;border-top:1px solid #bec9d2}
.visit dd{margin:0;font-size:1.0625rem}
.visit dt{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;font-size:1rem;font-weight:600;line-height:1.6}
.visit dt .icon{color:#796044;width:1.5rem;height:1.5rem}
.visit small{font-size:.9375rem}
.reading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;background:#edf2f6;border-top:1px solid #c6d0d8}
.reading h2{font-size:2.3rem}
.reading p:last-child{font-size:1.0625rem;margin-bottom:0;color:var(--muted)}
.journal-link{border-top:1px solid #a48956;border-bottom:1px solid #a48956;padding:2rem 0;align-self:center}
.journal-link .journal-caption{display:flex;align-items:center;gap:.7rem;font-size:1rem;color:var(--muted)}
.journal-link b{display:block;font-size:1.6rem;margin:.8rem 0;font-weight:500;line-height:1.65}
.journal-link small{display:block;font-size:.9375rem;color:var(--muted)}
.journal-link:hover{border-color:var(--navy)}
footer{padding:3.5rem var(--gutter);display:grid;grid-template-columns:.8fr 1.25fr 1.2fr;gap:2.5rem;align-items:start;font-size:.9375rem;background:#122231;color:#e6ebf0;border-top:1px solid #4a5f70}
footer .brand{font-size:1.8rem}
footer .brand small{font-size:.875rem;letter-spacing:0;color:#d4dce3;margin-top:1rem}
footer>p{margin-bottom:0}
footer .subtle{color:#d4dce3}
.mobile-cta{display:none}
.skip{position:absolute;top:-100px;left:20px;padding:1rem;background:white;z-index:20}
.skip:focus{top:0}
/* The larger-text option enlarges useful copy as well as secondary labels. */
.large-text{font-size:1.3rem}
.large-text p,.large-text li,.large-text label,.large-text summary,.large-text input,.large-text textarea{font-size:1.3rem}
.large-text .eyebrow,.large-text .subtle,.large-text .treatment-caution,.large-text .index{font-size:1.0625rem}
.large-text .button,.large-text .symptom-buttons button,.large-text .steps button strong,.large-text .steps button small,.large-text .visit dd{font-size:1.2rem}
.large-text .hero-specialty span,.large-text .hero-visual figcaption small{font-size:1rem}
.large-text .visit dt{font-size:1.2rem}
.large-text .treatment-intro{font-size:1.3rem}
.large-text nav{font-size:1.0625rem}
/* Live-text clinic hours, styled to match the medical editorial layout. */
.hours-board{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:3.5rem;margin-top:3.5rem;padding:2.75rem 3rem;background:var(--white);border:1px solid #c6d0d8;border-top:2px solid var(--gold);border-radius:.4rem;align-items:start}
.hours-intro{min-width:0}
.hours-intro .eyebrow{margin-bottom:1.5rem;color:#586675}
.hours-intro h3{font-size:2rem;font-weight:500;line-height:1.5;margin-bottom:1rem}
.hours-intro>p:not(.eyebrow){font-size:1.0625rem;color:var(--muted)}
.hours-intro .plain{font-size:1rem}
.hours-schedule{min-width:0}
.visit .hours-list{display:block;margin:0;padding:0;border-top:0}
.hours-row{display:grid;grid-template-columns:6.25rem minmax(0,1fr);gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}
.hours-row:first-child{padding-top:0}
.visit .hours-row dt{display:block;font-size:1.0625rem;font-weight:500;line-height:1.75}
.visit .hours-row dd{margin:0;font-size:1.0625rem;min-width:0}
.hours-line{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}
.hours-range{display:inline-flex;align-items:center;gap:.65rem;font-size:1.3rem;font-weight:500;line-height:1.7;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.025em}
.hours-range>span{color:#796044;font-weight:400}
.hours-tag{font-size:.875rem;line-height:1.7;padding:.15rem .65rem;color:var(--navy);background:#e8eef3;border:1px solid #c6d0d8;border-radius:.2rem;white-space:nowrap}
.hours-note{font-size:.9375rem;line-height:1.75;color:var(--muted)}
.hours-break .hours-range{font-size:1.125rem;color:var(--muted)}
.hours-closed dd{color:#765d3c;font-weight:500}
.holiday-note{margin:1.25rem 0 0;font-size:1rem;font-weight:500;color:var(--navy);line-height:1.85}
.holiday-note>span{display:block;color:var(--muted);font-size:.9375rem;font-weight:400;margin-top:.2rem}
.business-number{display:inline-block;margin-top:.45rem;color:#d4dce3;font-variant-numeric:tabular-nums}
.large-text .hours-range{font-size:1.45rem}
.large-text .hours-tag,.large-text .hours-note,.large-text .holiday-note>span{font-size:1.0625rem}
.large-text .hours-row dt,.large-text .hours-row dd{font-size:1.2rem}
.large-text .hours-intro>p:not(.eyebrow){font-size:1.3rem}
.large-text .hours-intro .plain{font-size:1.2rem}
@media(max-width:1100px){.hours-board{padding:2.25rem;gap:2rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.hours-row{grid-template-columns:5.75rem minmax(0,1fr);gap:1rem}}
@media(max-width:850px){.hours-board{grid-template-columns:1fr;gap:1.5rem;padding:2rem}.hours-intro>p:not(.eyebrow) br{display:none}.hours-intro .eyebrow{margin-bottom:1rem}.hours-intro .plain{margin-bottom:.5rem}}
@media(max-width:680px){.hours-board{padding:1.5rem;margin-top:2.5rem;gap:1.4rem}.hours-intro h3{font-size:1.65rem}.hours-row{grid-template-columns:4.9rem minmax(0,1fr);gap:.6rem;padding:1.05rem 0}.visit .hours-row dt,.visit .hours-row dd{font-size:1rem}.hours-range{font-size:1.125rem;gap:.4rem;letter-spacing:0}.hours-line{gap:.45rem .7rem}.hours-break .hours-range{font-size:1.0625rem}.holiday-note{font-size:1rem}.large-text .hours-row{grid-template-columns:1fr;gap:.35rem}.large-text .hours-range{font-size:1.3rem}.large-text .hours-row dt,.large-text .hours-row dd{font-size:1.2rem}}
@media(max-width:380px){.hours-row{grid-template-columns:1fr;gap:.3rem}.hours-line{gap:.5rem .7rem}}
@media print{.hours-board{display:block;padding:1rem;margin-top:1rem;border:1px solid #aaa}.hours-intro .plain{display:none}.hours-row{break-inside:avoid}.business-number{color:#333}}
@media(max-width:1280px){
 header{padding-inline:3%;gap:1.35rem}nav{gap:1.1rem}
 .principles{margin-inline:var(--gutter)}
 .hero{gap:2.75rem;padding:3rem}.hero h1{font-size:3.1rem}.hero-specialty{margin-bottom:1.75rem}
 .philosophy-body{gap:3.5rem}.steps button{padding:1.25rem}
 .treatment-grid{gap:1rem}.treatment-copy{padding:1.4rem}
}
@media(max-width:1100px){
 nav{display:none}.text-button{margin-left:auto}
 .hero{padding:2.5rem;gap:2rem}.hero h1{font-size:2.75rem}
 .hero .button{font-size:1rem;padding:1rem 1.25rem}
 .principles{gap:1rem}.principles span+span{padding-left:1rem}
 .section-head{gap:2rem}.symptom-layout{gap:1.5rem}.symptom-panel{padding:2rem}
 .philosophy-body,.safety-layout,.faq,.visit-grid,.reading{gap:2.5rem}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps button{min-height:11.5rem;padding:1.5rem}
 .contact-grid{gap:1.5rem}.prep,.contact-card{padding:1.8rem}
 .treatment-grid{grid-template-columns:1fr;gap:1.5rem}
 .treatment-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr)}
 .treatment-card>img{height:100%;aspect-ratio:auto;object-position:center}
 .treatment-card:first-child>img{object-position:center 63%}.treatment-copy{padding:2rem}
 footer{grid-template-columns:1fr 1.4fr}footer .subtle{grid-column:1/-1}
}
@media(max-width:850px){
 .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding:2rem;gap:1.5rem}
 .hero h1{font-size:2.35rem}.hero .lead{font-size:1.0625rem}.hero .lead br{display:none}
 .hero-specialty>img{width:2.5rem;height:3.2rem}.hero-specialty strong{font-size:1.125rem}
 .hero-specialty .eyebrow{font-size:.8125rem}.hero-specialty span{font-size:.75rem;letter-spacing:.1em}
 .hero .actions{display:grid;grid-template-columns:1fr;gap:.6rem}.hero .button{padding:.85rem}
 .hero-visual{aspect-ratio:3/5}.hero-visual figcaption{padding:4rem 1.3rem 1.3rem}
 .hero-visual figcaption>span{font-size:1.7rem}
 .principles{grid-template-columns:1fr;gap:.65rem;padding-block:1.8rem}.principles span+span{border:0;padding:0}
 .principles b{font-size:1.6rem}.principles span{font-size:1rem}
 section:not(.hero){padding-block:5rem}
 .symptom-layout,.philosophy-body,.safety-layout,.contact-grid,.faq,.visit-grid,.reading{grid-template-columns:1fr;gap:2rem}
 .philosophy-body{margin-top:2.5rem}.philosophy-body>div:last-child{padding-top:1.5rem}
 .safety-heading>p:last-child{max-width:38rem}.warning-grid{grid-template-columns:1fr 1fr;gap:1rem}.warning-grid>div{padding:1.5rem}
 .care-scenes{gap:1.3rem}.consultation-scene figcaption{padding:1.5rem}.consultation-scene h3{font-size:1.35rem}
 .exam-scene{grid-template-columns:11rem minmax(0,1fr);padding:2rem;gap:2rem}
 .treatment-heading{gap:2rem}.treatment-heading>h3{font-size:1.7rem}
 .faq h2{max-width:none}.faq-list{margin-top:.5rem}.faq-intro h2{margin-bottom:0}
 .clinic-gallery{gap:1.3rem}.location-copy{padding:2.3rem}.visit-info{padding-top:0}
 .reading{gap:2rem}.reading h2{font-size:2.1rem}.journal-link{padding:1.75rem 0}
}
@media(max-width:680px){
 html{scroll-padding-top:6.5rem}
 body{font-size:1.125rem}
 header{min-height:5.5rem;padding:.9rem 1.25rem;gap:.75rem}
 .brand{font-size:1.65rem}.brand span{font-size:.875rem}.brand small{font-size:.8125rem;margin-top:.35rem}
 .text-button{font-size:.875rem}header .button.small{display:none}
 .hero{width:calc(100% - 1.4rem);margin:.7rem auto 0;padding:2rem 1.35rem 1.3rem;grid-template-columns:1fr;gap:2rem;border-radius:.5rem}

 .hero-specialty{gap:.75rem;margin-bottom:1.75rem}.hero-specialty>img{width:2.5rem;height:3.2rem}
 .hero-specialty strong{font-size:1.25rem}.hero-specialty .eyebrow{font-size:.8125rem}
 .hero h1{font-size:clamp(2rem,7.65vw,2.8rem);line-height:1.5;margin-bottom:1.5rem}
 .hero .lead{font-size:1.125rem;line-height:1.95;max-width:none}
 .hero .actions{display:flex;gap:.6rem;margin-top:1.5rem}
 .hero .actions .button{flex:1;min-width:0;padding:.9rem .65rem;font-size:.9375rem}
 .hero-location{margin-top:1.5rem;padding-top:1.2rem;font-size:1rem;max-width:none}
 .hero-location span{font-size:.9375rem}
 .hero-visual{aspect-ratio:4/5;width:100%;border-radius:.25rem}
 .hero-visual img{object-position:center 35%}.hero-visual figcaption{padding:5rem 1.5rem 1.3rem}
 .hero-visual figcaption>span{font-size:1.8rem}.hero-visual figcaption small,.hero-visual figcaption p{font-size:.9375rem}
 .principles{margin-inline:1.5rem;padding-block:1.5rem;gap:.6rem}
 section:not(.hero){padding:4rem 1.5rem}
 h2{font-size:2rem;line-height:1.5}h3{font-size:1.4rem}
 .eyebrow{font-size:.8125rem;letter-spacing:.1em;gap:.7rem;margin-bottom:1.5rem}
 .chapter{font-size:1rem;padding-right:.65rem}
 .section-head{display:block;margin-bottom:2rem}.section-head h2{margin-bottom:1.1rem}.section-head>p{font-size:1.0625rem;margin-bottom:0;max-width:none}

 .symptom-layout{gap:1.4rem}.symptom-buttons{gap:.6rem}
 .symptom-buttons button{padding:1rem .9rem;min-height:6rem;font-size:1rem}
 .symptom-buttons button:last-child:nth-child(odd){min-height:5.5rem}
 .symptom-panel{padding:1.6rem;border-radius:.35rem}
 .symptom-panel h3{font-size:1.5rem}
 .symptom-panel ul{margin-bottom:1.4rem}
 .philosophy-body{gap:2rem;margin-top:2.2rem}.large{font-size:1.6rem;padding-left:1.1rem}

 .director-name{font-size:1.2rem}.director-name span{font-size:1rem}
 .safety-layout{gap:1.5rem}.warning-grid{grid-template-columns:1fr;gap:1rem}.warning-grid>div{padding:1.5rem}
 .warning h3{font-size:1.25rem}.warning li{font-size:1.0625rem}.source{font-size:.8125rem}
 .steps{gap:.65rem}.steps button{padding:1.1rem;min-height:12rem;gap:.8rem}
 .steps .step-top{gap:.5rem}.step-top .step-number{font-size:1.9rem}.step-top .icon{width:1.65rem;height:1.65rem}
 .steps button strong{font-size:1.0625rem}.steps button small{font-size:.9375rem}
 .step-detail{padding:1.6rem;min-height:0;margin-top:1rem}.step-detail h3{font-size:1.4rem}
 .care-scenes{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}
 .consultation-scene figcaption{padding:1.5rem}.consultation-scene h3{font-size:1.4rem}
 .exam-scene{grid-template-columns:1fr;padding:1.5rem;gap:1.8rem}
 .exam-media{width:min(100%,15rem);justify-self:center}.exam-copy h3{font-size:1.65rem}.exam-copy h3 br{display:none}
 .treatments{margin-top:3.5rem;padding-top:2.3rem}.treatment-heading{grid-template-columns:1fr;gap:0;margin-bottom:1.5rem}
 .treatment-heading>h3{font-size:1.7rem;max-width:none;margin-bottom:1rem}
 .treatment-grid{gap:1.5rem;margin:1.5rem 0}.treatment-card{display:flex}
 .treatment-card>img{height:auto;aspect-ratio:4/3}.treatment-card:first-child>img{aspect-ratio:4/5;object-position:center 60%}
 .treatment-card:nth-child(2)>img{object-position:center}.treatment-card:nth-child(3)>img{aspect-ratio:1/1;object-position:center 56%}
 .treatment-copy{padding:1.5rem}.treatment-copy h4{font-size:1.4rem}
 .treatment-caution{font-size:.875rem}.herbal-treatment{padding:1rem 1.25rem}
 .prep,.contact-card{padding:1.6rem}.prep h3{font-size:1.35rem}.contact-card h3{font-size:1.55rem}
 .prep .button{width:100%;font-size:1rem;padding:1rem .8rem}
 .prep-output{padding:1.15rem;font-size:1rem}
 .contact-card>.button{font-size:1rem;padding:1rem .9rem;gap:.7rem;justify-content:center}
 .contact-card .button .icon{width:1.3rem;height:1.3rem}.contact-card .button.outline span{overflow-wrap:anywhere}
 .faq{gap:1.5rem}.faq-list summary{font-size:1.125rem}.faq-list details p{padding-left:0;font-size:1.0625rem}
 .clinic-gallery{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.3rem}.clinic-gallery figcaption{font-size:1rem;padding:.85rem 0}
 .location-copy{padding:2rem}.address-floor{font-size:3.7rem}.address-floor span{font-size:1.4rem}
 .address-title{font-size:1.4rem}.address-title .icon{width:1.4rem;height:1.4rem}
 .visit dl{grid-template-columns:4.7rem minmax(0,1fr);gap:1.4rem .75rem}
 .reading{gap:1.5rem}.reading h2{font-size:2rem}.journal-link b{font-size:1.5rem}
 footer{padding:3rem 1.5rem 7.5rem;grid-template-columns:1fr;gap:1.7rem}
 footer .brand{font-size:1.7rem}footer .brand small{margin-top:.75rem}footer .subtle{grid-column:auto}
 .mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--ivory);border-top:1px solid #bec9d2;z-index:15;padding-bottom:env(safe-area-inset-bottom)}
 .mobile-cta a{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1.05rem .7rem;text-align:center;flex:1;font-size:1.0625rem;font-weight:600;line-height:1.5}
 .mobile-cta a:last-child{background:var(--navy);color:var(--white)}.mobile-cta .icon{width:1.2rem;height:1.2rem}
 .large-text .hero .actions{flex-direction:column}.large-text .steps{grid-template-columns:1fr}.large-text .steps button{min-height:0}
 .large-text .symptom-buttons{grid-template-columns:1fr}.large-text .symptom-buttons button{min-height:0;padding:1.1rem}
 .large-text .symptom-buttons button:last-child:nth-child(odd){min-height:0}
}
@media(max-width:380px){
 .hero .actions{flex-direction:column}.hero h1{font-size:2rem}
 .steps{grid-template-columns:1fr}.steps button{min-height:0}
 .hero-specialty .eyebrow{font-size:.8125rem;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.symptom-buttons button,.steps button{transition:none}}
/* Digestive illustrations stay visible while reading surfaces remain quiet. */
section{--surface-rgb:248,249,251;--section-art-width:clamp(15rem,25vw,24rem);--section-art-opacity:.28;position:relative;isolation:isolate;overflow:hidden}
.hero,.philosophy{--surface-rgb:24,44,61;--section-art-opacity:.3}
#symptoms,#contact{--surface-rgb:255,255,255}
.warning{--surface-rgb:238,233,222}
.faq{--surface-rgb:242,244,247}
.reading{--surface-rgb:237,242,246}
section:not(.hero)::before{content:"";position:absolute;z-index:-1;top:2.25rem;right:max(var(--gutter),calc((100vw - 1200px)/2));width:var(--section-art-width);height:calc(var(--section-art-width)*1.25);background:url('assets/digestive-system.webp') center/contain no-repeat;opacity:var(--section-art-opacity);pointer-events:none}
.hero::before{content:"";position:absolute;z-index:-1;top:2rem;left:24%;width:34rem;height:42.5rem;background:url('assets/digestive-system.webp') center/contain no-repeat;opacity:.26;pointer-events:none}
.section-kicker{min-width:0}
.section-head>p,.section-head>.plain,.faq-list,.journal-link,.philosophy-body>div:last-child,.safety-heading>p:last-child,.reading>div>p:last-child{background:rgba(var(--surface-rgb),.94);border-radius:.2rem}
.section-kicker .eyebrow{position:relative;z-index:1;background:rgba(var(--surface-rgb),.94);width:fit-content;max-width:100%}
.symptom-buttons button:not(.active){background:var(--white)}
.hero h1,.hero .lead,.hero-location,.hero-specialty>div{background:rgba(24,44,61,.94);border-radius:.25rem}
.hero-specialty>img{filter:none}
@media(max-width:850px){section{--section-art-width:17rem}section:not(.hero)::before{right:var(--gutter)}.hero::before{left:30%;width:27rem;height:33.75rem}}
@media(max-width:680px){
 section:not(.hero)::before{top:4rem;right:1.5rem;width:7rem;height:8.75rem;opacity:.88}
 .section-kicker{display:flex;align-items:center;min-height:8.75rem;padding-right:8.1rem;margin-bottom:1.4rem}
 .section-kicker .eyebrow{margin:0;gap:.5rem;flex-wrap:wrap;max-width:100%;background:none}
 .section-kicker .chapter{flex-shrink:0}
 .section-kicker .eyebrow>span:not(.chapter){min-width:0}
 .hero-specialty{gap:1rem;align-items:center}
 .hero-specialty>img{width:5.5rem;height:6.875rem;opacity:1}
 .hero-specialty>div{min-width:0}
 .hero::before{top:8rem;left:28%;width:22rem;height:27.5rem;opacity:.24}
 .hero-specialty .eyebrow{background:rgba(24,44,61,.94)}
}
@media(max-width:380px){section:not(.hero)::before{width:6rem;height:7.5rem}.section-kicker{min-height:7.5rem;padding-right:7rem}.hero-specialty>img{width:4.75rem;height:5.9375rem}.hero-specialty{gap:.75rem}}
@media print{section::before{display:none!important}.section-kicker{display:block;min-height:0;padding:0;margin:0}.hero h1,.hero .lead,.hero-specialty .eyebrow{background:none}}
@media print{
 header,.mobile-cta,.hero-visual,.actions,.prep,.contact-card,.care-scenes,.treatment-card>img,.clinic-gallery,.icon{display:none}
 .hero-specialty>img{display:none}
 body{font-size:1rem;background:white;color:black}.hero{display:block;width:100%;margin:0;padding:1.5rem;color:black;background:white}
 .hero .lead,.hero-specialty .eyebrow,.hero-specialty span,.hero-location,.hero-location span,.hero h1 em{color:black}
 section:not(.hero){padding:1.5rem;background:white;color:black}h1{font-size:2rem}h2{font-size:1.6rem}
 .principles,.symptom-layout,.philosophy-body,.safety-layout,.faq,.visit-grid,.reading{display:block}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-grid{display:block}.treatment-card{display:block;border:0}.treatment-copy{padding:.5rem}
 footer{background:white;color:black;display:block;padding:1.5rem}.subtle,footer .subtle,footer .brand small{color:#333}
}
/* Private, device-local symptom worksheet. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#self-check{background:var(--ivory);border-top:1px solid var(--line)}
.check-intro{display:flex;align-items:flex-start;gap:1rem;padding:1.3rem 1.5rem;margin-bottom:1.7rem;border-left:2px solid var(--gold);background:var(--white)}
.check-intro .icon{margin-top:.35rem;width:1.6rem;height:1.6rem;color:#796044}
.check-intro p{margin:0;font-size:1rem;line-height:1.85;color:var(--muted)}
#self-check-form,.check-result{position:relative;min-width:0;background:var(--white);border:1px solid #c6d0d8;border-radius:.4rem;overflow:hidden}
.check-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;border-bottom:1px solid #c6d0d8;background:#f0f3f6}
.check-progress li{display:flex;align-items:center;gap:.8rem;min-width:0;padding:1.25rem 1.5rem;font-size:1.0625rem;font-weight:500;line-height:1.6;color:var(--muted)}
.check-progress li+li{border-left:1px solid #c6d0d8}
.check-progress li>span{font-family:Georgia,serif;font-size:1.35rem;color:#796044}
.check-progress li[aria-current="step"]{background:var(--navy);color:var(--white)}
.check-progress li[aria-current="step"]>span{color:#e7d5b6}
.check-progress li.is-complete{background:#e8eef3;color:var(--navy)}
.check-panel{padding:2.5rem 2.75rem 1rem}
.check-step-title{font-weight:500;font-size:1.65rem;margin-bottom:1.1rem}
.check-help{font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:1.15rem}
.check-help a{border-bottom:1px solid var(--gold);font-weight:500}
#self-check fieldset{border:0;min-width:0;margin:0 0 2rem;padding:0}
#self-check legend{font-size:1.2rem;line-height:1.75;font-weight:600;width:100%;padding:0;margin-bottom:1rem}
#self-check legend small,.check-note-label small{display:inline-block;margin-left:.65rem;font-size:.9375rem;font-weight:400;color:var(--muted)}
.check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.check-choice{display:flex;align-items:flex-start;gap:.85rem;padding:1.05rem 1.15rem;min-height:3.75rem;min-width:0;border:1px solid #c6d0d8;border-radius:.25rem;background:var(--white);font-size:1.0625rem;line-height:1.8;cursor:pointer}
.check-choice span{min-width:0}
.check-choice input{flex:0 0 1.3rem;width:1.3rem;height:1.3rem;padding:0;margin:.35rem 0 0;accent-color:var(--navy);cursor:pointer;appearance:auto}
.check-choice:hover{border-color:#4c7185;background:#f6f8fa}
.check-choice:has(input:checked){background:#e8eef3;border-color:#256878;box-shadow:inset 0 0 0 1px #256878}
.check-choice:focus-within{outline:2px solid #9a773e;outline-offset:2px}
.check-options .check-choice:has(input[value="none"]){grid-column:1/-1}
#self-check .check-risk{border-top:1px solid var(--line);padding-top:1.75rem;margin-bottom:0}
.check-risk-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1.25rem}
.check-risk-options .check-choice:nth-child(-n+2){grid-column:1/-1}
.check-risk .check-help:last-child{margin-bottom:0}
.check-alert{padding:1.15rem 1.35rem;background:#f2eadb;border:1px solid #b7a485;border-left:3px solid #85643c;color:#4b402c;font-size:1.0625rem;line-height:1.85;margin:1.25rem 0}
#self-check select{display:block;width:100%;min-height:3.75rem;padding:.95rem 1rem;border:1px solid #a4b3bf;border-radius:.25rem;color:var(--ink);background:var(--white);font:inherit;line-height:1.75;max-width:100%}
#self-check select:disabled{opacity:1;background:#f0f3f6;color:var(--muted)}
#self-check select:focus-visible{outline:3px solid #b58e44;outline-offset:5px}
.check-note-label{display:block;font-size:1.2rem;font-weight:600;margin-bottom:.8rem}
#check-note{min-height:7rem}
.check-error{margin:.75rem 2.75rem 0;padding:1rem 1.2rem;border-left:3px solid #954927;color:#763d28;background:#f8ece4;font-size:1.0625rem}
.check-navigation{display:flex;align-items:center;gap:1rem;padding:1.75rem 2.75rem;border-top:1px solid var(--line);margin-top:1rem;flex-wrap:wrap}
.check-navigation .check-help{margin:0 auto 0 0;font-variant-numeric:tabular-nums}
.check-navigation .button{min-width:8rem}
.check-navigation #check-next{margin-left:auto}
.check-result{padding:2.5rem 2.75rem;border-top:2px solid var(--gold)}
.check-result-heading{display:flex;align-items:flex-start;gap:1.1rem;margin-bottom:1.5rem}
.check-result-heading>.icon{width:2rem;height:2rem;margin-top:.4rem;color:#796044}
.check-result-heading .eyebrow{margin-bottom:.55rem;font-size:.875rem;letter-spacing:.075em}
.check-result-heading h3{font-size:1.75rem;font-weight:500;margin:0}
.check-result>p{font-size:1.0625rem;color:var(--muted)}
#check-summary{min-height:23rem;line-height:1.9;background:#f0f3f6;font-size:1.0625rem;white-space:pre-wrap;resize:vertical}
.check-result-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0 1rem}
#check-copy-status{margin:0 0 .9rem}
#check-copy-status:empty{display:none}
.check-result>.check-help{font-size:1rem}
.check-reset-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}
.check-reset-actions .text-button{margin:0;white-space:normal;text-align:left;line-height:1.8;font-size:1rem}
.check-included{background:#e8eef3;border-left:2px solid #4c7185;padding:1rem 1.1rem;font-size:1rem;color:var(--navy)}
.large-text .check-choice,.large-text .check-help,.large-text #self-check select,.large-text #check-summary,.large-text .check-intro p{font-size:1.25rem}
.large-text #self-check legend,.large-text .check-note-label{font-size:1.35rem}
.large-text .check-progress li{font-size:1.2rem}
.large-text #self-check legend small,.large-text .check-note-label small,.large-text .check-reset-actions .text-button{font-size:1.0625rem}
@media(max-width:850px){.check-panel,.check-result{padding:2rem}.check-navigation{padding:1.5rem 2rem}.check-error{margin-inline:2rem}.check-progress li{padding:1.1rem;gap:.6rem}.large-text .check-options{grid-template-columns:1fr}}
@media(max-width:680px){
 .check-intro{padding:1.15rem;gap:.75rem}.check-intro p{font-size:1rem}.check-intro .icon{width:1.4rem;height:1.4rem}
 .check-progress li{display:block;padding:.85rem .65rem;text-align:center;font-size:.9375rem;line-height:1.7}
 .check-progress li>span{display:block;font-size:1.2rem;margin-bottom:.1rem}
 .check-panel,.check-result{padding:1.4rem 1.1rem}.check-step-title{font-size:1.4rem}
 .check-options{grid-template-columns:1fr;gap:.6rem}.check-choice{padding:1rem;font-size:1.0625rem;gap:.8rem}
 #self-check legend,.check-note-label{font-size:1.125rem}#self-check legend small,.check-note-label small{display:block;margin:.3rem 0 0}
 .check-risk-options{gap:.6rem}.check-risk-options .check-choice{padding:1rem .85rem}
 .check-help{font-size:1rem}.check-alert{padding:1rem 1.1rem;font-size:1.0625rem}
 .check-navigation{padding:1.2rem 1.1rem;gap:.65rem}.check-navigation .button{min-width:0;padding:.85rem 1rem;font-size:1rem;flex:1}
 .check-navigation .check-help{flex-basis:100%;order:-1}.check-error{margin:0 1.1rem 1rem;font-size:1rem;padding:1rem}
 .check-result-heading{gap:.8rem}.check-result-heading .icon{width:1.5rem;height:1.5rem}.check-result-heading h3{font-size:1.4rem}
 .check-result-heading .eyebrow{font-size:.8125rem;letter-spacing:.035em}.check-result-actions{display:grid;grid-template-columns:1fr;gap:.65rem}
 .check-result-actions .button{width:100%;padding:1rem .8rem;font-size:1rem}#check-summary{font-size:1rem;padding:1rem;min-height:25rem}
 .check-reset-actions{gap:.7rem 1rem}.check-reset-actions .text-button{font-size:1rem}
 .large-text .check-progress li{font-size:1rem}.large-text .check-risk-options{grid-template-columns:1fr}.large-text .check-navigation .button{flex-basis:100%}
}
@media print{#self-check-form,.check-intro,.check-result-actions,.check-reset-actions,#check-copy-status{display:none}.check-result{padding:1rem;border:1px solid #aaa}#check-summary{height:auto;min-height:24rem;background:white;color:black}.check-result-heading>.icon{display:none}}
/* Herbal prescribing stays visible as part of the treatment guide. */
.herbal-treatment{padding:2.25rem 2.5rem;background:var(--white);border:1px solid #c6d0d8;border-top:2px solid var(--gold);border-radius:.4rem;margin-top:2rem}
.herbal-heading{display:flex;align-items:center;gap:1.6rem;margin-bottom:1.4rem}
.herbal-heading>div{min-width:0}
.herbal-emblem{display:flex;align-items:center;justify-content:center;flex:0 0 5.5rem;width:5.5rem;height:5.5rem;border:1px solid #b59b6d;border-radius:50%;background:#edf2f6;color:var(--navy)}
.herbal-emblem .icon{width:2.5rem;height:2.5rem;stroke-width:1.5}
.herbal-heading .scene-label{margin-bottom:.55rem;font-size:.9375rem}
.herbal-heading h4{font-size:1.8rem;font-weight:500;line-height:1.6;letter-spacing:-.03em;margin:0 0 .4rem}
.herbal-subtitle{font-size:1.0625rem;line-height:1.85;color:var(--muted);margin:0}
.herbal-description{max-width:58rem;font-size:1.125rem;line-height:1.9;margin-bottom:1.8rem}
.herbal-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;list-style:none;margin:0;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.herbal-flow li{display:flex;align-items:flex-start;gap:.8rem;min-width:0}
.herbal-flow li+li{border-left:1px solid #dce2e8;padding-left:1.2rem}
.herbal-flow .icon{width:1.5rem;height:1.5rem;margin-top:.35rem;color:#796044}
.herbal-flow strong{display:block;font-size:1.125rem;font-weight:600;line-height:1.75;margin-bottom:.5rem}
.herbal-flow strong>span{display:block;font-family:Georgia,serif;font-size:.9375rem;font-weight:400;color:#796044;margin-bottom:.2rem}
.herbal-flow p{font-size:1rem;color:var(--muted);line-height:1.85;margin:0}
.herbal-notice{display:flex;align-items:flex-start;gap:.65rem;font-size:.9375rem;color:var(--muted);line-height:1.85;margin:1.2rem 0 0}
.herbal-notice .icon{width:1.25rem;height:1.25rem;margin-top:.25rem;color:#796044}
.large-text .herbal-flow strong,.large-text .herbal-flow p,.large-text .herbal-subtitle{font-size:1.25rem}
.large-text .herbal-notice,.large-text .herbal-heading .scene-label{font-size:1.0625rem}
@media(max-width:850px){.herbal-treatment{padding:2rem}.herbal-flow{gap:1rem}.herbal-flow li+li{padding-left:1rem}.herbal-flow li{gap:.65rem}.large-text .herbal-flow{grid-template-columns:1fr}.large-text .herbal-flow li+li{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:1rem}}
@media(max-width:680px){.herbal-treatment{padding:1.5rem;margin-top:1.5rem}.herbal-heading{gap:1rem;align-items:flex-start}.herbal-emblem{flex-basis:3.5rem;width:3.5rem;height:3.5rem;margin-top:.2rem}.herbal-emblem .icon{width:1.7rem;height:1.7rem}.herbal-heading h4{font-size:1.5rem}.herbal-heading .scene-label{font-size:.875rem}.herbal-subtitle{font-size:1rem}.herbal-description{font-size:1.125rem;margin-bottom:1.5rem}.herbal-flow{grid-template-columns:1fr;gap:1.1rem;padding:1.4rem 0}.herbal-flow li{gap:1rem}.herbal-flow li+li{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:1.1rem}.herbal-flow strong>span{display:inline-block;margin:0 .65rem 0 0}.herbal-flow strong{font-size:1.125rem}.herbal-flow p{font-size:1.0625rem}.herbal-notice{font-size:.9375rem}.large-text .herbal-heading{display:block}.large-text .herbal-emblem{margin-bottom:1rem}}
@media print{.herbal-treatment{padding:1rem;background:white;color:black;border:1px solid #aaa}.herbal-emblem{display:none}.herbal-flow{display:block;padding:.5rem 0}.herbal-flow li{display:block;padding:.5rem 0}.herbal-flow li+li{border:0;padding-left:0}.herbal-flow strong,.herbal-flow p{color:black}.herbal-notice{color:#333}}

/* Original Haedam artwork, exported from the supplied Illustrator file. */
.brand-lockup{display:flex;align-items:center;gap:.8rem;letter-spacing:0;max-width:100%;min-width:0}
.brand-lockup>.brand-symbol{display:block;flex:0 0 auto;width:3rem;height:2.9rem;object-fit:contain}
.brand-lockup>.brand-wordmark{display:flex;flex-direction:column;gap:.4rem;min-width:0;margin:0;letter-spacing:0}
.brand-wordmark>img{display:block;width:10rem;height:auto}
.brand-lockup .brand-wordmark small{margin:0;font-size:.875rem;line-height:1.55;letter-spacing:.1em;color:var(--muted)}
.footer-brand{min-width:0;letter-spacing:0}
.footer-logo{display:flex;align-items:center;justify-content:center;width:12rem;max-width:100%;padding:1rem 1.1rem;background:var(--white);border:1px solid #dce2e8;border-radius:.3rem}
.footer-logo>img{display:block;width:9.8rem;height:auto}
footer .footer-brand small{font-size:.875rem;line-height:1.8;margin-top:1.1rem}
.hero{border:1px solid #30495e;box-shadow:0 16px 40px rgba(24,44,61,.08)}
.hero-visual{border:1px solid rgba(255,255,255,.15)}
.treatment-card,.consultation-scene,.hours-board{box-shadow:0 8px 26px rgba(24,44,61,.035)}
.hero h1 em{font-weight:400}
@media(max-width:680px){
 .brand-lockup{gap:.6rem}
 .brand-lockup>.brand-symbol{width:2.5rem;height:2.45rem}
 .brand-lockup>.brand-wordmark{gap:.25rem}
 .brand-wordmark>img{width:8rem}
 .brand-lockup .brand-wordmark small{font-size:.875rem;letter-spacing:.055em}
 .footer-logo{width:12rem}
}
@media print{
 .hero{box-shadow:none;border:0}
 .footer-logo{background:white;border:0;padding:0;width:10rem}
 .footer-logo>img{display:block;width:9rem;height:auto}
}

/* Physician philosophy: supplied words, real profile and readable credentials. */
.philosophy-heading{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:2.8rem}
.philosophy-heading h2{margin-bottom:0}
.philosophy-heading>p{position:relative;margin:0;max-width:27rem;font-size:1.125rem;line-height:1.9;color:#d4dce3;background:rgba(var(--surface-rgb),.94)}
.philosophy .philosophy-body{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,5vw,5rem);margin-top:0;align-items:start}
.physician-profile{min-width:0}
.physician-portrait{margin:0}
.physician-portrait>img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:.3rem;border:1px solid #506273}
.physician-portrait figcaption{padding:1.7rem 0 1.2rem}
.physician-role{display:block;font-size:.9375rem;line-height:1.7;color:#d4dce3}
.physician-portrait .director-name{margin:.35rem 0 0;font-size:1.75rem;line-height:1.6;font-weight:500;letter-spacing:.05em}
.physician-portrait .director-name span{font-size:1rem;letter-spacing:0;margin-top:.3rem}
.physician-profile .doctor-bio{border-top:1px solid #506273;padding:1.2rem 0}
.doctor-bio-content{padding-top:1.3rem}
.doctor-bio-content h3{font-size:1.0625rem;font-weight:600;line-height:1.75;color:#e7d5b6;margin:0 0 .6rem}
.doctor-bio-content ul{margin:0 0 1.3rem;font-size:1rem}
.doctor-bio-content ul:last-child{margin-bottom:0}
.philosophy-body>.philosophy-message{border-top:0;padding-top:0;background:rgba(var(--surface-rgb),.96);min-width:0}
.physician-quote{margin:0 0 1.75rem;padding:0 0 1.6rem;border-bottom:1px solid #506273}
.physician-quote p{font-size:clamp(1.75rem,2.6vw,2.4rem);font-weight:400;letter-spacing:-.035em;line-height:1.7;margin-bottom:1rem}
.physician-quote em{font-style:normal;color:#e7d5b6}
.physician-quote cite{font-style:normal;font-size:.9375rem;line-height:1.8;color:#d4dce3}
.philosophy-explanation{font-size:1.125rem;line-height:1.95;margin:0 0 1.6rem}
.philosophy-principles{list-style:none;margin:0;padding:0}
.philosophy-principles li{display:grid;grid-template-columns:2.3rem minmax(0,1fr);gap:1rem;padding:1.4rem 0;border-top:1px solid #506273;min-width:0}
.philosophy-number{font-family:Georgia,serif;font-size:1.5rem;line-height:1.7;color:#dcc8a6}
.philosophy-principles h3{font-size:1.1875rem;font-weight:500;line-height:1.75;letter-spacing:-.02em;margin:0 0 .5rem}
.philosophy-principles p{font-size:1.0625rem;line-height:1.9;margin:0;color:#d4dce3}
.philosophy .philosophy-note{margin:1rem 0 .9rem;font-size:.9375rem;line-height:1.85}
.philosophy-process{color:#e7d5b6;border-bottom-color:#b9a078}
.philosophy-process:hover{border-bottom-color:#e7d5b6}
.large-text .physician-role,.large-text .physician-quote cite{font-size:1.0625rem}
.large-text .philosophy-heading>p,.large-text .philosophy-explanation,.large-text .philosophy-principles h3,.large-text .philosophy-principles p{font-size:1.3rem}
.large-text .physician-quote p{font-size:clamp(1.8rem,2.6vw,2.5rem)}
.large-text .philosophy-process{font-size:1.2rem}
@media(max-width:850px){
 .philosophy-heading{gap:2rem;align-items:flex-start}
 .philosophy .philosophy-body{grid-template-columns:1fr;gap:2rem}
 .physician-portrait{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:2rem;align-items:center}
 .physician-portrait figcaption{padding:0}
 .physician-profile .doctor-bio{margin-top:1.5rem}
 .philosophy-body>.philosophy-message{padding-top:0}
}
@media(max-width:680px){
 .philosophy-heading{display:block;margin-bottom:2rem}
 .philosophy-heading>p{margin-top:1.1rem;font-size:1.0625rem}
 .physician-portrait{grid-template-columns:6rem minmax(0,1fr);gap:1.1rem;align-items:center}
 .physician-portrait>img{aspect-ratio:4/5;object-position:center 22%}
 .physician-portrait .director-name{font-size:1.5rem}
 .physician-portrait .director-name span{font-size:.9375rem;line-height:1.85}
 .physician-role{font-size:.875rem}
 .physician-profile .doctor-bio{margin-top:1.2rem;padding:1rem 0}
 .physician-quote p{font-size:1.75rem;line-height:1.75}
 .physician-quote p br{display:none}
 .physician-quote cite{font-size:.875rem}
 .philosophy-principles li{grid-template-columns:1.8rem minmax(0,1fr);gap:.7rem;padding:1.25rem 0}
 .philosophy-number{font-size:1.3rem}
 .philosophy-principles h3{font-size:1.125rem}
 .large-text .physician-portrait{display:block}
 .large-text .physician-portrait>img{width:8rem;margin-bottom:1rem}
}
@media print{
 .philosophy-heading,.philosophy .philosophy-body{display:block}
 .philosophy-heading>p,.philosophy-body>.philosophy-message{background:white;color:black}
 .physician-portrait>img{display:none}
 .physician-portrait{display:block}
 .physician-role,.physician-portrait .director-name span,.physician-quote em,.physician-quote cite,.philosophy-number,.philosophy-principles p,.philosophy-process{color:#333}
 .physician-quote,.philosophy-principles li{break-inside:avoid;border-color:#aaa}
 .philosophy-process{display:none}
}
