/* Latter-day Pulse: navy + coral rebrand
   Palette: Deep Navy #0B1F3A, Hive Gold #FF5A4E, Warm White #FAF8F5, Ember Coral #FF5A4E, Deep Slate #14264F, Fog Slate #5B6786
   Fonts: Fraunces (700/900) headlines, Inter body. Gold text only on navy; coral-d (#C23A2A) for coral text on light backgrounds. */
:root{color-scheme:light;--navy:#0B1F3A;--navy-2:#14264F;--navy-3:#1E3A7A;--gold:#FF5A4E;--gold-l:#FF8A7B;--gold-d:#C23A2A;--cream:#FAF8F5;--paper:#fff;--ink:#0B1F3A;--muted:#5B6786;--coral:#FF5A4E;--coral-d:#C23A2A;--coral-dd:#B33323;--sage:#5B6786;--line:#E4DED5;
--bg:var(--cream);--surface:#fff;--surface-2:#FAF8F5;--head:#0B1F3A;--text-2:#3C4868;--bd:#0B1F3A;--sh:#0B1F3A;--acc:#C23A2A;--acc-h:#0B1F3A;--band:#FFE3DF;--on-band:#0B1F3A;--poll-bg:#FFF0EE;--poll-opt:#fff;--poll-bd:#C23A2A;--poll-t:#0B1F3A;--poll-pct:#B33323;--poll-sub:#3C4868;--ft-bg:#EFEBE4;--ft-t:#3C4868;--ft-strong:#0B1F3A;--ft-line:rgba(10,22,51,.2);--tab-bg:#fff;--tab-t:#3C4868;--tab-on:#C23A2A;--tab-line:#0B1F3A;--tab-sh:rgba(10,22,51,.25);--hov:rgba(255,90,78,.2);--hv-page:var(--cream);--hv-text:#0B1F3A;--hv-head:#0B1F3A;--hv-soft:#2E3A5C;--hv-mute:#5B6786;--hv-c1:#fff;--hv-c2:#FAF8F5;--hv-bd:rgba(10,22,51,.28);--hv-bd2:rgba(194,58,42,.7);--hv-who:#C23A2A;--hv-link:#C23A2A;--hv-glow:rgba(10,22,51,.12);--hv-note:rgba(10,22,51,.05);--hv-chip-t:#B33323;--hv-hero:linear-gradient(180deg,rgba(255,90,78,.22),transparent);--hv-media:#EFEBE4;
--honey:var(--gold);--honey-d:var(--gold-d);--shadow:6px 6px 0 var(--sh);--shadow-h:9px 9px 0 var(--coral);
--serif:Fraunces,"Iowan Old Style",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
/* ---- Themes: Auto (OS) / Light / Dark. :root[data-theme] is set early by seo.py THEME_HEAD from localStorage "dd:theme"; no attribute = Auto = prefers-color-scheme ---- */
:root[data-theme=dark]{color-scheme:dark;--bg:#0B1737;--surface:#14264F;--surface-2:#0F1E45;--ink:#FAF8F5;--head:#FAF8F5;--muted:#B4BED6;--text-2:#D5DBEA;--line:#2C4278;--bd:#3F5A98;--sh:#040A1E;--coral-d:#FF8A7B;--coral-dd:#FF8A7B;--acc:#FF8A7B;--acc-h:#FF8A7B;--band:#14264F;--on-band:#FAF8F5;--poll-bg:#0F1E45;--poll-opt:#14264F;--poll-bd:#FF5A4E;--poll-t:#FAF8F5;--poll-pct:#FF5A4E;--poll-sub:#D5DBEA;--ft-bg:#081029;--ft-t:#B4BED6;--ft-strong:#FAF8F5;--ft-line:rgba(255,248,234,.2);--tab-bg:#0F1E45;--tab-t:#C9D1E8;--tab-on:#FF5A4E;--tab-line:#FF5A4E;--tab-sh:rgba(0,0,0,.5);--hov:rgba(255,90,78,.14);--hv-page:#0B1737;--hv-text:#E8ECF7;--hv-head:#FAF8F5;--hv-soft:#DCE2F3;--hv-mute:#A9B4D0;--hv-c1:#14264F;--hv-c2:#0F1E45;--hv-bd:rgba(255,90,78,.35);--hv-bd2:rgba(255,90,78,.6);--hv-who:#FF8A7B;--hv-link:#FF5A4E;--hv-glow:rgba(0,0,0,.4);--hv-note:rgba(255,248,234,.05);--hv-chip-t:#FF8A7B;--hv-hero:linear-gradient(180deg,rgba(255,90,78,.07),transparent);--hv-media:#0B1636;}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0B1737;--surface:#14264F;--surface-2:#0F1E45;--ink:#FAF8F5;--head:#FAF8F5;--muted:#B4BED6;--text-2:#D5DBEA;--line:#2C4278;--bd:#3F5A98;--sh:#040A1E;--coral-d:#FF8A7B;--coral-dd:#FF8A7B;--acc:#FF8A7B;--acc-h:#FF8A7B;--band:#14264F;--on-band:#FAF8F5;--poll-bg:#0F1E45;--poll-opt:#14264F;--poll-bd:#FF5A4E;--poll-t:#FAF8F5;--poll-pct:#FF5A4E;--poll-sub:#D5DBEA;--ft-bg:#081029;--ft-t:#B4BED6;--ft-strong:#FAF8F5;--ft-line:rgba(255,248,234,.2);--tab-bg:#0F1E45;--tab-t:#C9D1E8;--tab-on:#FF5A4E;--tab-line:#FF5A4E;--tab-sh:rgba(0,0,0,.5);--hov:rgba(255,90,78,.14);--hv-page:#0B1737;--hv-text:#E8ECF7;--hv-head:#FAF8F5;--hv-soft:#DCE2F3;--hv-mute:#A9B4D0;--hv-c1:#14264F;--hv-c2:#0F1E45;--hv-bd:rgba(255,90,78,.35);--hv-bd2:rgba(255,90,78,.6);--hv-who:#FF8A7B;--hv-link:#FF5A4E;--hv-glow:rgba(0,0,0,.4);--hv-note:rgba(255,248,234,.05);--hv-chip-t:#FF8A7B;--hv-hero:linear-gradient(180deg,rgba(255,90,78,.07),transparent);--hv-media:#0B1636;}}
:root[data-theme=light]{color-scheme:light}

*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:calc(100% * var(--ts,1))}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--coral-d);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--acc-h);text-decoration-color:var(--coral)}img,iframe{max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:900;color:var(--head);letter-spacing:-.015em}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}.narrow{max-width:720px}
/* nav */
header.site{background:var(--navy);border-bottom:5px solid var(--gold);position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--cream);flex:none}.brand img{display:block;height:52px;width:auto}
.brand:focus-visible{outline-color:var(--gold)}
header.site nav{display:flex;align-items:center;gap:2px}
header.site nav a{color:var(--cream);text-decoration:none;font:600 .95rem var(--sans);padding:8px 14px;border-radius:10px;white-space:nowrap;transition:color .15s,background .15s}
header.site nav a:hover{background:rgba(255,248,234,.08);color:var(--gold)}
header.site nav a:last-of-type{background:var(--gold);color:var(--navy);font-weight:800;margin-left:10px;box-shadow:0 3px 0 var(--gold-d)}
header.site nav a:last-of-type:hover{background:var(--coral);color:var(--navy);box-shadow:0 3px 0 var(--coral-dd)}
header.site a:focus-visible{outline-color:var(--gold)}
/* hero */
.hero{position:relative;color:var(--cream);text-align:left;padding:88px 0 92px;background:linear-gradient(100deg,rgba(10,22,51,.97) 0%,rgba(10,22,51,.92) 55%,rgba(10,22,51,.78) 100%),url("img/kirtland-temple.jpg") center/cover,var(--navy);border-bottom:5px solid var(--gold);overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero h1{color:var(--cream);font-weight:900;font-size:clamp(2.8rem,8vw,5.6rem);line-height:1;margin:.15em 0 .3em;letter-spacing:-.025em}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p{font-size:clamp(1.08rem,2.2vw,1.35rem);color:#D5DBEA;max-width:640px;margin:0 0 1.8em}
.kicker{display:inline-block;font:800 .76rem var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--coral-d)}
.hero .kicker,.pagehead .kicker,.issue-head .kicker{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:var(--navy);border:0;border-radius:10px;padding:14px 28px;font:800 1rem var(--sans);text-decoration:none;cursor:pointer;box-shadow:0 4px 0 var(--gold-d);transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{background:var(--coral);color:var(--navy);box-shadow:0 4px 0 var(--coral-dd);transform:translateY(-2px)}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--gold-d)}
.btn-ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 2px var(--cream);margin-left:10px}.btn-ghost:hover{background:var(--cream);color:var(--navy);box-shadow:0 4px 0 var(--coral)}
section{padding:60px 0}h2{font-size:2.1rem;margin:0 0 .7em;line-height:1.15}
section:not(.pagehead):not(#subscribe)>.wrap>h2:first-child,.asec h2{display:flex;align-items:center;gap:16px;font-size:clamp(1.7rem,4vw,2.5rem)}
section:not(.pagehead):not(#subscribe)>.wrap>h2:first-child::after,.asec h2::after{content:"";flex:1;height:4px;background:var(--bd);border-radius:2px}
/* signup band */
#subscribe{padding:60px 0;background:var(--gold);border-top:5px solid var(--navy);border-bottom:5px solid var(--navy)}
.signup{max-width:760px;margin:0 auto;text-align:center;color:var(--on-band)}
.signup h2{color:var(--on-band);font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:.3em}.signup p{margin:.2em 0 0;font-weight:500;color:var(--on-band)}
.signup form{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.signup input{flex:1 1 260px;padding:14px 18px;border:3px solid var(--navy);border-radius:10px;background:var(--cream);color:var(--navy);font:500 1rem var(--sans)}.signup input:focus{outline:3px solid var(--coral);outline-offset:2px}
.signup .btn{background:var(--navy);color:var(--gold);box-shadow:0 4px 0 #000}.signup .btn:hover{background:var(--navy-2);color:var(--gold);box-shadow:0 4px 0 var(--coral)}
.placeholder-note{font:800 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:var(--navy);border-radius:6px;padding:5px 10px;display:inline-block;margin-bottom:12px}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:34px 30px}
.card{background:var(--surface);border:2px solid var(--bd);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-h)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.card .body{padding:20px 22px 24px}
.card h3{margin:.2em 0 .45em;font-size:1.3rem;line-height:1.22}.card h3 a{color:var(--head);text-decoration:none}.card h3 a:hover{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:3px}.card p{margin:0;color:var(--muted);font-size:.95rem}
.video{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}.card .video{border-radius:0;border-bottom:2px solid var(--bd)}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.more{margin-top:28px;font-weight:700}
/* page headers */
.pagehead{background:var(--navy);color:#D5DBEA;padding:60px 0 52px;border-bottom:5px solid var(--gold)}
.pagehead h1{color:var(--cream);font-weight:900;font-size:clamp(2.2rem,6vw,4rem);line-height:1.02;margin:0 0 .3em;letter-spacing:-.02em}.pagehead p{max-width:760px;margin:.3em 0;font-size:1.1rem}
.pagehead a{color:var(--gold)}.pagehead a:hover{color:var(--cream);text-decoration-color:var(--coral)}.pagehead .lede{color:#D5DBEA}
.pagehead+section{padding-top:52px}
/* article page */
article.post{background:var(--surface);padding:44px 40px;margin:48px auto;border-radius:18px;border:2px solid var(--bd);box-shadow:8px 8px 0 var(--gold)}
article.post h1{font-weight:900;font-size:clamp(2rem,5vw,3.1rem);line-height:1.08;margin:.2em 0 .3em}.meta{font:.9rem var(--sans);color:var(--muted)}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side{background:var(--surface-2);border-left:5px solid var(--gold);padding:12px 16px;border-radius:8px}.side.b{border-color:var(--coral)}
.note{font:.9rem var(--sans);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px 18px;color:var(--muted)}
/* footer */
footer.site{background:var(--ft-bg);color:var(--ft-t);padding:44px 0;font:.9rem/1.7 var(--sans);margin-top:0;border-top:5px solid var(--gold)}footer.site a{color:var(--acc);font-weight:600}footer.site a:hover{color:var(--acc-h)}footer.site strong{font:900 1.25rem var(--serif);color:var(--ft-strong)}
.disclaimer{border-top:1px solid var(--ft-line);margin-top:16px;padding-top:16px}
/* home today */
#today{padding-top:60px}
.today{background:var(--surface);border:2px solid var(--bd);border-radius:18px;padding:38px;box-shadow:10px 10px 0 var(--gold);overflow:hidden}
.today .kicker{background:var(--coral);color:var(--navy);padding:5px 10px;border-radius:6px;letter-spacing:.12em}
.today h2{margin-top:.5em;font-size:2.3rem}.today ul{padding-left:1.2em;font-size:1.1rem}.today li{margin:.5em 0}
.today .trivia{background:var(--surface-2);border-left:6px solid var(--gold);border-radius:10px;padding:14px 18px;margin:20px 0}
.today .btn{margin-right:14px}
.archive{list-style:none;padding:0;max-width:760px}.archive li{padding:0;margin:0 0 16px}
.archive a{display:block;font:900 1.2rem var(--serif);text-decoration:none;color:var(--head);background:var(--surface);border:2px solid var(--bd);border-left:10px solid var(--gold);border-radius:12px;padding:16px 22px;box-shadow:4px 4px 0 var(--sh);transition:transform .15s,box-shadow .15s,border-left-color .15s}
.archive a:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--coral);border-left-color:var(--coral)}
/* issue content / images */
.issue h2{font-size:1.45rem;margin:1.6em 0 .5em}
.issue blockquote,.isec blockquote{margin:.8em 0;padding:10px 16px;background:var(--surface-2);border-left:5px solid var(--gold);border-radius:10px;font:700 1.05rem var(--serif)}
.issue img,.today img{max-width:100%;height:auto}
figure.photo{margin:1.2em auto;max-width:100%;text-align:center}
figure.photo img{display:block;margin:0 auto;max-width:100%;max-height:520px;width:auto;height:auto;border-radius:12px;border:2px solid var(--bd)}
figure.photo figcaption{font:.8rem/1.45 var(--sans);color:var(--muted);margin-top:.6em;text-align:center}figure.photo figcaption a{color:inherit;text-decoration:underline}
figure.teaser-photo{float:right;margin:0 0 1em 28px;max-width:360px}figure.teaser-photo img{max-height:300px;width:100%;object-fit:cover}
/* issue page */
.issue-wide{padding-top:0;padding-bottom:40px;max-width:1240px}
.issue-head{text-align:center;padding:68px 24px 56px;margin:0 -28px 28px;background:linear-gradient(rgba(10,22,51,.95),rgba(10,22,51,.95)),var(--navy);color:#D5DBEA;border-bottom:6px solid var(--gold);border-radius:0 0 28px 28px}
.issue-head h1{color:var(--cream);font-weight:900;font-size:clamp(2.1rem,6vw,4rem);line-height:1.04;margin:.25em auto;max-width:900px;letter-spacing:-.02em}
.issue-head .kicker{background:var(--coral);color:var(--navy);padding:5px 12px;border-radius:6px}
.issue-head .meta{color:#D5DBEA;font-size:1.05rem;max-width:760px;margin:.8em auto 0}.issue-head .meta a{color:var(--gold)}
.issue-grid{display:block;column-count:2;column-gap:22px}
.isec{background:var(--surface);border:2px solid var(--bd);border-radius:16px;padding:20px 24px;margin:0 6px 22px 0;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;box-shadow:5px 5px 0 var(--sh);transition:box-shadow .15s}.isec:hover{box-shadow:5px 5px 0 var(--coral)}
.isec h2{font-size:1.45rem;line-height:1.15;margin:0 0 .55em;padding:0 0 .35em;border-bottom:4px solid var(--gold);position:relative;display:block}
.isec h2::after{display:none}
.isec:first-child{column-span:all}
.isec p{margin:0 0 .6em}.isec ul,.isec ol{margin:.3em 0 .6em}.isec li{margin:.25em 0}.isec p:last-child{margin-bottom:0}.isec .poll,.isec .trivia{margin:.5rem 0}
.isec figure.photo{margin:.7em 0}.isec figure.photo img{width:100%;object-fit:contain;background:var(--surface-2);max-height:360px}
.isec-morning{background:transparent;border:0;box-shadow:none;padding:0;margin-right:0}.isec-morning:hover{box-shadow:none}
.isec-morning h2{display:inline-block;background:var(--navy);color:var(--gold);padding:8px 16px;border:0;border-radius:10px;margin-bottom:18px;box-shadow:4px 4px 0 var(--gold)}
.morning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.mcard{background:var(--surface);border:2px solid var(--bd);border-radius:16px;padding:20px 22px;box-shadow:5px 5px 0 var(--sh);transition:box-shadow .15s;display:flex;flex-direction:column;min-width:0;margin-right:5px}.mcard:hover{box-shadow:5px 5px 0 var(--coral)}
.mcard p{margin:0 0 .6em;font-size:.97rem}.mcard p:first-child{font-size:1rem}.mcard figure.photo{margin:auto 0 0;padding-top:.7em}.mcard figure.photo img{width:100%;max-height:220px;object-fit:cover}
@media(max-width:980px){.morning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.morning-grid{grid-template-columns:1fr}.mcard{box-shadow:5px 5px 0 var(--sh)}}
.issue-back{text-align:center;margin:40px 0 0}
.comments{max-width:860px;margin:1.5rem auto 0!important;padding:22px 24px;background:var(--surface);border-radius:16px;border:2px solid var(--bd);box-shadow:6px 6px 0 var(--sh)}
.comments h2{font-size:1.6rem}
/* videos */
.grid.shorts{grid-template-columns:repeat(4,1fr);gap:28px 24px}@media(max-width:980px){.grid.shorts{grid-template-columns:repeat(3,1fr)}}
.video.short{aspect-ratio:9/16;width:100%;border-radius:0}.shortcard .body{padding:14px 16px 18px}.shortcard h3{font-size:1.02rem}
.vmeta{font-size:.88rem}.vblurb{margin-top:8px!important}
.archive-list{list-style:none;padding:0;margin:0 0 32px}.archive-list li{padding:12px 0;border-bottom:2px solid var(--line)}
/* articles */
.alist{padding-top:12px;padding-bottom:40px}
.lede{color:var(--muted);margin:.2em 0 1em}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.chip{font:700 .9rem var(--sans);text-decoration:none;color:var(--cream);background:transparent;border:2px solid rgba(255,248,234,.45);border-radius:10px;padding:7px 18px;transition:.15s}
.chip:hover{border-color:var(--coral);color:var(--gold);background:rgba(255,90,71,.12)}.chip.on{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.asec{padding:44px 0 8px}.asec[hidden]{display:none}.blurb{color:var(--muted);margin:.2em 0 1.6em;font-size:1rem}
.aicon{display:flex;align-items:center;gap:14px;padding:20px 24px;background:var(--navy);color:var(--gold);border-bottom:2px solid var(--navy);font:800 .78rem var(--sans);text-transform:uppercase;letter-spacing:.16em}
.cat-scripture .aicon{background:var(--navy-2);color:var(--gold)}.cat-talks .aicon{background:var(--coral);color:var(--navy)}.cat-debate .aicon{background:var(--gold);color:var(--navy)}
.acard .kicker{display:none}.acard h3{font-size:1.25rem}.ameta{font:.82rem var(--sans);color:var(--muted)!important;margin-bottom:.6em!important}
.acard .body{display:flex;flex-direction:column;flex:1}
.alinks{margin-top:auto!important;padding-top:16px!important;display:flex;flex-wrap:wrap;gap:6px 18px;font:800 .88rem var(--sans)}.alinks a{color:var(--head);text-decoration-color:var(--coral);text-decoration-thickness:3px}.alinks a:hover{color:var(--coral-d)}.alinks a.orig{color:var(--coral-d)}.alinks a.orig:hover{color:var(--acc-h)}
article.article-wide{max-width:980px;padding:48px 48px}
.article-wide .sourcebox{background:var(--surface-2);border-left:6px solid var(--gold);border-radius:10px;padding:14px 18px;margin:18px 0;font:.95rem/1.55 var(--sans)}.article-wide .sourcebox span{color:var(--muted);font-size:.85rem}
.article-wide .abody{font-size:1.08rem}.article-wide .abody h2{font-size:1.6rem;margin:1.6em 0 .4em;padding-bottom:.25em;border-bottom:4px solid var(--gold);display:block}.article-wide .abody h2::after{display:none}
.article-wide .lede{font:500 1.25rem/1.55 var(--sans);color:var(--text-2)}
.article-wide .video{margin:22px 0 8px;border-radius:14px;border:2px solid var(--bd);box-shadow:5px 5px 0 var(--sh)}
@media(max-width:820px){.issue-grid{column-count:1}.isec{padding:16px 16px;margin-right:5px}.today{padding:26px 22px}figure.teaser-photo{float:none;max-width:100%;margin:0 0 1em}}
@media(max-width:640px){body{font-size:1rem}.sides{grid-template-columns:1fr}section{padding:44px 0}.hero{padding:60px 0 64px}
header.site .wrap{flex-direction:column;justify-content:center;gap:6px;padding-top:10px;padding-bottom:10px}
.brand img{height:40px}header.site nav{display:flex;flex-wrap:nowrap;justify-content:center;gap:0;max-width:100%}header.site nav a{margin:0;padding:7px 8px;font-size:.8rem;border-radius:8px}header.site nav a:last-of-type{margin-left:6px;padding:7px 11px}
.wrap{padding:0 18px}.issue-head{margin:0 -18px 28px;padding:44px 18px 36px}article.post,article.article-wide{padding:26px 20px;margin:24px 14px 30px 12px;border-radius:14px;box-shadow:5px 5px 0 var(--gold)}
.grid{grid-template-columns:1fr}.card{box-shadow:5px 5px 0 var(--sh)}.grid.shorts{grid-template-columns:repeat(2,1fr);gap:20px 14px}.pagehead{padding:44px 0 36px}.btn-ghost{margin:12px 0 0}.today{box-shadow:6px 6px 0 var(--gold);margin-right:6px}.signup .btn{width:100%}.comments{box-shadow:4px 4px 0 var(--sh)}}
@media(max-width:360px){header.site nav a{padding:7px 6px;font-size:.74rem}}

/* Reader poll */
.poll{background:var(--poll-bg);color:var(--poll-t);border-radius:14px;border-top:5px solid var(--gold);padding:18px 18px 14px;margin:.6rem 0 1rem}
.poll-kicker{color:var(--acc);font:800 .75rem var(--sans);letter-spacing:.14em;text-transform:uppercase}
.poll .poll-q{font:900 1.2rem/1.3 var(--serif);margin:.3rem 0 .8rem;color:var(--poll-t)}
.poll-opts{display:flex;flex-direction:column;gap:10px}.poll-opts{}
.poll-opt{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 16px;border:2px solid var(--poll-bd);border-radius:10px;background:var(--poll-opt);color:var(--poll-t);font:600 1rem var(--sans);cursor:pointer;text-align:left;transition:background .15s,color .15s,transform .15s}
.poll-opt:hover:not(:disabled){background:var(--gold);color:#0B1F3A;transform:translateY(-1px);box-shadow:0 3px 0 var(--coral)}
.poll-opt:disabled{cursor:default}.poll:not(.voted) .poll-opt:disabled{opacity:.6}
.poll-bar{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,90,78,.38);transition:width .6s ease}
.poll-opt.mine{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral)}
.poll-label,.poll-pct{position:relative}.poll-pct{font-weight:800;color:var(--poll-pct);white-space:nowrap}
.poll .poll-status{margin:.7rem 0 0;font-size:.9rem;color:var(--poll-sub)}.poll .poll-note{margin:.4rem 0 0;font-size:.9rem;color:var(--poll-sub)}

/* Trivia multiple choice (uses .poll styles) */
.trivia-q{font-size:1.05rem}
.trivia-poll{margin-top:.4rem}

/* Image lightbox (assets/lightbox.js) */
img.lb-able{cursor:zoom-in}
img.lb-able:focus-visible{outline:3px solid #FF5A4E;outline-offset:3px}
html.lb-lock,html.lb-lock body{overflow:hidden}
.lb-overlay{position:fixed;inset:0;z-index:10000;background:rgba(8,8,10,.94);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.lb-overlay[hidden]{display:none}
.lb-fig{margin:auto;max-width:100%;display:flex;flex-direction:column;align-items:center;cursor:default}
.lb-img{display:block;max-width:92vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.6);cursor:zoom-out}
.lb-fig:has(.lb-cap:not([hidden])) .lb-img{max-height:calc(90vh - 5.5rem)}
.lb-cap{color:#e8e6df;font:.9rem/1.5 var(--sans,system-ui,sans-serif);text-align:center;max-width:min(92vw,820px);margin-top:.8rem}
.lb-cap[hidden]{display:none}
.lb-cap a{color:#ffd76a;text-decoration:underline}
.lb-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:12px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.55);color:#fff;font:400 1.875rem/1 system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 3px}
@media(hover:hover){.lb-close:hover{background:rgba(255,255,255,.2)}}
.lb-close:focus-visible,.lb-cap a:focus-visible{outline:3px solid #FF5A4E;outline-offset:2px}
@media(max-width:600px){.lb-img{max-width:96vw}.lb-cap{font-size:.85rem}}

/* Creator Spotlight (home) */
#spotlight{padding:8px 0 40px}
.spotlight{display:flex;gap:22px;align-items:flex-start;background:var(--surface);border:2px solid var(--bd);border-radius:14px;box-shadow:var(--shadow);padding:24px 26px;max-width:860px}
.spotlight:hover{box-shadow:var(--shadow-h)}
.sp-badge{flex:none;width:76px;height:76px;border-radius:50%;background:var(--navy);color:var(--gold);border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;font:900 1.8rem var(--serif);box-shadow:3px 3px 0 var(--coral)}
.spotlight h2{margin:.1em 0 .1em;font-size:clamp(1.5rem,3.5vw,2rem)}
.spotlight h3{font-size:1rem;margin:1em 0 .3em}
.spotlight p{margin:.4em 0}.spotlight .sp-tag{color:var(--muted);font-weight:600}
.sp-pieces{margin:0;padding-left:1.1em}.sp-pieces li{margin:.25em 0}.sp-pieces span{color:var(--muted);font-size:.88rem;white-space:nowrap}
.sp-note{font-size:.85rem;color:var(--muted)}
.sp-btns{margin-top:1em!important;display:flex;flex-wrap:wrap;gap:12px}
.btn-navy{background:var(--navy);color:var(--cream);box-shadow:0 4px 0 var(--coral)}.btn-navy:hover{background:var(--coral);color:var(--navy);box-shadow:0 4px 0 var(--coral-dd)}
@media(max-width:560px){.spotlight{flex-direction:column;padding:20px}.sp-badge{width:60px;height:60px;font-size:1.4rem}.sp-btns .btn{width:100%;text-align:center}}
/* The Pulse */
#the-hive{padding:8px 0 48px}
#the-hive h2{margin:.1em 0 .6em}
.pulse-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pcard{display:flex;flex-direction:column;padding:20px 22px}
.pcard p{margin:.3em 0}
.pc-who span{color:var(--muted);font-size:.92rem;font-weight:600}
.pc-sum{flex:1}
.pc-meta{font-size:.82rem;color:var(--muted)}
.pc-link{font-weight:700}
.pulse-note{margin-top:18px;font-size:.88rem;color:var(--muted)}
/* The Pulse page: dark look */
header.site nav a.current{color:var(--gold);box-shadow:inset 0 -3px 0 var(--coral);border-radius:10px 10px 0 0}
.pulse-more{margin:20px 0 0;font:800 1rem var(--sans)}
@media(max-width:640px){header.site .wrap{padding-left:8px;padding-right:8px}header.site nav a{padding:7px 5px;font-size:.74rem}header.site nav a:last-of-type{margin-left:3px;padding:7px 8px}}
@media(max-width:380px){header.site nav a{padding:7px 3px;font-size:.68rem}header.site nav a:last-of-type{padding:7px 6px}}
body.pulse-page{background:var(--hv-page)}
.pulse-dark{background:var(--hv-page);color:var(--hv-text);padding-bottom:60px}
.pulse-hero{position:relative;overflow:hidden;padding:64px 0 48px;border-bottom:1px solid var(--hv-bd)}
.pulse-hero .wrap{position:relative;z-index:1}
.pulse-dark h1{color:var(--hv-head);font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.04;margin:.15em 0 .25em}.pulse-dark h1 em{color:var(--hv-link);font-style:normal}
.pulse-dark .kicker{color:var(--hv-who)}
.np-lede{max-width:560px;font-size:1.12rem;color:var(--hv-soft)}.np-upd{font-size:.85rem;color:var(--hv-mute)}
.np-back{margin:0 0 18px;font:700 .95rem var(--sans)}.np-back a,.pulse-dark a{color:var(--hv-link)}.pulse-dark a:hover{color:var(--acc-h)}
.np-back-b{margin-top:30px}
.np-group{padding:40px 0 0}
.pulse-dark .np-group h2{color:var(--hv-head);display:flex;align-items:center;gap:14px;font-size:clamp(1.5rem,3.5vw,2.1rem);margin:0 0 18px}
.pulse-dark .np-group h2::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--gold),rgba(255,90,71,.6),transparent)}
.np-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.np-card{background:linear-gradient(160deg,var(--hv-c1),var(--hv-c2));border:1px solid var(--hv-bd);border-radius:14px;padding:20px 22px;box-shadow:0 10px 30px var(--hv-glow);display:flex;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s}
.np-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 30px var(--hv-glow)}
.np-card p{margin:.3em 0}.np-who strong{font:900 1.05rem var(--serif);color:var(--hv-head)}.np-who span{color:var(--hv-who);font-weight:700;font-size:.88rem;overflow-wrap:anywhere}
.np-sum{color:var(--hv-soft);font-size:.97rem}.np-meta{font-size:.8rem;color:var(--hv-mute)}.np-link{margin-top:auto!important;padding-top:10px!important;font:800 .9rem var(--sans)}
.np-spot{display:flex;gap:22px;align-items:flex-start;background:linear-gradient(160deg,var(--hv-c1),var(--hv-c2));border:2px solid var(--gold);border-radius:16px;padding:24px 26px;max-width:860px;box-shadow:0 8px 24px var(--hv-glow)}
.np-spot h3{color:var(--hv-head);margin:.1em 0}.np-spot p{margin:.4em 0;color:var(--hv-soft)}.np-spot .np-tag{color:var(--hv-mute);font-weight:600}
.np-spot .btn-ghost{margin-left:6px;color:var(--hv-head);box-shadow:inset 0 0 0 2px var(--hv-head)}.np-spot .btn:hover{color:var(--navy)}
.pulse-dark .np-spot a.btn{color:var(--navy)}.pulse-dark .np-spot a.btn-ghost{color:var(--hv-head)}.pulse-dark .np-spot a.btn-ghost:hover{color:var(--navy);background:var(--gold)}
.np-note{margin-top:36px;padding:14px 18px;border-left:4px solid var(--coral);background:var(--hv-note);border-radius:8px;color:var(--hv-soft);font-size:.92rem}
@media(max-width:640px){.pulse-hero{padding:44px 0 34px}.np-spot{flex-direction:column;padding:20px}.np-spot .btn{display:block;text-align:center;margin:8px 0 0}}

/* PWA install bar (assets/pwa.js) */
.install-bar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:900;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:10px;background:var(--navy);color:var(--cream);border:2px solid var(--gold);border-radius:12px;padding:8px 8px 8px 10px;box-shadow:4px 4px 0 var(--coral);font:600 .88rem/1.3 var(--sans)}
.install-bar img{border-radius:8px;flex:none}.install-bar .ib-text{flex:1;min-width:0}
.install-bar button{font:inherit;cursor:pointer;border:0}
.install-bar .ib-go{background:var(--gold);color:var(--navy);font-weight:800;border-radius:999px;padding:8px 14px;white-space:nowrap}.install-bar .ib-go:hover{background:var(--coral)}
.install-bar .ib-x{background:transparent;color:var(--cream);font-size:1.6rem;line-height:1;width:36px;height:36px;border-radius:50%}.install-bar .ib-x:hover{background:var(--navy-2)}
.install-bar button:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
body.has-install-bar{padding-bottom:72px}
html.lb-lock .install-bar{display:none}
@media print{.install-bar{display:none}}
/* The Pulse "Updated" line */
.pulse-upd{margin:-6px 0 16px;font-size:.88rem;font-weight:600;color:var(--muted)}
/* Church News Now (home) */
#church-news{padding:28px 0 8px}
.cn-box{background:var(--surface);border:2px solid var(--bd);border-radius:16px;padding:24px 28px;box-shadow:8px 8px 0 var(--gold)}
.cn-box h2{margin:.15em 0 .1em}
.cn-upd{margin:0 0 14px;font-size:.88rem;font-weight:600;color:var(--muted)}
.cn-list{list-style:none;margin:0;padding:0}
.cn-item{padding:14px 0;border-top:2px solid var(--bd)}
.cn-item:first-child{border-top:0}
.cn-meta{font-size:.82rem;font-weight:600;color:var(--muted)}
.cn-src{display:inline-block;background:var(--navy);color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;padding:2px 8px;border-radius:5px;margin-right:6px}
.cn-item h3{margin:.3em 0 .15em;font-size:1.2rem}
.cn-sum{margin:.1em 0 .4em}
.cn-link{font-weight:700;color:var(--coral-d)}
.cn-disc{margin:14px 0 0;font-size:.82rem;color:var(--muted)}
@media(max-width:640px){.cn-box{padding:18px;box-shadow:5px 5px 0 var(--gold);margin-right:5px}}
/* Hamburger menu (tablet/phone). Markup from seo.navmenu(); behaviour in assets/nav.js */
.nav-toggle,.nav-sub{display:none}
@media(max-width:900px){
html.hasnav header.site .wrap{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:10px 14px}
html.hasnav .brand{margin-right:auto}html.hasnav .brand img{height:38px}
html.hasnav .nav-sub{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;background:var(--gold);color:var(--navy);font:800 .95rem var(--sans);text-decoration:none;border-radius:10px;box-shadow:0 3px 0 var(--gold-d)}
html.hasnav .nav-sub:hover{background:var(--coral);color:var(--navy);box-shadow:0 3px 0 var(--coral-dd)}
html.hasnav .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:var(--navy-2);border:2px solid var(--gold);border-radius:12px;box-shadow:3px 3px 0 var(--coral);cursor:pointer;-webkit-tap-highlight-color:transparent}
html.hasnav .nav-toggle:hover{background:var(--navy-3)}
html.hasnav .nav-toggle:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
html.hasnav .nav-bars{position:relative;display:block;width:22px;height:16px}
html.hasnav .nav-bars i{position:absolute;left:0;width:22px;height:3px;border-radius:2px;background:var(--cream);transition:transform .25s,opacity .2s,top .25s,background .2s}
html.hasnav .nav-bars i:nth-child(1){top:0}html.hasnav .nav-bars i:nth-child(2){top:6.5px}html.hasnav .nav-bars i:nth-child(3){top:13px}
html.hasnav header.nav-open .nav-toggle{background:var(--gold);box-shadow:3px 3px 0 var(--coral)}
html.hasnav header.nav-open .nav-bars i{background:var(--navy)}
html.hasnav header.nav-open .nav-bars i:nth-child(1){top:6.5px;transform:rotate(45deg)}
html.hasnav header.nav-open .nav-bars i:nth-child(2){opacity:0}
html.hasnav header.nav-open .nav-bars i:nth-child(3){top:6.5px;transform:rotate(-45deg)}
html.hasnav header.site nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;align-items:stretch;gap:6px;max-width:none;padding:12px 14px 16px;background:var(--navy-2);border-bottom:4px solid var(--coral);box-shadow:0 8px 0 rgba(10,22,51,.35);visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s,visibility 0s .2s}
html.hasnav header.nav-open nav{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .2s,transform .2s}
html.hasnav header.site nav a{display:flex;align-items:center;min-height:52px;margin:0;padding:0 16px;font-size:1.05rem;font-weight:700;border-radius:10px;border-left:5px solid transparent;white-space:normal}
html.hasnav header.site nav a:hover{background:rgba(255,248,234,.1);color:var(--gold)}
html.hasnav header.site nav a.current,html.hasnav header.site nav a[aria-current]{color:var(--gold);background:rgba(255,90,78,.12);border-left-color:var(--coral);box-shadow:none;border-radius:10px}
html.hasnav header.site nav a:last-of-type{margin:6px 0 0;padding:0 16px;justify-content:center;background:var(--gold);color:var(--navy);font-weight:800;border-left:0;box-shadow:0 4px 0 var(--gold-d)}
html.hasnav header.site nav a:last-of-type:hover{background:var(--coral);color:var(--navy);box-shadow:0 4px 0 var(--coral-dd)}
}
@media(max-width:360px){html.hasnav .nav-sub{padding:0 12px;font-size:.88rem}html.hasnav .brand img{height:34px}}
@media(prefers-reduced-motion:reduce){html.hasnav header.site nav,html.hasnav .nav-bars i{transition:none!important}}
/* Home: single hero CTA + signup at the bottom (Oct 15, 2026) */
#subscribe{scroll-margin-top:90px}
.hero .btn-hero{padding:16px 34px;font-size:1.08rem}
@media(max-width:640px){.hero .btn-hero{display:block;width:100%;max-width:340px;text-align:center}}
/* Signup: navy section, cream card with gold hard shadow (Oct 15, 2026) */
#subscribe{background:var(--band);border-top:5px solid var(--gold);border-bottom:0;padding:64px 0 72px}
#subscribe .signup{color:var(--on-band)}
#subscribe .kicker{color:var(--acc)}
#subscribe .signup h2{color:var(--on-band);margin-bottom:.25em}
#subscribe .signup p.su-tag{color:var(--text-2);font-size:1.1rem;margin:0 0 28px}
#subscribe .su-card{background:#fff;border:2px solid var(--gold);border-radius:18px;box-shadow:8px 8px 0 var(--gold);min-height:300px;padding:24px 20px;display:flex;align-items:center;justify-content:center;max-width:560px;margin:0 auto}
#subscribe .su-card>*{max-width:100%}
#subscribe .signup p.su-fallback{margin:28px 0 0;font-size:.95rem;font-weight:500;color:var(--text-2)}
#subscribe .su-fallback a{color:var(--acc);font-weight:700;text-decoration:underline;text-underline-offset:3px}
#subscribe .su-fallback a:hover{color:var(--acc-h)}
@media(max-width:640px){#subscribe{padding:48px 0 56px}#subscribe .su-card{box-shadow:6px 6px 0 var(--gold);margin-right:6px;min-height:280px;padding:16px 12px}}
#subscribe .su-card{display:block}#subscribe .su-card iframe,#subscribe .su-card>div{width:100%!important;max-width:100%!important;min-height:260px;border:0}
@media(max-width:640px){#subscribe .su-card{padding:6px 0;margin-left:0}}

/* v5: clickable cards (stretched link), avatars, spotlight photo, Back bar */
.sl-card,.card.acard,.sl-body{position:relative}
.card.acard,.card.pcard,.mcard.sl-card,.np-card.sl-card,.cn-item.sl-card{cursor:pointer}
.stretched{text-decoration:none}
.stretched::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.stretched:focus-visible{outline:none}
.stretched:focus-visible::after{outline:3px solid var(--coral);outline-offset:-5px;border-radius:14px}
.pulse-dark .stretched:focus-visible::after,.np-card .stretched:focus-visible::after{outline-color:var(--gold)}
/* inner links stay clickable above the stretched layer */
.sl-card a:not(.stretched),.sl-body a:not(.stretched),.sl-card figure,.sl-card .alinks{position:relative;z-index:2}
.card.sl-card:hover,.mcard.sl-card:hover{box-shadow:var(--shadow-h)}
.card.sl-card:hover h3 a,.sl-body:hover h3 a{color:var(--coral-d)}
.card.sl-card:focus-within,.mcard.sl-card:focus-within{box-shadow:var(--shadow-h)}
.mcard.sl-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--coral)}
.mcard{transition:transform .15s,box-shadow .15s}
.mcard a.stretched{color:var(--coral-d)}
.cn-item.sl-card{padding-left:12px;padding-right:12px;margin:0 -12px;border-radius:12px;transition:background .15s}
.cn-item.sl-card:hover,.cn-item.sl-card:focus-within{background:var(--hov)}
.np-card.sl-card:focus-within{border-color:var(--gold);box-shadow:0 10px 30px var(--hv-glow)}
.acard .alinks .orig,.alinks a{position:relative;z-index:2}
/* avatars (self-hosted X profile photos, initials fallback) */
.pc-head,.np-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.pc-head .pc-who,.np-head .np-who{margin:0!important;min-width:0}
.pc-who span,.np-who span{display:block;overflow-wrap:anywhere}
.av{flex:none;width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--navy);background:var(--navy);display:inline-block}
.av-ini{display:inline-flex;align-items:center;justify-content:center;color:var(--gold);font:900 1rem var(--serif)}
.np-av{border-color:var(--gold)}
/* Creator Spotlight photo */
.sp-photo{flex:none;width:104px;height:104px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);background:var(--navy);box-shadow:4px 4px 0 var(--coral)}
.np-spot .sp-photo{width:88px;height:88px}
@media(max-width:560px){.sp-photo{width:88px;height:88px}}
/* Back bar (inner pages only; assets/backbar.js) */
.backbar{position:sticky;bottom:0;z-index:800;background:var(--tab-bg);border-top:4px solid var(--tab-line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;margin-top:0}
.bb-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:520px;min-height:56px;padding:12px 22px;background:var(--gold);color:var(--navy);font:800 1.1rem var(--sans);text-decoration:none;border-radius:999px;border:2px solid var(--gold);box-shadow:0 4px 0 var(--coral);transition:background .15s,transform .15s}
.bb-btn:hover{background:var(--cream);transform:translateY(-1px)}
.bb-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--coral)}
.bb-btn:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
.bb-arrow{font-size:1.4rem;line-height:1}


