:root{--color-primary:#0f766e;--color-primary-dark:#0b5a54;--color-primary-soft:#e6f4f2;--color-text:#1f2933;--color-muted:#637381;--color-bg:#fff;--color-surface:#f5f7f6;--color-border:#dde4e2;--color-danger:#b42318;--radius:10px;--shadow:0 1px 2px #1018280f, 0 2px 8px #1018280f;--font:system-ui, -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--header-h:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);margin:0;font-size:16px;line-height:1.7}#root{flex-direction:column;min-height:100dvh;display:flex}#root>main{flex:1 0 auto}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary)}h1,h2,h3{margin:0 0 .6em;line-height:1.3}h1{font-size:clamp(1.6rem,4vw,2.1rem)}h2{font-size:clamp(1.3rem,3vw,1.6rem)}h3{font-size:1.1rem}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--color-primary);color:#fff;z-index:100;border-radius:6px;padding:8px 14px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.container--narrow{max-width:760px}.section{padding-top:40px;padding-bottom:56px}.muted{color:var(--color-muted)}.state{text-align:center;padding-top:64px;padding-bottom:64px}.header{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border);background:#fffffff5;position:sticky;top:0}.header__inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{color:var(--color-text);align-items:center;gap:10px;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.brand__logo{width:auto;height:36px}.nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav a{color:var(--color-text);border-radius:8px;padding:8px 14px;font-weight:500;text-decoration:none;display:block}.nav a:hover{background:var(--color-surface)}.nav a.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.header__toggle{border:1px solid var(--color-border);cursor:pointer;width:44px;height:44px;color:var(--color-text);background:0 0;border-radius:8px;font-size:1.2rem;display:none}@media (width<=760px){.header__toggle{justify-content:center;align-items:center;display:inline-flex}.nav{left:0;right:0;top:var(--header-h);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);background:#fff;padding:8px 20px 16px;display:none;position:absolute}.nav.is-open{display:block}.nav ul{flex-direction:column}.nav a{padding:12px 14px}}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:40px;padding:32px 0;font-size:.95rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:16px 40px;display:flex}.footer__name{margin-bottom:4px;font-weight:700}.footer__contact{white-space:pre-line;color:var(--color-muted);margin:0}.footer__copyright{border-top:1px solid var(--color-border);color:var(--color-muted);margin:24px 0 0;padding-top:16px;font-size:.85rem}.button{border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-primary);color:#fff;font:inherit;cursor:pointer;text-align:center;padding:11px 22px;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.button:disabled{opacity:.5;cursor:not-allowed}.button--outline{color:var(--color-primary);background:#fff}.button--outline:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.button--light{color:var(--color-text);background:#fff;border-color:#fff}.button--light:hover{background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.button--large{width:100%;padding:14px 22px;font-size:1.05rem}.block{padding:40px 0}.block--text{padding:32px 0}.block__head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.block__more{white-space:nowrap;font-weight:600}.page-title{padding-top:40px}.page-title h1{margin-bottom:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{white-space:pre-line}.prose h2,.prose h3{margin-top:1.6em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.4em}.prose blockquote{border-left:4px solid var(--color-primary);background:var(--color-surface);color:var(--color-muted);margin:1.2em 0;padding:.4em 1.2em}.prose pre{background:var(--color-surface);border-radius:8px;padding:14px;overflow-x:auto}.prose img{border-radius:var(--radius);margin:1em 0}.banner{background:var(--color-primary-dark);position:relative;overflow:hidden}.banner__track{transition:transform .6s;display:flex}@media (prefers-reduced-motion:reduce){.banner__track{transition:none}}.banner__slide{color:#fff;flex:0 0 100%;align-items:flex-end;min-height:clamp(260px,48vw,520px);display:flex;position:relative}.banner__slide img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.banner__slide--plain{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%)}.banner__image-note{z-index:1;text-shadow:0 1px 3px #000000a6;font-size:.75rem;position:absolute;bottom:10px;right:16px}.banner__overlay{background:linear-gradient(#0000,#0000008c);width:100%;padding:72px 0 56px;position:relative}.banner__title{margin-bottom:.3em;font-size:clamp(1.7rem,5vw,2.8rem)}.banner__subtitle{opacity:.95;margin-bottom:1.2em;font-size:clamp(1rem,2.4vw,1.2rem)}.banner__nav{cursor:pointer;background:#ffffffd9;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.banner__nav--prev{left:12px}.banner__nav--next{right:12px}.banner__dots{justify-content:center;gap:10px;display:flex;position:absolute;bottom:14px;left:0;right:0}.banner__dots button{cursor:pointer;background:0 0;border:2px solid #fff;border-radius:50%;width:12px;height:12px;padding:0}.banner__dots button.is-active{background:#fff}.image-text{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.image-text--right .image-text__media{order:2}.image-text__media img{border-radius:var(--radius);width:100%}@media (width<=760px){.image-text{grid-template-columns:1fr;gap:20px}.image-text--right .image-text__media{order:0}}.video{aspect-ratio:16/9;border-radius:var(--radius);background:#000;position:relative;overflow:hidden}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin-top:20px;display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;transition:box-shadow .15s,transform .15s;overflow:hidden}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card__link{color:inherit;height:100%;text-decoration:none;display:block}.card__media{aspect-ratio:4/3;background:var(--color-surface);position:relative}.card__media img{object-fit:cover;width:100%;height:100%}.card__placeholder{background:linear-gradient(135deg, var(--color-primary-soft), var(--color-surface));width:100%;height:100%;min-height:160px}.badge{background:var(--color-primary);color:#fff;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;position:absolute;top:10px;left:10px}.badge--closed{background:#515a64}.badge--inline{display:inline-block;position:static}.card__image-note{color:#fff;background:#1f2933bf;border-radius:4px;padding:2px 8px;font-size:.75rem;position:absolute;bottom:10px;right:10px}.card__body{padding:16px 18px 20px}.card__meta{color:var(--color-muted);margin:0 0 4px;font-size:.85rem}.card__title{margin-bottom:.4em}.card__summary{color:var(--color-muted);margin:0 0 .6em;font-size:.95rem}.card__price{color:var(--color-primary);margin:0;font-weight:700}.block__intro{margin:-.4em 0 0}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px;display:grid}.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.card--static:hover{box-shadow:none;transform:none}.card__text{color:var(--color-muted);white-space:pre-line;margin:0 0 .6em;font-size:.95rem}.card__more{color:var(--color-primary);font-weight:600}@media (width<=900px){.card-grid,.card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.card-grid,.card-grid--2,.card-grid--4{grid-template-columns:1fr}}.faq{border-top:1px solid var(--color-border);margin-top:20px}.faq__item{border-bottom:1px solid var(--color-border)}.faq__question{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 4px;font-weight:600;list-style:none;display:flex}.faq__question::-webkit-details-marker{display:none}.faq__question:after{content:"+";color:var(--color-primary);flex-shrink:0;font-size:1.4rem;line-height:1;transition:transform .15s}.faq__item[open]>.faq__question:after{transform:rotate(45deg)}.faq__question:hover{color:var(--color-primary)}.faq__answer{color:var(--color-text);padding:0 4px 16px}.chips{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.chip{border:1px solid var(--color-border);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 16px}.chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.breadcrumb{color:var(--color-muted);font-size:.95rem}.product-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:32px;display:flex}.product-pagination>span{color:var(--color-muted);text-align:center;font-size:.9rem}.detail{grid-template-columns:1.1fr 1fr;gap:40px;margin-bottom:32px;display:grid}@media (width<=760px){.detail{grid-template-columns:1fr;gap:20px}}.detail__gallery{min-width:0}.detail__viewer{touch-action:pan-y pinch-zoom;position:relative}.detail__viewer .detail__main{display:block}.detail__nav{color:#fff;cursor:pointer;background:#0009;border:1px solid #fff9;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:2rem;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.detail__nav:hover{background:#000c}.detail__nav--prev{left:12px}.detail__nav--next{right:12px}.detail__count{color:#fff;pointer-events:none;background:#000000a6;border-radius:20px;padding:4px 12px;font-size:.85rem;position:absolute;bottom:12px;right:12px}.detail__main{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--color-surface);width:100%}.detail__image-caption{color:var(--color-muted);margin:6px 0 0;font-size:.8rem}.detail__thumbs{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex;overflow-x:auto}.detail__thumbs button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;width:72px;height:56px;padding:0;overflow:hidden}.detail__thumbs button.is-active{border-color:var(--color-primary)}.detail__thumbs img{object-fit:cover;width:100%;height:100%}.detail__price{color:var(--color-primary);font-size:1.3rem;font-weight:700}.detail__description{border-top:1px solid var(--color-border);padding-top:24px}.form{margin-top:24px}.form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);margin:0 0 24px;padding:8px 20px 12px}.form legend{padding:0 8px;font-weight:700}.field{margin:14px 0}.field label,.field__label{margin-bottom:6px;font-weight:600;display:block}.required{color:var(--color-danger)}input[type=text],input[type=tel],input[type=email],input[type=date],input:not([type]),input[inputmode],select{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #b9c4c0;border-radius:8px;padding:10px 12px}input:disabled{background:var(--color-surface)}.has-error input,.has-error select{border-color:var(--color-danger)}.field__hint{color:var(--color-muted);margin:4px 0 0;font-size:.88rem}.field__error{color:var(--color-danger);margin:6px 0 0;font-size:.92rem}.form__error{text-align:center;margin-bottom:12px}.choices{flex-direction:column;gap:4px;display:flex}.choices--grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.choice{cursor:pointer;align-items:flex-start;gap:8px;padding:4px 0;display:flex;font-weight:400!important}.choice input{width:auto;margin-top:6px}.otp-row{align-items:center;gap:10px;margin:12px 0;display:flex}.otp-row input{letter-spacing:.15em;max-width:200px}.otp-ok{color:var(--color-primary);font-weight:600}.turnstile{margin:12px 0}.block-bg:empty{display:none}.block-bg--gray{background:var(--color-surface)}.block-bg--soft{background:var(--color-primary-soft)}.block-bg--brand{background:var(--color-primary);color:#fff}.block-bg--brand a:not(.button){color:#fff}.block-bg--brand .muted{color:#ffffffd1}.block-bg--brand .button{color:var(--color-primary-dark);background:#fff;border-color:#fff}.block-bg--brand .button:hover{background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.block-bg--brand .button--outline{color:#fff;background:0 0;border-color:#fff}.block-bg--brand .button--outline:hover{background:#ffffff1f;border-color:#fff}.block-bg--brand :is(.card,.plan,.testimonial){color:var(--color-text)}.block-bg--brand :is(.card,.plan,.testimonial) a:not(.button){color:var(--color-primary)}.block-bg--brand :is(.card,.plan,.testimonial) .muted{color:var(--color-muted)}.block-bg--brand .plan .button{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.block-bg--brand .plan .button--outline{color:var(--color-primary);background:#fff}.block-bg--brand .faq,.block-bg--brand .faq__item{border-color:#ffffff4d}.block-bg--brand .faq__question:after,.block-bg--brand .faq__question:hover{color:#fff}.cta{text-align:center;padding-top:16px;padding-bottom:16px}.cta__title{font-size:clamp(1.4rem,3.4vw,1.9rem)}.cta__text{font-size:1.05rem}.cta__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.cta__actions .button--large{width:auto;min-width:180px}.map{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:32px;margin-top:20px;display:grid}.map__frame{aspect-ratio:4/3;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.map__frame iframe{border:0;width:100%;height:100%;display:block}.map__address{margin-bottom:12px}.map__notes{margin-top:20px}@media (width<=800px){.map{grid-template-columns:1fr;gap:20px}}.gallery{--gallery-columns:4;grid-template-columns:repeat(var(--gallery-columns), minmax(0, 1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.gallery--2{--gallery-columns:2}.gallery--3{--gallery-columns:3}.gallery--5{--gallery-columns:5}.gallery--6{--gallery-columns:6}@media (width<=900px){.gallery--4,.gallery--5,.gallery--6{--gallery-columns:3}}.gallery__item{aspect-ratio:1;background:var(--color-surface);cursor:zoom-in;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.gallery__item:hover img,.gallery__item:focus-visible img{transform:scale(1.04)}@media (width<=600px){.gallery{--gallery-columns:2;gap:8px}}.lightbox{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.lightbox::backdrop{background:#0a0e12e6}.lightbox__figure{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;height:100%;margin:0;padding:56px 64px 24px;display:flex}.lightbox__figure img{object-fit:contain;pointer-events:auto;border-radius:4px;max-width:100%;max-height:calc(100% - 40px)}.lightbox__figure figcaption{gap:16px;margin-top:12px;font-size:.95rem;display:flex}.lightbox__count{color:#ffffffb3}.lightbox__close,.lightbox__nav{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;width:48px;height:48px;font-size:2rem;line-height:1;position:absolute}.lightbox__close:hover,.lightbox__nav:hover{background:#ffffff47}.lightbox__close{top:12px;right:12px}.lightbox__nav{top:50%;transform:translateY(-50%)}.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}@media (width<=600px){.lightbox__figure{padding:56px 8px 24px}.lightbox__nav{top:auto;bottom:16px;transform:none}}.testimonials{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:20px;display:grid}.testimonial{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;flex-direction:column;justify-content:space-between;gap:20px;margin:0;padding:24px;display:flex}.testimonial__quote{white-space:pre-line;margin:0;padding-top:28px;position:relative}.testimonial__quote:before{content:"“";color:var(--color-primary);font-family:Georgia,serif;font-size:3.2rem;line-height:1;position:absolute;top:-8px;left:-2px}.testimonial__author{align-items:center;gap:12px;display:flex}.testimonial__avatar{object-fit:cover;border-radius:50%;width:44px;height:44px}.testimonial__role{color:var(--color-muted);font-size:.88rem;display:block}.pricing{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;gap:24px;margin-top:24px;display:grid}.plan{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;flex-direction:column;padding:28px 24px 24px;display:flex;position:relative}.plan--highlighted{border:2px solid var(--color-primary);box-shadow:var(--shadow)}.plan__badge{background:var(--color-primary);color:#fff;border-radius:999px;padding:2px 14px;font-size:.82rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.plan__name{margin-bottom:.3em}.plan__price{color:var(--color-primary);margin:0 0 .5em;font-size:1.8rem;font-weight:700;line-height:1.2}.plan__unit{color:var(--color-muted);margin-left:4px;font-size:.95rem;font-weight:400}.plan__description{color:var(--color-muted);font-size:.95rem}.plan__features{flex:1;margin:8px 0 20px;padding:0;list-style:none}.plan__features li{padding:4px 0 4px 26px;position:relative}.plan__features li:before{content:"✓";color:var(--color-primary);font-weight:700;position:absolute;left:2px}.plan__button{width:100%;margin-top:auto}.pricing__note{white-space:pre-line;margin:20px 0 0;font-size:.92rem}.partners__title{text-align:center}.partners{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px;margin:24px 0 0;padding:0;list-style:none;display:flex}.partners__item img{object-fit:contain;width:auto;max-width:160px;height:auto;max-height:64px;display:block}.partners__item a{transition:opacity .15s;display:block}.partners__item a:hover{opacity:.75}.preview-notice{color:#594300;background:#fff4d6;border-bottom:1px solid #e5ce8b;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-weight:600;display:flex}.preview-notice span{font-size:.9rem;font-weight:400}
