/* Homepage (post-pivot) components: Brad's hero lead list, the side-by-side
   proof cards, Meet Brad and Bria, the loop, the honesty list, ground rules
   and fit, the industries link row, the "send us your website" form and the
   final CTA. Loaded only on / (scripts/build-pages.mjs), on top of
   hvac-v2.css + home-v2.css, and built from their tokens. */

/* ---------- hero: ranked lead list in the wide dashboard slot ---------- */
.leadlist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow:hidden;}
.leadlist li{display:flex;align-items:center;gap:11px;padding:6px 10px;flex:none;border-radius:8px;background:#f6fafb;border:1px solid #eef4f6;}
.leadlist .lr{flex:none;width:20px;height:20px;border-radius:50%;background:#e6f4f2;color:#0a6b63;
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.leadlist .lc{flex:1;min-width:0;display:flex;flex-direction:column;}
.leadlist .lc b{font-size:12.5px;font-weight:600;color:#0c1616;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.leadlist .lc small{font-size:11px;color:#6b7676;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}
.leadlist .ls{flex:none;min-width:34px;padding:3px 0;border-radius:999px;text-align:center;font-size:11.5px;font-weight:700;}
.leadlist .ls-hot{background:rgba(32,176,163,.14);color:#0a6b63;}
.leadlist .ls-warm{background:rgba(33,110,194,.1);color:#1e5fa8;}
@media (max-width:1080px){.leadlist{flex:none;}}

/* ---------- proof: Bria's call and Brad's lead side by side ---------- */
.hb-proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:8px;}
.hb-proof > div{min-width:0;}
.hb-proof .bigwave{overflow:hidden;}
.hb-proof > div > .player{margin-top:0;max-width:none;}
.hb-proof-lab{margin:0 0 12px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-text-muted);
  display:flex;align-items:center;gap:10px;}
.hb-sample{padding:2px 9px;border-radius:999px;background:var(--hv-warning-light);color:#a16207;font-size:10.5px;letter-spacing:.06em;}
.hb-lead{background:#fff;border-radius:var(--hv-r);box-shadow:var(--hv-shadow-premium);padding:22px 24px;}
.hb-lead-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.hb-lead-top b{display:block;font-size:17px;color:var(--hv-text);}
.hb-lead-top span{font-size:13px;color:var(--hv-text-muted);}
.hb-score{flex:none;text-align:center;padding:8px 12px;border-radius:12px;background:var(--hv-teal-light);}
.hb-score b{font-size:22px;line-height:1;color:#0a6b63;}
.hb-score small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0a6b63;margin-top:3px;}
.hb-lead-facts{margin:18px 0 0;display:grid;gap:10px;}
.hb-lead-facts div{display:grid;grid-template-columns:116px 1fr;gap:12px;font-size:14px;}
.hb-lead-facts dt{color:var(--hv-text-subtle);}
.hb-lead-facts dd{margin:0;color:var(--hv-text);}
.hb-lead-facts dd small{margin-left:4px;color:#0a6b63;font-weight:600;white-space:nowrap;}
.hb-verified{white-space:nowrap;}
.hb-ic{width:14px;height:14px;vertical-align:-2px;}
.hb-lead-facts .hb-ic{color:var(--hv-teal);margin-left:4px;}
.hb-draft{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--hv-bg-soft);border:1px solid var(--hv-border);}
.hb-draft-lab{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--hv-text-muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.hb-draft-lab span{font-weight:600;color:#1e5fa8;}
.hb-draft p:last-child{margin:0;font-size:14.5px;line-height:1.6;color:var(--hv-text);}
@media (max-width:900px){.hb-proof{grid-template-columns:minmax(0,1fr);}}

/* ---------- the problem ---------- */
.hb-intro{margin:34px 0 14px;font-size:17px;font-weight:600;color:var(--hv-text);}
.hb-scenes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:14px;}
.hb-scenes li{padding:18px 20px;border-radius:var(--hv-r);background:#fff;box-shadow:var(--hv-shadow);font-size:15px;line-height:1.55;color:var(--hv-text);}
.hb-scenes li:last-child{border-left:3px solid var(--hv-teal);}
.hb-after{margin:26px 0 0;font-size:16px;color:var(--hv-text-muted);max-width:760px;}
.hb-close{margin:22px 0 0;padding-top:22px;border-top:1px solid var(--hv-border);font-size:19px;line-height:1.5;color:var(--hv-text);max-width:820px;}

/* ---------- Meet Brad and Bria ---------- */
.hb-agents{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;}
.hb-agent{padding:30px 32px;border-radius:var(--hv-r-lg);background:#fff;box-shadow:var(--hv-shadow-premium);scroll-margin-top:104px;}
.hb-agent-main{background:var(--hv-gradient-soft),#fff;}
.hb-agent-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.hb-agent-name{margin:0;font-size:15px;color:var(--hv-text-muted);}
.hb-agent-name b{font-size:24px;color:var(--hv-text);margin-right:2px;}
.hb-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:var(--hv-teal-light);
  color:#0a6b63;font-size:12px;font-weight:700;}
.hb-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hv-teal);}
.hb-agent p{font-size:15.5px;line-height:1.62;color:var(--hv-text-muted);margin:0 0 12px;}
.hb-agent-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px!important;}
.hb-agent-links a{color:var(--hv-teal)!important;}
@media (max-width:900px){.hb-agents{grid-template-columns:1fr;}}

/* ---------- the loop: ring + stage panels (assets/loop.js) ----------
   Wide: stage text | ring | product view, with the bars centred above.
   The ring, the stage buttons and the panels share one grid cell; the
   panel's middle column is left empty for the ring. */
.lp{display:grid;grid-template-columns:minmax(0,1fr) 420px minmax(0,1fr);column-gap:40px;align-items:center;margin-top:8px;}
.lp-nav{grid-column:1/-1;grid-row:1;justify-self:center;width:min(520px,100%);margin-bottom:34px;}
.lp-body{display:contents;}
.lp-ring,.lp-tabs{grid-column:2;grid-row:2;position:relative;width:100%;aspect-ratio:1;}
.lp-ring svg{width:100%;height:100%;display:block;}
.lp-core{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);pointer-events:none;}
.lp-core b{font-size:26px;letter-spacing:0;text-transform:none;color:#fff;margin-bottom:4px;}
.lp-return{position:absolute;left:0;right:0;bottom:-30px;margin:0;font-size:12.5px;font-weight:600;color:#5ccdbd;text-align:center;}
.lp-return::before{content:"\21BB";margin-right:6px;}
/* stage buttons sit on the ring */
.lp-tabs{list-style:none;margin:0;padding:0;z-index:2;pointer-events:none;}
.lp-tabs li{position:absolute;left:calc(50% + 38.1% * sin(var(--a) * 60deg));top:calc(50% - 38.1% * cos(var(--a) * 60deg));transform:translate(-50%,-50%);pointer-events:auto;}
.lp-tabs li:nth-child(1){--a:0}.lp-tabs li:nth-child(2){--a:1}.lp-tabs li:nth-child(3){--a:2}
.lp-tabs li:nth-child(4){--a:3}.lp-tabs li:nth-child(5){--a:4}.lp-tabs li:nth-child(6){--a:5}
.lp-tab{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
  padding:7px 14px 7px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#10253a;color:rgba(255,255,255,.75);
  transition:background .25s,border-color .25s,color .25s,box-shadow .25s;}
.lp-tab span{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;
  background:rgba(255,255,255,.1);color:#fff;transition:background .25s,color .25s;}
.lp-tab:hover{border-color:rgba(92,205,189,.6);color:#fff;}
.lp-tab.is-on{background:#163a4c;border-color:#5ccdbd;color:#fff;box-shadow:0 0 0 6px rgba(92,205,189,.12);}
.lp-tab.is-on span{background:#5ccdbd;color:#06231f;}
.lp-tab-bria.is-on{border-color:#7fb8ff;box-shadow:0 0 0 6px rgba(127,184,255,.12);}
.lp-tab-bria.is-on span{background:#7fb8ff;color:#061a33;}
.lp-panels{grid-column:1/-1;grid-row:2;position:relative;align-self:stretch;min-height:420px;}
.lp-panel{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) 420px minmax(0,1fr);column-gap:40px;align-items:center;
  opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .45s ease,transform .45s ease;}
.lp-panel .lp-copy{grid-column:1;}
.lp-panel .lp-ui{grid-column:3;}
.lp-panel.is-on{opacity:1;transform:none;}
.lp-panel.is-on .lp-copy,.lp-panel.is-on .lp-ui{pointer-events:auto;}
.lp-who{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5ccdbd;}
.lp-who-bria{color:#7fb8ff;}
.lp-copy h3{margin:0 0 12px;font-size:24px;line-height:1.25;color:#fff;}
.lp-copy p:last-child{margin:0;font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.75);}
/* the product views */
.lp-ui{background:#fff;border-radius:16px;padding:18px 18px 16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6);color:#0c1616;}
.lp-ui-h{margin:0 0 12px;font-size:13.5px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.lp-ui-h span{font-size:11.5px;font-weight:500;color:#8b9494;}
.lp-ui-foot{margin:12px 0 0;font-size:11.5px;color:#8b9494;}
.lp-chips{display:flex;flex-wrap:wrap;gap:8px;}
.lp-chips span{padding:7px 12px;border-radius:999px;background:#e9f6f4;color:#0a6b63;font-size:12.5px;font-weight:600;}
.lp-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.lp-rows li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border-radius:10px;background:#f6f8f8;}
.lp-rows b{font-size:13.5px;}
.lp-rows span{grid-column:1;font-size:12px;color:#6b7676;}
.lp-rows em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:11.5px;font-weight:700;display:inline-flex;gap:4px;align-items:center;}
.lp-ok{color:#0a8a7d;}.lp-ok svg{width:13px;height:13px;}
.lp-wait{color:#8b9494;}
.lp-live{display:inline-flex;align-items:center;gap:6px;color:#0a8a7d!important;font-weight:700!important;}
.lp-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#20b0a3;animation:hv2livepulse 1.4s ease-in-out infinite;}
.lp-feed{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.lp-feed li{display:grid;grid-template-columns:auto 1fr auto;gap:1px 10px;align-items:center;padding:9px 12px;border-radius:10px;background:#f6f8f8;}
.lp-feed i{grid-row:1/3;width:78px;text-align:center;box-sizing:border-box;font-style:normal;font-size:10.5px;font-weight:700;padding:3px 6px;border-radius:999px;}
.lp-feed b{font-size:13px;}.lp-feed span{grid-column:2;font-size:12px;color:#6b7676;}
.lp-feed time{grid-row:1/3;grid-column:3;font-size:11px;color:#8b9494;}
.t-exp{background:#e3f6f3;color:#0a6b63;}.t-hire{background:#e6effc;color:#1e5fa8;}.t-web{background:#fff4e0;color:#9a5b00;}.t-lead{background:#f1ecfd;color:#5b3fb0;}
.lp-score{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;margin-bottom:12px;}
.lp-bar{height:10px;border-radius:999px;background:#eef2f2;overflow:hidden;}
.lp-bar i{display:block;height:100%;width:var(--w);background:var(--hv-gradient);border-radius:inherit;transform-origin:left;}
.lp-panel.is-on .lp-bar i{animation:lpgrow 1.1s cubic-bezier(.3,.8,.3,1) both;}
@keyframes lpgrow{from{transform:scaleX(.58);}to{transform:scaleX(1);}}
.lp-score b{font-size:24px;line-height:1;color:#0a6b63;}
.lp-score em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#e3f6f3;color:#0a6b63;}
.lp-break{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.lp-break li{display:flex;justify-content:space-between;font-size:13px;padding:7px 10px;border-radius:8px;background:#f6f8f8;}
.lp-break li:not(:first-child) b{color:#0a8a7d;}
.lp-msg{margin:0;padding:12px 14px;border-radius:10px;background:#f6f8f8;font-size:13.5px;line-height:1.6;}
.lp-actions{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap;}
.lp-btn{padding:7px 14px;border-radius:999px;border:1px solid #dfe5e5;font-size:12.5px;font-weight:700;color:#3d4747;}
.lp-btn-go{background:#20b0a3;border-color:#20b0a3;color:#fff;}
.lp-note{margin-left:auto;font-size:11.5px;color:#8b9494;}
.lp-out{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.lp-out li{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:10px;background:#f6f8f8;}
.lp-out i{flex:none;width:32px;height:32px;border-radius:9px;}
.o-meet{background:#e3f6f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a6b63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center/17px no-repeat;}
.o-call{background:#e6effc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e5fa8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6A19.8 19.8 0 012.1 4.2 2 2 0 014.1 2h3a2 2 0 012 1.7c.1 1 .4 1.9.7 2.8a2 2 0 01-.5 2.1L8.1 9.9a16 16 0 006 6l1.3-1.2a2 2 0 012.1-.5c.9.3 1.8.6 2.8.7a2 2 0 011.7 2z'/%3E%3C/svg%3E") center/16px no-repeat;}
.o-loop{background:#f1ecfd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b3fb0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 11-3-6.7L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") center/16px no-repeat;}
.lp-out b{display:block;font-size:13.5px;}.lp-out span{font-size:12px;color:#6b7676;}
.hb-loop-close{margin:72px auto 0;max-width:640px;text-align:center;font-size:17px;color:rgba(255,255,255,.8);}
#loop .hv2-lede{color:rgba(255,255,255,.72);}
.no-js .lp-panel,.lp:not(.lp-ready) .lp-panel{position:relative;opacity:1;transform:none;}
/* ---------- honesty ---------- */
.hb-truth{list-style:none;margin:22px 0;padding:0;display:grid;gap:12px;}
.hb-truth li{padding:14px 18px;border-radius:12px;background:var(--hv-bg-soft);border:1px solid var(--hv-border);font-size:16px;line-height:1.55;color:var(--hv-text-muted);}
.hb-truth li b{color:var(--hv-text);}

/* ---------- ground rules + fit ---------- */
.hb-wont{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start;}
.hb-wont-head h2{margin-top:6px;font-size:clamp(26px,3vw,38px);}
.hb-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.hb-list li{display:flex;gap:12px;font-size:15.5px;line-height:1.5;color:var(--hv-text);}
.hb-list .hb-ic{flex:none;width:18px;height:18px;margin-top:3px;}
.hb-list-x .hb-ic{color:#c2410c;}
.hb-list-ok .hb-ic{color:var(--hv-teal);}
.hb-wont-head{position:sticky;top:120px;}
.hb-wont-groups{display:grid;gap:36px;}
.hb-wont-who{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:15px;font-weight:700;color:var(--hv-text);}
.hb-wont-who em{font-style:normal;font-weight:500;color:var(--hv-text-muted);}
.hb-who-dot{width:10px;height:10px;border-radius:50%;background:var(--hv-teal);}
.hb-who-dot.is-bria{background:#4a90e2;}
.hb-wont-list{gap:10px;}
.hb-wont-list li{padding:14px 18px;border-radius:14px;background:var(--hv-bg-soft);border:1px solid var(--hv-border);}
.hb-wont-note{margin:14px 0 0;font-size:14px;color:var(--hv-text-muted);}
.hb-wont-list li span{color:var(--hv-text-muted);}
.hb-wont-list li b{color:var(--hv-text);font-weight:650;}
.hb-wont-close{margin:18px 0 0;font-size:17px;font-weight:600;color:var(--hv-text);}
.hb-fit-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:0 auto;}
.hb-fit-cols > div{padding:28px 30px;border-radius:var(--hv-r-lg);background:#fff;box-shadow:var(--hv-shadow-premium);}
.hb-fit-cols h3{margin:0 0 18px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-text-muted);}
.hb-fit-cols > div:last-child{box-shadow:var(--hv-shadow-premium),inset 0 3px 0 var(--hv-teal);}
.hb-fit-cols .hb-list{margin-top:0;}
@media (max-width:900px){.hb-wont,.hb-fit-cols{grid-template-columns:1fr;gap:24px;}.hb-wont-head{position:static;}}

/* ---------- industries link row ---------- */
.hb-indlinks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;}
.hb-indlinks a{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--hv-border-strong);color:var(--hv-text);
  font-size:15px;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;}
.hb-indlinks a:hover{border-color:var(--hv-teal);color:var(--hv-teal);}

/* ---------- send us your website ---------- */
.hb-offer{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.hb-offer h2{margin-top:6px;}
.hb-form{display:grid;gap:14px;padding:28px;border-radius:var(--hv-r-lg);background:#fff;box-shadow:var(--hv-shadow-premium);}
.hb-form label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--hv-text);}
.hb-form label span{font-weight:400;color:var(--hv-text-subtle);}
.hb-form input{font:inherit;font-size:15px;font-weight:400;padding:11px 14px;border-radius:10px;border:1px solid var(--hv-border-strong);background:#fff;color:var(--hv-text);}
.hb-form input:focus{outline:2px solid rgba(32,176,163,.35);border-color:var(--hv-teal);}
.hb-form button{justify-self:start;margin-top:4px;border:0;cursor:pointer;}
.hb-form-msg{margin:0;font-size:14px;line-height:1.5;color:var(--hv-text);}
.hb-form-msg.is-error{color:#b91c1c;}
.hb-form-note{margin:0;font-size:12.5px;color:var(--hv-text-subtle);}
.hb-form-note a{color:inherit;}
@media (max-width:900px){.hb-offer{grid-template-columns:1fr;gap:28px;}}

/* ---------- final CTA ---------- */
.hb-final .hv2-lede{max-width:640px;margin-left:auto;margin-right:auto;}
.hb-final-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px;}
.hb-final-trust{margin-top:18px;font-size:14px;color:rgba(255,255,255,.75);}
.hb-lead-facts dd{overflow-wrap:anywhere;}
@media (max-width:520px){.hb-lead-facts div{grid-template-columns:1fr;gap:2px;}.hb-lead{padding:20px 18px;}.hb-lead-top{flex-direction:column;}}
/* short screens: show three leads rather than a row cut in half */
@media (min-width:1081px) and (max-height:860px){.leadlist li:nth-child(n+4){display:none;}}

.hb-offer h2{font-size:clamp(26px,2.8vw,36px);}
.hb-form label .hb-l{display:block;font-weight:600;color:var(--hv-text);}
.hb-form label .hb-l em{font-style:normal;font-weight:400;color:var(--hv-text-subtle);}

/* ---------- hero pane 3: meetings week (calendar) ---------- */
.stage.stage-3{height:470vh;} /* a third pane gets a little more scroll */
.calcard{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-sm,10px);
  box-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px -12px rgba(15,23,42,.18);overflow:hidden;}
.calcard .tchead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.callegend{display:flex;gap:12px;flex-wrap:wrap;font-size:10.5px;color:#6b7676;}
.callegend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px;}
.calweek{flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:4px 14px 14px;}
.calday{display:flex;flex-direction:column;gap:6px;min-width:0;}
.cd-h{margin:0 0 2px;text-align:center;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:#8b9494;}
.cd-h b{display:block;font-size:17px;font-weight:500;letter-spacing:0;color:#3d4747;margin-top:1px;}
.ev{flex:1;min-height:0;border-radius:7px;padding:6px 8px;border:1px solid transparent;overflow:hidden;}
.ev b{display:block;font-size:10.5px;font-weight:600;line-height:1.3;color:#1d2a2a;}
.ev span{display:block;font-size:9.5px;color:#5b6363;margin-top:2px;}
.cl-brad,.callegend .cl-brad{background:#e3f6f3;border-color:#bfe9e2;}
.cl-bria,.callegend .cl-bria{background:#e6effc;border-color:#c8daf6;}
.cl-own,.callegend .cl-own{background:#f1f2f4;border-color:#e3e6ea;}
.ev-key{box-shadow:inset 3px 0 0 #20b0a3;}
/* "meeting booked" notifications, stacked at the calendar's right edge */
.bookcard{position:absolute;z-index:3;right:-28px;display:flex;gap:11px;align-items:center;width:min(320px,40%);padding:11px 14px;
  background:#fff;border-radius:12px;border:1px solid rgba(15,23,42,.06);box-shadow:0 18px 40px -16px rgba(15,23,42,.35);}
.bookcard.bc-1{top:30%;}
.bookcard.bc-2{top:calc(30% + 92px);right:-12px;}
.bc-ic{flex:none;width:34px;height:34px;border-radius:10px;background:#e3f6f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a6b63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='M9 15l2 2 4-4'/%3E%3C/svg%3E") center/18px no-repeat;}
.bc-body{min-width:0;}
.bc-st{margin:0 0 2px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0a8a7d;}
.bc-body > b{display:block;font-size:13px;color:#0c1616;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bc-body small{display:block;font-size:11.5px;color:#6b7676;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* hero pane 1: signal feed in place of the donut */
.sigbox{display:flex;flex-direction:column;}
.siglist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow:hidden;}
.siglist li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;background:#f6fafb;flex:none;}
.siglist i{width:66px;text-align:center;box-sizing:border-box;font-style:normal;font-size:9.5px;font-weight:700;padding:2px 5px;border-radius:999px;}
.siglist b{font-size:11.5px;font-weight:600;color:#0c1616;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.siglist em{font-style:normal;font-size:11px;font-weight:700;color:#0a8a7d;}
@media (min-width:1081px) and (max-height:860px){.siglist li:nth-child(n+4){display:none;}}
@media (max-width:1080px){
  .stage.stage-3{height:auto;}
  .pane-meet{margin-top:14px;}
  .calweek{min-height:300px;}
  .bookcard{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:auto;margin-top:10px;}
}
@media (max-width:640px){
  .calweek{grid-template-columns:repeat(3,minmax(0,1fr));}
  .calday:nth-child(n+4){display:none;}
  .callegend{display:none;}
}

/* ---------- loop: progress bars + travelling dot ---------- */
.lp-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.lp-seg{position:relative;height:16px;padding:0;border:0;background:none;cursor:pointer;}
.lp-seg::before{content:"";position:absolute;left:0;right:0;top:6px;height:4px;border-radius:999px;background:rgba(255,255,255,.16);}
.lp-seg i{position:absolute;left:0;top:6px;height:4px;width:0;border-radius:999px;background:#5ccdbd;}
.lp-seg-bria i{background:#7fb8ff;}
.lp-seg.is-done i{width:100%;}
.lp-seg.is-on i{width:100%;}
.lp-running .lp-seg.is-on i{width:auto;right:100%;animation:lpfill 5.2s linear forwards;}
@keyframes lpfill{from{right:100%;}to{right:0;}}
.lp-seg:hover::before{background:rgba(255,255,255,.3);}
.lp-dot{filter:drop-shadow(0 0 6px rgba(92,205,189,.9));}
.lp-dot-halo{animation:lphalo 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
@keyframes lphalo{0%,100%{transform:scale(.8);opacity:.9;}50%{transform:scale(1.35);opacity:.35;}}
@media (prefers-reduced-motion:reduce){.lp-dot-halo{animation:none;}}
/* medium screens: ring centred, text and view below it */
@media (max-width:1100px){
  .lp{grid-template-columns:minmax(0,1fr);}
  .lp-ring,.lp-tabs{grid-column:1;grid-row:2;width:380px;justify-self:center;}
  .lp-panels{grid-column:1;grid-row:3;min-height:340px;margin-top:56px;}
  .lp-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:28px;}
  .lp-panel .lp-ui{grid-column:2;}
}
/* phones: every stage in order, no ring, tabs or bars */
@media (max-width:760px){
  .lp-nav,.lp-ring,.lp-tabs{display:none;}
  .lp-panels{grid-row:2;margin-top:0;min-height:0;display:grid;gap:28px;}
  .lp-panel{position:relative;opacity:1;transform:none;grid-template-columns:1fr;gap:14px;}
  .lp-panel .lp-ui{grid-column:1;}
  .lp-panel .lp-copy,.lp-panel .lp-ui{pointer-events:auto;}
}
