@font-face{font-family:"Cormorant";src:url(assets/fonts/Cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"PlayfairI";src:url(assets/fonts/PlayfairItalic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(assets/fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--gold:#FFC93C;--gold2:#F58A1F;--grad:linear-gradient(135deg,#F26A21,#FFD21F);--purple:#6B2A8F;--ink:#fbf4ea;--muted:#d0bddb;--bg:#170a22;--bg2:#1f0d2e;--card:rgba(255,255,255,.055);--line:rgba(255,190,70,.22);--shadow:0 20px 60px -20px rgba(0,0,0,.6);--r:20px;--serif:"Cormorant",Georgia,serif;--ital:"PlayfairI",Georgia,serif;--sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
[data-theme=light]{--gold:#c2510e;--gold2:#F26A21;--purple:#6B2A8F;--ink:#2a1036;--muted:#6a5577;--bg:#fffaf3;--bg2:#f8efe4;--card:#fff;--line:rgba(107,42,143,.16);--shadow:0 18px 50px -24px rgba(80,20,100,.35)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.6;font-size:16px;overflow-x:hidden;transition:background .5s,color .5s}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#1a0f3a;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,6vw,3.4rem)}
h2 em,h1 em{font-family:var(--ital);font-style:italic;font-weight:500;color:var(--gold)}
h3{font-size:1.6rem}h4{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .8em}
p{margin:0 0 1em}
.muted{color:var(--muted)}.small-t{font-size:.85rem}
.ph{border-bottom:1.5px dashed var(--gold);color:inherit;opacity:.9}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.kicker{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.9em;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:26px;height:1px;background:var(--gold)}
.section{padding:88px 0;position:relative}
.section.alt{background:var(--bg2)}
.head{max-width:640px;margin-bottom:34px}
.two{display:grid;gap:40px;align-items:start;grid-template-columns:minmax(0,1fr)}
.chaplain,.cyf-grid,.events,.msg-list,.hymn-list,.assist,.foot-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}
/* NAV */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;transition:background .35s,box-shadow .35s,padding .35s}
.nav.solid{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:40px;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.brand b{display:block;font-family:var(--serif);font-size:1.3rem;line-height:1;font-weight:700}
.brand small{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.links{display:none}
.nav-actions{display:flex;gap:8px}
.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;font-size:1.05rem;color:var(--gold)}
[data-theme=dark] .sun,[data-theme=light] .moon{display:none}
.menu-btn{gap:4px;align-content:center}
.menu-btn i{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:.3s}
.menu-btn[aria-expanded=true] i:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-btn[aria-expanded=true] i:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1099px){
 .links{display:flex;flex-direction:column;position:fixed;inset:66px 12px auto;padding:14px;border-radius:18px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s}
 .links.open{opacity:1;transform:none;pointer-events:auto}
 .links a{padding:12px 14px;text-decoration:none;border-radius:10px;font-weight:500}
 .links a:hover{background:var(--card)}
}
@media(min-width:1100px){.links{display:flex;gap:4px}.links a{padding:8px 12px;text-decoration:none;font-size:.9rem;border-radius:999px;opacity:.85}.links a:hover{opacity:1;background:var(--card)}.menu-btn{display:none}.nav{padding:14px 32px}}
.nav-give{background:var(--grad);color:#1d1238!important;font-weight:600;opacity:1!important}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-size:.98rem}
.btn:active{transform:scale(.97)}
.btn.gold{background:var(--grad);color:#2a0f36;box-shadow:0 10px 30px -10px rgba(242,106,33,.6)}
.btn.gold:hover{box-shadow:0 14px 34px -8px rgba(242,106,33,.75);transform:translateY(-1px)}
.btn.ghost{border-color:var(--line);background:var(--card)}
.btn.small{padding:10px 18px;font-size:.88rem}
.btn.full{width:100%}.btn.big{padding:17px;font-size:1.05rem}
/* HERO */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:110px 20px 80px;background:radial-gradient(120% 80% at 50% 0%,#7a3aa3 0%,#45175f 42%,#160820 100%);color:#f6f1e7}
[data-theme=light] .hero{background:radial-gradient(120% 80% at 50% 0%,#fff1cf 0%,#f7e4f5 45%,#ecd9f2 100%);color:#2a1036}
.rays{position:absolute;inset:-20% -30% auto;height:120%;display:flex;justify-content:center;pointer-events:none;mix-blend-mode:screen;opacity:.75}
.rays i{position:absolute;top:-10%;left:50%;width:14vw;min-width:90px;height:130%;transform-origin:50% 0;background:linear-gradient(180deg,rgba(255,200,90,.55),rgba(255,170,60,0) 75%);filter:blur(14px);animation:sway 14s ease-in-out infinite}
[data-theme=light] .rays{mix-blend-mode:normal;opacity:.6}
.rays i:nth-child(1){transform:translateX(-50%) rotate(-28deg);animation-delay:-2s}
.rays i:nth-child(2){transform:translateX(-50%) rotate(-14deg);animation-delay:-5s;opacity:.7}
.rays i:nth-child(3){transform:translateX(-50%) rotate(0deg);animation-delay:-8s}
.rays i:nth-child(4){transform:translateX(-50%) rotate(14deg);animation-delay:-3s;opacity:.7}
.rays i:nth-child(5){transform:translateX(-50%) rotate(28deg);animation-delay:-6s}
.rays i:nth-child(6){transform:translateX(-50%) rotate(40deg);animation-delay:-9s;opacity:.4}
@keyframes sway{0%,100%{rotate:-4deg;opacity:.55}50%{rotate:4deg;opacity:1}}
.glow{position:absolute;width:70vmax;height:70vmax;left:50%;top:-30vmax;translate:-50% 0;background:radial-gradient(circle,rgba(255,170,60,.33),transparent 60%);animation:breathe 8s ease-in-out infinite}
@keyframes breathe{50%{scale:1.12;opacity:.8}}
#motes{position:absolute;inset:0;width:100%;height:100%}
.chapel-art{position:absolute;bottom:0;left:50%;translate:-50% 0;width:min(900px,115%);opacity:.32}
.hero-inner{position:relative;z-index:2;max-width:760px}
.eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}
.hero h1{font-size:clamp(2.9rem,11vw,5.6rem);font-weight:600;margin-bottom:.3em}
.hero h1 em{display:inline-block;background:linear-gradient(100deg,#F26A21,#FFD21F 40%,#fff3c4 55%,#FFB21F 70%,#F26A21 85%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:250% 100%;animation:shine 6s linear infinite;padding:0 .05em .08em}
[data-theme=light] .hero h1 em{background-image:linear-gradient(100deg,#c2400e,#F26A21 40%,#f5a524 55%,#F26A21 70%,#c2400e 85%)}
@keyframes shine{to{background-position:-250% 0}}
.motto{font-family:var(--ital);font-style:italic;font-size:1.15rem;opacity:.9}
.motto span{font-family:var(--sans);font-style:normal;font-size:.75rem;letter-spacing:.14em;color:var(--gold);margin-left:6px;text-transform:uppercase}
.times{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 22px}
.times div{padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid var(--line);backdrop-filter:blur(6px);text-align:left}
[data-theme=light] .times div{background:rgba(255,255,255,.65)}
.times b{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.times span{font-weight:600}
.countdown{margin:0 auto 26px;padding:16px 18px 18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--line);max-width:420px;box-shadow:var(--shadow)}
[data-theme=light] .countdown{background:rgba(255,255,255,.75)}
.cd-label{font-size:.8rem;letter-spacing:.08em;margin-bottom:8px;opacity:.85}
.cd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cd-grid div{background:rgba(0,0,0,.18);border-radius:12px;padding:8px 0}
[data-theme=light] .cd-grid div{background:rgba(74,42,145,.07)}
.cd-grid b{display:block;font-family:var(--serif);font-size:2.1rem;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--gold)}
.cd-grid span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero .btn.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,190,70,.4)}
.scroll-cue{position:absolute;bottom:22px;left:50%;translate:-50% 0;width:26px;height:42px;border:1.5px solid var(--line);border-radius:14px;z-index:2}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;background:var(--gold);border-radius:2px;animation:cue 1.8s infinite}
@keyframes cue{60%{transform:translateY(12px);opacity:0}}
/* SCRIPTURE */
.scripture{padding:56px 0;text-align:center;background:linear-gradient(90deg,transparent,rgba(255,190,70,.08),transparent);border-block:1px solid var(--line)}
.scripture .kicker{justify-content:center}
.scripture blockquote{margin:0 auto;max-width:760px;min-height:150px;transition:opacity .6s,transform .6s}
.scripture blockquote.fade{opacity:0;transform:translateY(8px)}
.scripture blockquote p{font-family:var(--ital);font-style:italic;font-size:clamp(1.35rem,4.6vw,2rem);line-height:1.35;margin-bottom:.5em}
.scripture cite{font-style:normal;color:var(--gold);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
.dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.dots button{width:8px;height:8px;border-radius:99px;border:0;background:var(--line);padding:0;cursor:pointer;transition:.3s}
.dots button.on{width:26px;background:var(--gold)}
/* ABOUT */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.stats div{padding:14px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-align:center}
.stats b{display:block;font-family:var(--serif);font-size:2rem;color:var(--gold);line-height:1.1}
.stats span{font-size:.74rem;color:var(--muted)}
.about-card{position:relative;padding:36px 28px;border-radius:28px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(255,190,70,.18),transparent 60%),var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.about-card img{width:170px;height:auto;margin:0 auto 18px;filter:drop-shadow(0 0 30px rgba(255,170,60,.45));animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px)}}
.pills{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pills li{padding:6px 12px;border-radius:99px;border:1px solid var(--line);font-size:.8rem}
/* LIVE */
.player{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#12061b}
.player-screen{position:relative;aspect-ratio:16/9;background:radial-gradient(circle at 50% 40%,#5a2280,#12061b 70%);color:#f6f1e7;display:grid;place-items:center;text-align:center;overflow:hidden}
.live-badge{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:7px;padding:5px 11px;border-radius:7px;background:rgba(255,255,255,.14);font-weight:700;font-size:.75rem;letter-spacing:.12em;opacity:.55}
.live-badge i{width:8px;height:8px;border-radius:50%;background:#9a9a9a}
.viewers{position:absolute;top:16px;right:16px;font-size:.78rem;opacity:0;transition:.3s}
[data-live=true] .live-badge{background:#e5322d;opacity:1}
[data-live=true] .live-badge i{background:#fff;animation:pulse 1.2s infinite}
[data-live=true] .viewers{opacity:.9}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.8)}100%{box-shadow:0 0 0 9px rgba(255,255,255,0)}}
.offair p{margin:12px 0 2px;opacity:.75;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.offair b{font-family:var(--serif);font-size:clamp(1.8rem,7vw,2.8rem);color:#FFC93C;font-variant-numeric:tabular-nums}
.offair small{display:block;opacity:.7}
.play-ring{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;border:1.5px solid rgba(255,190,70,.6);color:#FFC93C}
.onair{display:none;position:absolute;inset:0;place-items:center;align-content:center}
.onair p{position:absolute;bottom:14px;left:16px;margin:0;font-size:.85rem;text-align:left}
.onair-art{position:absolute;inset:0;background:conic-gradient(from 200deg at 50% 110%,#FFC93C33,#6B2A8F66,#FFC93C22,#4a1766,#FFC93C33);animation:spin 18s linear infinite;filter:blur(30px)}
.onair-art span{position:absolute;bottom:0;width:20%;height:70%;background:linear-gradient(0deg,rgba(255,220,150,.5),transparent);left:40%;filter:blur(8px);animation:sway 4s ease-in-out infinite}
.onair-art span:nth-child(2){left:15%;animation-delay:-1s}.onair-art span:nth-child(3){left:65%;animation-delay:-2s}
@keyframes spin{to{transform:rotate(360deg)}}
[data-live=true] .offair{display:none}[data-live=true] .onair{display:grid}
.player-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--card);flex-wrap:wrap}
.sub{margin:36px 0 14px;font-size:1.5rem}
.past{display:grid;gap:14px;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.past-card{scroll-snap-align:start;text-decoration:none;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.past-card b{display:block;padding:10px 12px 0;font-size:.92rem;line-height:1.3}
.past-card span{display:block;padding:2px 12px 12px;font-size:.78rem;color:var(--muted)}
.thumb{aspect-ratio:16/9;display:grid;place-items:center;color:#fff;font-size:1.3rem}
.t1{background:linear-gradient(135deg,#6B2A8F,#F26A21)}.t2{background:linear-gradient(135deg,#2a0f3a,#9a4cc4)}.t3{background:linear-gradient(135deg,#F26A21,#FFD21F)}
/* SWITCH */
.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:.92rem;user-select:none}
.switch{position:relative}
.switch input{position:absolute;left:0;top:0;opacity:0;width:1px!important;height:1px;padding:0!important;border:0!important}
.switch>span:first-of-type{position:relative;width:44px;height:26px;border-radius:99px;background:var(--line);transition:.3s;flex:none}
.switch>span:first-of-type::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.3s;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.switch input:checked+span{background:var(--gold2)}
.switch input:checked+span::after{left:21px}
.switch input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
/* LIBRARY */
.lib-tools{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
input[type=search],.form input,.form select,.form textarea{width:100%;padding:13px 15px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 60%,transparent);outline:none;transition:border .2s,box-shadow .2s}
[data-theme=light] input[type=search],[data-theme=light] .form input,[data-theme=light] .form select,[data-theme=light] .form textarea{background:#fff}
input:focus,select:focus,textarea:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(255,190,70,.18)}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.chip{flex:none;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:.85rem;white-space:nowrap}
.chip.on{background:var(--grad);color:#2a0f36;border-color:transparent;font-weight:600}
.msg-list{display:grid;gap:12px}
@media(min-width:800px){.msg-list{grid-template-columns:1fr 1fr}}
.msg{display:flex;gap:14px;align-items:center;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line);animation:pop .45s both}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}}
.msg.new{box-shadow:0 0 0 2px var(--gold)}
.msg-art{flex:none;width:58px;height:58px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,#6B2A8F,#F26A21)}
.msg-info{flex:1;min-width:0}
.msg-info b{display:block;font-size:.98rem;line-height:1.3}
.msg-info span{font-size:.78rem;color:var(--muted)}
.msg-info .series{display:inline-block;margin-top:4px;font-size:.68rem;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--gold)}
.msg-acts{display:flex;gap:6px}
.round{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;text-decoration:none;color:var(--gold)}
.round.play{background:var(--grad);color:#2a0f36;border:0}
.empty{text-align:center;color:var(--muted)}
.mini-player{position:fixed;left:12px;right:12px;bottom:12px;z-index:45;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow);max-width:560px;margin:auto;animation:pop .4s both}
.mp-play{width:44px;height:44px;border-radius:50%;border:0;background:var(--grad);color:#2a0f36;cursor:pointer;font-weight:700;flex:none}
.mp-info{flex:1;min-width:0}.mp-info b{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-info span{font-size:.72rem;color:var(--muted)}
.mp-bar{height:4px;border-radius:4px;background:var(--line);margin-top:6px;cursor:pointer}.mp-bar i{display:block;height:100%;width:0;background:var(--gold);border-radius:4px}
.mp-time{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--muted)}
.mp-x{border:0;background:none;cursor:pointer;color:var(--muted);font-size:1rem}
.admin{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;border-radius:16px;border:1.5px dashed var(--line)}
.admin b{margin-right:4px}
.tag{display:inline-block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:rgba(255,190,70,.15);color:var(--gold);margin-right:8px;font-weight:700}
.drop{display:grid;place-items:center;text-align:center;gap:6px;padding:26px;border-radius:16px;border:2px dashed var(--line);cursor:pointer;transition:.2s;margin-bottom:12px}
.drop.over,.drop.has{border-color:var(--gold);background:rgba(255,190,70,.07)}
.drop span{font-size:1.8rem}
/* HYMNS */
.hymn-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media(min-width:800px){.hymn-list{grid-template-columns:1fr 1fr}}
.hymn-list button{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:.2s}
.hymn-list button:hover{border-color:var(--gold);transform:translateX(3px)}
.hymn-no{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--serif);font-size:1.4rem;font-weight:700;background:rgba(255,190,70,.14);color:var(--gold)}
.hymn-list b{display:block;font-family:var(--serif);font-size:1.25rem;line-height:1.15}
.hymn-list small{color:var(--muted)}
.lyrics{max-height:58vh;overflow:auto;padding-right:6px;font-size:var(--lfs,1.05rem);transition:font-size .2s}
.lyrics .v{margin-bottom:1.1em}.lyrics .v i{display:block;font-style:normal;font-size:.7em;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.2em}
.lyrics .ch{padding:10px 14px;border-left:3px solid var(--gold);background:rgba(255,190,70,.07);border-radius:0 12px 12px 0;font-style:italic}
.fs{display:flex;align-items:center;gap:8px;margin:6px 0 14px}
.fs button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:700}
.fs span{font-size:.78rem;color:var(--muted)}
/* CHAPLAIN */
.chaplain{display:grid;gap:18px}
@media(min-width:900px){.chaplain{grid-template-columns:1.3fr 1fr}}
.chap-card{display:flex;gap:18px;align-items:flex-start;text-align:left;padding:24px;border-radius:24px;border:1px solid var(--line);background:radial-gradient(circle at 0 0,rgba(255,190,70,.14),transparent 55%),var(--card);cursor:pointer;box-shadow:var(--shadow);transition:transform .25s}
.chap-card:hover{transform:translateY(-3px)}
.chap-card h3{margin:.1em 0 .1em}
.role{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0}
.bio{font-size:.9rem;margin:10px 0}
.more{font-size:.85rem;color:var(--gold);font-weight:600}
.avatar{flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg,#8a3db3,#4a1766);box-shadow:0 0 0 3px rgba(255,190,70,.35);overflow:hidden}
.avatar svg{width:70%;height:70%;fill:rgba(255,236,200,.75);margin-top:18%}
.avatar.big{width:96px;height:96px}
.contact-card,.bank{padding:22px;border-radius:22px;border:1px solid var(--line);background:var(--card)}
.contact-card ul,.bank ul{list-style:none;padding:0;margin:0 0 16px}
.contact-card li,.bank li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.contact-card li span,.bank li span{color:var(--muted)}
.contact-card li b,.bank li b{text-align:right;font-weight:600}
.row-btns{display:flex;gap:10px;flex-wrap:wrap}
.assist{display:grid;gap:12px;margin-top:16px}
@media(min-width:700px){.assist{grid-template-columns:1fr 1fr}}
.mini-person{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.mini-person b{display:block;font-size:.95rem}.mini-person span{font-size:.8rem;color:var(--muted)}
/* ELDERS */
.elders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:800px){.elders{grid-template-columns:repeat(4,1fr)}}
.elder{padding:18px 12px;border-radius:20px;border:1px solid var(--line);background:var(--card);text-align:center;cursor:pointer;transition:transform .25s,border-color .25s}
.elder:hover{transform:translateY(-4px);border-color:var(--gold)}
.elder .avatar{margin:0 auto 10px;width:66px;height:66px}
.elder b{display:block;font-size:.92rem}
.elder span{display:block;font-size:.74rem;color:var(--gold);margin-top:2px}
.elder small{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}
/* CYF */
.cyf{background:radial-gradient(100% 70% at 100% 0%,rgba(107,42,143,.4),transparent 60%),radial-gradient(80% 60% at 0% 100%,rgba(255,190,70,.12),transparent 60%),var(--bg)}
.cyf-grid{display:grid;gap:22px}
@media(min-width:900px){.cyf-grid{grid-template-columns:1fr 1fr}}
.when{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);margin-bottom:10px}
.when b{font-family:var(--serif);font-size:1.3rem}
.when span{font-size:.88rem;color:var(--muted)}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}
.acts span{padding:8px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:.85rem}
/* FORMS */
.card{padding:24px;border-radius:24px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);position:relative}
.form{display:grid;gap:14px}
.form h3{margin:0}
.form label{display:grid;gap:6px;font-size:.85rem;font-weight:500}
.form label.switch{display:inline-flex}
.form small{color:var(--muted);font-weight:400}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.form input,.form select,.form textarea{min-width:0}
fieldset{border:0;padding:0;margin:0}legend{font-size:.85rem;font-weight:500;margin-bottom:8px;padding:0}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.checks label{display:flex!important;align-items:center;gap:6px;padding:9px 10px;border-radius:12px;border:1px solid var(--line);cursor:pointer;font-size:.82rem}
.checks input{width:16px!important;height:16px;padding:0!important;flex:none;accent-color:var(--gold2)}
.checks label:has(input:checked){border-color:var(--gold);background:rgba(255,190,70,.1)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid var(--line)}
.seg button{padding:9px 4px;border:0;border-radius:10px;background:transparent;cursor:pointer;font-size:.85rem}
.seg button.on{background:var(--grad);color:#2a0f36;font-weight:600}
.done{position:absolute;inset:0;border-radius:24px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(6px);display:grid;place-items:center;align-content:center;text-align:center;gap:6px;padding:24px;animation:pop .5s both}
.done[hidden]{display:none}
.done span{font-size:2.8rem;animation:float 3s ease-in-out infinite}
.done b{font-family:var(--serif);font-size:1.9rem}
.done p{margin:0;color:var(--muted)}
.offers{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px}
.offers li{padding:12px 14px 12px 40px;border-radius:14px;background:var(--card);border:1px solid var(--line);position:relative}
.offers li::before{content:"";position:absolute;left:17px;top:50%;width:7px;height:7px;margin-top:-3.5px;transform:rotate(45deg);border:1.5px solid var(--gold);border-radius:1px}
.confid{padding:16px 18px;border-radius:16px;background:rgba(255,190,70,.08);border:1px solid var(--line)}
.confid p{margin:6px 0 0;font-size:.88rem;color:var(--muted)}
.hide-name{opacity:.35;pointer-events:none}
/* GIVING */
.giving{background:radial-gradient(90% 60% at 50% 0%,rgba(255,190,70,.12),transparent 60%),var(--bg)}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid var(--line)}
.tabs button{padding:10px 2px;border:0;border-radius:10px;background:none;cursor:pointer;font-size:.85rem;font-weight:500}
.tabs button.on{background:linear-gradient(135deg,#8a3db3,#6B2A8F);color:#fff}
.tab-note{margin:0;font-size:.88rem;color:var(--muted);min-height:1.4em}
.amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:500px){.amounts{grid-template-columns:repeat(4,1fr)}}
.amounts button{padding:14px 6px;border-radius:14px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:700;font-size:1.02rem;transition:.2s}
.amounts button.on{border-color:var(--gold);background:rgba(255,190,70,.14);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.secure{font-size:.78rem;text-align:center;color:var(--muted);margin:0}
.bank{margin-top:22px}
/* EVENTS */
.events{display:grid;gap:12px}
@media(min-width:800px){.events{grid-template-columns:1fr 1fr}}
.event{display:flex;gap:16px;align-items:center;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.event h4{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:1.3rem;color:var(--ink);margin:0 0 2px;font-weight:600}
.event p{margin:0;font-size:.85rem;color:var(--muted)}
.date{flex:none;width:64px;height:64px;border-radius:16px;display:grid;place-items:center;align-content:center;background:linear-gradient(160deg,#8a3db3,#4a1766);color:#fff;line-height:1.1}
.date b{font-family:var(--serif);font-size:1.25rem;color:#FFC93C}.date span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
/* FOOTER */
.footer{padding:64px 0 90px;background:#12061b;color:#efe8da;border-top:1px solid var(--line)}
[data-theme=light] .footer{background:#3b1352;color:#f4ecdc}
.footer .muted{color:#b7abcf}
.footer h4{color:#FFC93C}
.foot-grid{display:grid;gap:34px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.2fr 1.2fr 1fr}}
.socials{display:flex;gap:10px;margin:14px 0}
.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,190,70,.3);text-decoration:none;font-weight:700;color:#FFC93C;transition:.2s}
.socials a:hover{background:#FFC93C;color:#2a0f36}
.app-link{font-size:.85rem;color:#FFC93C}
.map{display:flex;flex-direction:column;gap:10px;text-decoration:none;font-size:.9rem}
.map-art{position:relative;height:150px;border-radius:16px;overflow:hidden;background:linear-gradient(115deg,transparent 46%,rgba(255,190,70,.35) 47%,rgba(255,190,70,.35) 49%,transparent 50%),linear-gradient(25deg,transparent 60%,rgba(255,255,255,.12) 61%,rgba(255,255,255,.12) 63%,transparent 64%),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 22px),radial-gradient(circle at 60% 55%,#3d6b4a,#1c2f24 80%);border:1px solid rgba(255,190,70,.25)}
.pin{position:absolute;left:58%;top:38%;width:26px;height:26px;border-radius:50% 50% 50% 0;background:#FFC93C;transform:rotate(-45deg);box-shadow:0 0 0 8px rgba(255,190,70,.2);animation:float 2.4s ease-in-out infinite}
.pin::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#4a1766}
.foot-times,.foot-links{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:6px;font-size:.92rem}
.foot-links a{text-decoration:none;opacity:.85}
.copy{margin-top:40px;font-size:.78rem;color:#9d91b8;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}
.to-top{position:fixed;right:16px;bottom:16px;z-index:40;width:46px;height:46px;border-radius:50%;border:0;background:var(--grad);color:#2a0f36;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);transition:.3s;pointer-events:none}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
body.has-player .to-top{bottom:86px}
/* MODAL */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:end center}
.modal[hidden]{display:none}
@media(min-width:700px){.modal{place-items:center}}
.modal-backdrop{position:absolute;inset:0;background:rgba(8,4,20,.6);backdrop-filter:blur(5px);animation:fade .3s both}
@keyframes fade{from{opacity:0}}
.modal-card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;padding:28px 24px 26px;border-radius:26px 26px 0 0;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow);animation:up .4s cubic-bezier(.2,.9,.3,1.1) both}
@media(min-width:700px){.modal-card{border-radius:26px}}
@keyframes up{from{transform:translateY(40px);opacity:0}}
.modal-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer}
.profile-head{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.dl{list-style:none;padding:0;margin:14px 0}
.dl li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.dl li span{color:var(--muted)}
/* TOAST */
.toast{position:fixed;left:50%;top:76px;translate:-50% -20px;z-index:90;padding:12px 18px;border-radius:14px;background:var(--grad);color:#2a0f36;font-weight:600;font-size:.9rem;opacity:0;transition:.35s;pointer-events:none;max-width:90vw;text-align:center;box-shadow:var(--shadow)}
.toast.show{opacity:1;translate:-50% 0}
/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.hero .reveal{transition-duration:1.1s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.lockup{width:min(340px,100%);height:auto;margin-bottom:14px}
.hero h1 em{-webkit-text-fill-color:transparent}
.loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;align-content:center;gap:14px;background:radial-gradient(circle at 50% 40%,#5a2280,#170a22 70%);transition:opacity .7s,visibility .7s}
.loader img{width:140px;height:auto;animation:breathe2 1.6s ease-in-out infinite;filter:drop-shadow(0 0 40px rgba(255,170,60,.5))}
.loader p{margin:0;font-family:var(--serif);font-size:1.6rem;color:#fbf4ea;letter-spacing:.02em}
.loader i{width:120px;height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;position:relative}
.loader i::after{content:"";position:absolute;inset:0;background:var(--grad);transform-origin:left;animation:load 1.4s ease-out forwards}
@keyframes load{from{transform:scaleX(0)}}
@keyframes breathe2{50%{transform:scale(1.05)}}
.loader.gone{opacity:0;visibility:hidden}

@media(max-width:600px){.motto span{display:block;margin:6px 0 0}}
@media(min-width:900px){.giving .give-card{grid-row:span 2}.giving .bank{margin-top:0}}

/* ================= v2 additions: API-driven content ================= */
/* Hero slideshow of Chapel photos */
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slides .hs{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.6s ease,transform 7s ease-out}
.hero-slides .hs.on{opacity:1;transform:scale(1)}
.hero-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(40,12,60,.78) 0%,rgba(52,16,78,.62) 40%,rgba(22,8,32,.92) 100%),radial-gradient(90% 60% at 50% 35%,transparent 0%,rgba(22,8,32,.55) 100%)}
[data-theme=light] .hero-shade{background:linear-gradient(180deg,rgba(60,18,88,.74) 0%,rgba(84,30,120,.58) 45%,rgba(40,12,60,.9) 100%)}
.hero .rays,.hero .glow,.hero #motes,.hero .chapel-art{z-index:1}
.slide-cap{position:absolute;z-index:2;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:7px 14px;border-radius:999px;background:rgba(20,6,30,.45);backdrop-filter:blur(8px);border:1px solid rgba(255,200,90,.25);font-size:.74rem;color:#f6e9d4;white-space:nowrap}
.slide-cap span{transition:opacity .3s}.slide-cap span.fade{opacity:0}
.slide-dots{display:flex;gap:5px}.slide-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35);transition:.3s}.slide-dots i.on{background:var(--gold);width:16px;border-radius:4px}
.hero .scroll-cue{bottom:64px}
@media(max-width:600px){.slide-cap{bottom:14px}.hero .scroll-cue{display:none}}

/* Special events carousel */
.specials{padding:34px 0 10px;background:linear-gradient(180deg,#160820,var(--bg))}
[data-theme=light] .specials{background:linear-gradient(180deg,#f3e6f7,var(--bg))}
.specials-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.specials-head .kicker{margin:0}
.sp-nav{display:flex;gap:8px}
.sp-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,86%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}
.sp-track::-webkit-scrollbar{display:none}
@media(min-width:800px){.sp-track{grid-auto-columns:calc(50% - 8px)}}
.sp-card{scroll-snap-align:start;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);display:grid}
.sp-img{position:relative;aspect-ratio:16/8;background:var(--grad) center/cover}
.sp-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,6,30,.65))}
.sp-chip,.sp-when{position:absolute;z-index:1;top:12px;padding:5px 11px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.sp-chip{left:12px;background:var(--grad);color:#2a0d3a}.sp-when{right:12px;background:rgba(20,6,30,.6);color:#fff;backdrop-filter:blur(6px)}
.sp-body{padding:16px 18px 18px}.sp-body h3{margin:0 0 4px;font-size:1.5rem}.sp-body p{margin:0 0 12px;color:var(--muted);font-size:.88rem}
.sp-mini{font-style:normal;font-family:var(--sans);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--grad);color:#2a0d3a;vertical-align:middle;margin-left:4px}
button.event{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .2s,transform .2s}
button.event:hover{border-color:var(--gold);transform:translateY(-2px)}
.event.special{border-color:rgba(255,190,70,.55);background:radial-gradient(circle at 0 0,rgba(255,170,60,.16),transparent 60%),var(--card)}
.ev-banner{aspect-ratio:16/8;border-radius:16px;background:center/cover;margin:4px 0 16px}

/* Home gallery */
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:800px){.gallery{grid-template-columns:repeat(4,1fr);gap:14px}}
.g-item{position:relative;padding:0;border:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:var(--card)}
.g-item.wide{grid-column:span 2;aspect-ratio:16/9}
@media(min-width:800px){.g-item.wide{grid-row:span 2;aspect-ratio:auto}}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.g-item:hover img{transform:scale(1.06)}
.g-item span{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:.78rem;color:#fff;text-align:left;background:linear-gradient(180deg,transparent,rgba(20,6,30,.75))}
.modal-card.wide-card{width:min(900px,100%)}
.lightbox img{width:100%;border-radius:16px;display:block;max-height:70vh;object-fit:contain;background:#000}
.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.lb-bar p{margin:0;font-family:var(--serif);font-size:1.3rem}
.video-wrap{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}.video-wrap iframe,.live-frame{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}

/* Daily devotion */
.dev-card{position:relative;padding:28px 24px;border-radius:26px;border:1px solid rgba(255,190,70,.4);background:radial-gradient(circle at 100% 0,rgba(255,170,60,.18),transparent 55%),radial-gradient(circle at 0 100%,rgba(107,42,143,.35),transparent 60%),var(--card);box-shadow:var(--shadow)}
.dev-card::before{content:"";position:absolute;right:24px;top:20px;width:22px;height:32px;background:linear-gradient(var(--gold),var(--gold)) 50% 0/2px 100% no-repeat,linear-gradient(var(--gold),var(--gold)) 0 30%/100% 2px no-repeat;opacity:.4}
.dev-card.flash{animation:devIn .9s ease both}
@keyframes devIn{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:none}}
.dev-date{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 8px}
.dev-card h3{font-size:clamp(1.7rem,6vw,2.3rem);margin:0 0 14px;padding-right:30px}
.dev-verse{margin:0 0 16px;padding:12px 16px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(255,190,70,.07)}
.dev-verse p{margin:0;font-family:var(--ital);font-style:italic;font-size:1.05rem}.dev-verse cite{display:block;margin-top:6px;font-style:normal;font-size:.8rem;color:var(--gold);font-weight:600}
.dev-body p{margin:0 0 .9em;line-height:1.7}.dev-author{color:var(--muted);font-size:.88rem;margin:0 0 14px}
.dev-archive{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.dev-archive button{width:100%;display:grid;grid-template-columns:64px 1fr;gap:2px 12px;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:inherit;font:inherit;cursor:pointer}
.dev-archive button span{grid-row:span 2;color:var(--gold);font-weight:700;font-size:.85rem;align-self:center}.dev-archive small{color:var(--muted)}

/* CYF leadership + people with photos */
.leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:34px}
@media(min-width:800px){.leaders{grid-template-columns:repeat(6,1fr)}}
.leader{text-align:center;padding:16px 10px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.leader .avatar{margin:0 auto 10px}.leader b{display:block;font-size:.92rem}.leader span{display:block;font-size:.78rem;color:var(--gold);font-weight:600}.leader small{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}
.avatar.has-photo{background:#2a0d3a}.avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block}
button.mini-person{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.live-state{font-size:.85rem;color:var(--muted)}

/* ---------- v3: line icons + "Photo coming soon" placeholders ---------- */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.ic.fill{fill:currentColor;stroke-width:1.2}
.icon-btn .ic,.modal-x .ic,.mp-x .ic{width:18px;height:18px}
.modal-x{display:grid;place-items:center;color:var(--ink)}
.mp-x{display:grid;place-items:center}
.mp-play{display:grid;place-items:center}.mp-play .ic{width:18px;height:18px}
.round .ic{width:17px;height:17px}
.to-top{display:grid;place-items:center}.to-top .ic{width:20px;height:20px;stroke-width:2.2}
.play-ring .ic{width:22px;height:22px;margin-left:3px}
.thumb .ic{width:30px;height:30px;opacity:.9}
.msg-art .ic{width:24px;height:24px;stroke-width:1.6}
.socials a .ic{width:18px;height:18px}
.acts span{display:inline-flex;align-items:center;gap:7px}.acts .ic{color:var(--gold);width:16px;height:16px}
.done span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;margin:0 auto 4px;border:1.5px solid var(--gold);color:var(--gold);font-size:1rem}
.done span .ic{width:30px;height:30px;stroke-width:1.6}
.confid b{display:inline-flex;align-items:center;gap:8px}.confid .ic{color:var(--gold)}
.secure{display:flex;align-items:center;justify-content:center;gap:7px}.secure .ic{color:var(--gold);width:15px;height:15px}
.map b .ic{width:15px;height:15px;vertical-align:-.15em}
.more .ic{width:15px;height:15px;vertical-align:-.15em}
.big-ic{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 10px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold)}
.big-ic .ic{width:34px;height:34px;stroke-width:1.5}
.live-now{color:#ff5a5a;display:inline-flex;align-items:center;gap:6px}.live-now i{width:8px;height:8px;border-radius:50%;background:#ff5a5a}
.avatar.soon{flex-direction:column;gap:3px;background:linear-gradient(160deg,#5a2482,#33124b);color:#FFC93C;box-shadow:0 0 0 2px rgba(255,190,70,.3)}
.avatar.soon .ic{width:22px;height:22px;stroke-width:1.5;opacity:.9;fill:none;margin-top:0}
.avatar.soon small{font-size:.52rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:#f6e9d4;opacity:.85;max-width:78%;text-align:center}
.avatar.big.soon .ic{width:28px;height:28px}
.avatar.big.soon{gap:5px}
.avatar.soon{display:flex;align-items:center;justify-content:center}
.avatar.soon small{display:block;margin:0}
.avatar.big.soon small{font-size:.54rem;letter-spacing:.04em;max-width:76%}
.soon-chip{display:inline-block;padding:5px 10px;border-radius:999px;border:1px solid var(--line);font-size:.7rem;color:var(--muted);white-space:nowrap}
.elder.static,.mini-person.static{cursor:default}
.elder.static:hover{transform:none;border-color:var(--line)}
.events-note{text-align:center;margin-top:18px}
.events-note a{color:var(--gold)}
.msg-info{flex:1;min-width:0}
.msg-acts:empty{display:none}
.msg-info .soon-chip{margin:4px 0 0 6px;padding:2px 8px;font-size:.66rem;vertical-align:top}
@media(max-width:799px){.g-item:last-child:nth-child(even){grid-column:span 2;aspect-ratio:16/9}}
