:root{--ink:#302c35;--muted:#6a6470;--purple:#7c3d88;--purple-deep:#693273;--purple-soft:#f4edf6;--line:#e9e3eb;--paper:#fff;--font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.5;letter-spacing:.035em}h2{font-size:2.1rem}h3{font-size:1.2rem}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}.container{width:min(1160px,calc(100% - 96px));margin-inline:auto}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{display:inline-block;flex-shrink:0;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;top:10px;left:10px;background:#fff;padding:10px 18px;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #f1edf2}.header-inner{display:flex;align-items:center;gap:26px;min-height:100px}.brand{display:flex;align-items:center;gap:6px;margin-left:-12px;flex-shrink:0}.brand img{width:87px;height:auto}.brand-copy{display:flex;flex-direction:column}.brand-name{font-size:1.04rem;letter-spacing:.035em;font-weight:600}.brand-sub{font-size:.78rem;color:var(--muted);letter-spacing:.04em}.desktop-nav{display:flex;gap:26px;margin-left:auto;font-size:.875rem;white-space:nowrap}.desktop-nav a{position:relative;padding:12px 0}.desktop-nav a:hover{color:var(--purple)}.header-contact{font-size:.875rem;white-space:nowrap;color:var(--purple-deep);background:var(--purple-soft);border:1px solid #e5d5e9;padding:9px 20px;border-radius:7px;transition:background .2s}.header-contact:hover{background:#ebddee}.menu-toggle{display:none}.mobile-nav{background:#fff;border-top:1px solid var(--line);padding:12px 24px 24px}.mobile-nav a{display:block;border-bottom:1px solid var(--line);padding:13px 2px;color:var(--ink)}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:46px;padding-top:65px;padding-bottom:60px;min-height:640px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:.875rem;letter-spacing:.08em;color:var(--purple);margin-bottom:28px}.eyebrow-line{width:24px;height:1px;background:var(--purple);flex-shrink:0}.hero h1{font-size:clamp(2.5rem,3.85vw,3.8rem);line-height:1.52;letter-spacing:.04em;font-weight:600}.hero h1 span{color:var(--purple)}.hero-description{font-size:1.025rem;line-height:2;margin-top:26px;color:#59535e}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 23px;border-radius:7px;font-size:.925rem;font-weight:500;line-height:1.6;transition:background .2s,box-shadow .2s}.button-primary{background:var(--purple);color:#fff;border:1px solid var(--purple)}.button-primary:hover{background:var(--purple-deep);box-shadow:0 4px 12px #7c3d881c}.button-secondary{color:var(--purple-deep);background:white;border:1px solid #d9c8dd}.button-secondary:hover{background:var(--purple-soft)}.hero-contact-note{margin-top:13px;font-size:.8rem;color:var(--muted)}.hero-contact-note span{font-size:.875rem;letter-spacing:.04em;white-space:nowrap}.hero-trust{margin-top:29px;display:flex;gap:23px;font-size:.875rem;color:#5e5664}.hero-trust>span{display:flex;align-items:center;gap:6px}.hero-trust .icon{width:16px;height:16px;stroke:var(--purple)}.hero-portrait{position:relative;padding:0 0 28px 8px;max-width:480px;justify-self:end;width:100%}.portrait-frame{background:#fff;border:1px solid #eadfee;border-radius:230px 230px 16px 16px;overflow:hidden;position:relative;isolation:isolate;height:480px}.portrait{width:100%;height:100%;object-fit:cover;object-position:50% 31%;mix-blend-mode:multiply}.portrait-name{position:absolute;right:-9px;bottom:52px;background:#fff;border:1px solid #e7dce9;border-radius:9px;padding:16px 28px;box-shadow:0 8px 26px #39294306}.portrait-name>span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:3px}.portrait-name strong{display:flex;align-items:baseline;gap:14px;font-size:1.35rem;letter-spacing:.14em;font-weight:500}.portrait-name small{font-size:.75rem;letter-spacing:.05em;color:var(--muted)}.portrait-caption{position:absolute;bottom:0;left:27px;display:flex;gap:15px;font-size:.775rem;letter-spacing:.07em;color:#736b78}.concerns{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfafc}.concerns-inner{display:grid;grid-template-columns:280px 1fr;gap:35px;padding-block:32px;align-items:center}.section-kicker{color:var(--purple);font-size:.85rem;font-weight:500;letter-spacing:.09em;margin-bottom:12px}.concerns .section-kicker{font-size:.775rem;margin-bottom:5px}.concerns h2{font-size:1.5rem}.concern-links{display:flex;gap:9px;flex-wrap:wrap}.concern-links a{background:#fff;border:1px solid #e4dae6;border-radius:6px;font-size:.875rem;padding:8px 15px;transition:border-color .2s,background .2s}.concern-links a:hover{background:var(--purple-soft);border-color:#c4a1ce}.section-space{padding-block:90px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:45px}.section-intro{max-width:560px;font-size:.95rem;line-height:2;color:var(--muted)}.care-list{border-top:1px solid var(--line)}.care-row{display:grid;grid-template-columns:48px 1.15fr 1.35fr 80px;gap:26px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:130px;transition:background .2s}.care-row:target{background:#faf6fb}.care-number{font-size:1.2rem;font-weight:400;letter-spacing:.06em;color:#a381aa;align-self:start;padding-top:2px}.care-name h3{font-size:1.18rem}.care-name p{font-size:.8rem;color:var(--muted);margin-top:7px}.care-description{font-size:.92rem;line-height:1.9;color:#665f6b}.care-contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;color:var(--purple);font-size:.775rem}.care-contact:hover{color:var(--purple-deep);background:var(--purple-soft);border-radius:6px}.care-contact .icon{width:25px;height:25px}.about-section{background:#f8f4f9;padding-block:78px}.about-inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center}.about-logo{background:white;border:1px solid #ece2ef;aspect-ratio:1/.92;border-radius:150px 150px 10px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px 30px}.about-logo img{width:85%;height:auto}.about-logo p{font-size:.75rem;color:var(--purple);letter-spacing:.11em;margin-top:10px;text-align:center}.about-copy h2{font-size:1.9rem;margin-bottom:24px}.about-copy>p:not(.section-kicker){font-size:.95rem;line-height:2;color:#665d6b;margin-top:15px}.representative{margin-top:29px;padding-top:21px;border-top:1px solid #e1d4e5}.representative-role{font-size:.8rem;color:var(--muted)}.representative-name{font-size:1.3rem;letter-spacing:.08em;margin-top:2px}.representative-name span{font-size:.85rem;letter-spacing:.02em;color:var(--muted)}.representative p{font-size:.85rem;color:var(--muted);line-height:1.95;margin-top:9px}.visit-steps{list-style:none;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding:0}.visit-steps li{border-top:1px solid var(--line);padding-top:21px}.step-number{font-size:.875rem;color:var(--purple);letter-spacing:.08em}.visit-steps h3{font-size:1.1rem;margin-block:12px}.visit-steps p{color:var(--muted);font-size:.925rem;line-height:1.95}.insurance-note{display:flex;gap:21px;align-items:center;background:#f8f5f9;border-radius:8px;padding:25px 31px;margin-top:39px}.insurance-mark{width:45px;height:45px;border:1px solid #d8c3df;display:flex;justify-content:center;align-items:center;border-radius:50%;color:var(--purple);flex-shrink:0}.insurance-note h3{font-size:1rem;margin-bottom:5px}.insurance-note p{font-size:.875rem;color:var(--muted);line-height:1.9}.faq-section{display:grid;grid-template-columns:1fr 1.45fr;gap:65px;padding-bottom:95px}.faq-title h2{font-size:1.75rem}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 0;font-size:.95rem;font-weight:500;line-height:1.8}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{display:flex;align-items:baseline;gap:14px}.faq-list summary b{font-weight:500;color:var(--purple);font-size:.925rem}.faq-list summary .icon{width:19px;height:19px;color:var(--purple);transition:transform .2s}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-answer{padding:0 28px 25px;color:var(--muted);font-size:.925rem;line-height:2}.text-button{background:none;padding:8px 0;color:var(--purple);font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.text-button:hover{color:var(--purple-deep)}.contact-section{background:#f5eef7;border-top:1px solid #ecdfef;border-bottom:1px solid #ecdfef;padding-block:65px}.contact-inner{display:grid;grid-template-columns:1fr 244px;gap:85px;align-items:center}.contact-copy h2{font-size:2.15rem;margin-bottom:18px}.contact-copy>p:not(.section-kicker){font-size:.95rem;color:var(--muted);line-height:2}.contact-actions{display:flex;align-items:center;gap:35px;margin-top:28px;flex-wrap:wrap}.contact-phone{display:flex;flex-direction:column;line-height:1.6}.contact-phone>span{font-size:.775rem;color:var(--muted)}.contact-phone strong{font-size:1.5rem;letter-spacing:.045em;font-weight:500;color:var(--purple-deep);white-space:nowrap}.contact-phone small{font-size:.75rem;color:var(--muted)}.wechat-card{background:white;border:1px solid #e5d6e9;border-radius:11px;padding:20px;text-align:center}.wechat-label{display:block;font-size:.9rem;font-weight:500;color:var(--purple);margin-bottom:10px}.qr-crop{--qr-size:180px;position:relative;width:var(--qr-size);height:var(--qr-size);overflow:hidden;margin-inline:auto;background:white}.qr-crop img{position:absolute;width:500.428%;height:auto;max-width:none;left:-351.073%;top:-744.635%}.wechat-card>p{font-size:.775rem;margin-top:10px;color:var(--muted)}.wechat-card .text-button{font-size:.75rem;padding-top:5px;padding-bottom:0}.site-footer{padding-block:38px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.footer-brand{font-size:.975rem;font-weight:500}.footer-brand span{display:block;font-size:.775rem;color:var(--muted);margin-top:4px}.footer-links{display:flex;gap:21px;font-size:.8rem;color:var(--muted)}.footer-links a:hover{color:var(--purple)}.footer-inner>p{font-size:.75rem;color:#88808d}.mobile-contact-bar{display:none}dialog{padding:0;border:1px solid #e8dcec;background:white;color:var(--ink);border-radius:14px;max-width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 15px 100px #23172e38}dialog::backdrop{background:#241a2d70;backdrop-filter:blur(3px)}.dialog-inner{position:relative;padding:38px 30px 28px;text-align:center}.dialog-close{position:absolute;top:10px;right:10px;width:40px;height:40px;background:#f7f2f9;border-radius:50%;display:grid;place-items:center;color:var(--purple-deep)}.dialog-inner .section-kicker{font-size:.8rem;padding-inline:18px}.dialog-inner h2{font-size:1.5rem;margin-bottom:20px}.dialog-qr{--qr-size:232px}.qr-name{font-size:.875rem;margin-top:15px}.qr-name strong{font-size:1.025rem;font-weight:500;margin-left:6px}.dialog-inner #wechat-dialog-description{margin-top:18px;color:var(--muted);font-size:.875rem;line-height:1.9;text-align:left}.dialog-guide-link{margin-top:20px;width:100%;font-size:.85rem}.dialog-alternative{font-size:.8rem;color:var(--muted);margin-top:20px}.dialog-alternative a{color:var(--purple-deep);font-size:1rem;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){.hero{gap:80px;padding-block:78px}.hero h1{font-size:3.85rem}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{gap:18px;min-height:90px}.brand-name{font-size:.93rem}.brand-sub{font-size:.75rem}.brand img{width:75px}.desktop-nav{gap:18px;font-size:.8rem}.header-contact{padding:9px 15px;font-size:.8rem}.hero{gap:25px;min-height:595px;padding-top:45px;padding-bottom:50px}.hero h1{font-size:2.7rem}.hero-description{font-size:.925rem}.hero-actions{gap:8px}.hero-actions .button{padding:12px 17px;font-size:.85rem}.portrait-frame{height:430px}.hero-trust{gap:15px;font-size:.8rem}.care-row{grid-template-columns:38px 1.1fr 1.2fr 68px;gap:20px}.care-name h3{font-size:1.025rem}.about-inner{gap:55px}.contact-inner{gap:55px}.faq-section{gap:40px;grid-template-columns:1fr 1.4fr}.faq-title h2{font-size:1.55rem}.concerns-inner{grid-template-columns:240px 1fr;gap:24px}.concern-links a{font-size:.8rem;padding:7px 12px}}
@media(max-width:850px){.container{width:calc(100% - 48px)}.desktop-nav{display:none}.header-contact{margin-left:auto}.hero{gap:24px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:2.15rem}.eyebrow{font-size:.775rem;gap:8px}.hero-description{font-size:.875rem}.hero-actions{display:grid;grid-template-columns:1fr;max-width:220px;margin-top:22px;gap:8px}.hero-actions .button{min-height:48px}.hero-trust{flex-direction:column;gap:4px;margin-top:15px}.portrait-frame{height:400px}.portrait-name{right:-5px;padding:13px 17px}.portrait-name strong{font-size:1.15rem;gap:8px}.portrait-name small{font-size:.75rem}.portrait-caption{gap:7px;font-size:.75rem;left:18px}.concerns-inner{grid-template-columns:1fr;gap:18px}.concern-links a{font-size:.85rem}.section-heading{align-items:flex-start}.section-intro{max-width:53%;font-size:.875rem}.care-row{grid-template-columns:32px 1fr 62px;gap:18px}.care-name{grid-column:2}.care-description{grid-column:2;max-width:600px;font-size:.9rem}.care-contact{grid-column:3;grid-row:1/3}.care-number{grid-column:1;grid-row:1/3}.about-inner{gap:38px;grid-template-columns:.75fr 1.25fr}.about-logo{padding:30px 14px}.about-logo p{font-size:.75rem}.about-copy h2{font-size:1.65rem}.about-copy>p:not(.section-kicker){font-size:.875rem}.visit-steps{gap:25px}.visit-steps h3{font-size:1rem}.visit-steps p{font-size:.875rem}.contact-inner{grid-template-columns:1fr 220px;gap:28px}.wechat-card{padding:16px}.contact-copy h2{font-size:1.8rem}.contact-actions{gap:22px;margin-top:25px}.contact-phone strong{font-size:1.35rem}.faq-section{grid-template-columns:1fr;gap:28px}.footer-links{font-size:.8rem}.footer-inner>p{width:100%}.desktop-break{display:none}}
@media(max-width:600px){html{scroll-padding-top:88px}.container{width:calc(100% - 40px)}.header-inner{min-height:78px;gap:10px}.brand{gap:1px;margin-left:-10px}.brand img{width:57px}.brand-name{font-size:.8rem;letter-spacing:.015em}.brand-sub{font-size:.75rem;letter-spacing:0}.header-contact{font-size:.775rem;padding:7px 10px;border-radius:6px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;min-width:34px;min-height:44px}.menu-toggle span{width:19px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.hero{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:32px;min-height:0}.eyebrow{font-size:.8rem;letter-spacing:.035em;margin-bottom:20px}.hero h1{font-size:clamp(1.8rem,7.55vw,2.5rem);line-height:1.6;letter-spacing:.03em}.hero-description{font-size:.925rem;line-height:1.95;margin-top:18px}.hero-actions{display:flex;flex-wrap:nowrap;max-width:none;gap:10px;margin-top:24px}.hero-actions .button{padding:11px 10px;min-height:50px;font-size:.85rem;gap:7px;flex:1}.hero-actions .icon{width:19px;height:19px}.hero-contact-note{font-size:.775rem;margin-top:10px}.hero-trust{flex-direction:row;flex-wrap:wrap;gap:18px;font-size:.8rem;margin-top:15px}.hero-portrait{max-width:330px;justify-self:center;padding:0 9px 26px;margin-top:3px}.portrait-frame{height:330px;border-radius:170px 170px 12px 12px}.portrait-name{right:0;bottom:42px;padding:12px 22px}.portrait-name>span{font-size:.75rem}.portrait-name strong{font-size:1.15rem}.portrait-name small{font-size:.75rem}.portrait-caption{font-size:.75rem;gap:10px;left:50%;transform:translateX(-50%);white-space:nowrap}.concerns-inner{padding-block:27px;gap:17px}.concerns h2{font-size:1.35rem}.concerns .section-kicker{font-size:.75rem}.concern-links{gap:8px;display:grid;grid-template-columns:repeat(2,1fr)}.concern-links a{padding:9px 8px;font-size:.8rem;text-align:center}.section-space{padding-block:57px}.section-heading{display:block;margin-bottom:27px}h2{font-size:1.8rem}.section-kicker{font-size:.8rem;margin-bottom:10px}.section-intro{max-width:none;margin-top:17px;line-height:1.95;font-size:.9rem}.care-row{padding:26px 0;gap:12px 14px;grid-template-columns:25px 1fr 54px}.care-number{font-size:1rem;padding-top:3px}.care-name h3{font-size:1.025rem;letter-spacing:.015em}.care-name p{font-size:.775rem;margin-top:5px}.care-description{font-size:.875rem;line-height:1.95}.care-contact{font-size:.75rem;gap:5px}.care-contact .icon{width:23px;height:23px}.about-section{padding-block:48px}.about-inner{display:flex;flex-direction:column;gap:29px;align-items:stretch}.about-logo{width:210px;aspect-ratio:1/.86;align-self:center;border-radius:115px 115px 9px 9px;padding:27px 18px 17px}.about-logo img{width:95%}.about-logo p{font-size:.75rem;margin-top:1px}.about-copy h2{font-size:1.65rem;margin-bottom:19px}.about-copy>p:not(.section-kicker){font-size:.925rem;line-height:2}.representative{margin-top:23px;padding-top:18px}.representative p{font-size:.85rem}.visit-steps{display:block}.visit-steps li{position:relative;padding:21px 0 23px 49px}.step-number{position:absolute;left:0;top:26px;font-size:.9rem}.visit-steps h3{margin-top:0;margin-bottom:8px;font-size:1.075rem}.visit-steps p{font-size:.9rem}.visit-steps li:last-child{border-bottom:1px solid var(--line)}.insurance-note{margin-top:25px;padding:21px 18px;gap:12px;align-items:flex-start}.insurance-mark{width:31px;height:31px;margin-top:2px}.insurance-mark .icon{width:19px;height:19px}.insurance-note h3{font-size:.925rem;line-height:1.75}.insurance-note p{font-size:.825rem;margin-top:8px}.faq-section{padding-bottom:56px;gap:24px}.faq-title h2{font-size:1.55rem}.faq-list summary{font-size:.875rem;padding:21px 0}.faq-list summary>span{gap:10px}.faq-list summary b{font-size:.825rem}.faq-answer{padding:0 20px 23px;font-size:.875rem}.contact-section{padding-block:42px}.contact-inner{display:block}.contact-copy h2{font-size:1.65rem;line-height:1.65}.contact-copy>p:not(.section-kicker){font-size:.9rem}.contact-actions{gap:20px;align-items:flex-start}.contact-actions>.button{font-size:.875rem;padding-inline:18px}.contact-phone strong{font-size:1.3rem;letter-spacing:.025em}.contact-phone>span{font-size:.75rem}.contact-phone small{font-size:.75rem}.wechat-card{width:230px;margin:30px auto 0;padding:20px}.wechat-label{font-size:.875rem}.wechat-card>p{font-size:.775rem}.wechat-card .text-button{font-size:.8rem}.site-footer{padding-block:29px 106px}.footer-inner{display:block}.footer-brand{font-size:.9rem}.footer-brand span{font-size:.75rem}.footer-links{margin-top:22px;gap:20px;flex-wrap:wrap;font-size:.75rem}.footer-inner>p{font-size:.75rem;margin-top:20px}.mobile-contact-bar{position:fixed;z-index:19;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.98);border-top:1px solid #e2d4e6;padding:9px 16px max(9px,env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 16px #37243808}.mobile-contact-bar button,.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--purple-soft);color:var(--purple-deep);border:1px solid #e2d3e7;border-radius:7px;min-height:43px;font-size:.825rem;line-height:1.4;padding:9px 6px}.mobile-contact-bar a{background:#fff}.mobile-contact-bar .icon{width:19px;height:19px}.dialog-inner{padding:37px 25px 25px}.dialog-qr{--qr-size:min(232px,calc(100vw - 92px))}.dialog-inner #wechat-dialog-description{font-size:.825rem}.dialog-inner .section-kicker{font-size:.75rem}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.brand-name{font-size:.75rem}.brand-sub{font-size:.75rem}.brand img{width:48px}.header-inner{gap:7px}.header-contact{font-size:.75rem;padding:7px 8px}.menu-toggle{min-width:30px}.hero-actions .button{font-size:.775rem;gap:5px;padding-inline:7px}.hero-trust{gap:12px;font-size:.75rem}.hero-portrait{max-width:290px}.portrait-frame{height:295px}.care-row{grid-template-columns:23px 1fr 48px;gap:11px}.care-name h3{font-size:.925rem}.contact-actions{display:grid;grid-template-columns:1fr}.contact-actions>.button{width:100%}.contact-phone{align-items:center}.mobile-contact-bar{padding-inline:12px}.mobile-contact-bar button,.mobile-contact-bar a{font-size:.775rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Main representative profile with a subordinate physician introduction. */
.profile-layout{align-items:start}
.profile-photo{max-width:390px;justify-self:start;width:100%}
.profile-photo img{width:100%;height:auto;border:1px solid #e5dbe8;border-radius:16px;background:#fff}
.profile-photo>p{font-size:.875rem;color:var(--muted);text-align:center;margin-top:12px}
.profile-main .profile-name{font-size:2.25rem;letter-spacing:.08em;margin-bottom:22px}
.profile-name span{display:inline-block;font-size:.875rem;font-weight:400;color:var(--muted);letter-spacing:.04em;margin-left:12px}
.profile-facts{margin:25px 0 0;border-top:1px solid #e1d4e5}
.profile-facts>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid #e1d4e5}
.profile-facts dt{font-size:.875rem;color:var(--purple);font-weight:500}
.profile-facts dd{font-size:1rem;line-height:1.85;margin:0;color:var(--muted)}
.medical-team{margin-top:44px;padding-top:30px;border-top:1px solid #e1d4e5}
.team-intro{max-width:760px;font-size:1rem;line-height:1.95;color:var(--muted);margin:0 0 22px}
.doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.doctor-profile{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:22px;padding:24px;background:#fff;border:1px solid #e8dfeb;border-radius:8px;min-width:0}
.doctor-photo{display:block;width:120px;height:152px;object-fit:cover;object-position:center 20%;border-radius:6px}
.doctor-role{font-size:.875rem;color:var(--muted);margin:0 0 6px}
.doctor-profile h3{font-size:1.15rem;font-weight:500;margin-bottom:12px}
.doctor-profile h3 span{display:inline-block;font-size:.9rem}
.doctor-copy>p:not(.doctor-role){font-size:1rem;line-height:1.95;color:var(--muted);margin-top:10px}
@media(min-width:601px) and (max-width:1000px){.doctor-profile{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(max-width:850px){.profile-layout{grid-template-columns:.7fr 1.3fr;gap:35px}}
@media(max-width:600px){.profile-photo{max-width:260px;align-self:center}.profile-main .profile-name{font-size:2rem}.profile-name span{font-size:.875rem;margin-left:8px}.profile-facts>div{grid-template-columns:65px minmax(0,1fr);gap:12px}.doctor-grid{grid-template-columns:minmax(0,1fr);gap:16px}.doctor-profile{padding:21px;grid-template-columns:minmax(0,1fr);gap:16px}.doctor-photo{width:104px;height:132px}.medical-team{margin-top:32px}}
/* Requested two-line historical name, on desktop and mobile. */
.brand-name>span{display:block;line-height:1.5}
.brand-name>span+span{font-size:1em;font-weight:500}
.brand-copy{min-width:0}
.medical-reference{margin-top:14px;font-size:.875rem}
.medical-reference a{text-decoration:underline;text-underline-offset:4px;color:var(--purple)}
/* Four equal pillars, visible in the opening and in the main care section. */
.hero-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:24px;max-width:520px}
.hero-pillars a{display:flex;align-items:center;gap:10px;min-height:51px;padding:9px 13px;border:1px solid #e4d5e9;border-left:3px solid #bc97c6;background:#faf7fb;border-radius:5px;color:var(--purple-deep);font-size:1.05rem;line-height:1.5;font-weight:500}
.hero-pillars a>span{font-size:.75rem;color:#9873a3;letter-spacing:.04em;font-weight:400}
.hero-pillars a:hover{background:#efe4f3;border-color:#bd98c7}
.hero-pillars+.hero-description{margin-top:19px}
.care-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;border-top:0}
.care-pillars .care-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;align-items:start;gap:14px;padding:30px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}
.care-pillars .care-row:target{background:#faf6fb;border-color:#b990c4}
.care-pillars .care-number{grid-column:1;grid-row:1;padding:0;font-size:.95rem}
.care-pillars .care-name{grid-column:1;grid-row:2}
.care-pillars .care-name h3{font-size:1.55rem;color:var(--purple-deep)}
.care-pillars .care-name p{font-size:.875rem}
.care-pillars .care-description{grid-column:1;grid-row:3;margin:0}
.care-pillars .care-contact{grid-column:1;grid-row:4;display:flex;flex-direction:row;justify-content:flex-start;gap:9px;width:fit-content;max-width:100%;min-height:44px;font-size:.875rem;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.care-pillars .care-contact .icon{width:21px;height:21px}
@media(max-width:850px){.hero-pillars{gap:8px}.hero-pillars a{padding:8px;gap:6px;font-size:.95rem}.care-pillars{gap:16px}.care-pillars .care-row{padding:24px}.care-pillars .care-name h3{font-size:1.4rem}}
@media(max-width:600px){.hero-pillars{margin-top:21px;gap:9px}.hero-pillars a{padding:10px;min-height:50px;font-size:1rem;gap:8px}.hero-pillars+.hero-description{margin-top:17px}.care-pillars{grid-template-columns:minmax(0,1fr);gap:16px}.care-pillars .care-row{padding:25px;gap:11px}.care-pillars .care-name h3{font-size:1.45rem}.care-pillars .care-number{font-size:.875rem}.care-pillars .care-contact{font-size:.875rem}}
@media(max-width:360px){.hero-pillars a{font-size:.925rem;padding:8px;gap:5px}.care-pillars .care-row{padding:21px}}
/* Body copy and frequently used controls retain readable type at every width. */
.hero-description,.section-intro,.care-description,.about-copy>p:not(.section-kicker),.representative p,.visit-steps p,.insurance-note p,.faq-answer,.contact-copy>p:not(.section-kicker),.dialog-inner #wechat-dialog-description{font-size:1rem}
.section-kicker,.concern-links a,.care-contact,.footer-links,.header-contact,.mobile-contact-bar button,.mobile-contact-bar a,.hero-actions .button,.contact-actions>.button,.dialog-guide-link,.text-button,.wechat-card .text-button{font-size:.875rem}
@media(max-width:600px){.brand-name{font-size:.875rem;line-height:1.55}.brand-name>span{display:block}.brand-sub{display:none}.brand img{width:52px}.header-inner{gap:8px}.header-contact{font-size:.875rem;padding:7px 10px}.hero-actions .button{font-size:.875rem}.care-contact{font-size:.875rem}.portrait-caption{font-size:.75rem;gap:8px}.about-logo p{font-size:.75rem;letter-spacing:.03em}.footer-links{font-size:.875rem}.contact-phone small{font-size:.75rem}}
@media(max-width:360px){.brand img{width:43px}.header-contact{padding:7px 8px}.hero-actions .button{font-size:.875rem;padding-inline:6px;gap:5px}.care-row{grid-template-columns:23px 1fr 48px}.about-logo{width:224px}}
/* Image-led hero: real HTML heading remains readable and searchable. */
.hero.hero-with-image{display:block;padding-top:28px;min-height:0}
.hero-banner{position:relative;isolation:isolate;min-height:420px;display:flex;align-items:center;overflow:hidden;border-radius:14px;background:#f5f0f7}
.hero-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.5) 55%,transparent 85%);z-index:-1}
.hero-banner-copy{padding:48px;width:100%}
.hero-with-image h1{font-size:clamp(1.65rem,2.7vw,2.65rem);line-height:1.7;letter-spacing:.015em;text-shadow:0 1px 12px #fff}
.hero-with-image h1 .hero-headline-first{display:block;color:var(--ink)}
.hero-with-image h1 .hero-headline-last{display:block;color:var(--purple-deep)}
.hero-image-note{position:absolute;right:14px;bottom:10px;font-size:.65rem;color:#61556c;background:#ffffffc9;border-radius:3px;padding:1px 6px}
.hero-with-image .hero-copy{max-width:880px;margin:28px auto 0}
.hero-with-image .hero-pillars{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.hero-with-image .hero-description{margin-top:23px}
@media(max-width:850px){.hero-banner-copy{padding:32px}.hero-banner{min-height:360px}.hero-with-image .hero-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hero.hero-with-image{padding-top:18px;padding-bottom:36px}.hero-banner{min-height:340px;align-items:flex-start;border-radius:10px}.hero-banner-image{object-position:65% center}.hero-banner:after{background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,255,255,.75) 48%,rgba(255,255,255,.08) 80%)}.hero-banner-copy{padding:25px 18px}.hero-banner .eyebrow{font-size:.75rem;letter-spacing:0;gap:7px;margin-bottom:19px}.hero-banner .eyebrow-line{width:16px}.hero-with-image h1{font-size:clamp(1.25rem,5.5vw,1.65rem);line-height:1.7;letter-spacing:0}.hero-with-image .hero-copy{margin-top:22px}.hero-with-image .hero-actions{margin-top:23px}}

/* Actual clinic photographs, paired by room and shown without cropping. */
.interior-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.interior-gallery figure{margin:0;min-width:0}
.interior-gallery a{display:block;border-radius:12px;overflow:hidden;background:#f5f0f7}
.interior-gallery img{display:block;width:100%;height:auto}
.interior-gallery figcaption{padding:12px 2px 0;font-size:.9rem;color:var(--ink);font-weight:600}
.interior-gallery a:focus-visible{outline:3px solid var(--purple-deep);outline-offset:4px}
@media(max-width:600px){.interior-gallery{grid-template-columns:1fr;gap:24px}.interior-gallery figcaption{padding-top:9px}}

.insurance-section{padding-bottom:72px}
.insurance-panel{border:1px solid #e4dbea;border-radius:12px;padding:36px;background:#fff}
.insurance-description{margin-top:20px;color:var(--muted);line-height:1.9}
.insurance-logos{margin:24px 0 0}
.insurance-logos a{display:block;max-width:880px;margin:auto}
.insurance-logos img{display:block;width:100%;height:auto}
.insurance-logos figcaption{font-size:.85rem;color:var(--muted);margin-top:10px}
.insurance-company-list{list-style:none;padding:24px 0 0;margin:26px 0 0;border-top:1px solid #e4dbea;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;font-size:.95rem}
.insurance-logos a:focus-visible{outline:3px solid var(--purple-deep);outline-offset:4px}
@media(max-width:600px){.insurance-section{padding-bottom:48px}.insurance-panel{padding:22px 18px}.insurance-company-list{grid-template-columns:1fr;gap:12px}.insurance-description{font-size:.95rem}}

.access-map{margin:0 auto 32px;max-width:760px}.access-map a{display:block;border:1px solid #e4dbea;border-radius:12px;overflow:hidden;background:#fff}.access-map img{display:block;width:100%;height:auto}.access-map figcaption{margin-top:10px;color:var(--muted);font-size:.85rem;text-align:center}.access-map a:focus-visible{outline:3px solid var(--purple-deep);outline-offset:4px}
