/* Roof IQ (preview branch only). Hero orb sits on the white parapet wall (placed by JS from the photo), docked orb on every page. */
.riq-svg{display:block;width:100%;height:100%;overflow:visible}
.riq-launch{position:relative;display:block;flex:none;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;transition:transform .3s var(--ease,ease)}
.riq-launch:hover{transform:translateY(-2px)}
.riq-launch:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 6px rgba(10,13,16,.6)}
.riq-x{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:none;color:rgba(255,255,255,.7);font-size:19px;line-height:28px;cursor:pointer}
.riq-x:hover{background:rgba(255,255,255,.12);color:#fff}
.riq-x:focus-visible{outline:2px solid #fff}
/* hero orb: desktop only, positioned over the parapet wall by roofiq.js */
.riq-hero{position:absolute;z-index:3;display:none;align-items:center;gap:14px;pointer-events:none;visibility:hidden}
.riq-hero.placed{visibility:visible}
.riq-hero>*{pointer-events:auto}
.riq-hero .riq-launch{width:var(--riq-orb,120px);height:var(--riq-orb,120px);filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
.riq-hero .riq-launch::after{content:"";position:absolute;left:18%;right:18%;bottom:-8px;height:12px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.35),rgba(0,0,0,0));z-index:-1}
.riq-bubble{position:relative;width:var(--riq-bw,250px);padding:14px 36px 15px 16px;border-radius:12px;background:rgba(10,13,16,.8);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 36px rgba(0,0,0,.35);color:#fff;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .55s var(--ease,ease),transform .55s var(--ease,ease)}
.riq-bubble.on{opacity:1;transform:none}
.riq-bubble[hidden]{display:none}
.riq-bubble::after{content:"";position:absolute;right:-8px;top:50%;margin-top:-8px;border:8px solid transparent;border-left-color:rgba(10,13,16,.8);border-right:0}
.riq-q{display:block;margin:0 0 6px;transition:opacity .5s ease;padding:0;border:0;background:none;color:#fff;text-align:left;cursor:pointer;font:700 19px/1.12 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.riq-q.swap{opacity:0}
.riq-q:focus-visible{outline:2px solid #fff;outline-offset:3px}
.riq-sub{margin:0;font:400 13px/1.42 Barlow,Arial,sans-serif;color:rgba(255,255,255,.78)}
@media (min-width:1181px){.riq-hero{display:flex}}
/* docked orb */
.riq-dock{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:55;display:flex;align-items:center;gap:10px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s;pointer-events:none}
.riq-dock.on{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .35s ease,visibility 0s;pointer-events:auto}
.riq-dock.on.avoid,.riq-dock.on.panel{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
.riq-dock .riq-launch{width:64px;height:64px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.riq-pill{order:-1;padding:9px 14px 8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(10,13,16,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:700 14px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.28)}
.riq-pill::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;border-radius:50%;background:var(--red,#E52432);box-shadow:0 0 8px var(--red,#E52432);vertical-align:middle}
.riq-pill:hover{background:#0A0D10}
.riq-pill:focus-visible{outline:2px solid #fff;outline-offset:2px}
.riq-dbub{position:absolute;right:4px;bottom:calc(100% + 12px);width:max-content;max-width:260px;padding:10px 34px 10px 14px;border-radius:12px;background:rgba(10,13,16,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 30px rgba(0,0,0,.32);color:#fff;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}
.riq-dbub.on{opacity:1;transform:none;pointer-events:auto}
.riq-dock.bavoid .riq-dbub{opacity:0;pointer-events:none}
.riq-dbub::after{content:"";position:absolute;right:26px;bottom:-8px;border:8px solid transparent;border-top-color:rgba(10,13,16,.9);border-bottom:0}
.riq-dq{display:block;padding:0;border:0;background:none;color:#fff;text-align:left;cursor:pointer;font:600 15px/1.25 Barlow,Arial,sans-serif;transition:opacity .5s ease}
.riq-dq.swap{opacity:0}
.riq-dq:focus-visible{outline:2px solid #fff;outline-offset:2px}
.riq-dbub .riq-x{top:50%;margin-top:-14px;right:4px}
@media (max-width:600px){
  .riq-dock{gap:8px}
  .riq-dock .riq-launch{width:56px;height:56px}
  .riq-pill{font-size:13px;padding:8px 12px 7px 10px}
  .riq-dbub{max-width:min(260px,calc(100vw - 32px));padding:9px 32px 9px 12px}
  .riq-dq{font:600 14.5px/1.22 "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.01em}
}
/* logo: full on the hero orb, mark only on small sizes */
.riq-logo-mark{display:none}
.riq-dock .riq-logo-full,.riq-ph .riq-logo-full{display:none}
.riq-dock .riq-logo-mark,.riq-ph .riq-logo-mark{display:inline}
.riq-svg g.riq-logo-full,.riq-svg g.riq-logo-mark{transform-box:view-box;transform-origin:0 0}
/* idle animation hooks */
.riq-svg g,.riq-svg circle,.riq-svg rect{transform-box:fill-box}
.riq-fig{transform-origin:50% 50%;animation:riqBreathe 5.2s ease-in-out infinite;transition:filter .35s ease}
.riq-glow{transform-origin:50% 50%;animation:riqGlow 5.2s ease-in-out infinite}
.riq-eyes{transform-origin:50% 50%;transition:transform .08s ease-in,opacity .08s ease-in}
.riq-gaze{transition:transform .6s cubic-bezier(.3,.7,.2,1)}
.riq-ring{transform-origin:50% 50%;opacity:0}
.riq.blink .riq-eyes{transform:scaleY(.08);opacity:.3}
.riq.look .riq-gaze{transform:translate(-1.5px,-.4px)}
.riq-pupils{transform:translate(var(--px,0),var(--py,0));transition:transform .45s cubic-bezier(.3,.7,.2,1)}
.riq.look .riq-pupils{--px:-3.3px;--py:-.8px}
.riq.ack .riq-fig{filter:brightness(1.3)}
.riq-svg{transition:filter .3s ease}
.riq.ack .riq-svg{filter:drop-shadow(0 0 16px rgba(229,36,50,.85))}
.riq.ack .riq-ring{animation:riqRing .8s ease-out}
.riq.ack .riq-launch{animation:riqPop .5s ease-out}
@keyframes riqBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
@keyframes riqGlow{0%,100%{opacity:.72;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
@keyframes riqRing{0%{opacity:.9;transform:scale(.96)}100%{opacity:0;transform:scale(1.42)}}
@keyframes riqPop{0%,100%{transform:none}40%{transform:scale(.96)}}
/* panel */
.riq-panel{position:fixed;z-index:60;right:24px;bottom:24px;width:390px;max-width:calc(100vw - 32px);max-height:min(660px,calc(100vh - var(--hdr-h,85px) - 40px));display:flex;flex-direction:column;background:#fff;color:#0A0D10;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden;opacity:0;transform:translateY(14px);transition:opacity .3s var(--ease,ease),transform .3s var(--ease,ease)}
.riq-panel[hidden]{display:none}
.riq-panel.open{opacity:1;transform:none}
.riq-ph{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:#0A0D10;color:#fff;border-bottom:3px solid var(--red,#E52432)}
.riq-ph .riq-svg{width:48px;height:48px;flex:none;margin:-4px 0}
.riq-ph b{display:block;font:700 20px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.riq-ph small{display:block;margin-top:4px;font:400 12.5px/1.3 Barlow,Arial,sans-serif;color:rgba(255,255,255,.72)}
.riq-close{margin-left:auto;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:36px;cursor:pointer}
.riq-close:hover{background:rgba(255,255,255,.18)}
.riq-close:focus-visible{outline:2px solid #fff}
.riq-body{flex:1;overflow-y:auto;padding:16px;background:#F2F0EB;font:400 15px/1.45 Barlow,Arial,sans-serif}
.riq-msg{max-width:88%;margin:0 0 10px;padding:11px 13px;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.riq-msg.me{margin-left:auto;background:#0A0D10;color:#fff}
.riq-msg p{margin:0}.riq-msg p+p{margin-top:6px;color:#46515C}
.riq-msg a{color:var(--red-d,#C81B28);font-weight:600}
.riq-chips-h{margin:14px 0 8px;font:700 12px/1 "Barlow Condensed",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#69737D}
.riq-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.riq-chips button{padding:8px 12px;border:1px solid #D5D1C8;border-radius:999px;background:#fff;color:#0A0D10;font:500 14px/1.25 Barlow,Arial,sans-serif;text-align:left;cursor:pointer}
.riq-chips button:hover{border-color:#0A0D10}
.riq-chips button:focus-visible{outline:2px solid var(--red,#E52432);outline-offset:2px}
.riq-pf{padding:12px 14px 14px;border-top:1px solid #E6E3DC;background:#fff}
.riq-in{display:flex;gap:8px}
.riq-in input{flex:1;min-width:0;height:42px;padding:0 12px;border:1px solid #D5D1C8;border-radius:8px;font:400 15px Barlow,Arial,sans-serif;background:#F7F6F3;color:#69737D}
.riq-in button{height:42px;padding:0 14px;border:0;border-radius:8px;background:#C9CDD1;color:#fff;font:700 14px Barlow,Arial,sans-serif}
.riq-cta{display:block;margin-top:10px;padding:13px 14px;border-radius:4px;background:var(--red,#E52432);color:#fff;text-align:center;text-decoration:none;font:700 14px/1 "Barlow Condensed",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.riq-cta:hover{background:var(--red-d,#C81B28)}
@media (max-width:600px){.riq-panel{left:0;right:0;bottom:0;width:auto;max-width:none;max-height:calc(100dvh - var(--hdr-h,70px));border-radius:14px 14px 0 0}}
@media (prefers-reduced-motion:reduce){.riq *,.riq,.riq-panel{animation:none!important;transition:none!important}.riq-bubble,.riq-dbub.on{opacity:1;transform:none}}
/* free-space placer at every width (desktop added Oct 3) */
@media all{
  .riq-dock.placer{left:0;top:0;right:auto;bottom:auto;display:block;translate:var(--x,calc(100vw - 80px)) var(--y,calc(100vh - 80px))}
  .riq-dock.placer.glide{transition:opacity .35s ease,transform .35s ease,visibility 0s,translate .8s cubic-bezier(.25,.8,.25,1)}
  .riq-dock.placer .riq-pill{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);transition:opacity .3s ease,visibility 0s}
  .riq-dock.placer .riq-dbub{right:0;bottom:calc(100% + 12px)}
  .riq-dock.placer:not(.m-full) .riq-dbub{opacity:0;visibility:hidden;pointer-events:none}
  .riq-dock.placer.m-orb .riq-pill,.riq-dock.placer.m-tab .riq-pill,.riq-dock.placer.m-none .riq-pill{opacity:0;visibility:hidden;pointer-events:none}
  .riq-dock.placer.m-tab .riq-launch{opacity:.92}
  .riq-dock.placer.m-none{opacity:0;visibility:hidden;pointer-events:none}
  .riq-dock.placer.on.scrolling{opacity:.35}
}
@media (prefers-reduced-motion:reduce){.riq-dock.placer.glide{transition:none}}
/* chat (v6) */
.riq-msg ul{margin:4px 0 0;padding-left:18px}.riq-msg li+li{margin-top:3px}
.riq-msg.me p{color:#fff}
.riq-msg.a p+p{color:#0A0D10}
.riq-in input{color:#0A0D10;background:#fff}
.riq-in input:focus{outline:2px solid var(--red,#E52432);outline-offset:1px;border-color:transparent}
.riq-in button{background:var(--red,#E52432);cursor:pointer}
.riq-in button:disabled{background:#C9CDD1;cursor:default}
.riq-chips button:disabled{opacity:.5;cursor:default}
.riq-more{border-style:dashed!important;color:#46515C!important}
.riq-dots{display:inline-flex;gap:4px;padding:4px 2px}
.riq-dots i{width:7px;height:7px;border-radius:50%;background:#9AA2AA;animation:riq-dot 1s infinite ease-in-out}
.riq-dots i:nth-child(2){animation-delay:.15s}.riq-dots i:nth-child(3){animation-delay:.3s}
@keyframes riq-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (max-width:600px){.riq-in input{font-size:16px}}
@media (prefers-reduced-motion:reduce){.riq-dots i{animation:none;opacity:.7}}
/* v7: phones and tablets keep a small dark band below the CTA buttons of the Home and Roof Management heroes for the orb */
@media (max-width:1180px){.hero.riq-gap .wrap::after{content:"";display:block;height:86px}}
@media all{.riq-dock.placer .riq-launch{scale:var(--k,1);transition:transform .3s var(--ease,ease),scale .5s ease}}

/* desktop: label and bubble step aside when only they would cover content; the orb stays (Oct 3, Contact fix) */
.riq-dock.compact .riq-pill,.riq-dock.compact .riq-dbub{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}
