@font-face{font-family:Noto Sans TC;src:url(/fonts/NotoSansTC-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--bg:#f8f4ec;--surface:#fff;--farewell:#f2efe9;--text:#433d39;--muted:#68605a;--brand:#a78267;--sage:#89947f;--action:#76543e;--border:#8d8075;--focus:#315a48;--error:#a1342b;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Noto Sans TC,sans-serif;font-size:100%}*{box-sizing:border-box}body{margin:0;font-size:1.125rem;line-height:1.8}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--action);text-underline-offset:.3em}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,blockquote,figure{margin:0}p+p{margin-top:1em}h1{letter-spacing:.025em;font-size:3rem;font-weight:600;line-height:1.4}h2{letter-spacing:.02em;font-size:2rem;font-weight:600;line-height:1.5}h3{font-size:1.375rem;font-weight:600;line-height:1.5}h1 span{color:var(--action)}[tabindex="-1"]:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.error-summary:focus,.form-result:focus{outline:3px solid var(--focus);outline-offset:4px}button:disabled{cursor:wait;color:var(--text);background:#e8e1d8}[hidden]{display:none!important}.container{width:min(100% - 80px,1152px);margin-inline:auto}.section{padding-block:80px}.eyebrow{color:var(--action);letter-spacing:.08em;margin-bottom:20px;font-size:1rem;font-weight:500}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);padding:12px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.arrow{flex-shrink:0;width:24px;height:24px}.button{background:var(--action);color:#fff;border:1px solid var(--action);border-radius:8px;justify-content:center;align-items:center;gap:24px;min-height:56px;padding:14px 24px;font-weight:500;line-height:1.5;text-decoration:none;transition:background .15s;display:inline-flex}.button:hover{background:#634531}.button-outline{color:var(--action);background:0 0}.button-outline:hover{background:#eee6dc}.text-link{color:var(--action);text-underline-offset:7px;background:0 0;border:0;align-items:center;gap:18px;min-height:48px;padding:8px 0;font-weight:500;line-height:1.5;text-decoration:underline;display:inline-flex}.text-link:hover{text-decoration-thickness:2px}.signature{color:var(--action);letter-spacing:.15em;font-size:1.5rem}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid #e4dbcf;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:96px;display:flex}.brand{color:var(--text);flex-shrink:0;align-items:center;gap:14px;line-height:1.5;text-decoration:none;display:flex}.brand strong{letter-spacing:.1em;font-size:1.375rem;font-weight:600;display:block}.brand-symbol{flex-shrink:0;width:48px;height:48px;display:block}.brand-english{letter-spacing:.04em;color:var(--muted);font-size:1rem;display:block}.navigation{align-items:center;gap:16px;display:flex}.navigation a{white-space:nowrap;align-items:center;min-width:48px;min-height:48px;font-size:1rem;text-decoration:none;display:flex}.navigation a:hover,.navigation a[aria-current]{text-decoration:underline}.menu-button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:18px;min-height:48px;padding:8px 14px;display:none}.menu-button span{font-size:1.5rem}.hero{grid-template-columns:1.18fr 1fr;align-items:center;gap:64px;padding-block:32px 24px;display:grid}.hero-copy{padding-block:12px}.hero h1{margin-bottom:24px}.hero-intro{max-width:32em;color:var(--muted);margin-bottom:32px;line-height:1.9}.hero-role{color:var(--muted);margin-top:16px;font-size:1rem}.hero-photo{position:relative}.hero-video-sound{background:var(--text);border:0;border-radius:16px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.hero-video video{width:100%;height:auto;display:block}.hero-video-sound-label{color:#fff;background:#231d19d9;border-radius:24px;padding:6px 14px;font-size:1rem;position:absolute;bottom:16px;right:16px}.photo-caption{color:var(--muted);text-align:center;margin-top:16px;font-size:1rem;display:block}.photo-note{background:var(--bg);color:var(--action);letter-spacing:.12em;border:1px solid #d7c9b9;padding:12px 22px;font-size:1.125rem;position:absolute;bottom:74px;left:-32px}.hero-regions{border-top:1px solid #d8cebf;gap:24px;margin-top:32px;padding-top:20px;font-size:1rem;display:flex}.hero-regions>span+span{border-left:1px solid #d8cebf;padding-left:24px}.hero-regions span span{color:var(--muted);font-size:1rem;display:block}.section-divider{border-top:1px solid #d8cebf}#services.section{padding-top:32px}.section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:64px;margin-bottom:40px;display:grid}.section-heading>p,.section-heading>div+div{color:var(--muted)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.service-card{background:#fffdf9;border:1px solid #ded3c5;border-radius:16px;grid-template-columns:150px 1fr;display:grid;overflow:hidden}.service-card>img{object-fit:cover;width:100%;height:100%;min-height:310px}.service-copy{padding:24px}.service-number{color:var(--action);align-items:center;gap:14px;margin-bottom:14px;font-size:1rem;display:flex}.service-number>span{font-size:1rem}.service-copy h3{margin-bottom:12px}.service-copy>p:not(.service-number){color:var(--muted);font-size:1.125rem;line-height:1.8}.service-copy .text-link{gap:8px;margin-top:12px;font-size:1rem}.section-note{color:var(--muted);max-width:60em;margin-top:24px;font-size:1rem}.farewell-section{background:var(--farewell);padding-block:80px}.farewell-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:80px;display:grid}.farewell-photo{padding-top:18px}.farewell-photo img{object-fit:cover;border-radius:16px;width:100%;max-height:580px}.farewell-photo p{color:var(--muted);margin-top:16px;font-size:1rem}.farewell-copy h2{margin-bottom:24px}.farewell-copy>p{color:var(--muted)}.farewell-list{gap:8px;margin:24px 0;padding:0;list-style:none;display:grid}.farewell-list li{gap:16px;display:flex}.farewell-list span{color:var(--brand)}.farewell-copy>.button{margin-top:24px}.farewell-disclosure{border-top:1px solid #cfc4b6;margin-top:32px;padding-top:24px;font-size:1rem}.farewell-disclosure img{border-radius:8px;max-width:320px;margin-top:20px}.about-preview{grid-template-columns:1.15fr .85fr;align-items:center;gap:80px;display:grid}.about-preview-copy>p:not(.eyebrow){color:var(--muted)}.about-preview blockquote{color:var(--action);margin:28px 0 20px;font-size:1.75rem}.about-preview .text-link{margin-top:24px}.about-preview-photo{padding:0 24px 24px 0;position:relative}.about-preview-photo img{aspect-ratio:3/4;object-fit:cover;border-radius:16px;width:100%;box-shadow:24px 24px #dce0d4}.about-preview-photo .signature{background:var(--bg);padding:8px 20px;position:absolute;bottom:0;right:0}.arrangement-section{background:#ede8dd;padding:80px 0}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:48px 0 0;padding:0;list-style:none;display:grid}.step-number{color:var(--action);border-top:1px solid #bdaf9d;margin-bottom:16px;padding-top:18px;font-size:1.5rem;font-weight:400;display:block}.steps h3{margin-bottom:12px;font-size:1.25rem}.steps p{color:var(--muted);font-size:1.125rem}.faq-section{grid-template-columns:.85fr 1.15fr;gap:64px;display:grid}.faq-intro>p:not(.eyebrow){color:var(--muted);margin-top:24px}.faq-intro>.text-link{margin-top:20px}.faq-list details{border-bottom:1px solid #d8cebf}.faq-list details:first-child{border-top:1px solid #d8cebf}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:20px 4px;font-weight:500;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{color:var(--action);font-size:1.5rem}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{color:var(--muted);padding:0 4px 24px;font-size:1.125rem}.contact-section{background:#eee8dd;padding-block:80px}.contact-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px;display:grid}.contact-intro{position:sticky;top:136px}.contact-intro h2{margin-bottom:24px}.contact-intro>p:not(.eyebrow){color:var(--muted)}.contact-intro>img{aspect-ratio:4/3;object-fit:cover;border-radius:16px;width:240px;margin-top:32px}.callback-note{align-items:start;gap:18px;margin-top:32px;display:flex}.callback-note>span{color:var(--action);font-size:2rem;line-height:1.3}.callback-note p{color:var(--action);font-weight:500}.callback-note p span{color:var(--muted);font-size:1rem;font-weight:400;display:block}.contact-card{background:var(--surface);border:1px solid #dfd5c9;border-radius:16px;min-width:0;padding:32px}.test-notice{border-left:3px solid var(--brand);background:#f4f0e8;margin-bottom:32px;padding:18px 20px;font-size:1rem}.test-badge{color:var(--action);font-size:1rem;font-weight:600}.test-notice p{margin-top:8px;line-height:1.7}.form-fields{border:0;min-width:0;margin:0;padding:0}.field,.choice-group{margin-bottom:28px}.field>label{margin-bottom:10px;font-weight:500;display:block}.required,.optional{color:var(--muted);margin-left:8px;font-size:1rem;font-weight:400}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;min-height:52px;padding:12px 14px}input::placeholder,textarea::placeholder{color:var(--muted);font-size:1rem}textarea{resize:vertical;min-height:150px}input[aria-invalid],select[aria-invalid],textarea[aria-invalid]{border:2px solid var(--error)}.field-help{color:var(--muted);margin-top:8px;font-size:1rem;line-height:1.75}.field-error{color:var(--error);margin-top:8px;font-size:1rem;font-weight:500}.choice-group{border:0;min-width:0;padding:0}.choice-group legend{margin-bottom:10px;font-weight:500}.inline-choices{flex-wrap:wrap;gap:8px 20px;display:flex}.inline-choices label,.stacked-choices label,.check-label{cursor:pointer;align-items:center;gap:12px;min-height:48px;display:flex}.stacked-choices{gap:4px;display:grid}.stacked-choices label{border:1px solid #d6cec2;border-radius:8px;padding:8px 12px}.stacked-choices label:has(input:checked){border-color:var(--action);background:#f8f4ec}.age-row{align-items:center;gap:12px;display:flex}.age-row>input{flex:1;min-width:0}.age-row>select{width:88px}.age-row>.check-label{flex-shrink:0}.age-row>input:disabled,.age-row>select:disabled{background:#f2eee8}input[type=checkbox],input[type=radio]{width:22px;height:22px;accent-color:var(--action);flex-shrink:0;margin:0}.consent-group{border-top:1px solid #d8cebf;margin-top:32px;padding-top:24px;font-size:1rem}.consent-label{cursor:pointer;align-items:flex-start;gap:14px;display:flex}.consent-label input{margin-top:6px}.consent-group>a{align-items:center;min-height:48px;margin-bottom:18px;margin-left:36px;display:inline-flex}.form-submit{width:100%;margin-top:12px}.form-reminder{color:var(--muted);margin-top:18px;font-size:1rem}.error-summary{border:2px solid var(--error);background:#fff9f8;margin-bottom:24px;padding:18px}.error-summary h3{font-size:1.125rem}.error-summary ul{margin-bottom:0;padding-left:24px;font-size:1rem}.test-controls{color:var(--muted);border-top:1px solid #d8cebf;margin-top:24px;padding-top:12px;font-size:1rem}.test-controls summary{cursor:pointer;align-items:center;min-height:48px;text-decoration:underline;display:flex}.test-controls label{padding-block:8px}.form-result{padding:24px 0}.result-symbol{border:1px solid var(--sage);width:56px;height:56px;color:var(--focus);border-radius:50%;place-items:center;margin-bottom:24px;font-size:1.5rem;display:grid}.form-result h3{margin-bottom:16px}.form-result p{color:var(--muted)}.form-result .button{margin-top:24px}.form-result.failure{border-top:2px solid var(--error);margin-top:24px}.form-result.failure .result-symbol{color:var(--error);border-color:var(--error)}.site-footer{background:var(--bg);padding:64px 0 24px}.footer-top{border-bottom:1px solid #d8cebf;justify-content:space-between;gap:40px;padding-bottom:32px;display:flex}.footer-name{letter-spacing:.08em;font-size:1.5rem;font-weight:600}.footer-tagline{color:var(--action);font-size:1.25rem;line-height:1.8}.footer-info{justify-content:space-between;gap:40px;margin-block:24px;font-size:1rem;display:flex}.footer-links{flex-wrap:wrap;align-content:start;gap:8px 24px;display:flex}.footer-links a{align-items:center;min-height:48px;display:flex}.footer-bottom{color:var(--muted);border-top:1px solid #d8cebf;justify-content:space-between;gap:32px;padding-top:20px;font-size:1rem;display:flex}.footer-bottom p+p{flex-shrink:0;margin:0}.mobile-cta{display:none}.about-hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:64px;padding-block:64px;display:grid}.about-hero h1{margin-bottom:24px;font-size:2.5rem}.about-hero .hero-role{margin:0 0 24px}.about-hero-photo img{aspect-ratio:3/4;object-fit:cover;border-radius:160px 160px 16px 16px;width:100%}.about-hero-photo p{color:var(--muted);margin-top:16px;font-size:1rem}.story-section{border-top:1px solid #d8cebf}.story-section h2{margin-bottom:36px}.story-columns{grid-template-columns:1.2fr .8fr;gap:80px;display:grid}.story-columns p{color:var(--muted)}.story-columns .signature{color:var(--action);margin-top:32px}.story-quote{border-left:1px solid var(--brand);padding-left:40px}.story-quote>span{color:var(--brand);font-size:5rem;line-height:1}.story-quote blockquote{color:var(--action);margin-bottom:24px;font-size:1.75rem;line-height:1.7}.values-section{background:var(--farewell);padding-block:80px}.values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:40px;display:grid}.values-grid h3{margin-bottom:16px}.values-grid p{color:var(--muted)}.life-section>div:first-child p:not(.eyebrow){color:var(--muted);margin-top:20px}.life-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.life-photos img{aspect-ratio:3/4;object-fit:cover;border-radius:16px;width:100%}.life-photos figcaption{color:var(--muted);margin-top:12px;font-size:1rem}.about-invitation{text-align:center;background:#e8e4d9;padding-block:80px}.about-invitation h2{margin-bottom:24px}.about-invitation p:not(.eyebrow){color:var(--muted)}.invitation-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin-top:32px;display:flex}.policy-page{max-width:760px;padding-block:64px 80px}.policy-page h1{margin-bottom:32px;font-size:2.5rem}.policy-page h2{margin:40px 0 16px;font-size:1.5rem}.policy-page>.button{margin-top:32px}.error-page{padding-block:80px}.error-page h1{margin-bottom:24px}.error-page .button{margin-top:24px}section[id],input,select,textarea,.error-summary,.form-result{scroll-margin-top:120px}@media (width<=1239px){.header-inner{flex-wrap:wrap;gap:0;min-height:88px;padding-block:16px}.menu-button{display:flex}.navigation{grid-template-columns:repeat(3,1fr);gap:8px 20px;width:100%;padding-top:20px;display:none}.navigation.is-open{display:grid}.navigation a{padding:8px 0;font-size:1.125rem}.hero{gap:40px}.hero h1{font-size:2.7rem}.service-card{grid-template-columns:120px 1fr}.service-copy{padding:20px}.farewell-layout,.about-preview{gap:48px}}@media (width<=1023px){.container{width:calc(100% - 64px)}.hero{gap:32px}.hero h1{font-size:2.25rem}.hero-regions{flex-wrap:wrap;gap:12px}.hero-regions>span+span{border:0;padding-left:0}.hero-regions>span{width:100%}.services-grid{gap:20px}.service-card{grid-template-columns:1fr}.service-card>img{height:230px;min-height:0;object-position:center 30%!important}.section-heading{gap:40px}.steps{grid-template-columns:repeat(2,1fr);gap:32px}.contact-layout{grid-template-columns:.75fr 1.25fr;gap:32px}.contact-card{padding:24px}.faq-section{gap:40px}.values-grid{gap:24px}.about-hero{gap:32px}.about-hero h1{font-size:2rem}.footer-bottom{flex-direction:column;gap:12px}}@media (width<=767px){.container{width:calc(100% - 40px)}body{padding-bottom:88px}.section{padding-block:48px}.header-inner{min-height:80px}.brand{gap:10px}.brand strong{font-size:1.2rem}.brand-english{font-size:1rem}.brand-symbol{width:40px;height:40px}.menu-button{gap:12px;padding:8px 12px;font-size:1rem}.navigation{grid-template-columns:repeat(2,1fr);gap:4px 16px}.hero{grid-template-columns:1fr;gap:24px;padding-block:24px}.hero-copy{padding:0}.hero h1{font-size:2rem}.hero-intro{margin-bottom:24px}.hero-role{line-height:1.8}.hero-regions{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.hero-regions>span{width:auto}.hero-regions>span+span{border-left:1px solid #d8cebf;padding-left:16px}.hero-photo{width:100%;max-width:460px;margin:auto;padding-bottom:0}.hero-photo .carousel-image img{border-radius:140px 140px 16px 16px;max-height:none}.photo-note{font-size:1rem;bottom:76px;left:12px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}h2{font-size:1.75rem}.eyebrow{margin-bottom:16px}.services-grid{grid-template-columns:1fr;gap:20px}.service-card{grid-template-columns:1fr}.service-card>img{height:250px}.service-copy{padding:24px}.service-copy>p:not(.service-number),.service-copy .text-link{font-size:1.125rem}.farewell-section,.arrangement-section,.contact-section{padding-block:48px}.farewell-layout{grid-template-columns:1fr;gap:32px}.farewell-photo{order:2;padding:0}.farewell-photo>img{object-position:center 35%;max-height:460px}.farewell-copy{order:1}.farewell-disclosure img{width:100%}.about-preview{grid-template-columns:1fr;gap:32px}.about-preview-photo{max-width:400px;margin:auto}.steps{grid-template-columns:1fr;gap:24px;margin-top:32px}.step-number{margin-bottom:12px;padding-top:16px}.steps h3{font-size:1.375rem}.steps p{font-size:1.125rem}.faq-section{grid-template-columns:1fr;gap:32px}.faq-list summary,.faq-list details>p{font-size:1.125rem}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-intro{position:static}.contact-intro>img{display:none}.callback-note{margin-top:24px}.contact-card{padding:24px 20px}.age-row{gap:8px}.age-row>select{width:76px;padding-inline:8px}.age-row>.check-label{gap:6px;font-size:1rem}.test-notice{padding:16px}.footer-top,.footer-info{flex-direction:column;gap:24px}.footer-links{gap:8px 20px}.footer-tagline{font-size:1.125rem}.site-footer{padding-top:40px}.mobile-cta{z-index:15;background:var(--bg);padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #d8cebf;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-cta .button{width:100%;min-height:52px}.about-hero{grid-template-columns:1fr;gap:32px;padding-block:40px}.about-hero h1{font-size:1.875rem}.about-hero-photo{max-width:440px;margin:auto}.story-columns{grid-template-columns:1fr;gap:32px}.story-quote{padding-left:24px}.values-section{padding-block:48px}.values-grid{grid-template-columns:1fr;gap:24px;margin-top:32px}.life-photos{grid-template-columns:1fr;gap:32px;max-width:440px}.about-invitation{padding-block:48px}.policy-page{padding-block:40px 48px}.policy-page h1{font-size:1.875rem}section[id]{scroll-margin-top:104px}.consent-group>a{margin-left:0}.footer-bottom p+p{flex-shrink:1}}@media (width<=359px){.container{width:calc(100% - 32px)}.brand-symbol{display:none}.hero-regions{grid-template-columns:1fr}.hero-regions>span+span{border:0;padding-left:0}.hero h1{font-size:1.875rem}.contact-card{padding:20px 16px}.button{gap:16px;padding-inline:18px}.service-copy{padding:20px}.age-row{flex-wrap:wrap}.age-row>input{flex-basis:50%}.inline-choices{gap:8px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.test-notice-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.test-notice-heading button{border:1px solid var(--action);min-height:44px;color:var(--action);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px}.photo-carousel{min-width:0}.carousel-image img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.carousel-controls{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.carousel-controls button{border:1px solid var(--action);background:var(--surface,#fff);min-height:48px;color:var(--action);font:inherit;cursor:pointer;border-radius:8px;padding:8px 12px;font-size:1rem}.carousel-count{color:var(--muted);white-space:nowrap;font-size:1rem}.carousel-controls{justify-content:center;gap:0;margin-top:8px}.carousel-dots{align-items:center;display:flex}.carousel-controls .carousel-dot,.carousel-controls .carousel-play{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.carousel-dot span{background:#b9aa9b;border-radius:50%;width:7px;height:7px;transition:background .2s,transform .2s}.carousel-dot[aria-pressed=true] span{background:var(--action);transform:scale(1.4)}.carousel-controls button:hover{background:#eee7dc}.carousel-image img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.scroll-reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(12px)}.scroll-reveal.is-visible,.scroll-reveal:focus-within{opacity:1;transform:none}.email-fallback{margin:24px 0}.email-fallback textarea{width:100%;font:inherit;margin-top:12px;padding:12px}.form-result .button{margin:8px 8px 8px 0}@media (prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transition:none;transform:none}.carousel-dot span{transition:none}}@media (width<=360px){.carousel-controls .carousel-dot,.carousel-controls .carousel-play{width:40px}}.carousel-image{touch-action:pan-y pinch-zoom;display:grid}.carousel-slide{opacity:0;pointer-events:none;grid-area:1/1;min-width:0;transition:opacity .55s}.carousel-slide.is-active{opacity:1;pointer-events:auto;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-slide{transition:none}}
