@charset "UTF-8";
:root{--forest:#153e35;--green:#28634f;--lime:#dce5a8;--ink:#203b34;--muted:#52675f;--paper:#faf9f4;--line:#d8ddd1;--white:#fff;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:"Microsoft JhengHei","PingFang TC",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #bd7b24;outline-offset:5px}a:hover{text-decoration:none}::selection{background:var(--lime);color:var(--forest)}.skip-link{position:fixed;top:-80px;left:12px;padding:12px;background:white;z-index:100}.skip-link:focus{top:12px}.draft-bar{height:30px;background:#edf0e5;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.1em;gap:18px;color:#4e5a45}.draft-bar span{opacity:.8;border-left:1px solid #bdc6b0;padding-left:18px}.site-header{position:sticky;top:0;z-index:10;background:rgba(250,249,244,.97);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px;padding:18px max(5%,calc((100% - 1280px)/2));border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-star{font-size:47px;line-height:1;color:#369956}.wordmark strong{font-size:22px;letter-spacing:.14em;line-height:1.3;display:block}.wordmark small{font-size:9px;font-weight:600;letter-spacing:.23em;display:block;margin-top:5px}.desktop-nav{display:flex;gap:26px;font-size:13px;font-weight:600}.desktop-nav a:hover{color:#3d815b}.header-cta{display:flex;gap:22px;align-items:center;border:1px solid var(--forest);padding:10px 17px;font-size:12px;font-weight:bold;white-space:nowrap}.header-cta:hover{background:var(--forest);color:white}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:5.5%;padding:76px 5% 60px;min-height:610px;align-items:center}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:11px}.small-star{font-size:20px;color:var(--green)}h1{font-family:var(--serif);font-size:clamp(38px,4.1vw,62px);line-height:1.45;letter-spacing:.015em;font-weight:500;margin-top:24px}.serif-em{color:var(--green)}.hero-description{font-size:15px;color:var(--muted);line-height:1.95;max-width:430px;margin-top:22px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 22px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--forest);color:white}.primary:hover{background:#24624c}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;padding:9px 0;border-bottom:1px solid #98ab9d}.hero-footnote{display:flex;gap:16px;margin-top:39px;font-size:11px;letter-spacing:.05em;color:var(--muted)}.hero-footnote span+span{border-left:1px solid #b2beb4;padding-left:16px}.hero-visual{position:relative;padding:0 0 32px 0}.photo-frame{position:relative;background:#c9d4c6;aspect-ratio:1.05;overflow:hidden;border-radius:180px 180px 4px 4px}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-frame:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(13,36,28,.87));pointer-events:none}.photo-caption{position:absolute;bottom:30px;left:30px;right:24px;z-index:1;color:white}.photo-caption span{font-size:9px;letter-spacing:.13em}.photo-caption strong{display:block;margin-top:10px;font-size:19px;font-weight:500}.location-tag{position:absolute;bottom:0;right:-15px;display:flex;align-items:center;gap:16px;background:var(--lime);padding:16px 20px;font-size:11px}.location-tag>span{font-size:22px}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 5%;display:flex;justify-content:space-between;gap:20px;font-size:12px;max-width:1440px;margin:auto}.intro-strip p:first-child{font-weight:600}.intro-strip p:first-child span{font-size:18px;vertical-align:middle;margin-right:15px}.intro-strip p+p{color:var(--muted)}.intro-strip p+p span{padding:0 15px;color:#9da997}.section{padding:86px 5%;max-width:1440px;margin:auto}h2{font-family:var(--serif);font-size:clamp(32px,3.2vw,45px);line-height:1.45;font-weight:500;letter-spacing:.02em;margin-top:18px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:38px}.section-intro{max-width:390px;color:var(--muted);font-size:14px;line-height:1.9}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.care-card{padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;min-height:315px}.care-card.featured{background:#e9eddf}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.number{font-size:12px;color:var(--muted)}.pill{font-size:10px;padding:4px 10px;border:1px solid #c5cdbb;border-radius:30px}.care-card h3{font-size:25px;font-weight:600;margin-top:25px;line-height:1.4}.english{font-size:8px;letter-spacing:.1em;color:var(--muted);margin-top:7px}.care-card>p:not(.english){font-size:13px;color:var(--muted);line-height:1.9;margin:22px 0 26px}.card-link{display:flex;justify-content:space-between;margin-top:auto;padding-top:17px;border-top:1px solid #bfcbbb;font-size:12px;font-weight:600}.card-link:hover{color:#3d815b}.care-note{font-size:11px;color:var(--muted);margin-top:20px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#edf0e6}.approach-intro{font-size:14px;color:var(--muted);max-width:345px;margin:24px 0 17px}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #cad3c3}.steps li:first-child{padding-top:0}.steps li>span{font-family:Georgia,serif;font-size:32px;color:#738772;line-height:1.4}.steps h3{font-size:18px;font-weight:600}.steps p{font-size:13px;color:var(--muted);margin-top:10px}.family{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;border-bottom:1px solid var(--line)}.family-list>a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:21px 0}.family-list>a:first-child{padding-top:0}.family-list>a:last-child{border-bottom:0;padding-bottom:0}.family-list strong{display:block;font-size:19px;font-weight:500}.family-list small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.family-list>a>span:last-child{font-size:22px}.family-list a:hover strong{color:#3d815b}.faq-list{max-width:100%;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:17px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:23px;transition:transform .15s}details[open] summary span{transform:rotate(45deg)}details p{max-width:800px;color:var(--muted);font-size:14px;line-height:1.9;padding:0 50px 26px 0}.visit{background:var(--forest);color:#f3f4e8;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:70px max(5%,calc((100% - 1280px)/2));margin:auto}.visit .eyebrow{color:#c2d2b4}.visit h2{font-size:43px}.visit-copy>p:not(.eyebrow){font-size:14px;color:#c6d6ca;margin:22px 0 28px}.light{background:var(--lime);color:var(--forest)}.light:hover{background:#e8edc6}.visit-details{padding-top:15px}.visit address{font-style:normal;font-size:20px;line-height:1.8;margin-top:28px}.map-link{display:inline-flex;font-size:12px;gap:22px;border-bottom:1px solid #768f7d;margin-top:16px;padding:7px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px;padding-top:25px;border-top:1px solid #4a6b5e}.contact-grid small{display:block;font-size:11px;color:#b9ccbd;margin-bottom:8px}.contact-grid a{font-size:23px;letter-spacing:.03em}.hours-note{font-size:11px;margin-top:28px;color:#c6d6ca}footer{padding:35px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center;max-width:1440px;margin:auto}footer .wordmark strong{font-size:17px}footer .brand-star{font-size:32px}footer .wordmark small{font-size:7px}footer>p{font-size:12px;color:var(--muted)}footer>small{font-size:10px;color:var(--muted)}.mobile-contact{display:none}
@media(min-width:1600px){.hero{gap:80px}}@media(max-width:1100px){.desktop-nav{gap:16px;font-size:11px}.site-header{gap:16px}.header-cta{font-size:11px;padding:10px 12px;gap:10px}.wordmark strong{font-size:20px}.brand-star{font-size:40px}.hero{padding-top:55px}.care-card{padding:22px}.care-card h3{font-size:23px}.pill{font-size:9px}.intro-strip{font-size:11px}.intro-strip p+p span{padding:0 8px}}
@media(max-width:850px){.desktop-nav{display:none}.hero{gap:28px;padding-top:40px;padding-bottom:38px;min-height:auto}h1{font-size:36px}.hero-description{font-size:13px}.hero-footnote{gap:10px;font-size:10px;margin-top:26px}.hero-footnote span+span{padding-left:10px}.actions{gap:17px;margin-top:24px}.hero .button{font-size:11px;padding:12px 15px;gap:18px}.hero .text-link{font-size:11px}.photo-frame{aspect-ratio:.8;border-radius:130px 130px 3px 3px}.photo-caption{left:20px;bottom:24px}.photo-caption strong{font-size:16px}.photo-caption span{font-size:8px}.location-tag{right:-5px;padding:12px;font-size:9px;gap:10px}.intro-strip{flex-direction:column;gap:6px}.section{padding-top:65px;padding-bottom:65px}.section-top{gap:28px}.section-intro{max-width:290px;font-size:13px}.care-grid{gap:12px}.care-card{padding:18px}.card-heading{align-items:flex-start;flex-direction:column;gap:10px}.care-card h3{font-size:22px;margin-top:20px}.english{font-size:7px;letter-spacing:.04em}.care-card>p:not(.english){font-size:12px}.card-link{font-size:11px}.approach{gap:7%}.steps li{gap:15px}.family{gap:8%}.family-list strong{font-size:18px}.visit{gap:7%;padding-top:60px;padding-bottom:60px}.visit address{font-size:17px}.contact-grid a{font-size:20px}footer>p{display:none}}
@media(max-width:600px){html{scroll-padding-top:85px}.draft-bar{font-size:9px;height:25px}.site-header{min-height:77px;padding:14px 6%;gap:12px}.wordmark{gap:9px}.brand-star{font-size:35px}.wordmark strong{font-size:19px}.wordmark small{font-size:7px;margin-top:3px}.header-cta{font-size:10px;padding:9px 10px;gap:9px}.hero{grid-template-columns:1fr;padding:35px 6% 30px;gap:30px}.hero .eyebrow{font-size:10px}.hero h1{font-size:clamp(35px,9.4vw,46px);margin-top:18px;line-height:1.4}.hero-description{font-size:14px;margin-top:18px;max-width:100%}.actions{gap:22px;margin-top:23px}.hero .button{font-size:12px;gap:22px;padding:13px 18px}.hero .text-link{font-size:12px}.hero-footnote{font-size:10px;margin-top:24px;gap:15px}.hero-footnote span+span{padding-left:15px}.hero-visual{padding-bottom:22px}.photo-frame{aspect-ratio:1.22;border-radius:110px 110px 4px 4px}.photo-caption{bottom:28px;left:24px}.photo-caption strong{font-size:18px}.photo-caption span{font-size:8px}.location-tag{right:-5px;font-size:10px;padding:10px 14px}.intro-strip{padding:17px 6%;gap:9px}.intro-strip p+p{font-size:10px}.intro-strip p+p span{padding:0 6px}.section{padding:50px 6%}.eyebrow{font-size:9px}h2{font-size:32px;margin-top:14px}.section-top{display:block;margin-bottom:28px}.section-intro{max-width:100%;margin-top:20px;font-size:13px}.care-grid{grid-template-columns:1fr;gap:14px}.care-card{min-height:auto;padding:24px}.card-heading{flex-direction:row;align-items:center}.pill{font-size:10px}.care-card h3{font-size:26px;margin-top:19px}.english{font-size:8px;letter-spacing:.1em}.care-card>p:not(.english){font-size:13px;margin:17px 0 22px}.card-link{font-size:12px}.care-note{font-size:10px;line-height:1.9}.approach{grid-template-columns:1fr;gap:34px}.approach-intro{max-width:100%;font-size:13px;margin-top:20px}.steps li{gap:22px;padding:22px 0}.steps h3{font-size:17px}.family{grid-template-columns:1fr;gap:31px}.family-list>a{padding:22px 0}.family-list strong{font-size:18px}.family-list small{font-size:11px}summary{font-size:15px;padding:21px 0;line-height:1.7}details p{font-size:13px;padding:0 15px 23px 0}.visit{grid-template-columns:1fr;gap:44px;padding:50px 6%}.visit h2{font-size:35px}.visit-copy>p:not(.eyebrow){font-size:13px}.visit-details{border-top:1px solid #4a6b5e;padding-top:30px}.visit address{font-size:17px;margin-top:20px}.contact-grid{margin-top:25px}.contact-grid a{font-size:23px}.hours-note{font-size:10px}footer{padding:28px 6% 94px;align-items:flex-start;flex-direction:column;gap:18px}footer>small{font-size:9px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:12;background:var(--paper);display:grid;grid-template-columns:.75fr 1.25fr;border-top:1px solid var(--line);box-shadow:0 -4px 20px #19392c0d;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px;min-height:44px}.mobile-contact a:last-child{background:var(--forest);color:white}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.button:hover{transform:none}}

/* Keep the original brand artwork intact and the page sections reachable on narrow screens. */
.site-header{padding-top:10px;padding-bottom:10px}
.wordmark{gap:0}
.brand-logo{width:164px;height:auto;object-fit:contain}
.header-cta{min-height:44px}
.mobile-nav{display:none}
.desktop-nav a[aria-current="location"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
footer .brand-logo{width:170px}
@media(max-width:850px){
  html{scroll-padding-top:142px}
  .site-header{display:grid;grid-template-columns:1fr auto;gap:0 16px;padding-top:10px;padding-bottom:0}
  .site-header .brand-logo{width:132px}
  .mobile-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:8px}
  .mobile-nav a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent}
  .mobile-nav a:hover,.mobile-nav a[aria-current="location"]{color:var(--forest);border-bottom-color:var(--green);background:#edf0e6}
  .mobile-nav a:focus-visible{outline-offset:-4px}
}
@media(max-width:600px){
  .site-header{padding-left:6%;padding-right:6%}
  .site-header .brand-logo{width:128px}
  .mobile-nav a{font-size:11px}
  footer .brand-logo{width:160px}
}
/* Service and contact pages */
.desktop-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.mobile-nav a[aria-current="page"]{border-bottom-color:var(--green);background:#edf0e6}
.anchor-alias{position:absolute;width:1px;height:1px;overflow:hidden;pointer-events:none;scroll-margin-top:150px}
.family,.visit,.care{position:relative}.service-more{margin-top:24px}.detail-hero{padding-top:35px;padding-bottom:55px;border-bottom:1px solid var(--line)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:44px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.detail-hero h1{font-size:clamp(34px,4.2vw,58px);margin-top:20px;max-width:900px}.detail-intro{font-size:16px;color:var(--muted);max-width:760px;margin:24px 0 28px;line-height:1.95}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:8%;padding-top:55px;padding-bottom:55px;align-items:start}
.detail-section{padding-bottom:35px;margin-bottom:30px;border-bottom:1px solid var(--line)}.detail-section:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.detail-section h2{font-family:var(--sans);font-size:25px;line-height:1.5;font-weight:500;margin:0 0 20px}.detail-section p,.detail-section li{font-size:14px;color:var(--muted);line-height:1.95}
.detail-section p+p{margin-top:16px}.detail-section ul{margin:20px 0 0;padding-left:22px}.detail-section li+li{margin-top:12px}.detail-content .faq-list{margin-top:24px}.detail-content summary{font-size:15px;line-height:1.7}
.detail-aside{background:#e9eddf;padding:30px;position:sticky;top:120px}.detail-aside h2{font-size:30px;margin-top:18px;margin-bottom:18px}.detail-aside>p:not(.eyebrow){font-size:13px;color:var(--muted)}.aside-phone{display:block;font-size:25px;margin:22px 0}.detail-aside .button{display:flex;font-size:12px;padding:12px 14px;gap:12px}.detail-aside .aside-note{font-size:11px!important;margin-top:18px}.detail-aside .text-link{font-size:11px;margin-top:12px}
.related{background:#edf0e6}.related h2{font-size:30px}.related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.related a{display:flex;justify-content:space-between;gap:15px;padding:20px 0;font-size:14px;border-top:1px solid #b9c7b7}.related a:hover{color:var(--green)}.not-found{min-height:55vh}.not-found p:not(.eyebrow){margin:25px 0}
@media(max-width:850px){.detail-layout{grid-template-columns:minmax(0,1fr) 260px;gap:5%}.detail-aside{top:150px;padding:22px}.detail-hero{padding-top:25px}.detail-intro{font-size:14px}.detail-section h2{font-size:23px}.breadcrumbs{margin-bottom:30px}}
@media(max-width:650px){.detail-layout{grid-template-columns:1fr;gap:35px}.detail-aside{position:static;padding:26px}.detail-hero{padding-bottom:35px}.detail-hero h1{font-size:35px}.detail-hero .button{font-size:12px}.detail-section p,.detail-section li{font-size:13px}.detail-section h2{font-size:22px}.detail-layout{padding-top:36px}.detail-section{padding-bottom:25px;margin-bottom:27px}.related>div{grid-template-columns:1fr;gap:0}.related a{padding:18px 0}.related h2{font-size:27px}}