body:has(.backbar){padding-bottom:0}
body:has(.backbar) footer.site{margin-bottom:0}
/* stack with the PWA install bar: install bar floats above the Back bar */
body:has(.backbar) .install-bar{bottom:calc(84px + env(safe-area-inset-bottom))}
body.has-install-bar:has(.backbar) .backbar{margin-top:76px}
html.lb-lock .backbar{display:none}
@media print{.backbar{display:none}}

/* v6 fix: The Pulse avatar + header row (beats the generic ".card img{width:100%;aspect-ratio:16/9}" rule) */
.pc-head,.np-head{display:flex;flex-direction:row;align-items:center;gap:12px;margin:0 0 8px;min-width:0;width:100%}
.pcard img.av,.card img.av,.np-card img.av,img.av{flex:none;display:block;width:48px;height:48px;min-width:48px;max-width:48px;max-height:48px;aspect-ratio:1/1;border-radius:50%;object-fit:cover}
.pcard .av-ini,.np-card .av-ini,.av-ini{flex:none;width:48px;height:48px;min-width:48px;aspect-ratio:1/1;border-radius:50%}
.pc-head .pc-who,.np-head .np-who{flex:1 1 0;min-width:0;margin:0!important;line-height:1.25}
.pc-who strong,.np-who strong{display:block;overflow-wrap:anywhere}
.pc-who span,.np-who span{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;writing-mode:horizontal-tb}
@media(max-width:380px){.pcard,.np-card{padding:16px 16px}}

