@font-face{font-family:ChenYuluoyan;src:url(/fonts/slogan.woff)format("woff");font-display:swap}:root{--bg:#fff;--bg-alt:#f1f2f4;--ink:#121416;--ink-2:#565b61;--line:#dcdfe3;--overlay:#0c0e10a8;--on-photo:#fff;--logo-ink:#444;--logo-mark:#d68a5c;--f-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--f-latin:"Jost", "Noto Sans TC", system-ui, sans-serif;--f-hand:"ChenYuluoyan", "LXGW WenKai TC", "Noto Sans TC", cursive;--wrap:1280px;--gut:clamp(16px, 4vw, 48px);--sec:clamp(64px, 9vw, 120px);--ease:cubic-bezier(.2, .7, .2, 1)}:root,:root[data-theme=dark]{color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:400 16px/1.8 var(--f-sans);-webkit-font-smoothing:antialiased}a{color:inherit}img,video{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;letter-spacing:.02em;font-weight:400}.wrap{max-width:var(--wrap);padding-inline:var(--gut);margin:0 auto}.eyebrow{font:500 12px/1.4 var(--f-latin);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.muted{color:var(--ink-2)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.hdr{top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid #0000;transition:border-color .3s;position:sticky}.hdr.scrolled{border-bottom-color:var(--line)}.hdr .wrap{align-items:center;gap:24px;height:76px;display:flex}.brand{line-height:0;display:block}.brand svg{aspect-ratio:376.97/104.83;width:auto;height:40px}.nav{gap:28px;margin-left:auto;display:flex}.nav a{color:var(--ink-2);letter-spacing:.06em;border-bottom:1px solid #0000;padding-block:6px;font-size:14px;text-decoration:none;transition:color .2s,border-color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.menu-btn{color:var(--ink);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:10px;display:none}.menu-btn span{background:currentColor;width:22px;height:1.5px;margin:5px 0;display:block}.btn{border:1px solid var(--ink);background:var(--ink);min-height:46px;color:var(--bg);font:500 13px/1 var(--f-sans);letter-spacing:.14em;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.btn:hover,.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--bg)}.btn[disabled]{opacity:.5;cursor:default}.link{letter-spacing:.06em;border-bottom:1px solid;padding-bottom:2px;font-size:14px;text-decoration:none}.hero{padding-block:clamp(32px,6vw,72px) 0}.hero-top{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:32px 64px;display:grid}.slogan{font-family:var(--f-hand);letter-spacing:.04em;font-size:clamp(30px,4.5vw,60px);font-weight:400;line-height:1.22}.slogan span{display:block}@media (width>=761px){.slogan span{white-space:nowrap}}.hero-side{justify-items:start;gap:24px;padding-bottom:12px;display:grid}.hero-side p{color:var(--ink-2);max-width:30ch;font-size:17px}.hero-media{aspect-ratio:21/9;background:var(--bg-alt);margin-top:clamp(32px,5vw,56px);position:relative;overflow:hidden}.hero-media .sl{opacity:0;background:50%/cover no-repeat;transition:opacity 1.6s;position:absolute;inset:0}.hero-media .sl.on{opacity:1}.hero-media .sl img{object-fit:cover;width:100%;height:100%;display:block}.sec{padding-block:var(--sec)}.sec.alt{background:var(--bg-alt)}.sec-head{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:24px 64px;margin-bottom:clamp(32px,4vw,56px);display:grid}.sec-head h2{font-size:clamp(28px,3.6vw,44px);font-weight:300;line-height:1.3}.sec-head p{color:var(--ink-2);max-width:34ch;font-size:15px}.sec-foot{margin-top:40px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.card{color:inherit;text-decoration:none;display:block}.card .media{aspect-ratio:4/5;background:var(--bg-alt);position:relative;overflow:hidden}.card img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.card .layer{background:var(--overlay);color:var(--on-photo);opacity:0;transition:opacity .45s var(--ease);flex-direction:column;justify-content:flex-end;gap:8px;padding:clamp(20px,2.4vw,32px);display:flex;position:absolute;inset:0}.card .layer>*{transition:transform .5s var(--ease);transform:translateY(20px)}.card .layer .eyebrow{color:#ffffffc7}.card .layer h3{font-size:22px;font-weight:400;line-height:1.4}.card .layer p{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.card .layer .meta{font:400 12px/1.4 var(--f-latin);letter-spacing:.08em;color:#ffffffc7;margin-top:6px}.card:hover .layer,.card:focus-visible .layer{opacity:1}.card:hover .layer>*,.card:focus-visible .layer>*{transform:none}.card:hover img,.card:focus-visible img{transform:scale(1.045)}.card .cap{padding-top:14px;display:none}.card .cap h3{font-size:18px}.card .cap p{color:var(--ink-2);font-size:13px}@media (hover:none){.card .layer{display:none}.card .cap{display:block}}.empty{color:var(--ink-2);grid-column:1/-1;padding:48px 0}.svc{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.svc article{background:var(--bg);align-content:start;display:grid}.svc .ph{aspect-ratio:3/2;background:var(--bg-alt);overflow:hidden}.svc .ph img{object-fit:cover;width:100%;height:100%}.ph-empty{width:100%;height:100%;color:var(--ink-2);place-items:center;font-size:13px;display:grid}.svc .txt{gap:10px;padding:24px 24px 28px;display:grid}.svc h3{font-size:22px}.svc p{color:var(--ink-2);font-size:15px}.split{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;display:grid}.split .panel{background:var(--bg-alt);align-content:space-between;gap:32px;padding:clamp(28px,4vw,48px);display:grid}.split .panel h2{font-size:clamp(26px,2.8vw,34px);font-weight:300;line-height:1.4}.split .panel p{color:var(--ink-2);font-size:15px}.split .big{aspect-ratio:16/10;background:var(--bg-alt);position:relative;overflow:hidden}.split .big img{object-fit:cover;width:100%;height:100%}.yi{font-family:var(--f-hand);font-size:64px;line-height:1}.steps{border-top:1px solid var(--line);counter-reset:s;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.steps li{border-bottom:1px solid var(--line);align-content:start;gap:8px;padding:28px 28px 32px 0;list-style:none;display:grid}.steps li:before{counter-increment:s;content:counter(s, decimal-leading-zero);font:300 28px/1 var(--f-latin);color:var(--ink-2);margin-bottom:8px}.steps h3{font-size:19px}.steps p{color:var(--ink-2);max-width:32ch;font-size:14px}.steps .dur{font:400 12px/1.4 var(--f-latin);letter-spacing:.1em;color:var(--ink-2)}ol.steps{margin:0;padding:0}.cta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-block:clamp(48px,6vw,80px);display:flex}.cta h2{font-size:clamp(26px,3vw,38px);font-weight:300}.page-head{gap:16px;padding-block:clamp(40px,6vw,80px) clamp(24px,3vw,40px);display:grid}.page-head h1{font-size:clamp(34px,5vw,60px);font-weight:300;line-height:1.2}.page-head p{color:var(--ink-2);max-width:46ch}.chips{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.chip{border:1px solid var(--line);min-height:38px;color:var(--ink-2);font:400 14px/1 var(--f-sans);cursor:pointer;background:0 0;border-radius:999px;padding:0 18px;transition:all .2s}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pd-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:24px 64px;padding-block:clamp(32px,5vw,64px) 32px;display:grid}.pd-head h1{margin-top:12px;font-size:clamp(32px,4.6vw,56px);font-weight:300;line-height:1.25}.pd-meta{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding-top:20px;display:grid}.pd-meta dt{font:500 11px/1.4 var(--f-latin);letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}.pd-meta dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:16px}.pd-summary{gap:1em;max-width:62ch;padding-block:40px;font-size:17px;line-height:1.9;display:grid}.pd-summary h2,.pd-summary h3{margin-top:.6em;font-size:22px;font-weight:400}.pd-summary ul,.pd-summary ol{margin:0;padding-left:1.4em}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.gallery figure{background:var(--bg-alt);margin:0;position:relative;overflow:hidden}.gallery figure:first-child{aspect-ratio:16/9;grid-column:1/-1}.gallery figure:not(:first-child){aspect-ratio:3/2}.gallery img{object-fit:cover;width:100%;height:100%}.pd-nav{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-block:48px;display:flex}.pd-nav a{gap:4px;max-width:45%;text-decoration:none;display:grid}.pd-nav a:last-child{text-align:right}.pd-nav span{font-size:18px}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 64px;display:grid}.about-grid .word{border-top:1px solid var(--ink);gap:14px;padding:32px 0;display:grid}.about-grid .word b{font-family:var(--f-hand);font-size:72px;font-weight:400;line-height:1}.about-grid .word p{color:var(--ink-2);max-width:40ch}.values{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.values div{align-content:start;gap:8px;display:grid}.values h3{font-size:19px}.values p{color:var(--ink-2);font-size:15px}.contact{padding-bottom:var(--sec);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:48px 64px;display:grid}form.book{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.field{gap:8px;min-width:0;display:grid}.field.full{grid-column:1/-1}.field label,.field legend{color:var(--ink-2);letter-spacing:.04em;padding:0;font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:46px;color:var(--ink);font:400 15px/1.5 var(--f-sans);border-radius:2px;padding:10px 14px}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:none}fieldset.field{border:0;margin:0;padding:0}.radios{flex-wrap:wrap;gap:8px;display:flex}.radios label{position:relative}.radios input{opacity:0;pointer-events:none;position:absolute}.radios span{border:1px solid var(--line);min-height:40px;color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;padding:0 16px;font-size:14px;display:inline-flex}.radios input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}.radios input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.form-msg{grid-column:1/-1;font-size:14px}.form-msg.ok{background:var(--bg-alt);color:var(--ink);padding:16px 18px}.req{color:var(--ink)}.info{border-top:1px solid var(--line);gap:0;display:grid}.info .row{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr);align-items:start;gap:16px;padding:18px 0;display:grid}.info dt{font:500 11px/1.9 var(--f-latin);letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}.info dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;display:flex}.copy{border:1px solid var(--line);color:var(--ink-2);font:400 12px/1 var(--f-sans);cursor:pointer;background:0 0;border-radius:2px;padding:6px 10px}.copy:hover{color:var(--ink);border-color:var(--ink)}.mapcard{aspect-ratio:4/3;background:var(--bg-alt);place-items:end start;margin-top:24px;padding:20px;text-decoration:none;display:grid;position:relative;overflow:hidden}.mapcard svg.streets{width:100%;height:100%;position:absolute;inset:0}.mapcard svg.streets path{stroke:var(--line);fill:none}.mapcard .pin{background:var(--ink);width:14px;height:14px;box-shadow:0 0 0 8px color-mix(in srgb, var(--ink) 15%, transparent);border-radius:50%;position:absolute;top:44%;left:50%}.mapcard .lbl{background:var(--bg);padding:10px 14px;font-size:13px;position:relative}.ftr{background:var(--bg-alt);margin-top:0;padding-block:64px 32px}.ftr .cols{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:40px;display:grid}.ftr .brand svg{height:48px}.ftr p,.ftr li{color:var(--ink-2);font-size:14px}.ftr ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ftr a{text-decoration:none}.ftr a:hover{color:var(--ink)}.ftr .base{border-top:1px solid var(--line);font:400 12px/1.6 var(--f-latin);letter-spacing:.08em;color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:20px;display:flex}.intro{z-index:100;background:var(--bg-alt);transition:opacity .9s var(--ease), visibility 0s linear .9s;place-items:center;display:grid;position:fixed;inset:0}.intro.out{opacity:0;visibility:hidden}.intro-word{font:400 clamp(22px, 3.5vw, 48px)/1.3 var(--f-sans);letter-spacing:.14em;color:var(--ink);transition:transform 1.1s var(--ease)}.intro.out .intro-word{transform:translateY(-12px)scale(.97)}.i-cycle{width:9em;max-width:90vw;height:2.6em;display:block;position:relative;overflow:hidden}.i-cycle .it{white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.i-cycle .it.stack{flex-direction:column}.i-cycle .it.en{font-family:var(--f-latin);letter-spacing:.2em}.i-cycle .it>span{opacity:0;color:var(--ink-2);transition:opacity .45s var(--ease), transform .55s var(--ease), color .45s var(--ease);transform:translateY(.6em)}.i-cycle .it.on>span{opacity:1;color:var(--ink);transform:none}.i-cycle .it.off>span{opacity:0;color:var(--ink-2);transform:translateY(-.6em)}.i-cycle .it.hold>.p{opacity:1;color:var(--ink);transition:none;transform:none}.i-cycle .it.gone>.p{opacity:0;transition:none}.intro .intro-logo{left:50%;bottom:calc(60px + env(safe-area-inset-bottom,0px));width:clamp(84px,6.2vw,128px);position:absolute;transform:translate(-50%)}.intro-en{bottom:calc(32px + env(safe-area-inset-bottom,0px));text-align:center;position:absolute;left:0;right:0}html.has-intro body{overflow:hidden}html:not(.has-intro) .intro{display:none}html.has-intro .hero .slogan span,html.has-intro .hero-side,html.has-intro .hero-media{opacity:0;transform:translateY(36px)}html.entered .hero .slogan span,html.entered .hero-side,html.entered .hero-media{opacity:1;transition:opacity 1.1s var(--ease), transform 1.2s var(--ease);transform:none}html.entered .hero .slogan span:nth-child(2){transition-delay:.12s}html.entered .hero-side{transition-delay:.28s}html.entered .hero-media{transition-delay:.4s}.pre{opacity:0;transform:translateY(24px)}.rv{transition:opacity .9s var(--ease), transform .9s var(--ease)}@media (width<=960px){.grid,.svc,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.hero-top,.sec-head,.pd-head,.contact,.values{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.nav{background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gut) 20px;flex-direction:column;gap:0;display:none;position:absolute;top:76px;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line);padding-block:14px;font-size:16px}.menu-btn{display:block}.hdr .book-btn{display:none}.hero-media{aspect-ratio:4/3}.ftr .cols,.about-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.grid,.svc,.steps,form.book{grid-template-columns:minmax(0,1fr)}.brand svg{height:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.pre{opacity:1;transform:none}}
