/* Scription site styles: tokens, nav, sections, footer. Shared by every page except the homepage, which carries its own copy for now. */
/* The site is designed light: never inherit a viewer's or browser's dark mode */
:root{color-scheme:light}
html,body{background:#fff;color:#0A0E1A}
:root{--ink-2:#3A4152;--ink-3:#7A8194;--paper:#F6F7F9;--line:#E4E7ED;--dgrid:rgba(143,166,255,0.055);--wrap:1240px;--gutter:40px;--edge:max(var(--gutter), calc((100vw - var(--wrap)) / 2))}
@media (max-width:860px){:root{--gutter:22px}}
body{margin:0;font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:root{--ink:#0A0E1A;--ink-4:#A8AEBD;--panel:#101725;--dline:rgba(143,166,255,0.14);--blue:#0044FF;--blue-soft:#8FA6FF;--max:1000px}
.nav, .nav *{box-sizing:border-box}
  /* ============================================================
     PRIMARY NAV — sticky bar. Solid ink so it merges with the hero
     on load and reads as a crisp dark bar over the light sections
     (the soft blue shadow is invisible on the hero, visible on white).
     ============================================================ */
  .nav{position:sticky;top:0;z-index:1000;
    background:var(--ink);
    transition:background .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
    box-shadow:0 10px 30px -18px rgba(0,68,255,0.5), 0 1px 0 rgba(255,255,255,0.02);}
  /* hero is light now: the bar stays solid ink so the white logo and links hold contrast */
  .nav.is-over-hero{
    background:var(--ink);
    backdrop-filter:none;
    box-shadow:0 10px 30px -20px rgba(10,14,26,0.45), 0 1px 0 rgba(255,255,255,0.03);}
  .nav.is-over-hero.is-mobile-open{background:var(--ink);backdrop-filter:none}
  .nav-inner{max-width:none;margin:0;padding:0 var(--edge);height:64px;
    display:flex;align-items:center;gap:26px}
  .nav-brand{display:inline-flex;align-items:center;flex:none;text-decoration:none}
  .nav-logo{height:30px;width:auto;display:block}
  .nav-menu{display:flex;align-items:center;gap:22px;flex:1;min-width:0}
  .nav-list{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0}
  .nav-item{position:relative}
  .nav-link{display:inline-flex;align-items:center;gap:6px;
    font-family:'Geist',sans-serif;font-size:14px;font-weight:450;letter-spacing:-0.01em;
    color:#fff;text-decoration:none;background:none;border:0;cursor:pointer;
    padding:8px 11px;border-radius:7px;line-height:1;white-space:nowrap;
    transition:color .15s, background .15s}
  .nav-link:hover{color:#fff;background:rgba(143,166,255,0.08)}
  .nav-item.is-open > .nav-link{color:#fff;background:rgba(143,166,255,0.10)}
  .nav-link:focus-visible{outline:2px solid #9FB6FF;outline-offset:2px}
  .nav-caret{width:11px;height:11px;flex:none;opacity:.65;transition:transform .2s,opacity .2s}
  .nav-item.is-open .nav-caret{transform:rotate(180deg);opacity:1}
  /* ----- dropdown panel: instrument readout ----- */
  .nav-drop{position:absolute;top:calc(100% + 11px);left:0;min-width:256px;
    background:var(--panel);border:0.5px solid var(--dline);
    padding:9px;display:grid;gap:2px;
    box-shadow:0 26px 64px -22px rgba(0,0,0,0.72), 0 0 0 1px rgba(0,0,0,0.25);
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .18s, transform .18s, visibility .18s;z-index:20}
  .nav-item.is-open .nav-drop{opacity:1;visibility:visible;transform:none}
  .nav-drop::after{content:"";position:absolute;top:-11px;left:0;right:0;height:11px}
  .nav-drop.reticle > .r{width:13px;height:13px;top:7px;left:7px}
  .nav-drop.reticle > .r-tr{left:auto;right:7px}
  .nav-drop.reticle > .r-bl{top:auto;bottom:7px}
  .nav-drop.reticle > .r-br{top:auto;left:auto;right:7px;bottom:7px}
  .drop-item{display:block;position:relative;padding:9px 15px 10px;border-radius:7px;text-decoration:none;
    transition:background .13s}
  .drop-item:hover{background:rgba(143,166,255,0.09)}
  .drop-item:focus-visible{outline:2px solid #9FB6FF;outline-offset:-2px}
  .drop-label{display:block;font-size:14px;font-weight:500;color:#fff;letter-spacing:-0.01em;line-height:1.25}
  .drop-desc{display:block;font-family:'Geist Mono',ui-monospace,monospace;
    font-size:9.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--ink-4);margin-top:4px}
  .drop-item:hover .drop-desc{color:var(--blue-soft)}
  .drop-item::after{content:"";position:absolute;inset:5px;pointer-events:none;opacity:0;transition:opacity .13s;background-image:linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF),linear-gradient(#5B82FF,#5B82FF);background-repeat:no-repeat;background-size:13px 1px,1px 13px,13px 1px,1px 13px,13px 1px,1px 13px,13px 1px,1px 13px;background-position:top left,top left,top right,top right,bottom left,bottom left,bottom right,bottom right}
  .drop-item:hover::after, .drop-item:focus-visible::after{opacity:.8}
  /* ----- CTA cluster, pinned right ----- */
  .nav-cta{display:flex;align-items:center;gap:10px;margin-left:auto;flex:none}
  .nav-ghost{display:inline-flex;align-items:center;
    font-family:'Geist',sans-serif;font-size:14px;font-weight:500;letter-spacing:-0.01em;
    color:#fff;text-decoration:none;padding:8px 14px;border-radius:8px;
    border:0.5px solid rgba(255,255,255,0.7);background:transparent;
    transition:border-color .15s,background .15s,color .15s;white-space:nowrap}
  .nav-ghost:hover{color:#fff;border-color:rgba(143,166,255,0.5);background:rgba(143,166,255,0.1)}
  .nav-ghost:focus-visible{outline:2px solid #9FB6FF;outline-offset:2px}
  .btn.nav-solid{font-size:14.5px;padding:10px 18px;border-radius:8px;gap:7px;white-space:nowrap}
  .btn.nav-solid span{font-size:15px;line-height:1}
  .nav-toggle{display:none}
  @media (hover:hover) and (min-width:861px){
    .nav-item.has-menu:hover > .nav-drop{opacity:1;visibility:visible;transform:none}
    .nav-item.has-menu:hover .nav-caret{transform:rotate(180deg);opacity:1}
    .nav-item.has-menu:hover > .nav-link{color:#fff;background:rgba(143,166,255,0.10)}
  }
  @media (max-width:860px){
    .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
      margin-left:auto;width:40px;height:36px;padding:0 9px;cursor:pointer;
      border:0.5px solid rgba(143,166,255,0.28);border-radius:8px;background:rgba(143,166,255,0.05)}
    .nav-toggle-bar{display:block;width:100%;height:1.5px;border-radius:2px;background:#DDE2EC;
      transition:transform .2s,opacity .2s}
    .nav.is-mobile-open .nav-toggle-bar:nth-child(1){transform:translateY(3.25px) rotate(45deg)}
    .nav.is-mobile-open .nav-toggle-bar:nth-child(2){transform:translateY(-3.25px) rotate(-45deg)}
    .nav-menu{position:absolute;top:100%;left:0;right:0;
      flex-direction:column;align-items:stretch;gap:0;
      background:var(--ink);
      border-bottom:0.5px solid var(--dline);padding:10px 20px 20px;
      max-height:calc(100vh - 58px);overflow-y:auto;
      opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;
      box-shadow:0 24px 40px -24px rgba(0,0,0,0.7);
      transition:opacity .2s,transform .2s,visibility .2s}
    .nav.is-mobile-open .nav-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
    .nav-list{flex-direction:column;align-items:stretch;gap:2px;width:100%}
    .nav-item{width:100%}
    .nav-link{width:100%;justify-content:space-between;font-size:16px;padding:14px 12px;border-radius:8px}
    .nav-drop{position:static;min-width:0;display:none;
      opacity:1;visibility:visible;transform:none;
      background:transparent;border:0;box-shadow:none;padding:2px 0 8px 12px}
    .nav-item.is-open .nav-drop{display:grid}
    .nav-drop.reticle > .r{display:none}
    .nav-drop::after{display:none}
    .drop-item{padding:11px 10px}
    .nav-cta{margin-left:0;margin-top:14px;flex-direction:column;align-items:stretch;gap:10px;width:100%}
    .nav-ghost, .btn.nav-solid{width:100%;justify-content:center;font-size:15px;padding:13px}
  }
  @media (prefers-reduced-motion:reduce){
    .nav-drop, .nav-caret, .nav-link, .nav-menu, .nav-ghost, .nav-toggle-bar{transition:none}
  }

/* Desktop: links grouped right, Technology dropdown in dark glass (as on the homepage) */
@media (min-width:861px){
  .nav-menu{flex:0 0 auto;margin-left:auto;gap:6px;padding:5px 0}
  .nav-cta{margin-left:0}
  .nav-drop{top:calc(100% + 14px);min-width:200px;border-radius:10px;padding:6px;
    background:#0F1524;-webkit-backdrop-filter:none;backdrop-filter:none;
    border:0.5px solid rgba(143,166,255,0.2);box-shadow:0 22px 48px -18px rgba(0,0,0,0.75)}
  .nav-drop::after{top:-14px;height:14px}
  .drop-item{border-radius:7px;padding:10px 14px}
  .drop-item:hover,.drop-item:focus-visible{background:rgba(143,166,255,0.12)}
  .drop-item::after{display:none}
  .drop-label{font-size:14.5px;font-weight:500}
}
.nav-brand{padding:0}
.nav-quote{display:inline-flex;align-items:center;height:36px;padding:0 14px;margin-right:6px;border-radius:7px;background:#0044FF;color:#fff;
  font:600 14px 'Geist',ui-sans-serif,system-ui,sans-serif;text-decoration:none;white-space:nowrap;transition:background .15s}
.nav-quote:hover{background:#0036CC;color:#fff}
.nav-quote:focus-visible{outline:2px solid #9FB6FF;outline-offset:2px}
.nav-link[aria-current="page"]{background:rgba(143,166,255,0.14)}
.drop-item[aria-current="page"]{background:rgba(143,166,255,0.12)}
@media (max-width:860px){
  .nav-link{font-size:16px;padding:14px 12px}
  .nav-ghost,.nav-quote{width:100%;justify-content:center;font-size:15px;height:auto;padding:13px;margin:0}
}
/* Page changes: the nav holds still while the content fades (Chrome, Edge, Safari) */
@view-transition{navigation:auto}
.nav{view-transition-name:site-nav}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

.more{color:#0A0E1A}
.page{max-width:none;margin:0;padding:0 var(--edge);box-sizing:border-box}
.eyebrow{margin:0 0 12px;font:500 12px 'Geist Mono',ui-monospace,monospace;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-3)}
.hs{padding:96px 0;background:var(--paper)}
.hs-white{background:#fff}
.hs-h{margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:560;letter-spacing:-0.03em;line-height:1.1;max-width:26ch}
.hs-sub{margin:16px 0 0;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:60ch}
.r{position:absolute;width:12px;height:12px;border:0 solid #0044FF;pointer-events:none}
.r.tl{top:8px;left:8px;border-top-width:1.5px;border-left-width:1.5px}
.r.tr{top:8px;right:8px;border-top-width:1.5px;border-right-width:1.5px}
.r.bl{bottom:8px;left:8px;border-bottom-width:1.5px;border-left-width:1.5px}
.r.br{bottom:8px;right:8px;border-bottom-width:1.5px;border-right-width:1.5px}
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.step{position:relative;background:#fff;border:1px solid var(--line);padding:26px 26px 28px}
.step-vis{height:120px;margin-bottom:22px;display:flex;align-items:center;justify-content:center;background:var(--paper);
  background-image:linear-gradient(rgba(10,14,26,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,14,26,0.05) 1px,transparent 1px);background-size:20px 20px}
.mini-addr{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid #C6D0E2;border-radius:6px;font-size:13px;color:#0A0E1A;box-shadow:0 8px 20px -14px rgba(10,14,26,0.4)}
.mini-quote{display:flex;flex-direction:column;gap:6px;width:200px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 20px -14px rgba(10,14,26,0.4)}
.mq-l{font:500 10px 'Geist Mono',ui-monospace,monospace;letter-spacing:0.14em;text-transform:uppercase;color:#0044FF}
.mq-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px}
.mq-row b{font-weight:500}.mq-row i{font-style:normal;color:var(--ink-3)}
.mini-list{display:flex;flex-direction:column;gap:7px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:12.5px;box-shadow:0 8px 20px -14px rgba(10,14,26,0.4)}
.mini-list span{display:flex;align-items:center;gap:7px}
.step-n{display:block;font:500 12px 'Geist Mono',ui-monospace,monospace;letter-spacing:0.12em;color:#0044FF;margin-bottom:8px}
.step h3{margin:0 0 8px;font-size:19px;font-weight:600;letter-spacing:-0.015em}
.step p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.gap-wrap{margin-top:40px;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.gap{width:100%;min-width:720px;border-collapse:collapse;font-size:14.5px}
.gap th,.gap td{padding:15px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.gap thead th{border-top:0;font:500 11px 'Geist Mono',ui-monospace,monospace;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);background:var(--paper)}
.gap tbody th{font-weight:600;width:22%}
.gap tbody th span{display:block;margin-top:3px;font-weight:400;font-size:12.5px;color:var(--ink-3)}
.gap td{color:var(--ink-2)}
.gap .us{background:#F2F6FF;color:#0A0E1A}
.gap thead .us{background:#0044FF;color:#fff}
.gap .us b{color:#0044FF;font-weight:600}
.gap-foot{margin:18px 0 0;font-size:15px;color:var(--ink-2)}
.gap-foot b{color:#0A0E1A;font-weight:600}
.proof{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.quote{position:relative;margin:0;padding:44px 44px 38px;background:#0A0E1A;color:#fff}
.quote .r{border-color:#5B82FF}
.quote blockquote{margin:0;font-size:clamp(20px,2vw,25px);line-height:1.4;letter-spacing:-0.015em;font-weight:450}
.quote figcaption{margin-top:24px;display:flex;flex-direction:column;gap:3px}
.quote figcaption b{font-weight:600}
.quote figcaption span{font:500 11px 'Geist Mono',ui-monospace,monospace;letter-spacing:0.14em;text-transform:uppercase;color:#8FA6FF}
.chips{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14px;color:var(--ink-2)}
.more-link{display:inline-flex;align-items:center;gap:5px;margin-top:22px;color:#0044FF;font-weight:500;font-size:15px;text-decoration:none}
.more-link:hover .scr-chev{transform:translateX(2px)}
.faq-grid{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:17px;font-weight:500;letter-spacing:-0.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:22px;font-weight:300;color:#0044FF;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:62ch}
.faq summary:focus-visible{outline:3px solid #7FA0FF;outline-offset:2px}
.site-footer{margin-top:0 !important}
.foot-logo{height:54px;width:auto;display:block}
.foot-act .scr-btn{height:52px;font-size:16px}
@media (max-width:860px){
  .hs{padding:64px 0}
  .steps{grid-template-columns:1fr}
  .proof,.faq-grid{grid-template-columns:1fr;gap:36px}
}
  .site-footer{position:relative;background:var(--ink);color:#fff;overflow:hidden;margin-top:66px}
  .site-footer::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:linear-gradient(var(--dgrid) 1px,transparent 1px),linear-gradient(90deg,var(--dgrid) 1px,transparent 1px);
    background-size:36px 36px;
    -webkit-mask-image:radial-gradient(120% 82% at 22% 0%,#000 0%,transparent 62%);
    mask-image:radial-gradient(120% 82% at 22% 0%,#000 0%,transparent 62%)}
  .site-footer::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(52% 62% at 82% 2%, rgba(0,68,255,0.16), transparent 64%),
      radial-gradient(46% 46% at 4% 4%, rgba(224,80,40,0.06), transparent 66%),
      linear-gradient(180deg, rgba(10,14,26,0) 46%, #060911 100%)}
  .foot-page{position:relative;z-index:2;padding-top:32px;padding-bottom:38px}
  /* the rooftop unit — screen-blended schematic backdrop; black drops to transparent
     under 'screen', so only the linework floats on the ink. flipped so the sparse
     access-panel end sits behind the action column, keeping the button readable. */
  .foot-cta{position:relative;z-index:2}
  .foot-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
  .foot-eyebrow{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--blue-soft)}
  /* main region: offer + 2x2 spec grid (left) · action + rooftop unit (right) */
  /* content stack: offer · one-line pitch · 3-up report outputs · action + unit */
  .foot-lead{max-width:none}
  .foot-cta h2{font-size:32px;font-weight:500;letter-spacing:-0.03em;line-height:1.07;margin-bottom:13px;max-width:18ch;color:#fff}
  .foot-lead p{font-size:16.5px;line-height:1.55;color:#C4CAD8;max-width:62ch;font-weight:300}
  .foot-lead p b{color:#fff;font-weight:500}
  /* three report outputs, in a row directly under the pitch */
  .foot-three{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:30px;padding-top:26px;border-top:0.5px solid var(--dline)}
  .f3-key{display:block;width:26px;height:2px;background:var(--blue);margin-bottom:15px}
  .f3 p{font-size:16px;line-height:1.45;color:#E6E9F1;font-weight:400;letter-spacing:-0.005em;max-width:24ch}
  /* action + rooftop unit, sharing the closing band */
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:44px;margin-top:30px}
  .foot-act{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
  .foot-guar{display:flex;flex-wrap:wrap;gap:7px 16px}
  .foot-guar span{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.05em;color:#9AA1B2;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
  .foot-guar span::before{content:"\2713";color:var(--blue-soft);font-size:11px}
  .foot-effort{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.05em;color:#6E7690}
  /* rooftop unit — transparent schematic (white lines + shading), shown in full, no fade */
  .foot-unit{position:relative;flex-shrink:0;width:min(430px,44%);pointer-events:none}
  .foot-unit img{display:block;width:100%;height:auto;opacity:0.72;transform:scaleX(-1)}
  .fp-logo{width:auto;filter:invert(1);opacity:0.55;object-fit:contain} .fp-gl{height:32px}.fp-ia{height:20px}.fp-mk{height:28px}.fp-cv{height:26px}
  .foot-base{position:relative;z-index:2;margin-top:30px;padding-top:20px;border-top:0.5px solid var(--dline);display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center}
  .foot-brand{display:flex;align-items:center;gap:11px}
  .foot-wordmark{font-size:17px;font-weight:500;letter-spacing:-0.01em;color:#fff}
  .foot-contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .foot-contact .mono{font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-4)}
  .foot-contact .sep{color:#3A4152}

  .foot-social{display:flex;align-items:center;gap:14px}
  .foot-social a{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-4);transition:color .18s ease,transform .18s ease}
  .foot-social a:hover{color:#fff;transform:translateY(-1px)}
  .foot-social svg{width:18px;height:18px;display:block;fill:currentColor}
  .foot-social a[aria-label*="X"] svg{width:15px;height:15px}
  .foot-social a[aria-label*="LinkedIn"] svg{width:22px;height:22px}
  .foot-link{color:var(--blue-soft);text-decoration:none;transition:color .15s}
  .foot-link:hover{color:#B8C6FF}
  .foot-link:focus-visible{outline:2px solid #9FB6FF;outline-offset:2px;border-radius:2px}
  .site-footer .foot-terms{position:relative;z-index:2;margin-top:16px;max-width:64ch;font-size:12.5px;line-height:1.6;color:#5C6478}
@media (max-width:860px){
    .foot-page{padding-bottom:34px}
    .foot-cta h2{font-size:26px}
    .foot-three{grid-template-columns:1fr;gap:18px;margin-top:24px;padding-top:22px}
    .foot-bottom{flex-direction:column;align-items:stretch;gap:26px;margin-top:30px}
    .foot-act{align-items:stretch}
    .foot-act .btn{justify-content:center;width:100%}
    .foot-guar{justify-content:flex-start}
    .foot-base{flex-direction:column;align-items:flex-start}
}
/* plain text links only: zero specificity, so a button's own colours always win */
:where(a){color:#0044FF}:where(a:hover){color:#0033BF}
.scr-btn{appearance:none;border:0;border-radius:6px;background:#0044FF;color:#FFFFFF;font:600 17px/1 'Geist',ui-sans-serif,system-ui,sans-serif;height:clamp(48px,6.6vh,56px);padding:0 24px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap}
.scr-btn:hover{background:#0036CC;color:#FFFFFF}
.btn-arrow{margin-left:10px;flex:none;transition:transform .15s ease}
.scr-btn:hover .btn-arrow{transform:translateX(3px)}
.scr-chev{color:#0044FF;transition:transform 0.2s ease}
.scr-btn:focus-visible{outline:3px solid #7FA0FF;outline-offset:2px}

/* =====================================================================
   Components from the current site, ported as they are: program grid,
   pricing panel, claims flow, renewal perks, FAQ list, video frame, page header.
   ===================================================================== */
:root{--paper-2:#FFFFFF;--paper-3:#FAFBFC;--line-2:#EDEFF3;--blue-press:#0038D6;--blue-faint:#EDF2FF;--screen:#070B14;--panel-2:#0E1420;
  --bfig:url("/img/00386ca43d59.webp");--video-poster:url("/img/video-poster-first-frame.webp")}
/* the current site resets every element; these components were built on that */
:where(.c2-unit,.c2-cta,.claimfig,.c6-panel,.faq-list,.vframe,.hero) :where(*){margin:0;padding:0;box-sizing:border-box}
:where(.c2-unit,.c2-cta,.claimfig,.c6-panel,.faq-list){line-height:1.5}
.reticle > .r{position:absolute;width:18px;height:18px;pointer-events:none;z-index:5;opacity:.8}
.reticle > .r-tl{top:9px;left:9px;border-top:1px solid var(--blue);border-left:1px solid var(--blue)}
.reticle > .r-tr{top:9px;right:9px;border-top:1px solid var(--blue);border-right:1px solid var(--blue)}
.reticle > .r-bl{bottom:9px;left:9px;border-bottom:1px solid var(--blue);border-left:1px solid var(--blue)}
.reticle > .r-br{bottom:9px;right:9px;border-bottom:1px solid var(--blue);border-right:1px solid var(--blue)}
.reticle.on-dark > .r{border-color:#5B82FF}
.mono{font-family:'Geist Mono',ui-monospace,monospace}
.vframe{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;
    background:var(--paper-3);border:0.5px solid var(--line);cursor:pointer;
    display:block;padding:0;text-align:left;font:inherit;color:inherit;
    transition:border-color .18s}
.vframe:hover{border-color:var(--blue)}
.vframe:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.vposter{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(10,14,26,0.10) 0%,rgba(10,14,26,0.02) 40%,rgba(10,14,26,0.16) 100%),var(--video-poster);
    background-size:cover,cover;background-position:center,center;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.vframe:hover .vposter{transform:scale(1.012)}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:76px;height:76px;border-radius:50%;border:0;background:var(--blue);
    display:flex;align-items:center;justify-content:center;pointer-events:none;
    box-shadow:0 14px 40px -12px rgba(0,68,255,0.75), inset 0 1px 0 rgba(255,255,255,0.20);
    transition:transform .18s,background .18s}
.vframe:hover .vplay{transform:translate(-50%,-50%) scale(1.06);background:var(--blue-press)}
.vplay svg{width:22px;height:24px;margin-left:4px;fill:#fff}
.vmeta{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;
    align-items:center;gap:16px;padding:13px 16px;
    background:linear-gradient(0deg,rgba(10,14,26,0.55),rgba(10,14,26,0));pointer-events:none}
.vmeta .mono{font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;font-weight:500;
    letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.86)}
.vframe.is-live{cursor:default}
.vframe.is-live .vposter,.vframe.is-live .vplay,.vframe.is-live .vmeta{display:none}
.vframe video,.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.vframe.is-empty{cursor:default}
.vframe.is-empty .vplay{background:var(--ink-4);box-shadow:none}
@media (max-width:860px){
.vplay{width:60px;height:60px}
.vplay svg{width:18px;height:20px}
.vmeta{padding:10px 12px}
.vmeta .mono{font-size:10px}
}
.c6-unit{border:0.5px solid var(--line);border-radius:12px;overflow:hidden;margin:4px 0 0}
.c6-fig{width:100%;line-height:0;background:var(--paper-2);aspect-ratio:20/7}
.c6-fig img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 30%}
.c6-unit .c6-perks{border:none;border-radius:0}
.c2-unit{border:0.5px solid var(--line);border-radius:12px;overflow:hidden;margin:4px 0 0}
.c2-unit .c6-perks{border:none;border-radius:0}
.c2-unit .c6-ico{margin-bottom:16px}
.c2-unit .c6-k{font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;font-weight:500;
    letter-spacing:0.18em;text-transform:uppercase;color:var(--blue);margin-bottom:7px}
.c2-unit .c6-perk h3{margin:0 0 8px;font-size:17.5px}
.c2-unit .c6-perk p{max-width:30ch}
.c2-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:26px 44px;padding:26px 22px 28px;background:var(--paper-3);border-top:0.5px solid var(--line)}
.seq{display:flex;align-items:flex-start;margin-top:8px}
@media (max-width:880px){
.seq{flex-direction:column;align-items:stretch}
.seq-step{flex-direction:row;width:100%;align-items:center;text-align:left;gap:14px}
.seq-h{flex:1}
.seq-line{width:.5px;height:18px;margin:4px 0 4px 23px;min-width:0}
.claimfig .seq{position:static;background:#0b0f1c;padding:22px 18px 6px}
}
.seq-step{flex:0 0 auto;width:150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.seq-dot{width:48px;height:48px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Geist Mono',ui-monospace,monospace;font-size:13px;font-weight:500;background:var(--paper-2);border:0.5px solid var(--line);color:var(--blue)}
.seq-dot-us{background:var(--ink);border-color:var(--ink);color:var(--blue-soft)}
.seq-h{font-size:15.5px;font-weight:600;color:var(--ink);letter-spacing:-0.01em;line-height:1.25}
.seq-own{font-family:'Geist Mono',ui-monospace,monospace;font-size:9.5px;letter-spacing:0.07em;text-transform:uppercase;font-weight:500;padding:4px 9px;border-radius:5px;background:#EEF0F4;color:var(--ink-3)}
.seq-own.us{background:var(--ink);color:#A9BCFF}
.seq-line{flex:1 1 auto;height:0.5px;background:var(--line);margin-top:24px;min-width:14px}
.fp-logo{width:auto;filter:invert(1);opacity:0.55;object-fit:contain}
.fp-gl{height:32px}
.fp-ia{height:20px}
.fp-mk{height:28px}
.fp-cv{height:26px}
.fig{position:relative;border-radius:12px;overflow:hidden;border:0.5px solid var(--line);background:var(--ink)}
.fig img{display:block;width:100%;height:auto}
.claimfig .seq{position:absolute;left:0;right:0;bottom:0;margin:0;z-index:2;padding:50px 30px 24px;gap:0;border-top:1px solid rgba(255,255,255,0.3);
    background:linear-gradient(to top,rgba(6,9,16,0.985) 0%,rgba(6,9,16,0.95) 40%,rgba(6,9,16,0.78) 80%,rgba(6,9,16,0.5) 100%)}
.claimfig .seq-dot{background:rgba(255,255,255,0.06);border:0.5px solid rgba(255,255,255,0.22);color:var(--blue-soft)}
.claimfig .seq-dot-us{background:var(--blue);border-color:var(--blue);color:#fff}
.claimfig .seq-h{color:#fff}
.claimfig .seq-own{background:rgba(255,255,255,0.10);color:#C7CEDD}
.claimfig .seq-own.us{background:var(--blue);color:#fff}
.claimfig .seq-line{background:rgba(255,255,255,0.22)}
@media (max-width:860px){
.c6-fig{aspect-ratio:16/11}
.c6-fig img{object-position:center}
.seq{flex-direction:column;align-items:stretch}
.seq-step{flex-direction:row;width:100%;align-items:center;text-align:left;gap:14px}
.seq-h{flex:1}
.seq-line{width:0.5px;height:18px;margin:4px 0 4px 23px;min-width:0}
.claimfig .seq{position:static;background:#0b0f1c;padding:22px 18px 6px}
}
.c6-panel{margin-top:6px}
.c6-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5px;background:var(--line);border:0.5px solid var(--line);border-radius:0 0 12px 12px;overflow:hidden}
.c6-perk{background:var(--paper-2);padding:24px 22px 26px;position:relative}
.c6-perk::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--blue)}
.c6-ico{width:40px;height:40px;margin-bottom:14px}
.c6-ico svg{width:100%;height:100%;display:block;overflow:visible}
.c6-perk h3{font-size:17px;font-weight:600;letter-spacing:-0.018em;margin:12px 0 8px;line-height:1.2}
.c6-perk p{font-size:15.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:760px){
.c6-perks{grid-template-columns:1fr}
.c2-cta{padding:20px 18px 22px}
}
.faq-list{max-width:840px;margin-top:26px;border-top:0.5px solid var(--line)}
.faq-item{border-bottom:0.5px solid var(--line)}
.faq-q{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:16px;padding:19px 0;color:var(--ink)}
.faq-q::-webkit-details-marker{display:none}
.faq-q:hover .faq-qt{color:var(--blue)}
.faq-n{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;font-weight:500;letter-spacing:0.08em;color:var(--blue);flex:none;min-width:36px}
.faq-qt{font-size:17px;font-weight:500;letter-spacing:-0.01em;line-height:1.4;flex:1;transition:color .15s ease}
.faq-plus{font-family:'Geist Mono',ui-monospace,monospace;font-size:19px;line-height:1;color:var(--ink-3);flex:none;transition:transform .2s ease,color .2s ease}
.faq-item[open] .faq-plus{transform:rotate(45deg);color:var(--blue)}
.faq-a{padding:0 0 22px 52px}
.faq-a p{margin:0;font-size:15.5px;line-height:1.62;color:var(--ink-2);max-width:66ch}
.faq-a strong{color:var(--ink);font-weight:600}
.faq-inline{color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue-soft);transition:border-color .15s ease}
.faq-inline:hover{border-bottom-color:var(--blue)}
@media (max-width:640px){
.faq-a{padding-left:0}
.faq-qt{font-size:16px}
.faq-n{min-width:32px}
}
.cvp .c2-unit{border:.5px solid var(--line);border-top:2px solid var(--blue); border-radius:12px;overflow:hidden;background:var(--paper-2)}
.cvp .c2-banner{padding:24px;border-bottom:.5px solid var(--line); background:linear-gradient(180deg,#fff 0%,var(--paper-3) 100%)}
.cvp .c6-perk::before{display:none}
.cvp .c2-banner .lead{margin:0;font-size:21.5px;font-weight:500;letter-spacing:-.022em; line-height:1.28;color:var(--ink);max-width:none}
.cvp .c6-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:.5px;background:var(--line)}
.cvp .c6-perk{background:var(--paper-2);padding:24px 22px 26px}
.cvp .c6-top{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.cvp .c6-top svg{width:32px;height:32px;display:block;flex:none;overflow:visible}
.cvp .c6-k{font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;font-weight:500; letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.cvp .c6-perk h3{font-size:17.5px;font-weight:600;letter-spacing:-.018em;line-height:1.2;margin:0 0 8px}
.cvp .c6-perk p{font-size:15px;line-height:1.5;color:var(--ink-2);max-width:30ch}
.cvp .c2-rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between; gap:12px 28px;padding:15px 24px 16px;border-top:.5px solid var(--line);background:var(--paper-3)}
.cvp .c2-rail-k{font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;font-weight:500; letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4)}
.cvp .c2-logos{display:flex;flex-wrap:wrap;align-items:center;gap:11px 26px}
.cvp .c2-logos .fp-logo{height:18px;width:auto;display:block;flex:none; filter:invert(1);opacity:.42;transition:opacity .15s}
.cvp .c2-logos .fp-logo:hover{opacity:.75}
.cvp .c2-cta{position:relative;border-radius:14px;overflow:hidden;background:var(--ink);
    border:.5px solid rgba(143,166,255,.14);box-shadow:0 26px 60px -30px rgba(10,14,26,.6);
    display:grid;grid-template-columns:1.04fr .96fr;grid-template-areas:"left right";
    gap:0 52px;padding:38px 42px;align-items:center;margin-top:88px}
.cvp .c2-cta::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background-image:linear-gradient(var(--dgrid) .5px,transparent .5px),
                     linear-gradient(90deg,var(--dgrid) .5px,transparent .5px);
    background-size:32px 32px;
    mask-image:radial-gradient(120% 130% at 4% 0%,#000 0%,transparent 60%);
    -webkit-mask-image:radial-gradient(120% 130% at 4% 0%,#000 0%,transparent 60%)}
.cvp .c2-cta::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:radial-gradient(58% 86% at 97% 4%,rgba(0,68,255,.20),transparent 62%),
               radial-gradient(44% 66% at 0% 100%,rgba(0,68,255,.10),transparent 70%)}
.cvp .c2-cta > .q-left,.cvp .c2-cta > .q-right{position:relative;z-index:2}
.cvp .q-plate{position:absolute;z-index:1;pointer-events:none;background-repeat:no-repeat;
    left:-15%;bottom:-52%;width:80%;aspect-ratio:1100/535;
    background-image:var(--bfig);background-size:contain;background-position:center;
    opacity:.34;
    mask-image:radial-gradient(88% 108% at 26% 92%,#000 4%,rgba(0,0,0,.5) 44%,transparent 78%);
    -webkit-mask-image:radial-gradient(88% 108% at 26% 92%,#000 4%,rgba(0,0,0,.5) 44%,transparent 78%)}
.cvp .c2-cta .r{position:absolute;z-index:3;width:11px;height:11px;border:1px solid var(--blue-soft);opacity:.42}
.cvp .c2-cta .r-tl{top:11px;left:11px;border-right:0;border-bottom:0}
.cvp .c2-cta .r-tr{top:11px;right:11px;border-left:0;border-bottom:0}
.cvp .c2-cta .r-bl{bottom:11px;left:11px;border-right:0;border-top:0}
.cvp .c2-cta .r-br{bottom:11px;right:11px;border-left:0;border-top:0}
.cvp .q-left{grid-area:left;display:flex;flex-direction:column;justify-content:center;min-width:0}
.cvp .q-left h3{margin:0;font-size:30px;font-weight:500;letter-spacing:-.03em;
    line-height:1.12;color:#fff;max-width:29ch}
.cvp .q-left h3 em{font-style:normal;color:var(--blue-soft)}
.cvp .q-rev{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.4;
    color:#98A0B4;max-width:420px;margin:13px 0 0}
.cvp .q-rev-ic{flex:none;width:14px;height:14px;display:block}
.cvp .q-rev-ic svg{width:100%;height:100%;display:block}
.cvp .q-act{margin-top:22px}
.cvp .c2-fine{margin:11px 0 0;font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;
    letter-spacing:.07em;text-transform:uppercase;color:#8790A6;line-height:1.6}
.cvp .q-right{grid-area:right;display:flex;flex-direction:column;justify-content:center;padding-bottom:4px}
.cvp .c2-lab{font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;font-weight:500;
    letter-spacing:.18em;text-transform:uppercase;color:var(--blue-soft);margin-bottom:12px}
.cvp .qrs{list-style:none;margin:0;padding:0}
.cvp .qr{display:flex;align-items:center;gap:13px;padding:10px 0;border-top:.5px solid var(--dline)}
.cvp .qr:first-child{border-top:none;padding-top:0}
.cvp .qr-art{flex:none;width:50px;height:29px;border-radius:6px;background:rgba(143,166,255,.06);
    border:.5px solid var(--dline);display:grid;place-items:center;padding:3px 5px;
    transition:background .16s,border-color .16s}
.cvp .qr:hover .qr-art{background:rgba(143,166,255,.12);border-color:rgba(143,166,255,.34)}
.cvp .qr-art svg{width:100%;height:auto;display:block}
.cvp .qr-t{min-width:0;flex:1}
.cvp .qr-t b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.012em;color:#fff;line-height:1.3}
.cvp .qr-t i{display:none}
.cvp .qr-n{flex:none;font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;font-weight:600;
    letter-spacing:.12em;color:var(--blue-soft);opacity:.55}
.cvp .q-under{display:flex;flex-wrap:wrap;align-items:baseline;
    justify-content:space-between;gap:7px 20px;margin-top:12px}
.cvp .q-under .c2-fine{margin:0}
.cvp .c2-cta .console-sub{margin:0;font-size:13px;line-height:1.4;color:#98A0B3}
.cvp .c2-cta .console-sub a{color:var(--blue-soft);text-decoration:none;
    border-bottom:1px solid rgba(143,166,255,.35)}
.cvp .c2-cta .console-sub a:hover{border-bottom-color:var(--blue-soft)}
@media (max-width:1040px){
.cvp .c2-cta{grid-template-columns:1fr;grid-template-areas:"left" "right";
      gap:30px;padding:32px 30px;margin-top:72px}
.cvp .q-left h3{font-size:27px;max-width:34ch}
.cvp .q-under{justify-content:flex-start;gap:5px 18px}
.cvp .q-right{justify-content:flex-start}
.cvp .q-plate{left:-14%;bottom:-12%;width:70%;opacity:.26;
      mask-image:radial-gradient(80% 96% at 24% 92%,#000 4%,rgba(0,0,0,.45) 42%,transparent 76%);
      -webkit-mask-image:radial-gradient(80% 96% at 24% 92%,#000 4%,rgba(0,0,0,.45) 42%,transparent 76%)}
}
@media (max-width:760px){
.cvp .c2-cta{padding:26px 20px;border-radius:12px;margin-top:56px}
.cvp .q-left h3{font-size:22.5px;max-width:none;letter-spacing:-.026em}
.cvp .q-under{display:block}
.cvp .q-under .console-sub{text-align:center}
.cvp .q-under .c2-fine{text-align:center;margin-top:8px}
.cvp .qr-art{width:56px;height:32px}
.cvp .q-plate{left:-18%;bottom:-10%;width:104%;opacity:.22}
}
@media (max-width:1040px){
.cvp .c6-perks{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
.cvp .c6-perks{grid-template-columns:1fr}
}

/* page header (from the RoofIQ page) */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(46% 66% at 92% 12%, rgba(0,68,255,0.13), transparent 68%),radial-gradient(38% 52% at 4% 96%, rgba(0,68,255,0.09), transparent 72%)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:linear-gradient(var(--dgrid) 1px,transparent 1px),linear-gradient(90deg,var(--dgrid) 1px,transparent 1px);background-size:36px 36px;
  mask-image:radial-gradient(120% 95% at 6% 4%,#000 0%,transparent 60%);-webkit-mask-image:radial-gradient(120% 95% at 6% 4%,#000 0%,transparent 60%)}
.hero-inner{position:relative;z-index:2;padding:84px var(--edge) 72px}
.hero h1{font-size:clamp(32px,4.05vw,50px);line-height:1.07;text-wrap:balance;font-weight:500;letter-spacing:-0.04em;margin-bottom:22px;color:#fff}
.hero h1 .dim{color:#8B94AE;font-weight:500;display:block}
.hero-sub{font-size:17px;line-height:1.55;color:#C6CCD9;max-width:52ch;font-weight:300}
.hero-sub b{color:#fff;font-weight:500}
@media (max-width:900px){.hero-sub{font-size:16px}.hero-inner{padding:54px var(--edge) 48px}}

/* what's covered: two tables, styled like the homepage's coverage-gap table */
.ct{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:28px}
.ct-box{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.ct-table{width:100%;border-collapse:collapse}
.ct-table thead th{padding:12px 18px;text-align:left;font-size:15px;font-weight:600;letter-spacing:-0.01em}
.ct-in thead th{background:#0044FF;color:#fff}
.ct-out thead th{background:var(--paper);color:var(--ink)}
.ct-table tbody th,.ct-table tbody td{padding:10px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.ct-table tbody th{position:relative;padding-left:44px;font-size:14.5px;font-weight:600;letter-spacing:-0.01em;line-height:1.4;color:var(--ink)}
.ct-in tbody th{width:40%}
.ct-table tbody td{font-size:14px;line-height:1.45;color:var(--ink-2)}
.ct-ic{position:absolute;left:18px;top:11px;width:16px;height:16px}
.ct-out{background:var(--paper)}
.ct-out tbody th{font-weight:500;color:var(--ink-2)}
.ct-d{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--ink-3)}
.ct-note{margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--ink-3)}
@media (max-width:860px){
  .ct{grid-template-columns:1fr}
  .ct-in tbody th,.ct-in tbody td{display:block;width:auto}
  .ct-in tbody td{border-top:0;padding:0 18px 10px 44px}
}

/* sections lead with a plain sentence, no label above it, so they need less air */
.hs{padding:72px 0}
.hs .hs-sub{margin-top:12px}
.cvp .c2-cta{margin-top:40px}
@media (max-width:860px){.hs{padding:52px 0}.cvp .c2-cta{margin-top:32px}}
.hs .hs-h{max-width:30ch}
/* claims steps on phones: number on the left, who-pill above the step */
@media (max-width:860px){
  .claimfig .seq-step{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;row-gap:6px;align-items:center}
  .claimfig .seq-dot{grid-row:1 / span 2}
  .claimfig .seq-own{justify-self:start;align-self:end}
  .claimfig .seq-h{align-self:start}
}

/* scroll reveal (from the current site): blocks fade and rise as they enter; grouped children stagger.
   Armed only when the head script sets <html class="js-reveal">; static under reduced motion. */
.js-reveal [data-reveal], .js-reveal [data-reveal-stagger] > *{opacity:0;transform:translateY(24px);
  transition:opacity .95s cubic-bezier(.22,1,.36,1), transform .95s cubic-bezier(.22,1,.36,1)}
.js-reveal [data-reveal].is-revealed, .js-reveal [data-reveal-stagger] > .is-revealed{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js-reveal [data-reveal], .js-reveal [data-reveal-stagger] > *{opacity:1;transform:none;transition:none}
}
/* page header entrance (from the RoofIQ page) */
@keyframes heroRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-inner h1,.hero-inner .hero-sub,.hero-inner .scr-btn,.hero-inner .vframe{opacity:0;animation:heroRise .85s cubic-bezier(.22,.61,.36,1) both}
.hero-inner h1{animation-delay:.12s}
.hero-inner .hero-sub{animation-delay:.26s}
.hero-inner .scr-btn{animation-delay:.38s}
.hero-inner .vframe{animation-delay:.44s}
@media (prefers-reduced-motion:reduce){.hero-inner h1,.hero-inner .hero-sub,.hero-inner .scr-btn,.hero-inner .vframe{opacity:1;transform:none;animation:none}}

/* "Backed by" row (from the brokers page hero): risk capital first, investors secondary */
.hero-backing{margin-top:36px;padding-top:22px;border-top:0.5px solid var(--dline);display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.hb-group{display:flex;align-items:center;gap:16px;min-width:0}
.hb-k{font-family:'Geist Mono',ui-monospace,monospace;font-size:9.5px;font-weight:500;letter-spacing:0.19em;text-transform:uppercase;color:#6E768A;white-space:nowrap}
.hb-logo{width:auto;object-fit:contain;display:block;flex:none}
.hb-gl{height:34px;opacity:0.95}
.hb-sm{height:19px;opacity:0.42}
.hb-ia{height:16px}.hb-mk{height:21px}.hb-cv{height:20px}
.hb-div{width:0.5px;align-self:stretch;background:var(--dline);margin:0 2px}
.hb-invs{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
@media (max-width:700px){.hero-backing{gap:16px 20px}.hb-div{display:none}.hb-invs{gap:20px}}
.hero-inner .hero-backing{opacity:0;animation:heroRise .85s cubic-bezier(.22,.61,.36,1) .6s both}
@media (prefers-reduced-motion:reduce){.hero-inner .hero-backing{opacity:1;animation:none}}
@media (max-width:700px){.hb-group{flex-direction:column;align-items:flex-start;gap:10px}}

/* dropdown icons */
.drop-item{display:flex;align-items:center;gap:12px}
.drop-ic{flex:none;width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  color:#8FA6FF;background:rgba(143,166,255,0.08);border:0.5px solid rgba(143,166,255,0.22);transition:border-color .15s,background .15s,color .15s}
.drop-ic svg{width:16px;height:16px;display:block}
.drop-item:hover .drop-ic,.drop-item:focus-visible .drop-ic{color:#B8C6FF;border-color:rgba(143,166,255,0.45);background:rgba(143,166,255,0.14)}
.drop-label{white-space:nowrap}
@media (max-width:860px){.drop-ic{width:28px;height:28px}}

/* footer: the way through to the enterprise site */
.site-footer .foot-ent{position:relative;z-index:2;margin:30px 0 0;font-size:14px;line-height:1.5;color:#9AA1B2}
.site-footer .foot-ent a{font-weight:500}

/* on a page inside a dropdown, its parent link reads as current too */
.nav-item.has-menu:has(.drop-item[aria-current="page"]) > .nav-link{background:rgba(143,166,255,0.14)}

/* footer opens on its headline, no label above it */
.site-footer .foot-page{padding-top:40px}
@media (max-width:860px){.site-footer .foot-page{padding-top:32px}}

/* comparison tables on phones: a compact grid with short answers; the full table returns on wider screens */
.mx{display:none;border:1px solid var(--line,#E4E7ED);border-radius:10px;overflow:hidden;background:#fff}
.mx-head,.mx-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.mx-head{background:var(--paper,#F6F7F9)}
.mx-head span{padding:10px 8px;font:500 10px 'Geist Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3,#7A8194);line-height:1.3}
.mx-head span.us{background:#0044FF;color:#fff}
.mx-row{border-top:1px solid var(--line,#E4E7ED)}
.mx-lab{grid-column:1 / -1;padding:10px 10px 2px;font-size:13px;font-weight:600;color:#0A0E1A}
.mx-lab i{font-style:normal;font-weight:400;color:var(--ink-3,#7A8194)}
.mx-lab i::before{content:" \00b7 "}
.mx-v{display:flex;align-items:center;gap:5px;padding:6px 8px 10px;font-size:13px;line-height:1.3;color:var(--ink-2,#3A4152)}
.mx-v svg{flex:none;width:14px;height:14px}
.mx-v.us{background:#F2F6FF;color:#0A0E1A;font-weight:600}
.mx-v.k-ok svg,.mx-v.us.k-ok span,.mx-v.us.k-blue span{color:#0044FF}
.mx-v.k-x svg{color:#E01023}
.mx-v.k-p svg{color:#A8AEBD}
@media (max-width:760px){.mx{display:block}}

/* The browser, not the site, paints these two: an autofilled field (which can turn dark when the phone is in dark mode),
   and the grey flash iPhones put over anything you tap. Keep fields white, keep the focus ring, drop the flash. */
html{-webkit-tap-highlight-color:transparent}
input:-webkit-autofill,input:-webkit-autofill:hover,textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-text-fill-color:#0A0E1A;caret-color:#0A0E1A;-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out 0s}
input:-webkit-autofill:focus,textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:#0A0E1A;-webkit-box-shadow:0 0 0 1000px #fff inset,0 0 0 3px rgba(0,68,255,0.22);box-shadow:0 0 0 1000px #fff inset,0 0 0 3px rgba(0,68,255,0.22)}