/* Hero secondary link: Visit The Pulse (outline, not a second primary CTA) */
.hero .hero-hive{margin:14px 0 0}
.hero a.hive-link{display:inline-block;padding:12px 26px;border:2px solid rgba(255,248,234,.75);border-radius:999px;color:var(--cream,#FAF8F5);background:transparent;font:700 1rem var(--sans,Inter,sans-serif);text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.hero a.hive-link:hover,.hero a.hive-link:focus-visible{border-color:var(--gold,#FF5A4E);color:var(--gold,#FF5A4E);background:rgba(255,90,78,.08)}
@media(max-width:640px){.hero .hero-hive{max-width:340px}.hero a.hive-link{display:block;text-align:center}}
.hive-sub{margin:-4px 0 6px;color:var(--muted);font-size:1.02rem}
/* The Pulse page v2: honeycomb redesign (dark, gold hexagons) */
.hv-hero{padding:56px 0 44px;background:var(--hv-hero)}
.hv-comb{position:absolute;right:-70px;top:-30px;width:min(560px,115vw);height:auto;opacity:.5;pointer-events:none;z-index:0}
.hv-hero h1{font-size:clamp(3.2rem,13vw,6.2rem);line-height:.98;letter-spacing:-.02em;margin:.1em 0 .15em}
.hv-hero .np-lede{font-size:clamp(1.1rem,3.4vw,1.4rem);color:var(--hv-soft);max-width:30ch}
.hv-chip{display:inline-block;margin-top:6px;padding:7px 14px;border-radius:999px;background:rgba(255,90,78,.2);border:1px solid var(--hv-bd2);color:var(--hv-chip-t);font:700 .85rem var(--sans)}
.hv-upd{margin:14px 0 0}
.hv-main{padding-top:30px;padding-bottom:56px}
.hv .hv-feat,.hv .hv-card{position:relative;background:linear-gradient(160deg,var(--hv-c1),var(--hv-c2));border:1px solid var(--hv-bd);border-left:6px solid var(--gold);border-radius:16px;display:flex;flex-direction:column;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.hv .hv-card{padding:18px 20px}
.hv .hv-feat{padding:26px 24px 22px;border-width:2px 2px 2px 8px;border-color:var(--gold);box-shadow:0 10px 30px var(--hv-glow)}
.hv .hv-feat::before{content:"";position:absolute;right:16px;top:16px;width:46px;height:52px;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 56'%3E%3Cpath d='M25 2l22 13v26L25 54 3 41V15Z' fill='%23FFB81C' fill-opacity='.2' stroke='%23FFB81C' stroke-width='3'/%3E%3C/svg%3E") no-repeat center/contain}
.hv .hv-card:hover,.hv .hv-feat:hover,.hv .hv-card:focus-within,.hv .hv-feat:focus-within{transform:translateY(-3px);box-shadow:0 12px 30px var(--hv-glow)}
.hv-tag{align-self:flex-start;background:var(--gold);color:#0B1F3A;font:800 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:12px}
.hv-head{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:8px}
.hv-who{margin:0;min-width:0;line-height:1.25}
.hv-who strong{display:block;font:900 1.08rem var(--serif);color:var(--hv-head);overflow-wrap:anywhere}
.hv-who span{display:block;color:var(--hv-who);font-weight:700;font-size:.9rem;overflow-wrap:anywhere}
.hv .hv-av{border-color:var(--gold)}
.hv-fsum{font:600 clamp(1.15rem,3.6vw,1.5rem)/1.45 var(--serif);color:var(--hv-head);margin:.4em 0}
.hv-sum{color:var(--hv-soft);font-size:1rem;line-height:1.55;margin:.35em 0;flex:1}
.hv-meta{color:var(--hv-mute);font-size:.82rem;margin:.4em 0}
.hv-link{margin:auto 0 0;padding-top:8px;font:800 .95rem var(--sans)}
.hv-link a{color:var(--hv-link)}
.hv-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px}
@media(min-width:700px){.hv-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.hv-grid{grid-template-columns:repeat(3,1fr);gap:20px}.hv .hv-feat{padding:34px 40px}.hv-feat .hv-fsum{max-width:62ch}}
.hv-spot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px;padding:16px 20px;border:1px dashed var(--hv-bd2);border-radius:16px;background:rgba(255,90,78,.1)}
.hv-spot>div{flex:1 1 200px;min-width:0}
.hv-spot .hv-sp-photo{width:64px;height:64px;box-shadow:none;border-width:2px}
.hv-spot-k{margin:0;font:800 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--hv-who)}
.hv-spot h2{margin:.1em 0;font-size:1.25rem;color:var(--hv-head)}
.hv-spot-t{margin:0;font-size:.88rem;color:var(--hv-soft)}
.pulse-dark .hv-spot a.btn{color:var(--navy)}
.hv-foot{margin:30px 0 0;text-align:center;font-weight:600;color:var(--hv-soft)}
.hv-main .np-note{margin-top:14px}
/* home block, matching the page */
#the-hive .pcard{border-left:6px solid var(--gold)}
#the-hive .hive-sub{margin:-.2em 0 .4em}
@media(max-width:699px){.hv-comb{opacity:.26;right:-120px;top:-10px}}

/* Bottom tab bar v7 */
.backbar{justify-content:space-around;gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:3px solid var(--tab-line)}
.bb-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;color:var(--tab-t);text-decoration:none;font:700 .72rem var(--sans);border-radius:12px;min-height:52px;justify-content:center}
.bb-tab svg{width:26px;height:26px}
.bb-tab.on{color:var(--tab-on)}
.bb-tab:hover{color:var(--head)}
.bb-tab:focus-visible{outline:3px solid var(--coral);outline-offset:-3px}
body:has(.backbar){padding-bottom:0}
/* Tab bar desktop v7b: compact floating bar */
@media (min-width:768px){
 .backbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:auto;min-width:420px;max-width:560px;border:2px solid var(--tab-line);border-radius:22px;padding:6px 14px;box-shadow:0 10px 30px var(--tab-sh);gap:6px}
 .bb-tab{padding:8px 22px;min-width:96px;flex:1}
 body:has(.backbar){padding-bottom:96px}
 body:has(.backbar) .install-bar{bottom:100px}
}
/* Hive v8: compact cards, Like + inline post */
.hv .hv-card,.hv .hv-feat{padding:12px 14px;border-left-width:4px;border-radius:12px;cursor:default}
.hv .hv-feat{padding:14px 16px}
.hv .hv-feat::before{display:none}
.hv-head{margin-bottom:4px;gap:10px}
.hv .hv-av{width:36px;height:36px}
.hv-who strong{font-size:.95rem}.hv-who span{font-size:.8rem}
.hv-fsum{font:600 1rem/1.4 var(--serif);margin:.25em 0}
.hv-sum{font-size:.92rem;line-height:1.4;margin:.2em 0}
.hv-meta{font-size:.75rem;margin:.2em 0}
.hv-tag{margin-bottom:6px;padding:2px 8px;font-size:.65rem}
.hv-grid{gap:10px;margin-top:10px}
.hv-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.hv-like,.hv-show{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:999px;font:800 .85rem var(--sans);cursor:pointer;text-decoration:none}
.hv-like{background:var(--gold);color:#0B1F3A;border:2px solid var(--gold)}
.hv-like svg{width:16px;height:16px;fill:none;stroke:#0B1F3A;stroke-width:2.2;stroke-linejoin:round}
.hv-show{background:transparent;color:var(--hv-link);border:2px solid var(--hv-bd2)}
.hv-open{color:var(--hv-mute);font:700 .8rem var(--sans);margin-left:auto;text-decoration:none}
.hv-embed{margin-top:10px}.hv-embed .twitter-tweet{margin:0 auto!important}
.hv-loading{color:var(--hv-mute);font-size:.85rem;margin:6px 0}
.hv-hero{padding:34px 0 24px}.hv-main{padding-top:16px}
.pulse-dark .hv-like,.hv .hv-like{color:#0B1F3A!important}
.hv .hv-fsum{font-size:1rem!important;line-height:1.4}
.hv-hero h1{font-size:clamp(2.4rem,9vw,3.6rem)}
.hv-hero .np-lede{font-size:1rem}
.hv-hero{padding:22px 0 14px}
.hv-chip{margin-top:0;padding:4px 10px;font-size:.75rem}
.hv-upd{margin:8px 0 0}
@media(max-width:699px){
 .hv-hero .np-lede{display:none}
 .hv-hero h1{font-size:2.2rem;margin:.05em 0}
 .hv-hero{padding:14px 0 10px}
 .hv .hv-fsum{font:500 .92rem/1.4 var(--sans)!important}
 .hv-tag{display:none}
 .hv .hv-feat{border-width:1px 1px 1px 4px;padding:12px 14px;box-shadow:none}
 .hv-main{padding-top:10px}
 .hv-like,.hv-show{min-height:32px;padding:4px 12px;font-size:.8rem}
}
.hv-orig,.pcard .hv-orig{white-space:pre-line;color:var(--hv-head);font:500 .98rem/1.45 var(--sans);margin:.3em 0;overflow-wrap:anywhere;display:block;overflow:visible}
/* NEVER clamp/truncate poster text (Oct 18, 2026: a 12-line clamp cut long posts). refresh_state.py check fails if a line-clamp returns on .hv-orig / .hv-qtext */
.hv-ai,.pcard .hv-ai{color:var(--hv-mute);font:500 .74rem/1.4 var(--sans);margin:.2em 0}
.hv-ai::before{content:"Summary: ";font-weight:700}
.hv-media{display:block;margin:8px 0;border-radius:10px;overflow:hidden;background:var(--hv-media);border:1px solid var(--hv-bd);position:relative;z-index:2}
.hv-media img,video.hv-media{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}
video.hv-media{object-fit:contain;background:#000}
@media(min-width:1060px){.hv-media img,video.hv-media{max-height:240px}}
/* Theme toggle (assets/theme.js; markup from seo.themeui()): Auto / Light / Dark in the footer and hamburger menu, half-circle icon button in the desktop header */
img.av{border-color:var(--bd)}
.theme-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.theme-toggle .tt-label{font:800 .75rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ft-t);margin-right:2px}
.theme-toggle button{font:700 .9rem var(--sans);padding:8px 18px;min-height:44px;min-width:64px;border-radius:999px;border:2px solid var(--ft-t);background:transparent;color:var(--ft-strong);cursor:pointer;-webkit-tap-highlight-color:transparent}
.theme-toggle button:hover{border-color:var(--acc);color:var(--acc)}
.theme-toggle button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#0B1F3A}
.theme-toggle button:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.nav-theme{display:none}
.theme-cycle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border-radius:12px;border:2px solid rgba(255,248,234,.45);background:transparent;color:var(--cream);cursor:pointer}
.theme-cycle:hover{border-color:var(--gold);color:var(--gold)}
.theme-cycle:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.theme-cycle svg{width:22px;height:22px;display:block}
@media(max-width:900px){html.hasnav .theme-cycle{display:none}
html.hasnav header.site nav .nav-theme{display:flex;padding:10px 16px 4px;margin:4px 0 0;border-top:1px solid rgba(255,248,234,.2)}
html.hasnav header.site nav .nav-theme .tt-label{color:#B4BED6;flex-basis:100%}
html.hasnav header.site nav .nav-theme button{color:var(--cream);border-color:rgba(255,248,234,.45);flex:1;min-width:0;padding:8px 6px;font-size:.95rem}
html.hasnav header.site nav .nav-theme button:hover{color:var(--gold);border-color:var(--gold)}
html.hasnav header.site nav .nav-theme button[aria-pressed=true]{background:var(--gold);color:#0B1F3A;border-color:var(--gold)}}
header.site .brand{margin-right:auto}
.btn-navy{box-shadow:inset 0 0 0 2px var(--bd),0 4px 0 var(--coral)}

/* ---- Voice chips (Latter-day Saint = gold, Friend of the Church = neutral); theme-aware ---- */
:root{--vm-bg:#FFEDEA;--vm-fg:#B33323;--vm-bd:#FF9A90;--vf-bg:#EEF1F8;--vf-fg:#3B4766;--vf-bd:#C8D0E3}
:root[data-theme=dark]{--vm-bg:rgba(255,90,78,.14);--vm-fg:#FF8A7B;--vm-bd:rgba(255,90,78,.5);--vf-bg:rgba(185,195,221,.1);--vf-fg:#C3CCE3;--vf-bd:rgba(185,195,221,.35)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--vm-bg:rgba(255,90,78,.14);--vm-fg:#FF8A7B;--vm-bd:rgba(255,90,78,.5);--vf-bg:rgba(185,195,221,.1);--vf-fg:#C3CCE3;--vf-bd:rgba(185,195,221,.35)}}
.vchip{display:inline-block;font:700 .64rem/1.5 var(--sans,Inter,sans-serif);padding:0 7px;border-radius:999px;border:1px solid;white-space:nowrap;letter-spacing:.01em}
.vchip-member{background:var(--vm-bg);color:var(--vm-fg);border-color:var(--vm-bd)}
.vchip-friend{background:var(--vf-bg);color:var(--vf-fg);border-color:var(--vf-bd)}
.pc-head .vchip,.hv-head .vchip{margin-left:auto;align-self:flex-start;flex:none}
.hv-legend{margin:0 0 14px;color:var(--hv-soft);font:500 .85rem/1.9 var(--sans,Inter,sans-serif)}

/* ---- Home feed (social-app style; compact post cards) ---- */
#feed{padding:14px 0 6px}
.feed-wrap{max-width:640px;display:flex;flex-direction:column;gap:12px}
.fcard{background:var(--surface);border:2px solid var(--bd);border-radius:14px;padding:12px 14px 14px;box-shadow:3px 3px 0 var(--sh);cursor:pointer;transition:transform .15s,box-shadow .15s;overflow:hidden}
.fcard:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--coral)}
.f-top{margin:0 0 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:800 .7rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--coral-d)}
.f-src{color:var(--coral-d)}
.f-top .vchip{text-transform:none;letter-spacing:.01em}
.fcard h3.f-title{margin:0;font-size:1.12rem;line-height:1.25;font-weight:700}
.fcard h3.f-title a,.fcard .f-text a{color:var(--head);text-decoration:none}
.fcard p.f-text{margin:0;color:var(--head);font:500 .98rem/1.45 var(--sans);white-space:pre-line;overflow-wrap:anywhere;display:block;overflow:visible}
.fcard img.f-img{display:block;width:100%;height:auto;max-height:300px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:10px 0 0;border:1px solid var(--line);background:var(--surface-2)}
.f-credit{margin:4px 0 0;font:500 .72rem/1.3 var(--sans);color:var(--muted)}
.f-vid{position:relative;margin-top:10px}
.f-vid img.f-img{margin:0}
.f-play{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(10,22,51,.78);border:2px solid #FF5A4E;pointer-events:none}
.f-play::after{content:"";position:absolute;left:21px;top:15px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #FF5A4E}
.feed-end{margin:6px 0 0;text-align:center;font:600 .85rem var(--sans);color:var(--muted)}
.feed-disclaimer{margin:14px 0 0;font:500 .82rem/1.45 var(--sans);text-align:center;color:var(--ft-t)}
.hero{padding-bottom:56px}
@media(max-width:640px){.fcard{box-shadow:3px 3px 0 var(--sh)}.hero{padding:44px 0 40px}#feed{padding-top:12px}}
.f-vid{position:relative}
.f-playbtn{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:pointer;padding:0}
.f-playbtn .f-play{pointer-events:none}
.f-vid iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;margin:0}
.f-video .f-credit a{color:inherit;text-decoration:underline}
.fcard video.f-xvid{display:block;position:relative;z-index:2;width:100%;max-height:420px;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:10px;margin:10px 0 0;border:1px solid var(--line)}
.f-who{display:flex;align-items:center;gap:8px;margin:2px 0 6px;flex-wrap:wrap}
.f-who .av{width:36px;height:36px;border-radius:50%;flex:none;object-fit:cover}
.f-name{margin:0;display:flex;flex-direction:column;line-height:1.2;min-width:0}
.f-name strong{color:var(--head);font:700 .92rem var(--sans)}
.f-name span{color:var(--muted);font:500 .78rem var(--sans)}
.f-who .vchip{margin-left:auto}
.fcard p.f-text{display:block;-webkit-line-clamp:unset;overflow:visible}

/* Article images (Oct 16, 2026): one image per article; credit line below */
.acard.has-img .kicker{display:inline-block}
.athumb{margin:0;border-bottom:2px solid var(--navy);background:var(--surface-2)}
.athumb img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border:0;border-radius:0}
.athumb.portrait img{object-position:50% 18%}
.athumb figcaption{font:500 .72rem/1.3 var(--sans);color:var(--muted);padding:6px 14px;position:relative;z-index:2}
.athumb figcaption a{color:inherit;text-decoration:underline}
.aphoto{margin:1em 0 1.2em;text-align:center}
.aphoto img{display:block;width:100%;max-width:720px;max-height:460px;object-fit:cover;margin:0 auto;border-radius:12px;border:2px solid var(--bd)}
.aphoto.portrait img{width:auto;max-width:100%;object-fit:contain;max-height:420px}
.aphoto figcaption{font:.8rem/1.45 var(--sans);color:var(--muted);margin-top:.5em}
.aphoto figcaption a{color:inherit;text-decoration:underline}
.fcard img.f-img.portrait{object-position:50% 18%}
.fcard img.f-img[data-lightbox]{position:relative;z-index:2}
html{touch-action:manipulation;-webkit-text-size-adjust:100%}

.lb-img{cursor:default;touch-action:none;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;transform-origin:center center;will-change:transform}
.backbar,.bb-tab{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
/* Phone scroll box (assets/scrollbox.js) */
@media(max-width:767px){
 html.dd-box,html.dd-box body{height:100%;overflow:hidden;overscroll-behavior:none}
 html.dd-box #dd-scroll{position:fixed;top:0;left:0;right:0;bottom:var(--bb-h,72px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
 html.dd-box nav.backbar{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:800}
 html.dd-box body:has(.backbar) .install-bar{bottom:calc(var(--bb-h,72px) + 8px)}
 html.dd-box.lb-lock #dd-scroll{overflow:hidden}
}
/* Compact menu v2 (Oct 17): small dropdown card, closes on scroll/swipe/outside tap */
@media(max-width:900px){
 html.hasnav header.site nav{left:auto;right:10px;top:calc(100% + 8px);width:min(230px,calc(100vw - 20px));gap:2px;padding:8px;border:1px solid rgba(255,248,234,.18);border-radius:16px;background:var(--navy-2);box-shadow:0 14px 34px rgba(0,0,0,.45);transform:translateY(-6px) scale(.97);transform-origin:top right}
 html.hasnav header.nav-open nav{transform:none}
 html.hasnav header.site nav a{min-height:42px;padding:0 12px;font-size:.98rem;font-weight:600;border-left:0;border-radius:10px}
 html.hasnav header.site nav a.current,html.hasnav header.site nav a[aria-current]{border-left:0;background:rgba(255,90,78,.16)}
 html.hasnav header.site nav a:last-of-type{display:none}
 html.hasnav header.site nav .nav-theme{padding:8px 4px 2px;margin:4px 0 0;gap:4px;flex-wrap:nowrap}
 html.hasnav header.site nav .nav-theme .tt-label{display:none}
 html.hasnav header.site nav .nav-theme button{padding:6px 2px;font-size:.82rem;border-radius:999px}
 html.hasnav header.nav-open .nav-toggle{box-shadow:3px 3px 0 var(--coral)}
}
/* Menu v3 (Oct 17): polished sheet with icons and a segmented theme control */
@media(max-width:900px){
 html.hasnav header.site nav{right:10px;top:calc(100% + 10px);width:min(260px,calc(100vw - 20px));padding:10px;gap:3px;border:1px solid rgba(255,248,234,.14);border-radius:20px;background:linear-gradient(180deg,var(--navy-2),var(--navy));box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.2)}
 html.hasnav header.site nav::before{content:"";position:absolute;top:-7px;right:20px;width:14px;height:14px;background:var(--navy-2);border-left:1px solid rgba(255,248,234,.14);border-top:1px solid rgba(255,248,234,.14);transform:rotate(45deg);border-radius:3px 0 0 0}
 html.hasnav header.site nav a{gap:12px;min-height:46px;padding:0 12px;font-size:1rem;font-weight:600;color:var(--cream);border-radius:12px}
 html.hasnav header.site nav a .nav-ic{width:22px;height:22px;flex:none;opacity:.8}
 html.hasnav header.site nav a:hover,html.hasnav header.site nav a:active{background:rgba(255,248,234,.08);color:var(--cream)}
 html.hasnav header.site nav a.current,html.hasnav header.site nav a[aria-current]{background:rgba(255,90,78,.14);color:var(--gold)}
 html.hasnav header.site nav a[aria-current] .nav-ic,html.hasnav header.site nav a.current .nav-ic{opacity:1}
 html.hasnav header.site nav .nav-theme{margin:8px 0 0;padding:4px;gap:0;border:1px solid rgba(255,248,234,.14);border-top:1px solid rgba(255,248,234,.14);border-radius:999px;background:rgba(0,0,0,.22)}
 html.hasnav header.site nav .nav-theme button{border:0;border-radius:999px;padding:8px 4px;font-size:.84rem;font-weight:700;color:#C9D1E4;background:transparent}
 html.hasnav header.site nav .nav-theme button[aria-pressed=true]{background:var(--gold);color:#0B1F3A}
}
/* Menu v3.1: slimmer theme control */
@media(max-width:900px){
 html.hasnav header.site nav .nav-theme{margin:6px 4px 0;padding:2px;border-radius:8px;background:rgba(0,0,0,.25);border:1px solid rgba(255,248,234,.12)}
 html.hasnav header.site nav .nav-theme button{padding:4px 2px;font-size:.74rem;font-weight:600;letter-spacing:.02em;border-radius:6px;line-height:1.2;min-height:0}
}

/* Quote cards (Oct 17, 2026): the quoted post nested inside a Hive card (page + home feed). No Like button, no counts. */
.hv-quote{position:relative;z-index:2;margin:8px 0 4px;padding:9px 11px 10px;border:1px solid var(--hv-bd2,var(--line));border-radius:12px;background:rgba(255,255,255,.04);min-width:0}
.hv-qhead{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:4px}
.hv-quote img.av.hv-qav,.hv-quote .av.hv-qav{width:28px;height:28px;min-width:28px;max-width:28px;max-height:28px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;flex:none;border-width:1px;font-size:.72rem}
.hv-qwho{margin:0;min-width:0;line-height:1.2;display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline}
.hv-qwho strong{font:800 .86rem var(--sans);color:var(--hv-head,var(--head));overflow-wrap:anywhere}
.hv-qwho span{font:600 .78rem var(--sans);color:var(--hv-who,var(--muted));overflow-wrap:anywhere}
.hv-quote p.hv-qtext{margin:.15em 0;white-space:pre-line;overflow-wrap:anywhere;color:var(--hv-soft,var(--text-2));font:500 .88rem/1.4 var(--sans)}
.hv-quote .hv-qmedia{display:block;position:relative;margin:8px 0 0;border-radius:9px;overflow:hidden;background:#000;border:1px solid var(--hv-bd,var(--line))}
.hv-quote .hv-qmedia img{display:block;width:100%;height:auto;max-height:300px;aspect-ratio:auto;object-fit:cover}
.hv-quote a.hv-qvid{text-decoration:none}
.hv-qplay{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(10,22,51,.72);border:2px solid #FAF8F5;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}
.hv-qplay svg{width:24px;height:24px;fill:#FAF8F5;margin-left:3px}
a.hv-qvid:hover .hv-qplay,a.hv-qvid:focus-visible .hv-qplay{background:var(--gold,#FF5A4E);transform:scale(1.07)}
a.hv-qvid:hover .hv-qplay svg,a.hv-qvid:focus-visible .hv-qplay svg{fill:#0B1F3A}
a.hv-qvid:focus-visible{outline:3px solid var(--gold,#FF5A4E);outline-offset:2px}
@media(min-width:1060px){.hv-quote .hv-qmedia img{max-height:220px}}

/* own-media video preview (post's own video, shown above the quote card) */
a.hv-ownvid{display:block;position:relative;margin:8px 0;border-radius:10px;overflow:hidden;background:#000;text-decoration:none;z-index:2}
a.hv-ownvid img{display:block;width:100%;height:auto;max-height:420px;aspect-ratio:auto;object-fit:cover}
/* In-page X video (Oct 17, 2026): .hv-vp = player wrapper (mp4 <video> or tap-to-load X embed) + small "Open on X" link */
.hv-vp{position:relative;display:block;margin:8px 0 0;border-radius:10px;overflow:hidden;background:#000;border:1px solid var(--hv-bd,var(--line));z-index:2;min-width:0}
.hv-vp video,.hv-vp>img{display:block;width:100%;height:100%;max-height:420px;object-fit:contain;background:#000}
.hv-vp>img{object-fit:cover}
.hv-vp .hv-vbtn{position:absolute;inset:0;width:100%;border:0;margin:0;padding:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hv-vp .hv-vbtn[hidden]{display:none}
.hv-vp .hv-vbtn:hover .hv-qplay,.hv-vp .hv-vbtn:focus-visible .hv-qplay{background:var(--gold,#FF5A4E);transform:scale(1.07)}
.hv-vp .hv-vbtn:hover .hv-qplay svg,.hv-vp .hv-vbtn:focus-visible .hv-qplay svg{fill:#0B1F3A}
.hv-vp .hv-vbtn:focus-visible{outline:3px solid var(--gold,#FF5A4E);outline-offset:-3px}
.hv-vp.hv-embed{aspect-ratio:auto!important;background:var(--hv-media,#000)}
.hv-vp iframe{display:block;width:100%;height:520px;max-height:80vh;border:0;background:#fff}
.hv-quote .hv-vp{margin:8px 0 0;border-radius:9px;z-index:2}
a.hv-onx{position:relative;z-index:2;display:inline-block;margin:3px 0 4px;font:600 .72rem/1.2 var(--sans,inherit);color:var(--hv-link,var(--coral-d,#C23A2A));text-decoration:underline;text-underline-offset:2px}
.fcard .hv-vp.f-xvid{margin:10px 0 0}

/* Quote card = link to the QUOTED post on X (Oct 17, 2026): stretched link on name/handle; media (z-index 2) stays above it so lightbox/video taps never navigate */
.hv-qlinked{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.hv-qlinked:hover{background:rgba(255,90,78,.09);border-color:var(--gold,#FF5A4E)}
.hv-qlink{position:static!important;display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline;min-width:0;text-decoration:none;color:inherit}
.hv-qlink::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px}
.hv-qlink:hover strong{text-decoration:underline;text-underline-offset:2px}
.hv-qlink:focus-visible{outline:none}
.hv-qlink:focus-visible::after{outline:3px solid var(--gold,#FF5A4E);outline-offset:2px}
.hv-qarr{margin-left:auto;align-self:flex-start;font:700 .95rem/1 var(--sans);color:var(--hv-who,var(--muted));opacity:.8}
.hv-qlinked:hover .hv-qarr{color:var(--gold,#FF5A4E);opacity:1}
.hv-qlinked .hv-qmedia,.hv-qlinked .hv-vp,.hv-qlinked a.hv-onx{position:relative;z-index:2}
.hv-qlinked .hv-qmedia img[data-lightbox]{cursor:zoom-in}

/* Hive pull-to-refresh + shuffle (Oct 17, 2026): slim indicator above the hero; phones only (the touch handlers live in hive-shuffle.js) */
.hv-ptr{height:0;overflow:hidden;position:relative;background:#0B1F3A;display:flex;align-items:center;justify-content:center}
.hv-ptr .hv-ptr-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:#FF5A4E;transform:scaleX(0);transform-origin:center}
.hv-ptr .hv-ptr-txt{font:600 .72rem/1 var(--sans,Inter,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,248,234,.7)}
.hv-ptr.ready .hv-ptr-txt{color:#FF5A4E}
html.dd-box body.pulse-page #dd-scroll{touch-action:pan-y}

/* Oct 18, 2026: X photos show UNCROPPED inline (natural aspect ratio, never cut off) on the home feed + The Pulse page, own media and quote-card media */
.fcard img.f-img.f-xph,.fcard.f-hive img.f-img[data-lightbox]{width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;background:var(--surface-2)}
.hv-media img,.hv-quote .hv-qmedia img{display:block;width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
@media(min-width:1060px){.hv-media img,.hv-quote .hv-qmedia img{max-height:none}}
.hv-quote .hv-qmedia{background:rgba(0,0,0,.18)}
/* Hive video: one-tap play. Overlay stays (spinner) until playing; it never passes a second tap to the native controls. */
.hv-vp .hv-vbtn{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;z-index:3}
.hv-vp.hv-loading-v .hv-qplay{background:rgba(10,22,51,.72)}
.hv-vp.hv-loading-v .hv-qplay svg{opacity:0}
.hv-vp.hv-loading-v .hv-qplay::after{content:"";position:absolute;inset:6px;border-radius:50%;border:3px solid rgba(255,248,234,.35);border-top-color:#FF5A4E;animation:hvspin .8s linear infinite}
@keyframes hvspin{to{transform:rotate(360deg)}}

/* Text size (Oct 18, 2026): html font-size = 100% x --ts (set by the head script from localStorage dd:textsize, see seo.TS_HEAD); all type is rem so everything scales. Level 4 = 100% = default. */
.text-size{display:block;margin:0}
.text-size .ts-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 2px}
.text-size .ts-label{font:800 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ft-t)}
.text-size .ts-reset{font:700 .72rem var(--sans);padding:3px 9px;min-height:0;border-radius:999px;border:1px solid var(--ft-t);background:transparent;color:var(--ft-strong);cursor:pointer;-webkit-tap-highlight-color:transparent}
.text-size .ts-reset:hover{border-color:var(--acc);color:var(--acc)}
.text-size .ts-reset[disabled]{opacity:.45;cursor:default}
.text-size .ts-row{display:flex;align-items:center;gap:8px}
.text-size .ts-a{font:700 .8rem/1 var(--sans);color:var(--ft-strong);flex:none;width:.9rem;text-align:center}
.text-size .ts-a.ts-big{font-size:1.3rem;width:1.3rem}
.text-size .ts-track{position:relative;flex:1;min-width:0;height:34px;display:flex;align-items:center}
.text-size .ts-ticks{position:absolute;left:9px;right:9px;top:50%;height:10px;margin-top:-5px;display:flex;justify-content:space-between;pointer-events:none}
.text-size .ts-ticks i{width:2px;height:10px;border-radius:1px;background:var(--ft-t);opacity:.7}
.text-size .ts-ticks i:nth-child(4){height:14px;margin-top:-2px;opacity:1}
.text-size input[type=range]{-webkit-appearance:none;appearance:none;position:relative;width:100%;height:34px;margin:0;padding:0;background:transparent;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}
.text-size input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--ft-t);opacity:.9}
.text-size input[type=range]::-moz-range-track{height:3px;border-radius:2px;background:var(--ft-t)}
.text-size input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7.5px;border-radius:50%;background:var(--gold);border:2px solid #0B1F3A;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.text-size input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--gold);border:2px solid #0B1F3A}
.text-size input[type=range]:focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:6px}
.nav-settings{display:none}
@media(max-width:900px){
 html.hasnav header.site nav .nav-settings{display:block;margin:8px 4px 0;padding:8px 0 0;border-top:1px solid rgba(255,248,234,.14)}
 html.hasnav header.site nav .ns-h{font:800 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#B4BED6;margin:0 0 6px 2px}
 html.hasnav header.site nav .nav-settings .nav-theme{margin:0;border-top:1px solid rgba(255,248,234,.12)}
 html.hasnav header.site nav .nav-settings .text-size{margin:8px 0 2px;padding:0 2px}
 html.hasnav header.site nav .text-size .ts-label{color:#B4BED6}
 html.hasnav header.site nav .text-size .ts-a{color:var(--cream)}
 html.hasnav header.site nav .text-size .ts-reset{color:var(--cream);border-color:rgba(255,248,234,.35)}
 html.hasnav header.site nav .text-size .ts-reset:hover{color:var(--gold);border-color:var(--gold)}
 html.hasnav header.site nav .text-size .ts-ticks i{background:rgba(255,248,234,.55)}
 html.hasnav header.site nav .text-size input[type=range]::-webkit-slider-runnable-track{background:rgba(255,248,234,.4)}
 html.hasnav header.site nav .text-size input[type=range]::-moz-range-track{background:rgba(255,248,234,.4)}
}

/* Desktop header text-size popover (footer copies removed); hidden when the hamburger is used */
.ts-wrap{position:relative;flex:none;display:inline-flex}
.ts-open{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:12px;border:2px solid rgba(255,248,234,.45);background:transparent;color:var(--cream);cursor:pointer;font:800 1.15rem/1 var(--sans)}
.ts-open small{font-size:.75rem;font-weight:800}
.ts-open:hover,.ts-open[aria-expanded=true]{border-color:var(--gold);color:var(--gold)}
.ts-open:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ts-pop{position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:12px 14px;background:var(--navy-2);border:2px solid var(--gold);border-radius:12px;box-shadow:0 8px 0 rgba(10,22,51,.35);z-index:30}
.ts-pop[hidden]{display:none}
.ts-pop .ts-label{color:#B4BED6}.ts-pop .ts-a{color:var(--cream)}
.ts-pop .ts-reset{color:var(--cream);border-color:rgba(255,248,234,.35)}
.ts-pop .ts-ticks i{background:rgba(255,248,234,.55)}
.ts-pop input[type=range]::-webkit-slider-runnable-track{background:rgba(255,248,234,.4)}
.ts-pop input[type=range]::-moz-range-track{background:rgba(255,248,234,.4)}
@media(max-width:900px){html.hasnav .ts-wrap{display:none}}

/* ---- Save (bookmark) buttons + Saved page (Oct 18, 2026; assets/saves.js). rem units so the 7-level text size applies ---- */
.sv-btn{display:inline-flex;align-items:center;gap:5px;position:relative;z-index:3;min-height:34px;padding:0 11px 0 9px;border-radius:999px;border:1.5px solid var(--hv-bd2,var(--bd));background:transparent;color:var(--hv-link,var(--head));font:700 .8rem/1 var(--sans);cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s,transform .15s}
.sv-btn:hover{border-color:var(--coral)}
.sv-ic{width:.95rem;height:.95rem;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;transition:fill .15s}
.sv-btn.on{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.sv-btn.on .sv-ic{fill:var(--gold);stroke:var(--gold)}
.pulse-dark .sv-btn.on,:root[data-theme=dark] .sv-btn.on{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.pulse-dark .sv-btn.on .sv-ic,:root[data-theme=dark] .sv-btn.on .sv-ic{fill:var(--navy);stroke:var(--navy)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .sv-btn.on{background:var(--gold);border-color:var(--gold);color:var(--navy)}:root:not([data-theme=light]) .sv-btn.on .sv-ic{fill:var(--navy);stroke:var(--navy)}}
.sv-btn.sv-pop .sv-ic{animation:svpop .28s ease}
@keyframes svpop{0%{transform:scale(.7)}60%{transform:scale(1.3)}100%{transform:scale(1)}}
.sv-btn.sv-err{border-color:var(--coral);color:var(--coral-d)}
.sv-end{margin-left:auto;text-transform:none;letter-spacing:0}
.alinks .sv-end{margin-left:auto}
.sv-row{margin:8px 0 2px;display:flex}
.hv-acts .sv-btn{min-height:36px}
.pc-link .sv-btn{margin-left:8px}
@media(prefers-reduced-motion:reduce){.sv-btn,.sv-ic{transition:none}.sv-btn.sv-pop .sv-ic{animation:none}}
.nav-saved .nav-ic{display:none}
@media(max-width:900px){html.hasnav header.site nav a.nav-saved .nav-ic{display:block}}
/* Saved page */
.sv-note{margin:0 0 18px;padding:10px 14px;border-left:4px solid var(--gold);background:var(--surface-2);color:var(--text-2);font-size:.9rem;line-height:1.5;border-radius:0 8px 8px 0}
.sv-empty{text-align:center;padding:34px 16px;border:2px dashed var(--line);border-radius:14px;color:var(--text-2)}
.sv-empty[hidden]{display:none}
.sv-empty svg{width:40px;height:40px;fill:none;stroke:var(--coral-d);stroke-width:1.8;stroke-linejoin:round}
.sv-empty h2{margin:.4em 0 .2em;font-size:1.3rem}.sv-empty p{margin:0}
.sv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.sv-item{display:flex;align-items:stretch;background:var(--surface);border:2px solid var(--bd);border-radius:12px;box-shadow:4px 4px 0 var(--sh);overflow:hidden}
.sv-open{flex:1 1 0;min-width:0;display:flex;gap:12px;align-items:flex-start;padding:12px;color:var(--ink);text-decoration:none}
.sv-open:hover .sv-title{color:var(--coral-d);text-decoration:underline;text-decoration-thickness:2px}
.sv-thumb{width:72px;height:72px;flex:none;border-radius:8px;object-fit:cover;background:var(--surface-2)}
.sv-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.sv-kind{font:800 .66rem var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--coral-d)}
.sv-title{font:900 1rem/1.3 var(--serif);color:var(--head);overflow-wrap:anywhere}
.sv-snip{font-size:.88rem;line-height:1.45;color:var(--text-2);overflow-wrap:anywhere}
.sv-meta{font-size:.74rem;color:var(--muted)}
.sv-rm{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:60px;border:0;border-left:1px solid var(--line);background:var(--surface-2);color:var(--text-2);font:700 .66rem var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
.sv-rm svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.sv-rm:hover{color:var(--coral-d)}

.sv-ico{padding:0;width:36px;min-height:36px;justify-content:center;flex:none;margin-left:auto}
.sv-ico .sv-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sv-ico .sv-ic{width:1.1rem;height:1.1rem}
.hv-head .sv-ico,.f-who .sv-ico,.pc-head .sv-ico{margin-left:6px}
.sv-ico{width:32px;min-height:32px}
.hv-head .sv-ico,.f-who .sv-ico,.pc-head .sv-ico{margin-left:2px}
.hv-head .sv-ico,.pc-head .sv-ico{margin-right:-4px}

/* Oct 18, 2026 overflow fix: a 550px X-embed iframe ("Show post") widened the 1fr grid column and clipped the page on phones. Nothing may exceed the viewport. */
.hv-grid,.hv-grid>*{min-width:0}
.hv-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.hv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1060px){.hv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hv .hv-card,.hv .hv-feat,.pcard,.card,.np-card,.fcard,.hv-quote,.hv-media,.hv-qmedia{min-width:0;max-width:100%}
.hv-embed{min-width:0;max-width:100%;width:100%;overflow:hidden}
.hv-embed .twitter-tweet,.hv-embed .twitter-tweet-rendered,.hv-embed iframe,.hv-embed>div{min-width:0!important;max-width:100%!important}
.hv-embed iframe{width:100%!important}
.hv-orig,.hv-qtext,.hv-fsum,.hv-ai,.hv-meta,.f-text,.hv p,.pcard p,.np-card p,.fcard p,.card p,.card h2,.card h3,.hv h2,.hv h3{overflow-wrap:anywhere;word-break:normal;min-width:0;max-width:100%}
.hv img,.hv video,.hv iframe,.pcard img,.pcard video,.fcard img,.fcard video,.card img,.card video,.hv-media img,.hv-qmedia img{max-width:100%}
.hv a{overflow-wrap:anywhere}
html,body{max-width:100%;overflow-x:clip}

/* Home shuffle (Oct 18, 2026): #feed is hidden only while assets/home-shuffle.js orders it (class set by the inline loader; 1.5 s failsafe). */
html.hs-wait #feed{visibility:hidden}

/* ===== Save bookmark: ONE fixed spot (Oct 18, 2026) =====
   Hive cards (page featured+grid, home block, home feed) and every home-feed card: the bookmark is an icon button pinned to the
   card's top-right corner (absolute, top/right in px, same on every card), whatever the name or chip length. The header reserves
   room on the right so names wrap (overflow-wrap) instead of moving the button; the Latter-day Saint / Friend chip sits UNDER the handle. */
.hv .hv-feat,.hv .hv-card,.card.pcard,.fcard,.np-card{position:relative}
.hv-head .sv-ico,.f-who .sv-ico,.pc-head .sv-ico,.f-top .sv-ico{position:absolute;top:10px;right:10px;margin:0;width:36px;min-height:36px;height:36px;z-index:5}
.hv-head,.f-who,.pc-head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:4px;align-items:start;padding-right:44px;width:auto;box-sizing:border-box}
.hv-head>img.av,.f-who>img.av,.pc-head>img.av{grid-row:1/3;grid-column:1;align-self:start}
.hv-head>.hv-who,.f-who>.f-name,.pc-head>.pc-who{grid-column:2;grid-row:1;min-width:0;margin:0!important;overflow-wrap:anywhere}
.hv-head>.vchip,.f-who>.vchip,.pc-head>.vchip{grid-column:2;grid-row:2;justify-self:start;margin:0;align-self:start;max-width:100%}
.f-who .f-name strong,.f-who .f-name span,.pc-head .pc-who strong,.pc-head .pc-who span{overflow-wrap:anywhere}
.f-who .f-name strong,.f-who .f-name span{display:block}
.pc-head .pc-who strong,.pc-head .pc-who span{display:block}
.f-top{padding-right:44px;min-height:36px}
.hv-tag{position:relative;z-index:1}
/* Video cards (Videos page): the Save button is pinned bottom-right of the card on every video/short card */
.card[data-save-type=video]{position:relative}
.card[data-save-type=video] .sl-body{position:static}
.card[data-save-type=video] .sv-row{position:absolute;right:12px;bottom:12px;margin:0;z-index:5}
.card[data-save-type=video] .body{padding-bottom:58px}

/* Instant tap feedback on the bottom tabs (perf, Oct 18) */
.bb-tab.tap{color:var(--tab-on);background:rgba(212,160,23,.18);transform:scale(.96)}
.bb-tab{transition:none}

/* Hive video true-aspect fix (Oct 18, 2026): the wrapper keeps the video's own ratio (inline --vw/--vh + aspect-ratio), height capped at 75vh by narrowing the width and centring; the <video> fills it exactly, so no pillar bars or empty black below. Overrides the old max-height:420px on the inner video (that made a 9:16 box ~700px tall hold a 420px video). */
.hv-vp{aspect-ratio:16/9;width:100%;max-width:100%;margin-left:auto;margin-right:auto}
.hv-vp[style*="--vw"]{width:min(100%,calc(75vh * var(--vw) / var(--vh)))}
.hv-vp video,.hv-vp>img{width:100%;height:100%;max-height:none;object-fit:contain}
.hv-vp>img{object-fit:cover}
.hv-vp.hv-embed{aspect-ratio:auto!important;width:100%!important}

/* Oct 18, 2026 (late) embed un-clip fix. ROOT CAUSE of the cut-off McConkie video: when the mp4 stalled the player fell back to X's iframe inside .hv-vp, which has overflow:hidden and the iframe was height:520px;max-height:80vh, so X's taller card (text + 9:16 video + footer) was clipped at the bottom. Now the embed wrapper has NO clipping and no max-height; hivevideo.js sets the iframe height from X's resize messages. min-width:0/max-width:100% keep the earlier horizontal-overflow fix. Native player boxes (true aspect, <=75vh) are unchanged. */
.hv-vp.hv-embed{overflow:visible!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;width:100%!important;min-width:0;max-width:100%;background:transparent;border:0}
.hv-vp.hv-embed iframe,.hv-embed iframe{width:100%!important;max-width:100%!important;min-width:0!important;height:600px;max-height:none!important;min-height:0;overflow:visible}
.hv-embed{overflow:visible}
.hv-embed .twitter-tweet,.hv-embed .twitter-tweet-rendered,.hv-embed>div{max-height:none!important}

/* Static X post card in issues (Oct 26, 2026) */
.xpost{border:2px solid var(--bd,#0B1F3A);border-radius:14px;background:var(--surface,#fff);box-shadow:4px 4px 0 var(--sh,#0B1F3A);padding:16px 18px;margin:6px 0 16px;max-width:600px}
.xp-ctx{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:var(--text-2,#3C4868);font-size:.92rem;line-height:1.4;padding-bottom:10px;border-bottom:1px dashed var(--line,rgba(10,22,51,.25));margin-bottom:8px}
.xp-cav,.xp-av{border-radius:50%;object-fit:cover;flex:none}
.xp-ctext{font-style:italic}
.xp-rep{margin:0 0 8px;font-size:.85rem;color:var(--muted,#5B6786)}
.xp-rep a,.xp-meta a{color:var(--acc,#C23A2A);font-weight:700}
.xp-head{display:flex;align-items:center;gap:12px}
.xp-who{margin:0;display:flex;flex-direction:column;line-height:1.25;flex:1}
.xp-who strong{color:var(--head,#0B1F3A)}.xp-who span{color:var(--muted,#5B6786);font-size:.92rem}
.xp-x{font-size:1.3rem;color:var(--head,#0B1F3A)}
.xp-text{font-size:1.08rem;line-height:1.55;margin:12px 0 10px;color:var(--ink,#0B1F3A)}
.xp-meta{margin:0;font-size:.9rem;color:var(--muted,#5B6786)}
.xthread .xpost{margin-bottom:0}.xthread .xpost+.xpost{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.xthread{margin:6px 0 16px;max-width:600px}.xp-media img{display:block;width:100%;height:auto;border-radius:10px;margin:0 0 10px;border:1px solid var(--line,rgba(10,22,51,.25))}

/* ===== Post media carousel + GIFs (Oct 26, 2026; assets/media.js, hive_quotes.carousel/gif_html, build_issue.xmedia) ===== */
.mc{position:relative;z-index:2;margin:10px 0 4px;max-width:100%;min-width:0}
.mc-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:10px;background:var(--hv-media,rgba(10,22,51,.06));outline:none}
.mc-track::-webkit-scrollbar{display:none}
.mc-track:focus-visible{box-shadow:0 0 0 3px var(--gold)}
.mc.mc-drag .mc-track{scroll-snap-type:none;cursor:grabbing;user-select:none}
.mc.mc-drag .mc-track *{pointer-events:none}
.mc-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;align-items:center}
.mc-slide>figure,.mc-slide>.xp-media,.mc-slide>.hv-gif,.mc-slide>.hv-vp{margin:0!important;border:0!important;border-radius:0!important;max-width:100%}
.mc-slide>figure,.mc-slide>.xp-media{width:100%;background:transparent}
.mc-slide img{display:block;width:100%;height:auto;max-height:min(72vh,560px)!important;object-fit:contain!important;margin:0 auto;border-radius:0!important;border:0!important;-webkit-user-drag:none}
.mc-slide>a.hv-onx{align-self:flex-end;margin:4px 8px 6px}
.mc-btn{display:none;position:absolute;top:calc(50% - 14px);transform:translateY(-50%);z-index:4;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(10,22,51,.72);color:#fff;cursor:pointer;align-items:center;justify-content:center;transition:opacity .15s,background .15s}
.mc-btn svg{width:18px;height:18px}
.mc-prev{left:8px}.mc-next{right:8px}.mc-next svg{transform:rotate(180deg)}
.mc-btn:hover{background:var(--navy,#0B1F3A);border-color:var(--gold)}
.mc-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.mc-btn:disabled{opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){.mc-btn{display:inline-flex;opacity:.85}.mc:hover .mc-btn:not(:disabled){opacity:1}.mc-track{cursor:grab}}
.mc-count{position:absolute;top:8px;right:8px;z-index:4;padding:2px 8px;border-radius:999px;background:rgba(10,22,51,.72);color:#fff;font:700 .72rem/1.5 var(--sans);pointer-events:none}
.mc-dots{display:flex;justify-content:center;gap:6px;padding:8px 0 2px}
.mc-dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:var(--hv-mute,var(--muted));opacity:.45;cursor:pointer;transition:width .2s,opacity .2s,background .2s}
.mc-dot.on{width:18px;opacity:1;background:var(--coral,#FF5A4E)}
.mc-dot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hv-gif{position:relative;display:block;overflow:hidden;border-radius:10px;background:#000;width:100%;max-width:100%;margin:10px auto 0;z-index:2}
.hv-gif[style*="--vw"]{width:min(100%,calc(75vh * var(--vw) / var(--vh)))}
.hv-gif video{display:block;width:100%;height:100%;object-fit:contain;max-height:none}
.gif-tag{position:absolute;left:8px;bottom:8px;padding:1px 6px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font:800 .66rem/1.5 var(--sans);letter-spacing:.06em;pointer-events:none}
.xp-media video{display:block;width:100%;border-radius:10px;background:#000}
.xpost .mc{margin:0 0 10px}
@media(prefers-reduced-motion:reduce){.mc-track{scroll-behavior:auto}.mc-dot{transition:none}}

/* ===== Desktop polish (Oct 26, 2026; >900px, where the top nav row is shown instead of the hamburger) ===== */
@media(min-width:901px){
 header.site .wrap{gap:16px}
 header.site nav{display:flex;align-items:center;gap:2px}
 header.site nav a{display:inline-flex;flex-direction:row;align-items:center;gap:7px;line-height:1;height:40px;padding:0 12px;white-space:nowrap;border-radius:10px;font-size:.93rem}
 header.site nav a .nav-ic,header.site nav a.nav-saved .nav-ic{display:block;width:18px;height:18px;flex:none;margin:0;opacity:.85;position:static}
 header.site nav a:hover .nav-ic,header.site nav a[aria-current] .nav-ic,header.site nav a.current .nav-ic{opacity:1}
 header.site nav a.current,header.site nav a[aria-current]{color:var(--gold);background:rgba(255,90,78,.12);box-shadow:inset 0 -3px 0 var(--coral);border-radius:10px}
 header.site nav a:last-of-type{height:40px;padding:0 16px;margin-left:8px}
 header.site nav a:last-of-type .nav-ic{display:none}
 header.site .theme-cycle,header.site .ts-open{width:40px;height:40px}
 /* the floating bottom tab bar duplicates the top nav on desktop */
 nav.backbar{display:none!important}
 body:has(.backbar){padding-bottom:0!important}
 body:has(.backbar) .install-bar{bottom:20px!important}
 /* home feed column */
 .feed-wrap{max-width:680px;gap:16px}
 /* The Pulse: featured post media stays within the screen; grid cards breathe */
 .hv-grid{gap:22px}
 .hv .hv-feat .hv-media img,.hv .hv-feat .hv-qmedia img{max-height:62vh!important;width:auto;max-width:100%;margin:0 auto}
 .hv .hv-feat .hv-gif[style*="--vw"],.hv .hv-feat .hv-vp[style*="--vw"]{width:min(100%,calc(62vh * var(--vw) / var(--vh)))}
 .hv .hv-feat .hv-media{background:var(--hv-media,#000)}
 .hv .hv-feat .hv-orig,.hv .hv-feat .hv-fsum{max-width:70ch}
 .hv-card .mc-slide img{max-height:420px!important}
 /* issue pages: readable line length in wide sections */
 .isec>p,.isec li,.today p{max-width:78ch}
}
@media(min-width:1400px){.wrap{max-width:1240px}}
.hv-comb{display:none!important}
@media(max-width:520px){header.site .brand img{height:auto!important;width:min(190px,48vw)!important}}
/* Desktop header fit (cutover Oct 28, 2026): the wider Latter-day Pulse wordmark pushed the theme toggle off-screen at 1280px. */
@media(min-width:901px){header.site .wrap{gap:10px;min-width:0}header.site .brand{flex:0 1 auto;min-width:0}header.site .brand img{height:40px;max-width:100%}header.site nav{flex:0 1 auto;min-width:0;gap:0}header.site nav a{padding:8px 10px}header.site .theme-cycle{flex:none;margin-left:8px}}
@media(min-width:901px) and (max-width:1180px){header.site .brand img{height:32px}header.site nav a{padding:8px 7px;font-size:.88rem}header.site nav a:last-of-type{margin-left:6px}}
/* X-post video link-out card (X CDN blocks hotlinked video) */
.xp-vlink{position:relative;display:block}
.xp-vlink img{display:block;width:100%;height:auto}
.xp-play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(11,31,58,.85);border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.xp-play::after{content:"";position:absolute;left:26px;top:19px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #fff}
.xp-vlab{position:absolute;left:10px;bottom:10px;background:#0B1F3A;color:#fff;font:700 14px/1 Inter,sans-serif;padding:8px 12px;border-radius:6px}
.xp-vlink:hover .xp-play,.xp-vlink:focus-visible .xp-play{background:#FF5A4E}
/* Issue X-post video cards (.xpost only; The Pulse uses .hv-* cards): once X's player is in, hide our duplicate head/text; one X link (View post on X), "Open on X" only without JS */
.xpost:has(.hv-vp.hv-embed) .xp-head,.xpost:has(.hv-vp.hv-embed) .xp-text,.xpost:has(.hv-vp.hv-embed) .xp-ctx,.xpost:has(.hv-vp.hv-embed) .xp-rep{display:none}
.xpost:has(.hv-vp.hv-embed) .hv-vp{margin-top:0}
html.hasnav .xpost .hv-onx{display:none}
/* (Oct 28, 2026) YouTube video cards (Videos page + home): the card-wide stretched link sat on top of the iframe, so taps went to YouTube. Keep the player on top and the overlay off; the title and "Watch on YouTube" links still go to YouTube. */
.card .video{position:relative;z-index:3}
.card:has(.video) .stretched::after{display:none}
