/* HFB V25 — Miami-inspired family style. Presentation only; permissions remain enforced by RLS. */
:root{--bg:#f6f5fb;--ink:#21173c;--primary:#6535a3;--secondary:#087f8c;--surface:#fff;--muted:#69728a}
body{background:linear-gradient(180deg,#f0edfb,#f8f7fc 540px,#f9f9fc);color:var(--ink)}
.wrap{max-width:1160px;padding:14px clamp(12px,2vw,24px)}
.top{position:relative;flex-wrap:wrap;border-radius:24px 24px 0 0;margin-top:8px;padding:25px 24px 22px;background:linear-gradient(105deg,rgba(71,13,105,.82),rgba(23,28,81,.9)),url('miami-ocean-drive.jpg') center/cover;color:white;box-shadow:0 8px 25px #21133b20;min-height:142px}
.top .brand{font-family:Georgia,serif;font-size:clamp(25px,4vw,40px);font-style:italic;font-weight:750;letter-spacing:-.035em;color:white;text-shadow:0 2px 7px #18092b88}
.top .brand::before{content:'♛';font-style:normal;font-size:26px;color:#ffb329;display:block;line-height:.9;text-align:center}
.top .brand small{font-family:system-ui,sans-serif;font-style:normal;letter-spacing:.18em;color:#fff;opacity:.96;font-size:10px;margin-top:7px}
.top nav a{color:#fff;opacity:.95}.top nav a:hover{text-decoration:underline}
.top .hfb-app-actions{margin-left:auto}
.top .hfb-bell{color:#25133b;background:white;border:2px solid #fff}
.hero{min-height:170px;border-radius:0 0 22px 22px;margin-top:-1px;background-position:center 44%;}
.hero-body{padding:35px 24px 18px;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end}
.hero h1{font-size:clamp(27px,4vw,39px)}
.panel{box-shadow:0 8px 22px #2c16501a;border:1px solid #e6e0ef;border-radius:22px;margin:20px 0;padding:26px}
.hfb-v25-foundation{background:linear-gradient(100deg,#fff 60%,#f4edfa);border-left:5px solid #7240a2;position:relative}
.hfb-v25-foundation .eyebrow{color:#673e9a;font-size:14px}.hfb-v25-foundation .verse{font-size:clamp(19px,2.8vw,25px);margin:10px 0}
.hfb-v25-explore{padding:0 0 22px;overflow:hidden}
.hfb-v25-explore>h2{background:linear-gradient(95deg,#42116d,#7a2184);border-bottom:7px solid #04a9b1;color:white;margin:0;padding:19px 24px;font-size:clamp(22px,3vw,30px)}
.hfb-v25-explore>p{padding:15px 24px 0;margin:0}.hfb-v25-explore .home-family-links{padding:16px 20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hfb-v25-explore .home-family-links a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:88px;text-align:center;text-decoration:none;color:#301b57!important;background:#fff;border:1px solid #e2dbea;border-radius:18px;box-shadow:0 4px 13px #2b125817;font-size:clamp(15px,2.5vw,19px);font-weight:750;padding:15px 10px;white-space:normal}
.hfb-v25-explore .home-family-links a:hover,.hfb-v25-explore .home-family-links a:focus-visible{border-color:#8648b0;background:#faf5ff}
.hfb-v25-explore .home-family-links a:last-child:nth-child(odd){grid-column:1/-1}
.hfb-v25-chat-setup,.hfb-v25-admin{border:0;overflow:hidden;padding:0 0 20px}
.hfb-v25-chat-setup{border-top:8px solid #0aa9ad}.hfb-v25-admin{border-top:8px solid #f47714}
.hfb-v25-chat-setup h2,.hfb-v25-admin h2{padding:18px 22px 12px;color:#fff;margin:0;background:linear-gradient(100deg,#058992,#086877);font-size:26px}
.hfb-v25-admin h2{background:linear-gradient(100deg,#f5790d,#c64d00)}
.hfb-v25-chat-setup>p,.hfb-v25-admin>p{padding:0 22px}
.hfb-v25-chat-setup .v20-site-links,.hfb-v25-admin .v20-site-links{padding:12px 20px 0;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px}
.hfb-v25-chat-setup a,.hfb-v25-admin a{display:block;background:#fff;border:1px solid #e5e2ed;border-radius:13px;padding:14px;color:#311955!important;font-weight:750;text-decoration:none;line-height:1.4;margin:0!important;box-shadow:0 3px 12px #2d104a0d}
.hfb-v25-chat-setup a:hover,.hfb-v25-admin a:hover{background:#faf6ff}
.hfb-v25-conversations{padding:0 0 18px;overflow:hidden;border:1px solid #d9ceed}
.v25-headrow{display:flex;gap:14px;background:linear-gradient(100deg,#483078,#6a439b);color:#fff;align-items:center;padding:16px 22px}.v25-headrow>span{font-size:32px}.v25-headrow h2{margin:0;font-size:24px}.v25-headrow p{margin:4px 0 0;opacity:.95;font-size:14px}
.v25-conversation-grid{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px}
.v25-conversation{display:block;text-decoration:none!important;color:#241742!important;background:#fff;border:1px solid #dcd3eb;border-radius:16px;padding:18px;box-shadow:0 5px 15px #1d0f3d13;min-width:0}
.v25-conversation .v25-main{display:flex;align-items:center;justify-content:space-between;gap:6px}
.v25-conversation strong{font-size:18px}.v25-conversation p{color:#687287;font-size:13px;margin:7px 0 0}
.v25-count{display:inline-flex;border-radius:30px;color:#fff;background:#a142c2;padding:4px 9px;font-size:12px;font-weight:850;white-space:nowrap}
.hfb-v25-word{background:linear-gradient(110deg,#fff 60%,#fbe8eb 100%);border-bottom:6px solid #b36db9}
.hfb-v25-word .eyebrow{letter-spacing:.2em}
.hfb-v25-word h2{font-size:clamp(26px,4vw,36px)}
@media (max-width:630px){.top{padding:22px 16px;min-height:122px}.top .brand{font-size:27px}.top .nav{width:100%;justify-content:flex-start}.top .nav a{font-size:13px}.top .hfb-app-actions{position:absolute;right:12px;top:11px}.hero{min-height:150px}.hero-body{min-height:150px;padding:28px 18px 15px}.hfb-v25-explore .home-family-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.hfb-v25-explore .home-family-links a{min-height:96px;font-size:15px;padding:12px 7px}.panel{padding:18px}.hfb-v25-explore,.hfb-v25-chat-setup,.hfb-v25-admin,.hfb-v25-conversations{padding:0 0 16px}.hfb-v25-explore>h2{padding:17px}.hfb-v25-explore>p{padding:14px 17px 0}.hfb-v25-chat-setup h2,.hfb-v25-admin h2{font-size:23px}.hfb-v25-foundation .verse{font-size:19px}}
@media (max-width:380px){.hfb-v25-explore .home-family-links{grid-template-columns:1fr}.hfb-v25-explore .home-family-links a:last-child:nth-child(odd){grid-column:auto}.top .brand{font-size:24px}}
