:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fffaf0;--linen:#f5ead8;--mist:#eef3ee;--sage:#6f7d62;--olive:#3f4a35;--clay:#a2674c;--ink:#27231f;--muted:#71685f;--line:#3f4a352e;--shadow:0 18px 50px #50362524;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,Heiti TC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;line-height:1.75}a{color:inherit}.hero{background:linear-gradient(90deg,#fffaf0f0,#fffaf09e),url(/assets/memorial-hero.png) 50%/cover;align-items:center;min-height:92svh;padding:28px clamp(18px,4vw,64px) 11vh;display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(0deg, var(--paper), #fffaf000);pointer-events:none;height:18vh;position:absolute;inset:auto 0 0}.topbar{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf0b8;border:1px solid #3f4a352e;border-radius:999px;gap:8px;padding:7px;display:flex;position:absolute;top:22px;left:clamp(18px,4vw,64px)}.language-switcher{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf0b8;border:1px solid #3f4a352e;border-radius:999px;gap:6px;padding:7px;display:flex;position:absolute;top:22px;right:clamp(18px,4vw,64px)}.topbar a{text-align:center;min-width:54px;color:var(--olive);border-radius:999px;padding:7px 14px;font-size:.92rem;font-weight:700;text-decoration:none}.language-switcher button{min-width:54px;min-height:36px;color:var(--olive);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:.92rem;font-weight:800}.topbar a:hover,.topbar a:focus-visible,.language-switcher button:hover,.language-switcher button:focus-visible,.language-switcher button.active{background:var(--olive);color:#fff;outline:none}.hero__content{z-index:1;width:min(760px,100%);padding-top:7vh;position:relative}.eyebrow,.section-kicker{color:var(--clay);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.82rem;font-weight:800}h1,h2{color:var(--ink);margin:0;line-height:1.12}h1{max-width:10ch;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.05rem,11vw,7.8rem);font-weight:500}h2{font-size:clamp(1.85rem,5vw,3rem);font-weight:800}.chinese-name{color:var(--olive);margin:22px 0 0;font-size:clamp(1.35rem,4vw,2.1rem);font-weight:800}.date-line{margin:28px 0 0;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:700}.service-time{max-width:620px;color:var(--muted);margin:10px 0 0;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:700}main{z-index:1;position:relative}.section-inner{width:min(1120px,100% - 36px);margin:0 auto}.intro{background:var(--paper);padding:clamp(46px,8vw,86px) 0}.intro__grid{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(24px,5vw,70px);padding-top:clamp(28px,5vw,54px);display:grid}.intro p:last-child{color:var(--muted);margin:0;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:650}.service{background:var(--mist);padding:clamp(54px,9vw,110px) 0}.scripture{background:linear-gradient(180deg, #fffaf0eb, #f5ead8e6), var(--linen);padding:clamp(58px,9vw,116px) 0}.songs{background:var(--paper);padding:clamp(58px,9vw,116px) 0}.section-heading{gap:10px;margin-bottom:clamp(28px,5vw,46px);display:grid}.section-heading--center{text-align:center;width:min(720px,100%);margin-inline:auto}.service-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.service-list li{border:1px solid var(--line);background:#fffaf0d1;border-radius:8px;grid-template-columns:minmax(120px,auto) minmax(160px,1fr) minmax(160px,auto);align-items:baseline;gap:14px;min-height:58px;padding:16px clamp(16px,3vw,26px);display:grid;box-shadow:0 10px 30px #3f4a350f}.service-list__item{color:var(--olive);font-size:clamp(1.08rem,2.7vw,1.35rem);font-weight:850}.service-list__english{color:var(--ink);font-size:clamp(1rem,2.4vw,1.18rem);font-weight:800}.service-list__leader{color:var(--clay);text-align:right;justify-self:end;font-size:clamp(.95rem,2.2vw,1.1rem);font-weight:800}.scripture-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.4vw,24px);display:grid}.reading{min-height:260px;box-shadow:var(--shadow);background:#fffaf0c2;border:1px solid #a2674c2e;border-radius:8px;gap:16px;padding:clamp(20px,3vw,30px);display:grid}.reading__reference{color:var(--olive);text-underline-offset:5px;margin:0;font-size:1.04rem;font-weight:850;text-decoration:underline}.reading blockquote{color:var(--ink);gap:14px;margin:0;font-family:Georgia,Times New Roman,Noto Serif TC,serif;font-size:clamp(1.08rem,2.3vw,1.34rem);line-height:1.65;display:grid}.reading blockquote p{margin:0}.song-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,28px);display:grid}.song{border:1px solid var(--line);background:linear-gradient(135deg, #eef3eedb, #fffaf0eb), var(--mist);min-height:310px;box-shadow:var(--shadow);border-radius:8px;align-content:space-between;padding:clamp(24px,4vw,38px);display:grid}.song__number{width:44px;height:44px;color:var(--olive);border:1px solid #3f4a3538;border-radius:50%;place-items:center;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:800;display:grid}.song h3{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,4vw,2.65rem);font-weight:500;line-height:1.13}.song__title-zh{color:var(--olive);margin:14px 0 0;font-size:clamp(1.05rem,2.5vw,1.32rem);font-weight:850}.song__excerpt{color:var(--clay);margin:34px 0 0;font-size:clamp(1.02rem,2.4vw,1.22rem);font-weight:800}.rights-note{max-width:720px;color:var(--muted);margin:26px 0 0;font-size:.98rem;font-weight:650}@media (width<=760px){.hero{background-position:58%;min-height:88svh;padding-top:140px}.topbar{justify-content:center;top:22px;left:18px;right:18px}.language-switcher{justify-content:center;top:84px;left:18px;right:18px}.topbar a,.language-switcher button{flex:1}.intro__grid{grid-template-columns:1fr}.service-list li{grid-template-columns:1fr;gap:2px}.service-list__leader{text-align:left;justify-self:start}.scripture-grid{grid-template-columns:1fr}.reading{min-height:auto}.song-list{grid-template-columns:1fr}.song{min-height:260px}}
