/* Live worship, in the church's established charcoal, gold and burgundy palette. */
.livestream-experience { background:#f7f3eb; color:#29272a; }
.live-intro { padding:65px 0 185px; background:radial-gradient(ellipse at 90% 10%,#493421 0,transparent 48%),linear-gradient(115deg,#161619,#242021); color:#fffaf2; position:relative; overflow:hidden; }
.live-intro::after { content:''; width:580px; height:580px; border:1px solid #dcb5751a; border-radius:50%; position:absolute; top:-340px; right:-90px; box-shadow:0 0 0 75px #c6a36505,0 0 0 150px #c6a36505; pointer-events:none; }
.live-intro>.container { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; position:relative; z-index:1; }
.live-intro .eyebrow { display:flex; align-items:center; gap:13px; color:#e5bf7d; font-size:calc((11px) * var(--site-type-scale, 1)); letter-spacing:.16em; margin-bottom:25px; }
.live-gold-rule { display:block; width:30px; height:1px; background:#dcb575; }
.live-intro h1 { font-family:var(--serif); font-weight:400; font-size:calc((clamp(48px,5.2vw,78px)) * var(--site-type-scale, 1)); line-height:1.06; letter-spacing:-.045em; margin:0 0 24px; }
.live-intro h1 em { font-weight:400; color:#efca88; }
.live-intro-copy { font-size:calc((16px) * var(--site-type-scale, 1)); line-height:1.8; color:#e2d9cd; margin:0; }
.live-intro-aside { text-align:right; padding-bottom:6px; min-width:170px; }
.live-intro-aside p { font-size:calc((13px) * var(--site-type-scale, 1)); line-height:1.7; color:#cfc1ad; margin:19px 0 0; }
.live-status-label { display:block; color:#e7d1ab; font-size:calc((12px) * var(--site-type-scale, 1)); }
.live-pill { display:inline-flex; align-items:center; gap:9px; background:#9e293c; border:1px solid #d96b76; box-shadow:0 0 25px #9c27363b; color:#fff; border-radius:30px; font:700 calc((11px) * var(--site-type-scale, 1))/1.4 var(--sans); letter-spacing:.12em; padding:9px 15px; white-space:nowrap; }
.live-pill>span { width:7px; height:7px; background:#fff4ed; border-radius:50%; box-shadow:0 0 0 4px #ffffff17; animation:live-breathe 2.4s ease-in-out infinite; }
.live-intro-aside .live-pill { margin-bottom:12px; }
.live-main { position:relative; margin-top:-139px; padding-bottom:10px; z-index:2; }
.live-player-shell { background:#111113; border:1px solid #ad8b55; border-radius:8px; overflow:hidden; box-shadow:0 24px 70px #20181026,0 0 0 6px #d3af7020; scroll-margin-top:135px; }
.live-player-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:46px; padding:12px 23px; color:#d7bd92; background:#201e20; font-size:calc((10px) * var(--site-type-scale, 1)); font-weight:600; letter-spacing:.15em; border-bottom:1px solid #705b3b; }
.live-player-topline>span:first-child { display:flex; gap:10px; align-items:center; color:#f4e5cb; }
.live-player-topline .icon { width:16px; height:16px; }
.live-stage { position:relative; aspect-ratio:16/9; background:#111113; overflow:hidden; isolation:isolate; }
.live-player-mount,.live-player-mount>div,.live-player-mount iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.live-screen { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; color:#fffaf2; padding:30px; overflow:hidden; }
.live-screen-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-3; opacity:.56; }
.live-screen-shade { position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse at 50% 20%,#10101238,#0b0c0ee8 95%),linear-gradient(90deg,#0b0c0e80,#0b0c0e4d); }
.live-screen::after { content:''; position:absolute; width:44%; aspect-ratio:1; border:1px solid #e7c07a2e; border-radius:50%; z-index:-1; box-shadow:0 0 0 35px #dfbc7807,0 0 0 70px #dfbc7805; }
.live-screen-content { width:min(600px,90%); }
.live-screen-logo { width:clamp(54px,6vw,88px); height:auto; margin:0 auto 22px; display:block; }
.live-screen-kicker { color:#f0d3a2; font-size:calc((10px) * var(--site-type-scale, 1)); font-weight:600; letter-spacing:.23em; margin:0 0 20px; }
.live-screen h2 { font:400 calc((clamp(30px,4.1vw,62px)) * var(--site-type-scale, 1))/1.1 var(--serif); letter-spacing:-.03em; margin:0 0 22px; color:#fff8eb; }
.live-screen-content>p:last-of-type { color:#ede5d8; font-size:calc((14px) * var(--site-type-scale, 1)); line-height:1.7; max-width:450px; margin:0 auto; }
.live-screen-corner { position:absolute; left:24px; bottom:20px; font-size:calc((9px) * var(--site-type-scale, 1)); letter-spacing:.2em; color:#d5c6ad; }
.live-retry { margin-top:20px; color:#ffe1ac; border:1px solid #b38c55; background:#252120; border-radius:3px; padding:10px 16px; min-height:44px; display:inline-flex; align-items:center; gap:14px; font:600 calc((12px) * var(--site-type-scale, 1)) var(--sans); cursor:pointer; }
.live-retry:hover { background:#403024; }
.live-player-caption { display:flex; align-items:center; gap:9px; padding:15px 22px; background:#1c1b1d; color:#d9d1c4; font-size:calc((11px) * var(--site-type-scale, 1)); line-height:1.5; }
.live-caption-dot { width:5px; height:5px; flex-shrink:0; border-radius:50%; background:#d7b16b; }
.live-caption-brand { font-size:calc((9px) * var(--site-type-scale, 1)); letter-spacing:.12em; color:#c9ac7d; margin-left:auto; white-space:nowrap; }
/* Playback actions sit below the picture, keeping YouTube's own controls clear. */
.live-sound-control { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:9px 14px; margin-left:auto; flex-shrink:0; border:1px solid #c3a36d; border-radius:24px; background:#ecd09b; color:#292016; font:700 calc((11px) * var(--site-type-scale, 1))/1.4 var(--sans); cursor:pointer; transition:background .2s,border-color .2s; }
.live-sound-control .icon { width:18px; height:18px; flex-shrink:0; }
.live-sound-control:hover { background:#ffe1a8; border-color:#ffe1a8; }
.live-sound-control:focus-visible { outline:3px solid #fff4cf; outline-offset:4px; }
.live-player-caption:has(.live-sound-control:not([hidden])) .live-caption-brand { margin-left:0; }
.live-broadcast-details { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:37px 0 28px; }
.live-broadcast-details .eyebrow { font-size:calc((10px) * var(--site-type-scale, 1)); letter-spacing:.14em; color:#805c2a; margin-bottom:11px; }
.live-broadcast-details h2 { font:400 calc((clamp(28px,3vw,40px)) * var(--site-type-scale, 1))/1.2 var(--serif); margin:0 0 10px; letter-spacing:-.025em; }
.live-broadcast-details p:not(.eyebrow) { font-size:calc((13px) * var(--site-type-scale, 1)); color:#696057; margin:0; }
.live-alternate-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; min-width:305px; }
.live-alternate-actions .button { justify-content:space-between; gap:20px; min-height:47px; padding:11px 18px; font-size:calc((12px) * var(--site-type-scale, 1)); }
.live-alternate-actions>span { grid-column:1/-1; color:#74695d; font-size:calc((10px) * var(--site-type-scale, 1)); text-align:right; }
.live-support-row { display:flex; align-items:center; justify-content:space-between; gap:25px; border-top:1px solid #d9cbb6; padding-top:19px; }
.live-support-row p { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:calc((12px) * var(--site-type-scale, 1)); color:#706456; margin:0; }
.live-support-row .icon { width:16px; height:16px; color:#8b2b3b; }
.live-support-row a { display:inline-flex; align-items:center; gap:6px; color:#712435; text-underline-offset:4px; font-weight:600; }
.live-support-row a .icon { width:14px; height:14px; }
.live-privacy { font-size:calc((10px) * var(--site-type-scale, 1)); color:#776d60; margin:19px 0 38px; }
.live-privacy a { text-underline-offset:3px; }
.live-gather-card { border:1px solid #d5c5aa; background:#eee7db; border-radius:5px; padding:31px 32px; display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:22px; }
.live-gather-card .eyebrow { font-size:calc((9px) * var(--site-type-scale, 1)); letter-spacing:.14em; margin-bottom:10px; color:#825c27; }
.live-gather-card h2 { font:400 calc((32px) * var(--site-type-scale, 1))/1.1 var(--serif); letter-spacing:-.03em; margin:0 0 12px; }
.live-gather-card p:not(.eyebrow) { font-size:calc((11px) * var(--site-type-scale, 1)); color:#746657; margin:0; line-height:1.8; }
.live-gather-services { display:flex; gap:33px; }
.live-gather-services>div { display:flex; gap:13px; }
.live-gather-services>.icon { width:20px; }
.live-gather-services .icon { color:#956d37; width:21px; height:21px; margin-top:2px; flex-shrink:0; }
.live-gather-services strong { display:block; font-size:calc((11px) * var(--site-type-scale, 1)); line-height:1.5; margin-bottom:8px; font-weight:600; }
.live-gather-services span span { display:block; font:400 calc((23px) * var(--site-type-scale, 1))/1.2 var(--serif); color:#322923; white-space:nowrap; }
.live-gather-card>.text-link { flex-shrink:0; font-size:calc((11px) * var(--site-type-scale, 1)); gap:10px; }
.live-replays-anchor { scroll-margin-top:140px; }
.live-no-script { padding:25px 0; font-size:calc((14px) * var(--site-type-scale, 1)); }
.livestream-experience[data-state="live"] .live-player-shell { border-color:#b68c4d; box-shadow:0 24px 70px #20181026,0 0 0 5px #9d293c17; }
.live-announcement { background:linear-gradient(100deg,#5f1b2a,#842c3b 55%,#56202b); border-bottom:1px solid #bd7c68; color:#fff4e3; }
.live-announcement>.container { display:flex; align-items:center; gap:24px; padding-top:16px; padding-bottom:16px; }
.live-announcement .live-pill { box-shadow:none; background:#3d1520; border-color:#cf8d87; flex-shrink:0; padding:7px 12px; font-size:calc((10px) * var(--site-type-scale, 1)); }
.live-announcement p { margin:0; font-size:calc((13px) * var(--site-type-scale, 1)); line-height:1.6; flex:1; }
.live-announcement strong { font-weight:600; }
.live-announcement a { display:flex; align-items:center; gap:20px; color:#ffe2aa; font-size:calc((13px) * var(--site-type-scale, 1)); text-decoration:none; font-weight:600; min-height:44px; flex-shrink:0; }
.live-announcement a:hover { color:white; }
.live-review-bar { background:#f0dfbc; border-bottom:1px solid #b5965e; padding:10px 22px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 18px; color:#463423; font:calc((12px) * var(--site-type-scale, 1))/1.5 Arial,sans-serif; }
.live-review-bar>strong { font-size:calc((10px) * var(--site-type-scale, 1)); letter-spacing:.1em; }
.live-review-bar>span { font-size:calc((11px) * var(--site-type-scale, 1)); }
.live-review-choices { display:flex; gap:5px; flex-wrap:wrap; }
.live-review-bar button { font:600 calc((11px) * var(--site-type-scale, 1)) Arial,sans-serif; background:transparent; border:1px solid #ad8c55; border-radius:4px; padding:8px 10px; min-height:35px; color:#4f3720; cursor:pointer; }
.live-review-bar button[aria-pressed="true"] { background:#382b21; color:#fff4dc; border-color:#382b21; }
@keyframes live-breathe { 50% { box-shadow:0 0 0 6px #ffffff05; opacity:.7; } }
@media(min-width:1421px) { .live-intro>.container,.live-main { max-width:1160px; } }
@media(max-width:1000px) { .live-gather-card { flex-wrap:wrap; }.live-gather-card>div:first-child { flex:1; }.live-gather-services { gap:25px; }.live-gather-card>.text-link { margin-left:auto; } }
@media(max-width:760px) { .live-intro { padding:42px 0 130px; }.live-intro>.container { align-items:flex-start; gap:18px; }.live-intro h1 { font-size:calc((51px) * var(--site-type-scale, 1)); }.live-intro .eyebrow { font-size:calc((8px) * var(--site-type-scale, 1)); letter-spacing:.1em; gap:9px; }.live-gold-rule { width:18px; }.live-intro-aside { min-width:120px; }.live-intro-aside p { font-size:calc((11px) * var(--site-type-scale, 1)); }.live-status-label { font-size:calc((10px) * var(--site-type-scale, 1)); }.live-intro-copy { font-size:calc((14px) * var(--site-type-scale, 1)); }.live-main { margin-top:-92px; }.live-screen-logo { margin-bottom:15px; }.live-screen-kicker { margin-bottom:15px; font-size:calc((8px) * var(--site-type-scale, 1)); }.live-screen h2 { font-size:calc((38px) * var(--site-type-scale, 1)); margin-bottom:16px; }.live-screen-content>p:last-of-type { font-size:calc((12px) * var(--site-type-scale, 1)); }.live-broadcast-details { align-items:flex-start; flex-direction:column; gap:23px; }.live-alternate-actions { min-width:0; width:100%; max-width:400px; }.live-alternate-actions>span { text-align:left; }.live-support-row { flex-direction:column; align-items:flex-start; gap:14px; }.live-gather-services { flex-direction:column; }.live-gather-card { gap:25px; padding:25px; }.live-gather-card>.text-link { margin-left:0; }.live-announcement>.container { gap:12px 16px; flex-wrap:wrap; }.live-announcement p { flex-basis:calc(100% - 125px); font-size:calc((12px) * var(--site-type-scale, 1)); }.live-announcement a { margin-left:auto; }.live-caption-brand { display:none; } }
@media(max-width:540px) { .live-intro>.container { display:block; }.live-intro .eyebrow { font-size:calc((8px) * var(--site-type-scale, 1)); margin-bottom:22px; }.live-intro h1 { font-size:calc((clamp(38px,10vw,53px)) * var(--site-type-scale, 1)); }.live-intro-copy { font-size:calc((13px) * var(--site-type-scale, 1)); }.live-intro-aside { display:flex; align-items:center; gap:12px; text-align:left; margin-top:25px; padding:0; }.live-intro-aside p { display:none; }.live-intro-aside .live-pill { margin:0; padding:7px 11px; font-size:calc((9px) * var(--site-type-scale, 1)); }.live-intro { padding-bottom:115px; }.live-main { margin-top:-82px; }.live-player-shell { border-radius:5px; box-shadow:0 15px 35px #20181026,0 0 0 3px #d3af7020; }.live-player-topline { padding:10px 13px; min-height:37px; font-size:calc((8px) * var(--site-type-scale, 1)); gap:12px; }.live-player-topline>span:last-child { font-size:calc((7px) * var(--site-type-scale, 1)); letter-spacing:.08em; }.live-stage { aspect-ratio:16/9; }.live-screen { padding:14px; }.live-screen-logo { width:40px; margin-bottom:10px; }.live-screen-kicker { display:none; }.live-screen h2 { font-size:calc((clamp(22px,6.5vw,32px)) * var(--site-type-scale, 1)); margin-bottom:10px; }.live-screen-content { width:100%; }.live-screen-content>p:last-of-type { font-size:calc((10px) * var(--site-type-scale, 1)); line-height:1.5; max-width:280px; }.live-screen-corner { display:none; }.live-retry { margin-top:10px; padding:8px 13px; font-size:calc((10px) * var(--site-type-scale, 1)); min-height:35px; }.live-player-caption { padding:11px 12px; font-size:calc((9px) * var(--site-type-scale, 1)); gap:7px; }.live-broadcast-details { padding-top:28px; }.live-broadcast-details h2 { font-size:calc((31px) * var(--site-type-scale, 1)); }.live-broadcast-details .eyebrow { font-size:calc((8px) * var(--site-type-scale, 1)); }.live-broadcast-details p:not(.eyebrow) { font-size:calc((12px) * var(--site-type-scale, 1)); line-height:1.7; }.live-support-row p { font-size:calc((11px) * var(--site-type-scale, 1)); line-height:1.7; }.live-privacy { font-size:calc((9px) * var(--site-type-scale, 1)); line-height:1.7; margin-bottom:27px; }.live-gather-card { display:block; }.live-gather-services { margin:24px 0; flex-direction:column; gap:23px; }.live-gather-services strong { font-size:calc((12px) * var(--site-type-scale, 1)); margin-bottom:5px; }.live-gather-services span span { font-size:calc((25px) * var(--site-type-scale, 1)); }.live-review-bar { padding:9px 12px; gap:7px 12px; justify-content:flex-start; }.live-review-bar>span { font-size:calc((10px) * var(--site-type-scale, 1)); }.live-review-bar button { font-size:calc((10px) * var(--site-type-scale, 1)); padding:7px 9px; }.live-announcement>.container { padding-top:12px; padding-bottom:12px; }.live-announcement p { font-size:calc((11px) * var(--site-type-scale, 1)); }.live-announcement a { min-height:32px; font-size:calc((12px) * var(--site-type-scale, 1)); } }
@media(prefers-reduced-motion:reduce) { .live-pill>span { animation:none; } }
@media(max-width:540px) { .live-player-caption { flex-wrap:wrap; }.live-sound-control { font-size:calc((10px) * var(--site-type-scale, 1)); min-height:40px; padding:8px 11px; gap:6px; }.live-player-caption:has(.live-sound-control:not([hidden]))>span:nth-child(2) { flex:1; min-width:100px; max-width:55%; } }

.live-intro-aside:has(.live-pill:not([hidden])) .live-status-label { display:none; }
.live-screen-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 20px; margin-top:20px; }
.live-screen-actions a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#ffe4ad; font-size:calc((12px) * var(--site-type-scale, 1)); font-weight:600; text-underline-offset:5px; }
.live-screen-actions .icon { width:16px; height:16px; }
.live-alternate-actions .live-retry { grid-column:1/-1; justify-self:start; margin-top:0; font-size:calc((11px) * var(--site-type-scale, 1)); background:transparent; color:#742638; border-color:#b7a48a; }
.live-screen-content { animation:live-enter .65s ease-out both; }
@keyframes live-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:540px) {
 .livestream-experience:is([data-state="blocked"],[data-state="unavailable"]) .live-screen-logo { display:none; }
 .live-screen-actions { margin-top:8px; gap:6px 18px; }
 .live-screen-actions a { font-size:calc((10px) * var(--site-type-scale, 1)); min-height:38px; gap:6px; }
 .live-screen-actions .icon { width:13px; height:13px; }
}

/* Structured text keeps the church's typography and adapts to longer wording. */
.watch-rich { overflow-wrap:anywhere; }
.watch-rich>p { margin:0 0 .8em;line-height:1.8; }
.watch-rich>p:last-child { margin-bottom:0; }
.watch-rich>h2,.watch-rich>h3 { font-family:var(--serif);font-weight:400;font-size:1.45em;line-height:1.25;letter-spacing:-.02em;margin:.6em 0 .4em; }
.watch-rich strong { font-weight:700; }
.kjv-scripture { margin:1em 0;padding:5px 0 5px 19px;border-left:2px solid #b89558; }
.kjv-scripture p { margin:0 0 8px;line-height:1.8; }
.kjv-scripture cite { display:block;font:600 calc((11px) * var(--site-type-scale, 1))/1.5 var(--sans);letter-spacing:.05em;color:#a87b3c; }
.live-announcement-copy { flex:1;font-size:calc((13px) * var(--site-type-scale, 1)); }
.live-announcement .watch-rich p { margin:0; }
.live-screen-copy { color:#ede5d8;font-size:calc((14px) * var(--site-type-scale, 1));line-height:1.7;max-width:550px;margin:0 auto;max-height:clamp(90px,18vw,245px);overflow:auto; }
.live-screen-copy>h2,.live-screen-copy>h3 { font-size:1.35em; }
.live-screen-content { max-height:100%;overflow:auto; }
.live-intro-copy { max-width:680px; }
.live-location { font-size:calc((13px) * var(--site-type-scale, 1));line-height:1.7;color:#cfc1ad;margin-top:19px; }
.live-broadcast-details>div:first-child { min-width:0; }
.live-broadcast-details .watch-rich { font-size:calc((13px) * var(--site-type-scale, 1));color:#696057; }
.live-gather-card>.watch-rich,.live-gather-card .watch-rich { font-size:calc((11px) * var(--site-type-scale, 1));color:#746657; }
.live-gather-card { flex-wrap:wrap; }
.live-gather-services { flex-wrap:wrap; }
.live-gather-services span span { white-space:normal; }
.live-gather-services small { display:block;font-size:calc((10px) * var(--site-type-scale, 1));color:#746657;margin-top:5px; }
.watch-scripture { margin:35px 0 20px;padding:36px clamp(24px,5vw,60px);background:#fffaf1;border:1px solid #d6c6a9;border-radius:5px;text-align:center; }
.watch-scripture>.eyebrow { color:#956d32;font-size:calc((10px) * var(--site-type-scale, 1));letter-spacing:.15em; }
.watch-scripture>h2 { font:400 calc((clamp(25px,3vw,36px)) * var(--site-type-scale, 1))/1.2 var(--serif);letter-spacing:-.03em;margin:14px 0 20px; }
.watch-scripture .kjv-scripture { border:0;padding:0;max-width:770px;margin:0 auto; }
.watch-scripture .kjv-scripture p { font:400 calc((clamp(18px,2vw,23px)) * var(--site-type-scale, 1))/1.65 var(--serif);color:#4c4237; }
.watch-scripture cite { margin-top:15px; }
@media(max-width:760px) { .live-location { font-size:calc((11px) * var(--site-type-scale, 1)); }.live-screen-copy { font-size:calc((12px) * var(--site-type-scale, 1)); }.live-announcement-copy { flex-basis:calc(100% - 125px);font-size:calc((12px) * var(--site-type-scale, 1)); }.live-gather-services { width:100%; } }
@media(max-width:540px) { .live-location { display:none; }.live-screen-copy { font-size:calc((10px) * var(--site-type-scale, 1));max-width:290px;max-height:92px; }.live-screen-logo { width:34px;margin-bottom:7px; }.live-screen h2 { font-size:calc((clamp(20px,5.9vw,30px)) * var(--site-type-scale, 1));margin-bottom:7px; }.live-announcement-copy { font-size:calc((11px) * var(--site-type-scale, 1)); }.watch-scripture { padding:27px 20px;margin:25px 0 10px; } }
