:root{--blue:#1264a3;--navy:#123853;--pale:#edf6fc;--text:#547084;--line:#078646}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--navy);font-family:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e8a92e;outline-offset:5px}.topbar{background:var(--blue);color:#fff;text-align:center;font-size:13px;letter-spacing:2px;padding:7px}.topbar span{margin-left:25px;opacity:.85}header{height:92px;padding:0 5%;display:flex;align-items:center;gap:30px;background:#fffffff5;position:sticky;top:0;z-index:20;border-bottom:1px solid #e3edf4}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-weight:800;font-size:23px;letter-spacing:2px}.brand img{width:48px;height:59px;object-fit:cover;object-position:top}.brand small,.footer-brand small{display:block;font-size:10px;letter-spacing:2px;line-height:1.3;font-weight:500}nav{display:flex;gap:25px;font-size:14px;font-weight:600}nav a:hover{color:var(--blue)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:35px;border-radius:6px;padding:14px 23px;font-weight:700;font-size:15px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.line{background:var(--line);color:white}.line:hover{background:#066e3b}.btn span{font-size:21px;line-height:1}.header-cta{padding:10px 18px;gap:18px}.menu{display:none}.hero{background:var(--pale);position:relative;display:grid;grid-template-columns:1fr 1fr;padding:68px 5% 0;gap:35px}.hero-copy{padding:40px 0 15px;z-index:1}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.8px;color:var(--blue);margin-bottom:20px}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:27px;height:1px;background:currentColor;margin-right:12px}h1{font-size:clamp(33px,3.5vw,57px);line-height:1.5;letter-spacing:1px;margin:0 0 22px;font-weight:800}p{color:var(--text);margin:0 0 20px}.hero-copy>p{font-size:17px;line-height:2}.actions{display:flex;align-items:center;gap:25px;margin:28px 0}.text-link{font-size:15px;border-bottom:1px solid #a7bdcd;padding:10px 0}.text-link span{margin-left:22px}.hero-meta{display:flex;gap:17px;font-size:12px;color:var(--text);margin-top:35px}.hero-meta span+span{border-left:1px solid #bacdd9;padding-left:17px}.hero-visual{position:relative;border-radius:120px 12px 12px 12px;overflow:hidden;min-height:430px}.hero-visual>img{height:100%;width:100%;object-fit:cover}.photo-note{position:absolute;bottom:25px;left:25px;background:#ffffffed;padding:16px 24px;border-left:3px solid var(--blue)}.photo-note small{display:block;font-size:10px;letter-spacing:2px;color:var(--text)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #cedfea;padding:18px 0;font-size:12px;letter-spacing:1.5px;margin-top:20px;color:var(--text)}.section{padding:90px 6%;scroll-margin-top:0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px;gap:25px}h2{font-size:clamp(27px,2.7vw,39px);line-height:1.5;letter-spacing:1px;margin:0}h3{font-size:22px;line-height:1.5;margin:8px 0 13px}.section-head p{font-size:14px;margin-bottom:4px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{border:1px solid #dce7ef;border-radius:10px;overflow:hidden;background:white}.service>img{width:100%;height:225px;object-fit:cover}.service-body{padding:28px}.kicker{color:var(--blue);font-size:11px;letter-spacing:2px}.service p{font-size:14px;min-height:76px}.price{display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid #dce7ef;font-size:13px}.price b{font-size:27px;color:var(--blue);font-weight:600}.price a{width:40px;height:40px;border:1px solid #d8e5ef;border-radius:50%;display:grid;place-items:center;font-size:21px;color:var(--blue)}.results{background:#f1f7fb}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filters button{background:#fff;border:1px solid #d9e5ee;color:var(--text);padding:9px 22px;border-radius:30px;font-size:14px}.filters .active{background:var(--blue);color:#fff;border-color:var(--blue)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case{padding:0;border:0;background:white;text-align:left;border-radius:8px;overflow:hidden;color:var(--navy)}.case[hidden]{display:none}.case-img{height:320px;background:#e4edf3}.case img{height:100%;width:100%;object-fit:contain;transition:transform .25s}.case:hover img{transform:scale(1.025)}.case>span{display:flex;justify-content:space-between;padding:16px;font-size:14px;gap:10px}.case b{font-size:12px;color:var(--blue);font-weight:500;white-space:nowrap}.inline-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d7e4ed;margin-top:40px;padding-top:30px;gap:20px}.inline-cta>span{font-size:15px}.care{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.care-photo{position:relative;height:590px;border-radius:12px;overflow:hidden;background:var(--pale)}.care-photo img{width:100%;height:100%;object-fit:cover}.care-photo>span{position:absolute;bottom:0;background:#123853d9;color:white;left:0;right:0;padding:20px 25px;font-size:16px}.care-item{display:flex;gap:20px;border-bottom:1px solid #dfebf2;padding-top:20px}.care-item>b{color:var(--blue);font-size:13px;padding-top:10px}.care-item h3{font-size:18px;margin-bottom:7px}.care-item p{font-size:14px}.reviews{background:var(--pale)}.review-controls{display:flex;gap:10px}.review-controls button{border:1px solid #b4cede;border-radius:50%;width:45px;height:45px;background:transparent;color:var(--blue)}.reviews>.section-head{margin-bottom:16px}.reviews>p{font-size:14px}.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 20px;scrollbar-color:#a1bfd4 transparent}.review{min-width:calc((100% - 44px)/3);width:calc((100% - 44px)/3);height:375px;border:1px solid #dce8ef;background:white;border-radius:9px;padding:14px;scroll-snap-align:start}.review img{width:100%;height:100%;object-fit:contain}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.price-group{border-top:2px solid var(--blue);padding:24px 28px;background:#f7fafc}.price-group h3{font-size:21px}.price-group dl{margin:20px 0}.price-group dl>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce7ef;padding:15px 0;gap:12px}.price-group dt{font-size:14px}.price-group dd{margin:0;white-space:nowrap;color:var(--blue);font-size:23px;font-weight:700}.price-group dd small{font-size:12px;font-weight:400;color:var(--text)}.price-group p{font-size:13px;margin-bottom:10px}.notice{background:var(--pale);padding:22px 28px;margin-top:25px;border-radius:6px}.notice b{font-size:14px}.notice p{font-size:13px;margin:6px 0 0}.area{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;gap:10%;align-items:center}.area .eyebrow{color:#9fd4f6}.area p{color:#d0e1ed;margin:20px 0 24px;font-size:15px}.area-tag{display:inline-block;border:1px solid #678599;border-radius:30px;padding:8px 20px;font-size:14px}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}details{border-bottom:1px solid #dae6ef}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-weight:600;font-size:16px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:21px;color:var(--blue)}details[open] summary:after{content:'−'}details p{font-size:14px}.contact{text-align:center;background:#e8f4fc;padding:75px 6%}.contact h2{font-size:39px}.contact p{margin:20px 0}.contact .actions{justify-content:center}.phone{border:1px solid #a9c8dc}.contact small{color:var(--text);font-size:13px}footer{padding:40px 6%;display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-brand{font-size:22px;font-weight:700;letter-spacing:2px}footer p{font-size:12px;margin:0}footer>small{font-size:11px;color:var(--text)}.floating{position:fixed;bottom:22px;right:22px;background:var(--line);color:white;padding:12px 20px;border-radius:30px;box-shadow:0 5px 20px #12385325;z-index:25;font-size:14px}dialog{border:0;border-radius:12px;padding:22px;max-width:92vw;max-height:92vh;color:var(--navy)}dialog::backdrop{background:#071c2ad9}dialog img{max-height:75vh;max-width:85vw;object-fit:contain;margin:auto}dialog p{padding-right:40px;font-size:14px}.close{position:absolute;right:10px;top:6px;font-size:30px;border:0;background:white;color:var(--navy)}
@media(min-width:1500px){header{padding-inline:calc((100% - 1320px)/2)}.section{padding-inline:calc((100% - 1280px)/2)}.hero{padding-inline:calc((100% - 1320px)/2)}}
@media(max-width:1050px){header{gap:18px;padding:0 4%}nav{gap:16px;font-size:13px}.header-cta{display:none}.hero{padding-top:35px;gap:20px}.hero-copy{padding-top:20px}.hero-meta{gap:10px;flex-wrap:wrap}.hero-meta span+span{padding-left:10px}.hero-visual{min-height:390px}.section{padding:65px 5%}.service-body{padding:20px}.care-photo{height:520px}.gallery{gap:16px}.case-img{height:280px}}
@media(max-width:720px){.topbar{font-size:11px;letter-spacing:1px}.topbar span{margin-left:12px}header{height:76px}.brand{font-size:20px}.brand img{width:37px;height:47px}.brand small{font-size:9px}.menu{display:block;background:none;border:1px solid #d1e1ed;border-radius:5px;padding:3px 11px;color:var(--navy);font-size:23px}nav{display:none;position:absolute;left:0;right:0;top:76px;background:white;padding:20px 6%;box-shadow:0 12px 20px #12385315;flex-direction:column;font-size:16px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:35px 6% 0;gap:18px}.hero-copy{padding:0}h1{font-size:35px;line-height:1.5;letter-spacing:0}.hero-copy>p{font-size:15px}.eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:15px}.actions{gap:19px;margin:22px 0}.btn{padding:12px 18px;gap:24px;font-size:14px}.text-link{font-size:13px}.text-link span{margin-left:8px}.hero-meta{font-size:11px;margin-top:24px}.hero-visual{min-height:0;height:300px;border-radius:60px 8px 8px 8px}.photo-note{left:15px;bottom:15px;padding:10px 16px;font-size:13px}.photo-note small{font-size:9px}.hero-bottom{font-size:10px;margin-top:4px;letter-spacing:0}.section{padding:55px 6%}.section-head{display:block;margin-bottom:27px}.section-head p{margin-top:16px;font-size:13px}h2{font-size:28px}.services{grid-template-columns:1fr;gap:22px}.service>img{height:225px}.service-body{padding:24px}.service p{min-height:0}.gallery{grid-template-columns:repeat(2,1fr);gap:13px}.case-img{height:240px}.case>span{display:block;font-size:12px;padding:12px}.case b{display:block;margin-top:5px}.filters{gap:7px}.filters button{font-size:12px;padding:8px 14px}.inline-cta{flex-direction:column;align-items:start}.inline-cta>span{font-size:14px}.care{grid-template-columns:1fr;gap:30px}.care-photo{height:420px}.review-controls{margin-top:20px}.review{min-width:85%;height:365px}.pricing-grid{grid-template-columns:1fr;gap:20px}.price-group{padding:20px}.price-group dt{font-size:13px}.price-group dd{font-size:22px}.notice{padding:20px}.area{grid-template-columns:1fr;gap:27px}.faq{grid-template-columns:1fr;gap:22px}summary{font-size:15px}.contact{padding:55px 6%}.contact h2{font-size:29px}.contact small{font-size:11px}footer{align-items:start;flex-direction:column;gap:22px;padding-bottom:95px}.floating{bottom:14px;right:14px;font-size:13px}dialog{padding:16px}.hero-visual img{object-position:center}.review-track{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.cta-arrow{flex-shrink:0;transition:transform .2s ease}.line:hover .cta-arrow,.floating:hover .cta-arrow{transform:translateX(3px)}.floating{display:inline-flex;align-items:center;gap:14px}

.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.price-group{padding:24px 20px}.price-group dl>div{flex-wrap:wrap;gap:4px 12px}.price-group dt{flex:1 1 140px}.price-group dd{margin-left:auto}@media(max-width:1050px){.pricing-grid{grid-template-columns:1fr}.price-group{padding:24px 28px}}@media(max-width:720px){.price-group{padding:20px}}
