:root{--ink:#26302d;--deep:#1d2926;--green:#33443d;--gold:#b7965b;--gold-light:#d6bd86;--paper:#f6f2e9;--cream:#ebe3d4;--wood:#775b43;--muted:#727973;--line:rgba(38,48,45,.14);--white:#fffdf8;--danger:#9e4f49;--shadow:0 20px 60px rgba(29,41,38,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC",sans-serif;line-height:1.75}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:"Noto Serif TC",serif}h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.16;letter-spacing:.08em}h2{font-size:clamp(1.7rem,4vw,3rem);line-height:1.35;letter-spacing:.06em}h3{letter-spacing:.04em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:white;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:84px;padding:0 clamp(1rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:var(--white);border-bottom:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(15,24,21,.72),rgba(15,24,21,.18))}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.15rem;letter-spacing:.15em}.brand small{font-family:sans-serif;font-size:.45rem;letter-spacing:.13em;display:block;opacity:.65}.brand-mark{width:54px;height:54px;display:block;flex:0 0 auto;overflow:hidden;border:0;transform:none;color:inherit;filter:drop-shadow(0 3px 8px rgba(0,0,0,.28))}.brand-mark img{width:100%;height:100%;object-fit:cover}.site-header nav{display:flex;gap:1.7rem;align-items:center;font-size:.9rem}.site-header nav a:hover{color:var(--gold-light)}.site-header nav form{display:inline}.link-button{border:0;background:none;color:inherit;cursor:pointer}.nav-cta{border:1px solid var(--gold-light);padding:.55rem 1rem}.nav-toggle{display:none;background:none;color:white;border:0;font-size:1.5rem}.section{padding:clamp(4rem,9vw,8rem) clamp(1.2rem,7vw,8rem);max-width:1500px;margin:auto}.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--gold);background:transparent;padding:.65rem 1.3rem;cursor:pointer;letter-spacing:.08em;transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(29,41,38,.14)}.btn.primary{background:var(--gold);color:#17201e;border-color:var(--gold)}.btn.ghost{border-color:rgba(255,255,255,.5);color:inherit}.btn.text{border-color:transparent}.btn.full{width:100%}.btn.small{min-height:34px;padding:.3rem .7rem;font-size:.8rem}.btn.danger{border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}
.hero{min-height:100svh;background:radial-gradient(circle at 50% 42%,rgba(190,170,125,.2),transparent 28%),linear-gradient(180deg,#17221f,#2b3632 68%,#202b28);position:relative;overflow:hidden;color:var(--white);display:grid;place-items:center;text-align:center}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(149,167,145,.2),transparent 54%)}.hero-copy{position:relative;z-index:3;margin-top:-6vh}.hero h1{margin:.5rem 0;font-size:clamp(3.6rem,9vw,7.8rem);font-weight:500;text-shadow:0 4px 25px #0d1312}.tagline{font-family:"Noto Serif TC",serif;letter-spacing:.38em;font-size:clamp(.95rem,2vw,1.4rem)}.hero-actions{display:flex;justify-content:center;gap:.8rem;margin-top:2.2rem}.temple{position:absolute;width:min(920px,92vw);height:50%;bottom:0;opacity:.72}.roof{position:absolute;width:70%;height:85px;left:15%;top:8%;background:linear-gradient(180deg,#0d1513,#192420);clip-path:polygon(9% 45%,0 70%,42% 66%,50% 18%,58% 66%,100% 70%,91% 45%,64% 42%,50% 0,36% 42%);filter:drop-shadow(0 7px 2px #0b1210)}.roof-back{width:88%;left:6%;top:0;opacity:.65}.temple-body{position:absolute;left:22%;right:22%;top:22%;bottom:5%;background:linear-gradient(90deg,#2b2922,#604b35 50%,#2b2922);border-top:6px solid #94733e;display:flex;justify-content:space-around;align-items:stretch;padding:12% 4% 0}.temple-body i{width:7px;background:#987444}.door{width:28%;background:linear-gradient(90deg,#2b2018,#533a27,#2b2018);border:1px solid #b39155;display:grid;place-items:center}.door b{font:2rem "Noto Serif TC";color:#cbaa6b}.steps{position:absolute;bottom:0;left:12%;right:12%;height:14%;background:repeating-linear-gradient(180deg,#53615b 0,#53615b 8px,#293430 9px,#293430 16px);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}.hero-mist{position:absolute;bottom:10%;height:34%;width:130%;background:rgba(230,231,218,.1);filter:blur(45px);animation:mist 12s ease-in-out infinite alternate}.scroll-cue{position:absolute;bottom:1.2rem;font-size:.65rem;letter-spacing:.2em;opacity:.65}@keyframes mist{to{transform:translateX(8%);opacity:.5}}.intro{text-align:center;max-width:850px}.intro p:last-child{font-family:"Noto Serif TC";font-size:1.25rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:2.4rem}.section-heading h2{margin:0}.hall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.hall-card{min-height:280px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff;box-shadow:var(--shadow);transition:.3s}.hall-card:hover{transform:translateY(-5px)}.hall-card::after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-50px;top:-50px}.hall-card small{letter-spacing:.15em;opacity:.7}.hall-card h2,.hall-card h3{margin:.3rem 0}.hall-card p{font-size:.9rem;opacity:.78}.hall-card b{font-size:.8rem;letter-spacing:.15em}.hall-symbol{position:absolute;right:1.8rem;top:1.1rem;font:4.5rem "Noto Serif TC";opacity:.09}.theme-stone{background:linear-gradient(145deg,#56635f,#2b3733)}.theme-lotus{background:linear-gradient(145deg,#6a5135,#30261b)}.theme-cloud{background:linear-gradient(145deg,#79473f,#3a2522)}.theme-light{background:linear-gradient(145deg,#899b95,#4d635e)}.theme-japanese{background:linear-gradient(145deg,#67645d,#373732)}.theme-family{background:linear-gradient(145deg,#806246,#473927)}
.ritual-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:#eee7da;max-width:none}.ritual-visual{height:480px;position:relative;background:linear-gradient(#33423e,#1f2c29);display:grid;place-items:center;overflow:hidden}.sun{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ddca9d,#c19a58 30%,transparent 68%);opacity:.45;top:8%}.altar{z-index:2;width:120px;height:190px;background:linear-gradient(90deg,#5f422a,#98704b,#5f422a);border:4px solid #b79358;display:grid;place-items:center;box-shadow:0 18px 35px #15201d}.altar span{writing-mode:vertical-rl;color:#efe0be;font:2.2rem serif}.incense{position:absolute;bottom:18%;display:flex;gap:8px}.incense i{display:block;width:2px;height:100px;background:#a98752}.feature-list{padding:0;list-style:none}.feature-list li{padding:1rem 0;border-bottom:1px solid var(--line)}.steps-list{display:grid;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;gap:1px;background:var(--line)}.steps-list li{background:var(--paper);padding:2.3rem}.steps-list b{font:2.5rem serif;color:var(--gold-light)}.eco{text-align:center;max-width:none;color:#fff;background:linear-gradient(120deg,rgba(29,41,38,.95),rgba(56,75,67,.86))}.eco p:last-child{max-width:700px;margin:auto;color:#d5ddd8}.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:1.2rem 0}.faq summary{cursor:pointer;font-family:"Noto Serif TC";font-size:1.08rem}.faq details p{color:var(--muted);padding:1rem 1.5rem 0}
.page-hero{padding:clamp(9rem,18vw,13rem) 7vw 5rem;background:linear-gradient(130deg,#1c2926,#41524c);color:#fff;text-align:center}.page-hero.compact{padding-bottom:4rem}.page-hero p{max-width:650px;margin-left:auto;margin-right:auto;color:#ccd3ce}.page-hero h1{margin-bottom:1rem}.hall-grid.large{grid-template-columns:repeat(2,1fr)}.hall-grid.large .hall-card{min-height:330px}.hall-banner{padding:9rem 8vw 5rem;color:white}.hall-banner h1{margin:.5rem 0}.hall-banner p{max-width:600px}.wall-section{padding-top:3rem}.zone-tabs{display:flex;gap:.5rem;overflow:auto;padding-bottom:1rem}.zone-tabs a{padding:.55rem 1.3rem;border:1px solid var(--line);white-space:nowrap}.zone-tabs a.active{background:var(--green);color:white}.wall-toolbar{display:flex;justify-content:space-between;align-items:end;margin:2rem 0}.wall-toolbar h2{margin-bottom:.4rem}.wall-toolbar p{color:var(--muted)}.legend{display:flex;gap:.8rem;flex-wrap:wrap}.legend span::before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.4rem;background:var(--muted)}.legend .available::before{background:#ae8846}.legend .active::before{background:#647e6e}.legend .pending_payment::before{background:#c1a67f}.memorial-wall{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;padding:1.5rem;background:#2c3834;border:14px solid #59442f;box-shadow:inset 0 0 40px #141e1b,var(--shadow)}.position{aspect-ratio:.72;background:linear-gradient(120deg,#65513b,#8e704e,#503f2e);border:1px solid #ba9863;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#f1dfb9;font-size:.63rem;min-width:0;transition:.2s;box-shadow:inset 0 0 15px rgba(0,0,0,.32)}.position:hover{transform:scale(1.07);z-index:2;box-shadow:0 5px 18px #111}.position b{font-size:.55rem;overflow:hidden;text-overflow:ellipsis;width:90%}.position small{font-size:.52rem}.plaque-mark{font:1.3rem serif}.status-active{background:linear-gradient(120deg,#41554b,#65796e,#34453d)!important}.status-pending_payment,.status-pending_review,.status-reserved{opacity:.62}.status-disabled,.status-expired,.status-suspended{filter:grayscale(1);opacity:.42}.status-pill{display:inline-block;padding:.25rem .7rem;background:#ede2ca;color:#725d38;font-size:.75rem;border-radius:20px}
.detail-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;padding-top:11rem}.position-preview{min-height:600px;background:radial-gradient(circle at 50% 20%,#677a70,#25332f 65%);display:grid;place-items:center;color:white}.position-preview>p{position:absolute;align-self:end}.niche{width:62%;height:72%;border:18px solid #614931;background:#27322f;display:grid;place-items:center;box-shadow:inset 0 0 60px #101715}.plaque{height:70%;width:45%;background:linear-gradient(90deg,#704e2f,#a67c4d,#704e2f);border:3px solid #c5a363;color:#f1dfb9;display:flex;flex-direction:column;align-items:center;justify-content:center}.plaque b{font:4rem serif}.plaque span{font-size:.65rem}.detail-card{align-self:center}.detail-card h1{font-size:2.8rem;letter-spacing:.02em;margin-bottom:1rem}.detail-card dl{margin:2rem 0}.detail-card dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.75rem 0}.detail-card dt{color:var(--muted)}.detail-card dd{margin:0}.fine-print{font-size:.78rem;color:var(--muted);margin-top:1rem}.search-form{display:flex;max-width:640px;margin:2rem auto 0}.search-form input{flex:1;border:0;padding:.8rem 1rem}.result-list{max-width:900px}.result-card{padding:1.2rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem}.result-card img,.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--green);color:white;display:grid;place-items:center;font-family:serif}.result-card div:nth-child(2){flex:1}.result-card h3,.result-card p{margin:0}.empty{padding:2.5rem;background:#efe9dc;color:var(--muted);text-align:center}
.auth-shell{min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--deep)}.auth-art{display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;background:radial-gradient(circle at center,rgba(183,150,91,.32),transparent 27%),linear-gradient(140deg,#23312d,#46564f)}.auth-art span{width:180px;height:280px;border:3px solid #b7965b;background:linear-gradient(90deg,#60442e,#8c6743,#60442e);display:grid;place-items:center;font:5rem serif;color:#e8d2a7;box-shadow:var(--shadow)}.auth-art p{max-width:420px;text-align:center;margin-top:2rem;font-family:"Noto Serif TC"}.form-card{background:var(--white);padding:clamp(2rem,7vw,6rem);display:flex;flex-direction:column;justify-content:center;gap:1.1rem}.form-card h1{font-size:2.6rem}.form-card label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.form-card input,.form-card select,.form-card textarea,.multi-form input,.multi-form select,.multi-form textarea,.inline-form input,.inline-form select,.admin-filter input,.admin-filter select,table select,.table-input{border:1px solid var(--line);background:white;padding:.75rem .9rem;min-height:46px}.form-card small,.multi-form small{color:var(--muted)}.form-links{display:flex;justify-content:space-between;font-size:.85rem}.auth-shell.single{grid-template-columns:minmax(300px,600px);place-content:center;padding:2rem}.multi-form{max-width:1000px}.multi-form fieldset{border:0;padding:2rem 0;margin:0;border-bottom:1px solid var(--line)}.multi-form legend{font-family:"Noto Serif TC";font-size:1.4rem}.multi-form legend b{color:var(--gold);margin-right:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-grid label{display:flex;flex-direction:column;gap:.4rem}.form-grid .wide{grid-column:1/-1}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.plan-grid label{border:1px solid var(--line);padding:1.2rem;display:flex;gap:1rem}.plan-grid span{display:flex;flex-direction:column}.check{display:flex;gap:.7rem;margin-top:1.5rem}
.memorial-room{min-height:100svh;padding:7rem 5vw 3rem;background:radial-gradient(circle at 50% 20%,#52675d,#1b2824 64%);color:#fff;display:grid;grid-template-columns:1fr minmax(450px,1.4fr) 1fr;align-items:center;position:relative;overflow:hidden}.room-light{position:absolute;width:45vw;height:45vw;border-radius:50%;background:rgba(228,207,158,.12);filter:blur(40px);left:27.5%;top:-20%}.offering-stage{position:relative;height:72vh;display:grid;place-items:center}.memorial-plaque{height:55%;width:38%;min-width:180px;padding:1rem;background:linear-gradient(90deg,#6b482b,#9b7044,#6b482b);border:4px solid #c3a064;box-shadow:0 25px 50px #0d1512;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.memorial-plaque img{width:84px;height:84px;border-radius:50%;object-fit:cover;margin-bottom:.7rem}.memorial-plaque h1{font-size:clamp(1.6rem,3vw,2.6rem);writing-mode:vertical-rl;margin:.5rem}.memorial-plaque p{font-size:.7rem}.altar-table{position:absolute;bottom:10%;z-index:3;width:80%;height:18%;background:linear-gradient(#68462f,#3e2b20);border-top:10px solid #99714b;display:flex;align-items:center;justify-content:center;gap:3rem}.altar-table span{display:grid;place-items:center;color:#d5c29f}.incense-burner{width:70px;height:50px;background:#8a6a42;border-radius:8px 8px 30px 30px}.cup{width:45px;height:40px;border:2px solid #d4d1c1}.fruit-bowl{width:60px;height:40px;background:#654f35;border-radius:50%}.flowers{position:absolute;bottom:27%;z-index:2;font-size:5rem;color:#d0b793}.flowers.left{left:5%}.flowers.right{right:5%}.memorial-info p{color:#cbd4cf}.ritual-actions{display:flex;flex-direction:column;gap:.4rem;justify-self:end}.ritual-actions form{margin:0}.ritual-actions button,.ritual-actions a{width:92px;height:74px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer}.ritual-actions i{font:1.1rem serif;color:var(--gold-light)}.ritual-actions span{font-size:.8rem}.offering-effect{position:absolute;inset:0;pointer-events:none;z-index:5}.effect-note{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-family:"Noto Serif TC";color:#ffe7a8;font-size:1.3rem;animation:bless 2.4s forwards}.effect-incense::before{content:"〰";display:block;font-size:5rem;animation:smoke 3s forwards}@keyframes bless{0%{opacity:0;transform:translate(-50%,-30%)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-100%)}}@keyframes smoke{to{transform:translateY(-80px) scale(1.6);opacity:0}}.tribute-section{display:grid;grid-template-columns:1.3fr .7fr;gap:7vw}.tributes article{display:flex;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.avatar.small{width:42px;height:42px;flex:none}.tributes time{font-size:.75rem;color:var(--muted);margin-left:1rem}.tributes p{margin:.3rem 0}.compact-card{padding:2rem;box-shadow:var(--shadow);align-self:start}
.member-head{padding:10rem 7vw 4rem;background:#26342f;color:#fff;display:flex;justify-content:space-between;align-items:end}.member-head h1{font-size:3rem;margin-bottom:.5rem}.member-head p{color:#bac5bf}.member-layout{display:grid;grid-template-columns:260px 1fr;max-width:1400px;margin:auto;padding:3rem 5vw;gap:3rem}.member-tabs{display:flex;flex-direction:column;position:sticky;top:2rem;height:max-content}.member-tabs a{padding:1rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.panel{padding:2rem 0;border-bottom:1px solid var(--line);scroll-margin-top:2rem}.member-cards article{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.member-cards article>div:nth-child(2){flex:1}.member-cards h3,.member-cards p{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-size:.85rem}th{color:var(--muted);font-weight:500}td small{display:block;color:var(--muted)}.inline-form{display:flex;gap:.7rem;flex-wrap:wrap}.inline-form input{flex:1}.successor-row{display:flex;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.successor-row span{flex:1}footer{background:#17221f;color:#c5ccc8;padding:4rem 7vw 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}footer h3{color:white;margin-bottom:.5rem}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;margin-top:1rem}.footer-brand{color:white}.flash{position:fixed;top:92px;left:50%;transform:translateX(-50%);z-index:50;padding:.8rem 1.4rem;color:white;box-shadow:var(--shadow);animation:fade-flash .4s}.flash.success{background:#4d6b5e}.flash.error{background:#9e4f49}@keyframes fade-flash{from{opacity:0;transform:translate(-50%,-20px)}}
.admin-body{background:#edf0ec;min-height:100vh}.admin-nav{position:fixed;left:0;top:0;bottom:0;width:240px;background:#1e2b27;color:white;padding:2rem 1.3rem;display:flex;flex-direction:column}.admin-nav nav{display:flex;flex-direction:column;margin:3rem 0 auto}.admin-nav nav a{padding:.8rem;border-bottom:1px solid rgba(255,255,255,.09)}.admin-main{margin-left:240px;padding:3rem}.admin-header{display:flex;justify-content:space-between;align-items:end}.admin-header h1{font-size:2.7rem}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.stat-grid article{background:white;padding:1.2rem;border-top:3px solid var(--gold)}.stat-grid strong{display:inline-block;font:2.2rem "Noto Serif TC";margin:.5rem}.admin-panel{background:white;margin-top:2rem;padding:1.5rem}.panel-head{display:flex;justify-content:space-between}.action-group{display:flex;gap:.4rem}.admin-filter{display:flex;gap:.7rem;margin:1rem 0}.message-cell{max-width:420px}.admin-login{background:linear-gradient(140deg,#1e2b27,#4b5b54)}.table-input{width:110px}
.reading-page{max-width:980px}.reading-page>h2{max-width:760px}.reading-page>p{max-width:760px;font-size:1.08rem;color:var(--muted)}.reading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:3rem}.reading-grid article{background:var(--paper);padding:2rem}.reading-grid h3{margin-top:0}.faq-page details{border-top:1px solid var(--line);padding:1.35rem 0}.faq-page summary{cursor:pointer;font:1.15rem "Noto Serif TC",serif;letter-spacing:.04em}.faq-page details p{max-width:720px;color:var(--muted);padding:1rem 1.5rem 0}
@media(max-width:900px){.site-header{height:70px}.brand-mark{width:46px;height:46px}.nav-toggle{display:block}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#1e2b27;padding:1.2rem;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav form,.site-header nav button{width:100%;text-align:left}.hero-copy{margin-top:-12vh}.hero-actions{flex-wrap:wrap}.temple{height:42%}.hall-grid,.hall-grid.large{grid-template-columns:1fr}.ritual-feature,.detail-layout,.tribute-section{grid-template-columns:1fr}.steps-list{grid-template-columns:1fr}.memorial-wall{grid-template-columns:repeat(5,1fr);padding:.7rem;border-width:8px}.detail-layout{padding-top:7rem}.position-preview{min-height:450px}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.memorial-room{padding-top:6rem;grid-template-columns:1fr;min-height:auto}.offering-stage{height:68vh}.memorial-info{order:2;text-align:center}.ritual-actions{order:3;justify-self:stretch;flex-direction:row;overflow:auto;padding:1rem 0}.ritual-actions form{flex:1}.ritual-actions button,.ritual-actions a{min-width:76px;width:100%;height:68px;flex-direction:column}.member-layout{grid-template-columns:1fr}.member-tabs{position:static;flex-direction:row;overflow:auto}.member-tabs a{white-space:nowrap}.admin-nav{position:static;width:auto}.admin-body{display:block}.admin-main{margin:0;padding:1.2rem}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.site-header{padding:0 1rem}.brand small{display:none}.hero h1{font-size:3.5rem}.tagline{letter-spacing:.15em}.hero-actions .btn{width:calc(50% - .5rem)}.hero-actions .btn.text{width:100%}.section{padding:4rem 1.2rem}.section-heading,.wall-toolbar,.member-head{align-items:flex-start;flex-direction:column}.ritual-visual{height:360px}.page-hero{padding-left:1.2rem;padding-right:1.2rem}.memorial-wall{grid-template-columns:repeat(4,1fr)}.position{aspect-ratio:.68}.position b{display:none}.form-grid,.plan-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.search-form{flex-direction:column}.member-head{padding:7rem 1.2rem 3rem}.member-layout{padding:2rem 1rem}.inline-form{flex-direction:column}.offering-stage{height:58vh}.memorial-plaque{height:56%;width:48%}.altar-table{width:96%}.tribute-section{padding-top:3rem}.stat-grid{grid-template-columns:1fr 1fr}.admin-header h1{font-size:2rem}footer{grid-template-columns:1fr 1fr;padding:3rem 1.2rem}footer>div:first-child,footer small{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}
/* Administration system */
.admin-body{background:#101c18;color:#f5f0e6;min-height:100vh}.admin-login-screen{min-height:100svh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 50% 18%,rgba(201,167,106,.12),transparent 34%),linear-gradient(145deg,#0b1713,#14251e 55%,#0d1915);position:relative;overflow:hidden}.admin-login-screen:before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(120deg,transparent 48%,#c9a76a 49%,transparent 50%),linear-gradient(30deg,transparent 48%,#c9a76a 49%,transparent 50%);background-size:180px 180px;mask-image:linear-gradient(to bottom,black,transparent)}.admin-login-card{position:relative;width:min(100%,420px);padding:2.6rem clamp(1.5rem,5vw,3rem);display:flex;flex-direction:column;gap:1rem;background:rgba(20,37,30,.84);border:1px solid rgba(201,167,106,.5);box-shadow:0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(18px);border-radius:10px}.admin-login-brand{text-align:center;display:grid;justify-items:center;gap:.45rem}.admin-login-brand img{width:66px;height:66px;object-fit:contain}.admin-login-brand span{font:500 1.2rem "Noto Serif TC",serif;letter-spacing:.15em}.admin-login-card h1{text-align:center;font:500 clamp(2rem,5vw,2.5rem) "Noto Serif TC",serif;margin:0}.admin-login-card>.eyebrow{text-align:center;color:#c9a76a;letter-spacing:.24em;margin:0}.admin-login-copy{text-align:center;color:#aab6ae;margin:0 0 .5rem}.admin-login-card label{display:flex;flex-direction:column;gap:.45rem;color:#f5f0e6;font-size:.88rem}.admin-login-card input{width:100%;height:50px;border:1px solid rgba(201,167,106,.42);border-radius:5px;background:rgba(10,25,19,.75);color:#f5f0e6;padding:0 .9rem;box-sizing:border-box}.admin-login-card input:focus{outline:none;border-color:#c9a76a;box-shadow:0 0 0 3px rgba(201,167,106,.12)}.admin-password{display:flex;position:relative}.admin-password input{padding-right:4.5rem}.admin-password button{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#c9a76a;cursor:pointer}.admin-login-submit{height:52px;border:0;border-radius:5px;background:linear-gradient(135deg,#c9a76a,#e0c38d);color:#17221d;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:filter .25s ease,transform .25s ease}.admin-login-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.admin-login-submit:disabled{opacity:.65;cursor:wait}.admin-back-link{text-align:center;color:#aab6ae;font-size:.84rem}.admin-login-error{padding:.7rem .8rem;border:1px solid rgba(220,130,112,.55);background:rgba(105,38,30,.28);color:#f3c0b1;border-radius:4px}.admin-nav .brand{display:flex;align-items:center;gap:.7rem;color:#f5f0e6;text-decoration:none}.admin-nav .brand img{width:42px;height:42px;object-fit:contain}.admin-nav .brand span{display:flex;flex-direction:column}.admin-nav .brand small{font-size:.68rem;color:#c9a76a;letter-spacing:.12em;margin-top:.15rem}.admin-nav nav a{color:#aab6ae;border:0;border-radius:5px;margin:.2rem 0;transition:background .2s,color .2s}.admin-nav nav a:hover,.admin-nav nav a:focus{background:rgba(201,167,106,.12);color:#f5f0e6}.admin-user{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}.admin-user small{color:#aab6ae}.admin-main{background:#101c18;min-height:100vh}.admin-header h1{color:#f5f0e6}.admin-header>p{color:#aab6ae}.stat-grid article,.admin-panel{background:#1b2d25;border:1px solid rgba(201,167,106,.16);color:#f5f0e6;box-shadow:0 12px 30px rgba(0,0,0,.12)}.stat-grid article small,.admin-panel .panel-head span{color:#aab6ae}.stat-grid strong{color:#c9a76a}.admin-menu-toggle{display:none}
@media(max-width:900px){.admin-menu-toggle{display:block;position:fixed;z-index:20;right:1rem;top:1rem;background:#1b2d25;border:1px solid rgba(201,167,106,.45);color:#f5f0e6;border-radius:5px;padding:.6rem .75rem}.admin-nav{position:fixed;z-index:15;left:0;top:0;bottom:0;width:240px;transform:translateX(-105%);transition:transform .25s ease}.admin-menu-open .admin-nav{transform:translateX(0)}.admin-main{margin:0;padding:4.5rem 1rem 1.5rem}.admin-header{padding-right:3rem}.admin-login-card{padding:2rem 1.25rem}}
/* Search directory */
.search-page{background:#101c18;color:#f5f0e6}.search-directory{min-height:calc(100svh - 80px);background:radial-gradient(circle at 50% 8%,rgba(201,167,106,.13),transparent 35%),linear-gradient(160deg,#101c18,#14251e 62%,#0d1915);padding-bottom:5rem}.search-hero{text-align:center;padding:clamp(6rem,12vw,9rem) 1rem 3.5rem}.search-hero .eyebrow{color:#c9a76a;letter-spacing:.25em}.search-hero h1{font:500 clamp(2rem,5vw,3rem) "Noto Serif TC",serif;margin:.7rem 0}.search-hero>p:not(.eyebrow){color:#c4cec8}.search-form{display:flex;max-width:680px;margin:2rem auto 0;gap:.6rem}.search-form input{flex:1;height:56px;min-width:0;border:1px solid rgba(201,167,106,.5);border-radius:8px;background:rgba(8,22,16,.7);color:#f5f0e6;padding:0 1.1rem}.search-form input::placeholder{color:#aab6ae}.search-form input:focus{outline:none;border-color:#c9a76a;box-shadow:0 0 0 3px rgba(201,167,106,.12)}.search-form button{height:56px;border:1px solid #d7b879;border-radius:8px;background:linear-gradient(135deg,#c9a76a,#e1c58e);color:#18251f;padding:0 1.5rem;font-weight:700;white-space:nowrap}.search-results{max-width:980px;margin:0 auto;padding:0 1rem}.search-empty{min-height:160px;border:1px solid rgba(201,167,106,.22);border-radius:10px;background:rgba(27,45,37,.7);display:grid;place-items:center;text-align:center;padding:2rem;color:#aab6ae}.search-empty span{font-size:2rem;color:#c9a76a}.search-empty p{margin:.5rem 0}.result-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-heading h2{font:500 1.4rem "Noto Serif TC",serif}.result-heading span{color:#aab6ae;font-size:.85rem}.result-grid{display:grid;gap:.8rem}.result-card{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:1rem;padding:1rem 1.1rem;background:rgba(27,45,37,.78);border:1px solid rgba(201,167,106,.2);border-radius:9px}.result-card img,.result-card .avatar{width:68px;height:68px;border-radius:6px;object-fit:cover;background:#24372f;color:#c9a76a;display:grid;place-items:center}.result-card-body h3,.result-card-body p{margin:.15rem 0}.result-area{color:#c9a76a!important;font-size:.75rem;letter-spacing:.08em}.result-card-body p:not(.result-area){color:#aab6ae}.result-card-body small{color:#aab6ae}.result-link{color:#f5f0e6;text-decoration:none;border:1px solid rgba(201,167,106,.45);padding:.65rem .8rem;border-radius:5px;white-space:nowrap}.result-link span{color:#c9a76a;margin-left:.3rem}.search-pagination{display:flex;justify-content:center;gap:.45rem;margin-top:1.5rem}.search-pagination a{color:#aab6ae;border:1px solid rgba(201,167,106,.3);padding:.45rem .7rem;border-radius:4px;text-decoration:none}.search-pagination a.active{background:#c9a76a;color:#18251f}@media(max-width:600px){.search-hero{padding-top:5rem;padding-bottom:2.5rem}.search-form{gap:.5rem}.search-form button{padding:0 .9rem}.result-card{grid-template-columns:52px 1fr;gap:.75rem}.result-card img,.result-card .avatar{width:52px;height:52px}.result-link{grid-column:1/-1;text-align:center}.result-heading{align-items:flex-start;flex-direction:column;gap:.3rem}}
/* Memorial space administration */
.admin-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:2rem}.admin-space-card{overflow:hidden;background:#1b2d25;border:1px solid rgba(201,167,106,.28);border-radius:8px;box-shadow:0 14px 32px rgba(0,0,0,.18)}.admin-space-image{height:150px;background-position:center;background-size:cover;opacity:.78}.admin-space-content{padding:1.2rem}.admin-space-content h2{margin:.25rem 0 1rem;font:500 1.45rem "Noto Serif TC",serif}.admin-space-stats{display:flex;gap:1rem;color:#aab6ae;font-size:.82rem;margin-bottom:1.1rem}.admin-space-stats b{display:block;color:#c9a76a;font-size:1.35rem}.admin-panel table{color:#f5f0e6}.admin-panel table th{color:#c9a76a;background:#14251e}.admin-panel table td{background:#1b2d25;border-bottom:1px solid rgba(255,255,255,.1);color:#f5f0e6}.admin-panel table td small{display:block;color:#aab6ae}.admin-panel .admin-filter input,.admin-panel .admin-filter select,.admin-filter input,.admin-filter select{background:#1b2d25;color:#f5f0e6;border-color:rgba(201,167,106,.35)}
@media(max-width:900px){.admin-space-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.admin-space-grid{grid-template-columns:1fr}}
.memorial-room{background-image:linear-gradient(rgba(10,18,15,.48),rgba(10,18,15,.58)),var(--memorial-scene);background-size:cover;background-position:center;background-repeat:no-repeat}
.memorial-stone-name{position:absolute;left:50%;top:42%;z-index:4;transform:translate(-50%,-50%);writing-mode:vertical-rl;text-orientation:upright;text-align:center;color:#e6bd74;font:500 clamp(1.25rem,3vw,2.6rem)/1.25 "Noto Serif TC",serif;letter-spacing:.14em;text-shadow:0 2px 8px rgba(0,0,0,.8);max-height:42%;max-width:18%;overflow:visible}.memorial-archive-frame{width:min(190px,15vw);aspect-ratio:4/5;margin:0 auto 1rem;padding:.45rem;background:rgba(20,28,23,.8);border:1px solid rgba(205,174,112,.75);box-shadow:0 12px 28px rgba(0,0,0,.35);display:grid;place-items:center}.memorial-archive-frame img{width:100%;height:100%;object-fit:contain}.memorial-info .memorial-archive-frame+*{margin-top:.5rem}@media(max-width:900px){.memorial-stone-name{top:40%;font-size:clamp(1rem,6vw,1.6rem);max-height:38%}.memorial-archive-frame{width:min(240px,68vw)}}
.memorial-room .memorial-plaque{display:none!important}.memorial-room .memorial-archive-frame{position:absolute;left:7%;top:38%;z-index:6;width:min(190px,15vw);margin:0}.memorial-room .memorial-info{position:relative;z-index:4}.memorial-room .memorial-stone-name{left:50%;top:48%}@media(max-width:900px){.memorial-room .memorial-archive-frame{position:relative;left:auto;top:auto;width:min(240px,68vw);margin:0 auto 1rem}.memorial-room .memorial-stone-name{top:42%}}
.memorial-room{display:block;min-height:100svh;padding:0;position:relative;overflow:hidden}.memorial-room .offering-stage{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2}.memorial-room .altar-table,.memorial-room .flowers{display:none!important}.memorial-room .memorial-info{position:absolute;left:7%;bottom:9%;z-index:7;max-width:260px}.memorial-room .memorial-info h2{display:none}.memorial-room .memorial-info>p:not(.life-dates):not(.eyebrow){display:none}.memorial-room .memorial-info .eyebrow{margin:0 0 .45rem}.memorial-room .memorial-info .life-dates{margin:0;color:#f5ebdd}.memorial-room .ritual-actions{position:absolute;right:3%;top:30%;z-index:8}.memorial-room .memorial-stone-name{left:50%;top:48%;z-index:5;display:block;pointer-events:none}.memorial-room .memorial-archive-frame{left:7%;top:38%;z-index:6}.memorial-room .room-light{z-index:1}@media(max-width:900px){.memorial-room{min-height:100svh;padding-top:70px}.memorial-room .memorial-info{position:relative;left:auto;bottom:auto;padding:1rem 1.2rem;text-align:center;max-width:none}.memorial-room .ritual-actions{position:relative;right:auto;top:auto}.memorial-room .memorial-archive-frame{left:auto;top:auto}.memorial-room .memorial-stone-name{top:42%}}
.memorial-room .memorial-info .memorial-archive-frame{position:fixed;left:7%;top:38%;z-index:6;margin:0}
@media(max-width:900px){.memorial-room .memorial-info .memorial-archive-frame{position:relative;left:auto;top:auto;margin:0 auto 1rem}}
.memorial-room>.memorial-archive-frame{position:absolute;left:8%;top:42%;z-index:6;width:min(190px,14vw);margin:0;padding:.45rem;background:rgba(20,28,23,.86);border:1px solid rgba(224,188,112,.9);box-shadow:0 14px 34px rgba(0,0,0,.45)}.memorial-room>.memorial-archive-frame img{display:block;width:100%;height:100%;object-fit:contain}.memorial-room>.memorial-info{color:#f5ebdd}.memorial-room>.memorial-info .eyebrow{color:#e4c98e}.memorial-room>.memorial-info .life-dates{color:#fff1cf;text-shadow:0 1px 4px rgba(0,0,0,.7)}
@media(max-width:900px){.memorial-room>.memorial-archive-frame{position:relative;left:auto;top:auto;width:min(240px,68vw);margin:1rem auto}}
@media(max-width:900px){.memorial-room .memorial-info .memorial-archive-frame{display:none!important}.memorial-room>.memorial-archive-frame{display:block!important;position:relative;left:auto;top:auto;width:min(240px,68vw);margin:1rem auto}}
@media(max-width:900px){.memorial-room{display:flex;flex-direction:column;min-height:100svh;padding:70px 0 1rem;overflow:visible}.memorial-room .offering-stage{position:relative;inset:auto;width:100%;height:52vh;min-height:360px;order:1;flex:none}.memorial-room .memorial-stone-name{top:48%;left:50%;max-height:52%;font-size:clamp(1rem,6vw,1.6rem)}.memorial-room .memorial-info{position:relative;order:2;left:auto;right:auto;bottom:auto;transform:none;width:100%;padding:.8rem 1rem;text-align:center}.memorial-room>.memorial-archive-frame{order:3;position:relative!important;left:auto!important;top:auto!important;transform:none;width:min(180px,48vw);margin:.6rem auto 1rem}.memorial-room .ritual-guide{order:4;position:relative;right:auto;top:auto;width:auto;margin:.5rem 1rem 0}.memorial-room .ritual-guide-panel{position:relative;top:auto;right:auto;width:auto}.memorial-room .ritual-actions{display:none!important}}
.memorial-room .memorial-info{left:50%;right:auto;bottom:6%;transform:translateX(-50%);width:min(360px,42vw);max-width:none;text-align:center}.memorial-room .memorial-info .eyebrow,.memorial-room .memorial-info .life-dates{white-space:nowrap}.memorial-room .memorial-info .eyebrow{font-size:.72rem;letter-spacing:.16em}.memorial-room .memorial-info .life-dates{font-size:1rem;letter-spacing:.08em}.memorial-room .memorial-info .memorial-archive-frame{left:7vw;top:42vh;width:min(180px,13vw)}
@media(max-width:900px){.memorial-room .memorial-info{left:auto;right:auto;bottom:auto;transform:none;width:auto;text-align:center}.memorial-room .memorial-info .memorial-archive-frame{left:auto;top:auto;width:min(240px,68vw)}}
/* Fine-tune memorial photo placement */
.memorial-room>.memorial-archive-frame{left:16%}
.memorial-room>.memorial-archive-frame{left:24%}
.memorial-room>.memorial-archive-frame{top:48%}
.memorial-room>.memorial-archive-frame{top:54%}
@media(min-width:901px){.memorial-room>.memorial-archive-frame{top:66%;width:min(155px,11vw)}}
@media(min-width:901px){.memorial-room>.memorial-archive-frame{left:32%}}
@media(min-width:901px){.memorial-room>.memorial-archive-frame{left:38%}}
@media(min-width:901px){.memorial-room>.memorial-archive-frame{left:43%}}
@media(min-width:901px){.memorial-room>.memorial-archive-frame{left:45%}}
@media(min-width:901px){.memorial-room>.memorial-archive-frame{left:44%}}
.ritual-guide{position:absolute;right:3%;top:30%;z-index:10}.ritual-guide-toggle{min-width:120px;padding:.9rem 1.2rem;background:rgba(15,32,27,.78);border:1px solid rgba(205,174,112,.75);color:#f5ebdd;font:500 1rem "Noto Serif TC",serif;cursor:pointer;backdrop-filter:blur(10px);transition:.25s}.ritual-guide-toggle:hover{background:rgba(36,60,49,.9);border-color:#e4c98e}.ritual-guide-panel{position:absolute;right:0;top:calc(100% + .7rem);width:min(330px,30vw);padding:1.4rem;background:rgba(15,32,27,.9);border:1px solid rgba(205,174,112,.7);color:#f5ebdd;backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(0,0,0,.35)}.ritual-guide-panel h3{margin:0 0 1rem;color:#e4c98e;font:500 1.35rem "Noto Serif TC",serif}.ritual-guide-panel section{padding:.55rem 0;border-top:1px solid rgba(205,174,112,.2)}.ritual-guide-panel b{color:#e4c98e;font-size:.85rem}.ritual-guide-panel p{margin:.25rem 0 0;color:rgba(255,245,224,.86);font-size:.78rem;line-height:1.7}.ritual-guide-panel small{display:block;margin-top:.8rem;color:rgba(255,245,224,.62);line-height:1.6}.ritual-guide-close{position:absolute;right:.5rem;top:.3rem;border:0;background:none;color:#e4c98e;font-size:1.4rem;cursor:pointer}@media(max-width:900px){.ritual-guide{position:relative;right:auto;top:auto;z-index:9;margin:1rem 1.2rem}.ritual-guide-toggle{width:100%;min-height:52px}.ritual-guide-panel{position:relative;right:auto;top:auto;width:auto;margin-top:.6rem}.ritual-guide-panel[hidden]{display:none}}
/* Replace legacy virtual offering controls on memorial pages */
.memorial-room .ritual-actions{display:none!important}
@media(max-width:900px){.memorial-room .memorial-stone-name{top:68%}}
@media(max-width:767px){
  .site-header{overflow:visible;position:absolute}.site-header .nav-toggle{position:relative;z-index:1001}.site-header nav{top:calc(100% + 8px);left:auto;right:0;width:200px;max-width:calc(100vw - 32px);padding:.45rem;background:rgba(15,32,27,.95);border:1px solid rgba(205,174,112,.8);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.45);backdrop-filter:blur(12px);z-index:1000}.site-header nav.open{display:flex}.site-header nav a,.site-header nav form,.site-header nav button{width:100%;min-height:48px;display:flex;align-items:center;padding:.6rem .8rem;text-align:left;box-sizing:border-box}.site-header nav form{margin:0}.site-header nav .link-button{justify-content:flex-start}
  .memorial-room{display:flex;flex-direction:column;min-height:100svh;width:100%;max-width:100%;padding:70px 0 1.25rem;overflow-x:hidden;overflow-y:visible;background-size:cover;background-position:center top}
  .memorial-room .offering-stage{order:1;position:relative;inset:auto;width:100%;height:54svh;min-height:340px;max-height:520px;flex:none}
  .memorial-room .memorial-stone-name{left:50%;top:61%;transform:translate(-50%,-50%);writing-mode:vertical-rl;text-orientation:upright;display:block;max-height:38%;max-width:25%;font-size:clamp(1rem,6vw,1.55rem);line-height:1.2;letter-spacing:.1em;white-space:nowrap}
  .memorial-room .memorial-info{order:2;position:relative;left:auto;right:auto;bottom:auto;transform:none;width:calc(100% - 2rem);max-width:440px;margin:0 auto;padding:1rem;border:1px solid rgba(205,174,112,.5);background:rgba(15,32,27,.82);backdrop-filter:blur(12px);text-align:center;box-sizing:border-box}
  .memorial-room .memorial-info .memorial-mobile-inscription{display:flex;justify-content:center;align-items:center;gap:.8rem;margin-bottom:.65rem;color:#f5ebdd}
  .memorial-room .memorial-info .memorial-mobile-inscription strong{font-size:1.2rem;color:#e4c98e;font-weight:500}
  .memorial-room .memorial-info .memorial-mobile-inscription span{font-size:.95rem;color:#f5ebdd}
  .memorial-room .memorial-info .eyebrow{font-size:.66rem;letter-spacing:.1em;margin:.25rem 0;color:#e4c98e}
  .memorial-room .memorial-info .life-dates{font-size:.9rem;margin:.25rem 0;color:#fff1cf;white-space:nowrap}
  .memorial-room>.memorial-archive-frame{order:3;position:relative!important;left:auto!important;top:auto!important;transform:none;width:112px;height:140px;margin:1rem auto .85rem;padding:.35rem;border-radius:10px;box-sizing:border-box}
  .memorial-room>.memorial-archive-frame img{width:100%;height:100%;object-fit:cover;border-radius:7px}
  .memorial-room .ritual-guide{order:4;position:relative;right:auto;top:auto;width:calc(100% - 2rem);margin:.25rem auto 0}
  .memorial-room .ritual-guide-toggle{width:100%;min-height:50px}
  .memorial-room .ritual-guide-panel{position:relative;inset:auto;width:auto;margin-top:.55rem}
  .memorial-room .ritual-actions,.memorial-room .memorial-info .memorial-archive-frame{display:none!important}
}
@media(max-width:767px){.admin-body{position:relative}.admin-menu-toggle{position:fixed;right:1rem;top:1rem;z-index:1001;width:48px;height:44px;padding:0;font-size:1.35rem}.admin-nav{left:auto;right:1rem;top:calc(1rem + 52px);bottom:auto;width:200px;max-height:calc(100vh - 90px);overflow:auto;padding:1rem;transform:translateY(-8px);opacity:0;pointer-events:none;border:1px solid rgba(201,167,106,.7);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.45);transition:opacity .2s ease,transform .2s ease}.admin-menu-open .admin-nav{transform:translateY(0);opacity:1;pointer-events:auto}.admin-nav .brand{margin-bottom:.7rem}.admin-nav nav{margin:.5rem 0 1rem}.admin-nav nav a,.admin-user .btn{min-height:48px;display:flex;align-items:center}.admin-user{padding-top:.7rem}}
/* Shared phone dropdown rows: the form is a wrapper, never a second padded row. */
@media(max-width:767px){
  body:not(.admin-body) .site-header nav.open{gap:0;right:16px;left:auto;max-height:calc(100svh - 100px);overflow-y:auto;}
  body:not(.admin-body) .site-header nav.open>a,
  body:not(.admin-body) .site-header nav.open>form{margin:0;padding:0;min-height:0;border-bottom:1px solid rgba(205,174,112,.16);}
  body:not(.admin-body) .site-header nav.open>a,
  body:not(.admin-body) .site-header nav.open>form>.link-button{display:flex;align-items:center;justify-content:flex-start;height:48px;min-height:48px;width:100%;padding:0 12px;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:.04em;text-align:left;box-sizing:border-box;color:#f5ebdd;}
  body:not(.admin-body) .site-header nav.open>form{display:block;height:48px;}
  body:not(.admin-body) .site-header nav.open>:last-child{border-bottom:0;}
}
