:root{--bg:#faf8f4;--surface:#fff;--ink:#242936;--muted:#626572;--line:#e6e2dc;--gold:#8c652c;--accent:#343f60;--soft:#f0ece6;--nav:#191e2c;--radius:14px;color-scheme:light;font-family:Inter,'Segoe UI',Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6}body.dark{--gold:#e4c38b;--bg:#1c2331;--surface:#293243;--ink:#faf7f2;--muted:#cbd0dc;--line:#4a576e;--accent:#e4c38b;--soft:#343f53;color-scheme:dark}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}svg.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:var(--surface);padding:12px}.skip-link:focus{top:10px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:11px 18px;border-radius:8px;font-weight:600;transition:background .2s,transform .2s}.btn:hover{background:var(--soft)}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn.gold{background:#d9b776;border-color:#d9b776;color:#292536}.btn.ghost{background:transparent;border-color:#ffffff50;color:#fff}.btn.small{font-size:12px;padding:7px 12px}.icon-btn{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;display:inline-grid;place-items:center;background:transparent;color:inherit}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:block}.muted{color:var(--muted)}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.public-header{height:88px;background:#191e2cf5;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;position:fixed;top:0;left:0;width:100%;z-index:40;border-bottom:1px solid #ffffff14;backdrop-filter:blur(15px)}.public-links{display:flex;align-items:center;gap:30px;font-size:13px}.public-links>a:not(.btn){color:#dedde6}.public-links>a:hover{color:#ddbb7d}.mobile-menu{display:none}.hero{margin-top:88px;min-height:660px;height:calc(100svh - 88px);max-height:860px;position:relative;color:#fff;display:flex;align-items:center;background:#202638;overflow:hidden}.hero>img{position:absolute;width:70%;height:100%;right:0;object-fit:cover;object-position:60% center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#181e30 1%,#181e30f2 23%,#181e30a8 49%,#181e3020 80%),linear-gradient(0deg,#181e30b0,transparent 40%)}.hero-copy{position:relative;z-index:1;margin-left:8%;max-width:650px;padding:60px 20px 100px 0}.hero h1{font-family:Georgia,serif;font-size:clamp(52px,5.5vw,86px);font-weight:400;line-height:1.04;letter-spacing:-.045em;margin-bottom:26px}.hero h1 em{color:#d8b777;font-weight:400}.hero p{font-size:16px;color:#dedee8;max-width:390px;line-height:1.8;margin-bottom:32px}.hero .eyebrow{color:#d9b776}.button-row{display:flex;gap:12px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:32px;left:8%;right:6%;display:flex;justify-content:space-between;z-index:2;color:#dedbe6;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.motto{padding:26px 8%;display:flex;justify-content:space-between;gap:24px;align-items:center;background:#e9e4d7;color:#464153;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.motto b{font-family:Georgia,serif;font-size:22px;text-transform:none;font-weight:400;letter-spacing:0}.public-section{max-width:1280px;margin:auto;padding:100px 6%}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.public-section h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.035em}.public-section p{font-size:16px;color:var(--muted);line-height:1.9}.photo-frame{position:relative}.photo-frame img{position:relative;width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:3px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:8px}.life-section{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:38px}.section-heading h2{margin:0}.section-heading p{max-width:330px;margin-bottom:0}.life-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.life-card img{width:100%;aspect-ratio:1.25;object-fit:cover}.life-card .number{font-size:10px;letter-spacing:.15em;color:var(--gold);margin:22px 0 10px;display:block}.life-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin-bottom:10px}.life-card p{font-size:14px}.serve-banner{display:grid;grid-template-columns:1.3fr 1fr;background:#28324e;color:#fff;border-radius:4px;padding:55px;gap:50px;align-items:center}.serve-banner h2{font-size:42px}.serve-banner p{color:#dddce7;font-size:15px}.visit-note{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:start;gap:20px}.visit-note p{font-size:13px;margin:0}.footer{padding:40px 7%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.footer strong{color:var(--ink);font-family:Georgia,serif;font-size:22px;font-weight:400}.login-layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-art{position:relative;background:#202638;color:#fff;display:flex;align-items:end;padding:70px}.login-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.login-art>div{z-index:1;position:relative}.login-art h2{font-family:Georgia,serif;font-size:58px;font-weight:400;max-width:440px}.login-panel{display:flex;align-items:center;justify-content:center;padding:50px 8%;position:relative}.login-inner{width:100%;max-width:380px}.login-inner h1{font-size:32px;margin-bottom:12px}.login-back{position:absolute;left:8%;top:35px;display:flex;align-items:center;gap:8px;font-size:12px}.login-mark{font-family:Georgia,serif;font-size:25px;margin-bottom:50px;color:var(--gold)}label.field{display:block;font-size:12px;font-weight:600;margin-bottom:18px}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);margin-top:7px;min-width:0}textarea{min-height:100px;resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}.form-error{color:#b44737;background:#b4473712;border-radius:7px;font-size:13px;padding:10px 12px;display:none}.form-error:not(:empty){display:block;margin-bottom:18px}.sidebar{position:fixed;top:0;left:0;width:238px;height:100dvh;background:var(--sidebar-bg);color:var(--sidebar-ink);z-index:45;display:flex;flex-direction:column;border-right:1px solid var(--sidebar-line)}.sidebar-brand{padding:24px 26px 15px}.workspace-tag{font-size:9px;letter-spacing:.19em;color:var(--sidebar-muted);margin:12px 0 0}.nav-group{padding:20px 15px}.nav-caption{font-size:10px;letter-spacing:.16em;color:var(--sidebar-muted);text-transform:uppercase;padding:0 14px;margin-bottom:10px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:12px 14px;border-radius:8px;margin:4px 0;font-size:13px}.sidebar nav a:hover{background:var(--sidebar-hover);color:var(--sidebar-ink)}.sidebar nav a.active{background:var(--sidebar-active);color:var(--sidebar-ink);box-shadow:inset 3px 0 #947035}.sidebar-bottom{margin-top:auto;padding:20px 25px;border-top:1px solid var(--sidebar-line)}.sidebar-bottom a{font-size:12px;display:flex;align-items:center;gap:10px}.app-topbar{position:fixed;top:0;left:238px;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line);z-index:35;padding:0 36px;gap:15px}.breadcrumbs{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:14px}.breadcrumbs strong{color:var(--ink);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:15px}.avatar{width:33px;height:33px;border-radius:50%;background:#e6ddc7;color:#655431;display:grid;place-items:center;font-size:11px;font-weight:700}.identity{display:flex;align-items:center;gap:10px;font-size:12px}.identity small{display:block;font-size:10px;color:var(--muted)}.app-main{margin-left:238px;padding:113px 36px 50px;min-height:100svh;max-width:1800px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.page-heading h1{font-size:29px;letter-spacing:-.04em;margin:3px 0 8px}.page-heading p{margin:0;font-size:13px;color:var(--muted)}.overline{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.welcome-banner{background:#eae9dd;border:1px solid #e0dfcf;border-radius:12px;display:flex;justify-content:space-between;gap:20px;padding:26px 30px;margin-bottom:26px;color:#3b405b;position:relative;overflow:hidden}.welcome-banner h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin-bottom:8px}.welcome-banner p{margin:0;font-size:13px;max-width:560px;color:#77748b}.welcome-symbol{font-family:Georgia,serif;font-size:85px;line-height:.9;color:#a7a0b8;align-self:center;padding-right:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.metric-label svg{color:var(--gold)}.metric-value{font-size:34px;letter-spacing:-.06em;font-weight:600;margin:12px 0 3px}.metric small{font-size:11px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:24px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;margin-bottom:24px}.panel-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-head h2{font-size:15px;margin:0;letter-spacing:-.02em}.panel-body{padding:24px}.empty{text-align:center;padding:45px 24px;color:var(--muted)}.empty .empty-icon{width:50px;height:50px;background:var(--soft);display:grid;place-items:center;border-radius:12px;margin:0 auto 15px;color:var(--accent)}.empty h3{font-size:16px;color:var(--ink);margin-bottom:10px}.empty p{font-size:12px;max-width:360px;margin:0 auto 20px}.quick-action{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.quick-action:last-child{border:0}.quick-action>span{background:var(--soft);padding:10px;border-radius:9px;display:flex;color:var(--accent)}.quick-action b{font-size:12px;display:block}.quick-action small{color:var(--muted);font-size:11px}.quick-action>.icon{margin-left:auto;width:15px}.progress-row{margin-bottom:22px}.progress-row:last-child{margin:0}.progress-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.progress-track{background:var(--soft);height:6px;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:#a68a50;border-radius:10px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{padding:13px 22px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500;background:var(--bg)}td{padding:18px 22px;border-top:1px solid var(--line);font-size:12px}td strong{display:block;font-size:13px}td small{color:var(--muted);display:block;margin-top:3px}.badge{display:inline-block;font-size:10px;letter-spacing:.02em;text-transform:capitalize;padding:4px 9px;border-radius:5px;background:var(--soft);color:var(--muted)}.badge.submitted{background:#ba8a1f19;color:#9a731a}.badge.approved{background:#7863a518;color:#8d7ab7}.filters{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:22px;padding:18px 22px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.filters label.field{margin:0;flex:1;min-width:130px}.filters input,.filters select{padding:8px 10px}.search-field{max-width:300px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.department-card{padding:25px;display:flex;flex-direction:column;min-height:220px}.department-card>svg{color:var(--gold);width:26px;height:26px;margin-bottom:20px}.department-card h2{font-size:19px;margin-bottom:10px}.department-card p{font-size:12px;color:var(--muted);flex:1}.department-card .card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.span-2{grid-column:1/-1}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.editor-aside{position:sticky;top:100px}.check-group{border-bottom:1px solid var(--line);padding:20px 24px}.check-group:last-child{border:0}.check-group h3{font-size:12px;color:var(--accent);margin-bottom:15px}.check-item{display:flex;gap:11px;align-items:flex-start;padding:9px 0;font-size:12px;cursor:pointer}.check-item input{margin:0;margin-top:2px}.check-item:has(input:checked){color:var(--muted)}.check-item:has(input:checked) span{text-decoration:line-through;text-decoration-color:var(--line)}.editor-progress{font-size:38px;font-weight:500;letter-spacing:-.05em;margin:12px 0}.tip{padding:15px;border-radius:8px;background:var(--soft);font-size:12px;color:var(--muted);margin:20px 0}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:0 20px}.tab{border:0;background:transparent;padding:18px 12px;color:var(--muted);font-size:12px;border-bottom:2px solid transparent}.tab.active{border-bottom-color:var(--gold);color:var(--ink)}.report-section h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:25px 0 8px}.report-section p{white-space:pre-wrap;overflow-wrap:anywhere}.report-meta{display:flex;gap:40px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}.report-meta small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.report-meta b{font-size:13px}.check-read{padding:5px 0;color:var(--muted);font-size:12px;display:flex;align-items:start;gap:8px}.check-read.done{color:var(--accent)}.check-read svg{width:15px;margin-top:2px}dialog{border:1px solid var(--line);border-radius:15px;padding:0;background:var(--surface);color:var(--ink);width:min(560px,calc(100% - 32px));max-height:90dvh;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#171b2c80;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 26px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:20px;margin:0}.dialog-body{padding:26px}.dialog-body .btn.primary{margin-top:10px}.membership-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px;background:var(--bg);border-radius:6px}.membership-row span{flex:1;font-size:12px}.membership-row select{margin:0;width:150px;padding:8px}.notice{border:1px solid var(--line);border-left:3px solid var(--gold);padding:15px 20px;border-radius:6px;font-size:12px;margin-bottom:22px;background:var(--surface)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:#343f60;color:#fff;padding:13px 24px;border-radius:9px;box-shadow:0 8px 30px #0002;z-index:100;transition:transform .2s;max-width:90%;font-size:13px}#toast.show{transform:translateX(-50%) translateY(0)}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.print-only{display:none}.settings-width{max-width:650px}.dirty{color:var(--gold);font-size:11px}.report-list-title{color:var(--accent);font-weight:600}.report-list-title:hover{text-decoration:underline}.body-lock{overflow:hidden}@media(min-width:1600px){.hero-copy{margin-left:calc((100vw - 1380px)/2)}.public-section{max-width:1400px}}@media(max-width:1100px){.public-links{gap:18px}.hero h1{font-size:65px}.intro-grid{gap:40px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:215px}.app-topbar{left:215px;padding:0 24px}.app-main{margin-left:215px;padding:103px 24px 40px}.editor-layout{grid-template-columns:1fr}.editor-aside{position:static}.card-grid{grid-template-columns:1fr 1fr}.identity .user-text{display:none}.serve-banner{padding:35px;gap:30px}}@media(max-width:760px){.public-header{height:74px;padding:0 22px}.mobile-menu{display:inline-grid}.public-links{display:none;position:absolute;top:74px;left:0;right:0;padding:24px;background:#191e2c;align-items:stretch;gap:22px}.public-links.open{display:flex;flex-direction:column}.hero{margin-top:74px;min-height:650px;max-height:800px}.hero>img{width:100%;opacity:.6;object-position:58% center}.hero:after{background:linear-gradient(90deg,#202638df,#20263855),linear-gradient(0deg,#202638,transparent)}.hero-copy{margin-left:7%;padding-top:80px}.hero h1{font-size:58px}.hero p{font-size:14px;max-width:320px}.hero-bottom{font-size:9px;left:7%;right:7%}.hero-bottom>span:last-child{display:none}.motto{padding:24px 7%;flex-direction:column;align-items:start;gap:8px;letter-spacing:.06em;font-size:10px}.motto b{font-size:19px}.public-section{padding:65px 7%}.intro-grid{grid-template-columns:1fr;gap:35px}.intro-grid .photo-frame{order:2}.section-heading{display:block}.section-heading p{margin-top:20px}.life-grid{grid-template-columns:1fr;gap:30px}.life-card img{aspect-ratio:1.5}.serve-banner{grid-template-columns:1fr;padding:30px;gap:10px}.serve-banner h2{font-size:36px}.footer{flex-direction:column;align-items:start;padding:30px 7%}.login-layout{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100svh;padding:100px 7% 40px}.login-mark{margin-bottom:35px}.sidebar{transform:translateX(-100%);transition:transform .2s;width:250px;box-shadow:0 0 0 100vmax #0000}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #0006}.sidebar .mobile-menu{position:absolute;right:10px;top:10px;width:28px;height:28px;border-color:#ffffff30}.app-topbar{left:0;height:68px;padding:0 18px}.app-main{margin-left:0;padding:94px 18px 35px}.breadcrumbs{font-size:11px;gap:8px}.breadcrumbs>span{display:none}.topbar-actions{gap:8px}.topbar-actions>.btn{padding:6px;font-size:0;border:0}.topbar-actions>.btn svg{width:18px}.page-heading{align-items:start;gap:12px;flex-wrap:wrap}.page-heading h1{font-size:26px}.page-heading .button-row{width:100%}.metrics{gap:12px}.metric{padding:17px}.metric-label{font-size:10px}.metric-value{font-size:29px}.metric small{font-size:10px}.welcome-banner{padding:22px}.welcome-banner h2{font-size:24px}.welcome-symbol{display:none}.panel-head{padding:18px}.panel-body{padding:18px}.card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filters{padding:15px}.filters label.field{min-width:120px}.filters .btn{flex:1}.editor-layout{gap:0}.check-group{padding:18px}.dialog-body{padding:20px}.dialog-head{padding:20px}.membership-row select{width:115px;font-size:11px}.notice{line-height:1.7}.visit-note{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{background:#fff!important;color:#111!important;font-size:11px}.sidebar,.app-topbar,.no-print,.page-heading .button-row,.filters,#toast,dialog,.skip-link{display:none!important}.app-main{margin:0;padding:0}.panel{border:0;margin:0 0 20px;background:#fff}.panel-head{padding:15px 0}.panel-body{padding:10px 0}.print-only{display:block}.report-section{break-inside:avoid}.report-print{break-after:page}.report-print:last-child{break-after:auto}.page-heading{margin-bottom:15px}th,td{padding:8px;white-space:normal}.table-scroll{overflow:visible}h1,h2,h3{break-after:avoid}.check-read{font-size:10px}.report-meta{gap:25px}.badge{border:1px solid #ddd}.muted{color:#555}a{color:#111}.editor-aside{display:none}}
.charts-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:24px}.status-chart{display:flex;align-items:center;justify-content:center;gap:26px;min-height:209px}.chart-legend{min-width:110px;font-size:11px;text-transform:capitalize}.chart-legend>div{display:flex;align-items:center;gap:8px;margin:12px 0}.chart-legend span{width:8px;height:8px;border-radius:50%}.chart-legend b{margin-left:auto;padding-left:15px}.report-completion{padding-top:20px}@media(max-width:1000px){.charts-grid{grid-template-columns:1fr}.status-chart{min-height:175px}}@media print{.charts-grid{grid-template-columns:1fr 1.5fr}.progress-track,.progress-fill,.charts-grid svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.charts-grid .panel{break-inside:avoid}.charts-grid .panel-head{padding:15px 0}.status-chart{min-height:160px}.print-only .report-print{padding-top:25px}}
.sidebar nav{flex:1;overflow-y:auto}.sidebar-brand,.sidebar-bottom{flex-shrink:0}
.listen-section{background:var(--bg);border-bottom:1px solid var(--line);scroll-margin-top:88px}.audio-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding-bottom:28px}.audio-filters label{flex:1;min-width:140px;margin:0}.audio-filters input,.audio-filters select{background:var(--surface)}.audio-player{background:#28324e;color:#fff;border-radius:13px;padding:30px 34px;margin:5px 0 28px;box-shadow:0 10px 35px #232d490b}.player-heading{display:flex;gap:18px;align-items:center;margin-bottom:22px}.player-symbol{height:56px;width:56px;background:#ffffff0c;border:1px solid #ffffff20;display:grid;place-items:center;border-radius:50%;font-size:27px;color:#e1c38c;flex:none}.player-heading .eyebrow{font-size:9px;margin-bottom:7px;color:#e1c38c}.player-heading h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-bottom:6px;overflow-wrap:anywhere}.player-heading p{font-size:12px;color:#d4d4e3;margin:0;line-height:1.5}.audio-player audio{width:100%;display:block;height:42px}.player-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.player-tools>div{display:flex;gap:8px;flex-wrap:wrap}.player-tools .btn{background:#ffffff08;color:#fff;border-color:#ffffff25;font-size:11px}.player-tools .btn[aria-pressed=true]{background:#d9b776;color:#292536;border-color:#d9b776}.player-tools>label{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:11px;color:#d4d4e3}.player-tools select{padding:5px 10px;margin:0;width:75px;border-color:#ffffff30;background:#28324e;color:#fff;font-size:12px}.audio-list{border-top:1px solid var(--line)}.audio-item{display:flex;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.audio-play-button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--accent);background:var(--surface);flex:none}.audio-play-button:hover{background:var(--soft);border-color:var(--gold)}.audio-play-button svg{width:20px;height:20px}.audio-item-copy{flex:1;min-width:0}.audio-item-copy .eyebrow{font-size:9px;margin-bottom:8px}.audio-item h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin-bottom:7px;overflow-wrap:anywhere}.audio-item p{font-size:12px;margin:0;line-height:1.6}.audio-item .audio-description{font-size:13px;margin-top:8px;max-width:650px}.audio-item-meta{text-align:right;display:flex;flex-direction:column;align-items:end;gap:10px;font-size:11px;color:var(--muted)}.audio-item-meta .text-link{font-size:11px;padding-bottom:4px}.audio-footnote{font-size:11px!important;margin-top:25px!important;line-height:1.7!important}.audio-empty{padding:44px 25px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:9px;margin:0 0 20px}.audio-empty>span{font-size:30px;color:var(--gold)}.audio-empty h3{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:12px 0}.audio-empty p{font-size:13px;margin:0}.audio-error{font-size:12px;color:#bb5747}.audio-player .audio-error{color:#f4c28c;margin:12px 0 0}.audio-file-field{border:1px dashed var(--line);padding:20px;border-radius:8px;margin-top:20px}.audio-file-field input{border:0;padding:10px 0;background:transparent}.audio-file-field small{font-size:11px;color:var(--muted)}#upload-progress progress{width:100%;height:8px;accent-color:var(--accent)}#upload-progress p{font-size:12px;color:var(--muted);margin:8px 0 18px}#audio-admin-list td{white-space:normal}#audio-admin-list td:first-child{min-width:190px}#audio-admin-list .audio-error{max-width:280px}[hidden]{display:none!important}@media(max-width:760px){.listen-section{scroll-margin-top:74px}.audio-filters{gap:12px}.audio-filters .btn{flex:1;padding:12px}.audio-player{padding:24px 18px}.player-heading{gap:12px}.player-heading h3{font-size:22px}.player-symbol{width:42px;height:42px;font-size:22px}.player-tools{gap:15px}.player-tools>label{margin-left:0}.audio-item{gap:13px;align-items:start;flex-wrap:wrap}.audio-play-button{width:38px;height:38px;margin-top:4px}.audio-item h3{font-size:22px}.audio-item-meta{width:100%;flex-direction:row;align-items:center;justify-content:space-between;padding-left:51px}}

/* Ivory, midnight blue and warm gold: the entire landing page follows the theme. */
:root{--hero-base:#faf6ee;--hero-veil:#faf6eef5;--hero-mid:#faf6eec9;--hero-edge:#faf6ee18;--hero-ink:#252c42;--hero-muted:#545c6d;--header-bg:#faf8f4f5;--hero-gold:#896125}
body.dark{--hero-base:#252d3e;--hero-veil:#252d3ef5;--hero-mid:#252d3ed9;--hero-edge:#252d3e20;--hero-ink:#f7f3ed;--hero-muted:#d5d7e4;--header-bg:#293243f5;--hero-gold:#e1c38c}
.public-header{background:var(--header-bg);color:var(--ink);border-color:var(--line)}
.public-links>a:not(.btn){color:var(--ink)}
.public-links>a:hover{color:var(--gold)}
.hero{background:var(--hero-base);color:var(--hero-ink)}
.hero:after{background:linear-gradient(90deg,var(--hero-base) 1%,var(--hero-veil) 24%,var(--hero-mid) 49%,var(--hero-edge) 84%),linear-gradient(0deg,var(--hero-mid),transparent 45%)}
.hero-copy{z-index:2}.hero h1 em,.hero .eyebrow{color:var(--hero-gold)}
.hero p,.hero-bottom{color:var(--hero-muted)}
.hero .btn.ghost{color:var(--hero-ink);border-color:var(--hero-muted);background:var(--hero-base)}
.hero .btn.ghost:hover{background:var(--soft)}
.motto{background:var(--soft);color:var(--ink)}
.hero:before{content:'';position:absolute;z-index:1;pointer-events:none;width:400px;height:400px;max-width:75vw;max-height:75vw;left:-150px;top:12%;background:radial-gradient(circle,#d8b77738,transparent 70%);border-radius:42% 58% 63% 37% / 45% 40% 60% 55%;animation:grace-morph 20s ease-in-out infinite alternate}
.hero-bottom>span:last-child{animation:grace-float 6s ease-in-out infinite}
.life-card{transition:transform .3s ease}.life-card:hover{transform:translateY(-5px)}
.audio-player{position:relative;background:linear-gradient(125deg,#252c45,#3c3654);box-shadow:0 16px 40px #20263816}
.player-symbol{position:relative;background:repeating-radial-gradient(circle,#252b41 0 3px,#404259 4px 5px);border-color:#d9b77680;box-shadow:inset 0 0 0 8px #191e2c55;color:#f2d297;animation:grace-vinyl 18s linear infinite;animation-play-state:paused}
.player-symbol:after{content:'';position:absolute;inset:18%;border:1px solid #d9b77670;border-radius:50%;pointer-events:none}
.audio-player.is-playing .player-symbol{animation-play-state:running}
.audio-player.is-playing{animation:grace-glow 5s ease-in-out infinite}
.player-tools select{background:#30344e}
@keyframes grace-vinyl{to{transform:rotate(360deg)}}
@keyframes grace-morph{0%{border-radius:42% 58% 63% 37% / 45% 40% 60% 55%;transform:translate(0,0) rotate(0deg)}100%{border-radius:65% 35% 40% 60% / 55% 65% 35% 45%;transform:translate(55px,25px) rotate(35deg)}}
@keyframes grace-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes grace-glow{0%,100%{box-shadow:0 12px 35px #b48a4612}50%{box-shadow:0 12px 40px #b48a4636}}
.audio-player:hover,.audio-player:focus-within,.audio-player:hover .player-symbol,.audio-player:focus-within .player-symbol{animation-play-state:paused}
@media(max-width:760px){.public-links{background:var(--header-bg)}.hero>img{opacity:1}.hero:after{background:linear-gradient(90deg,var(--hero-veil),var(--hero-mid)),linear-gradient(0deg,var(--hero-base),transparent)}.hero:before{width:260px;height:260px;left:-120px}.hero h1{font-size:clamp(44px,10vw,58px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.hero-bottom span:last-child,.player-symbol,.audio-player.is-playing{animation:none!important}.life-card:hover{transform:none}}

/* Shared workspace finish with a light, high-contrast navigation pane. */
.sidebar{background:var(--sidebar-bg)}
.sidebar nav{overflow-y:auto;min-height:0}.sidebar-brand{flex:none}.sidebar-bottom{flex:none}
.sidebar nav a{position:relative;transition:background .25s,color .25s,transform .25s}
.sidebar nav a:hover,.sidebar nav a:focus-visible{background:var(--sidebar-hover);color:var(--sidebar-ink);transform:translateX(3px)}
.sidebar nav a.active{background:var(--sidebar-active);color:var(--sidebar-ink);font-weight:600;box-shadow:inset 3px 0 #947035}
.sidebar nav a .icon{color:#73572d}.sidebar nav a.active:hover{background:#dcc49d}
.app-topbar{background:var(--header-bg);backdrop-filter:blur(16px);box-shadow:0 4px 22px #191e2c04}
.topbar-actions .icon-btn{flex-shrink:0}.avatar{background:var(--soft);color:var(--gold);border:1px solid var(--line)}
.page-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(29px,3vw,38px);letter-spacing:-.025em}
.page-heading .overline{color:var(--gold)}
.welcome-banner{background:linear-gradient(120deg,var(--surface),var(--soft));border-color:var(--line);color:var(--ink);isolation:isolate}
.welcome-banner:after{content:'';position:absolute;pointer-events:none;width:230px;height:230px;right:-60px;top:-65px;background:radial-gradient(circle,#b48a4620,transparent 70%);border-radius:45% 55% 60% 40%;z-index:-1;animation:grace-morph 20s ease-in-out infinite alternate}
.welcome-banner p{color:var(--muted)}.welcome-symbol{color:var(--gold);animation:grace-float 7s ease-in-out infinite}
.metric,.panel{box-shadow:0 6px 24px #191e2c04}.metric{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.metric:before{content:'';position:absolute;top:0;left:22px;right:22px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.65}
.metric:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 28px #191e2c0b}
.panel-head{background:linear-gradient(100deg,var(--surface),var(--soft));border-radius:12px 12px 0 0}.panel-head h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.quick-action{transition:background .25s,transform .25s}.quick-action:hover{background:var(--soft);transform:translateX(3px)}
.public-links>a:not(.btn){position:relative}.public-links>a:not(.btn):after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.public-links>a:hover:after{transform:scaleX(1)}
/* Seamless text movement; the duplicate is decorative and hidden from screen readers. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.purpose-marquee{display:block;padding:25px 0;overflow:hidden;border-block:1px solid var(--line)}
.motto-window{overflow:hidden;width:100%}.motto-track{display:flex;width:max-content;animation:grace-marquee 38s linear infinite}
.motto-track>span{min-width:100vw;justify-content:space-around;flex:none;display:flex;align-items:center;gap:40px;padding-right:40px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(20px,2.3vw,30px);font-weight:400;letter-spacing:0;text-transform:none;white-space:nowrap}
.motto-track i{color:var(--gold);font-size:20px;font-style:normal}
.hero h1 em{display:inline-block;animation:grace-float 7s ease-in-out infinite}
.text-enter{animation:grace-text-enter .8s ease-out both}
@keyframes grace-marquee{to{transform:translateX(-50%)}}
@keyframes grace-text-enter{from{opacity:.35;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.app-topbar{padding-inline:14px;gap:8px}.topbar-actions{gap:8px}.breadcrumbs{gap:7px;min-width:0}.breadcrumbs>span{display:none}.breadcrumbs strong{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions .identity{display:none}.topbar-actions .btn{padding:7px 9px;font-size:11px}.purpose-marquee{padding:20px 0}.motto-track>span{gap:25px;padding-right:25px}.welcome-symbol{font-size:65px;padding-right:0}}
@media(prefers-reduced-motion:reduce){.text-enter,.motto-track,.hero h1 em,.welcome-symbol,.welcome-banner:after{animation:none!important;opacity:1;transform:none}.motto-track{width:auto}.motto-track>span{white-space:normal;display:block;text-align:center;padding:0 20px}.motto-track>span+span{display:none}.motto-track i{padding:0 10px}.metric:hover,.quick-action:hover,.sidebar nav a:hover{transform:none}}
@media print{.text-enter{animation:none!important;opacity:1;transform:none}.metric,.panel{box-shadow:none}.panel-head{background:none}}

/* Inline vector branding stays transparent and uses the surrounding theme's text colour. */
:root{--sidebar-bg:#f5f0e7;--sidebar-ink:#303646;--sidebar-muted:#62606a;--sidebar-line:#d9d0c1;--sidebar-hover:#ece1cf;--sidebar-active:#e4d2b3}
.brand-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.brand-mark{display:block;flex:none;max-width:100%;height:auto;aspect-ratio:1985/792;color:#48484c;background:none;border:0;box-shadow:none}
body.dark .public-header .brand-mark{color:#f5f0e7}
.public-header{height:100px}.public-header>a{flex-shrink:0}.public-header .brand-mark{width:220px}
.sidebar-brand{padding:18px 14px 16px}.sidebar-brand .brand-mark{width:100%;color:#48484c}
.sidebar .workspace-tag{font-size:10px;letter-spacing:.12em;text-align:center}.sidebar .nav-caption{font-weight:600;letter-spacing:.12em}.sidebar nav a{font-size:14px}
.sidebar .mobile-menu{color:var(--sidebar-ink);background:var(--sidebar-bg);border-color:var(--sidebar-line)}
.sidebar a:focus-visible,.sidebar button:focus-visible{outline-color:#73572d}
.sidebar-bottom{color:var(--sidebar-ink)}.sidebar-bottom a:hover{color:#73572d}
.hero{margin-top:100px;height:calc(100svh - 100px)}.listen-section{scroll-margin-top:100px}
.public-links>a:not(.btn):hover{color:var(--gold)}.serve-banner .eyebrow{color:#e1c38c}
body.dark .badge.submitted{background:#584629;color:#ffe0a2}body.dark .badge.approved{background:#453d60;color:#ebdfff}
body.dark .form-error{color:#ffb9ac;background:#633d3e}body.dark .audio-error{color:#ffb9ac}
.hero-ticker{width:320px;max-width:65%;overflow:hidden;padding-block:4px}
.hero-ticker-track{display:flex;width:max-content;animation:grace-marquee 20s linear infinite}
.hero-ticker-track>span{flex:none;display:flex;gap:22px;align-items:center;padding-right:22px;white-space:nowrap}
.hero-ticker-track i{color:var(--hero-gold);font-size:10px;font-style:normal}
.hero h1 em{animation-duration:5s}.motto-track{animation-duration:30s}
@media(max-width:1100px){.public-links{gap:16px}.public-header{padding-inline:4%}.public-header .brand-mark{width:200px}}
@media(max-width:760px){.public-header{height:88px;padding-inline:20px}.public-header .brand-mark{width:190px}.public-links{top:88px;border-bottom:1px solid var(--line)}.hero{margin-top:88px;height:calc(100svh - 88px)}.listen-section{scroll-margin-top:88px}.hero-ticker{max-width:100%;width:300px}.sidebar-brand{padding-top:45px}.sidebar .mobile-menu{width:32px;height:32px}.sidebar .mobile-menu svg{width:16px}}
@media(prefers-reduced-motion:reduce){.hero-ticker-track{animation:none;transform:none;width:auto}.hero-ticker-track>span{gap:14px;padding-right:0;font-size:10px}.hero-ticker-track>span+span{display:none}}
