/* All BIG Analytics - site V2. One stylesheet, mobile-first. */
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("../fonts/lato-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url("../fonts/lato-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--navy:#0B1F3A;--deep:#071023;--red:#D22B2B;--red-lt:#F26161;--mute:#45556d;--line:#E3E8F0;--tint:#F2F5FA;--ondark:#C9D3E3;--wrap:1120px;--head:"Montserrat",system-ui,sans-serif;--body:"Lato",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.55;color:var(--navy);background:#fff}
img,svg{max-width:100%;display:block}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--red-lt);outline-offset:3px;border-radius:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:.75rem 1rem;z-index:100;font-weight:700}
.skip:focus{left:.5rem;top:.5rem}
.dash{color:var(--red);font-weight:800;white-space:nowrap}
.dk .dash,.hero .dash,.ask .dash,.site-header .dash,.site-footer .dash{color:var(--red-lt)}
.big{color:var(--red)}
.nw{white-space:nowrap}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.25rem;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font:800 .95rem/1.1 var(--head);letter-spacing:.01em;border:2px solid var(--red);cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{background:#b82222;border-color:#b82222}
.btn-lg{min-height:52px;padding:.85rem 1.75rem;font-size:1.05rem}
/* header */
.site-header{background:var(--deep);border-bottom:1px solid #1b2a47;position:relative;z-index:20}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.65rem;padding-bottom:.65rem}
.brand{display:block;margin-right:auto;line-height:0}
.brand img{height:46px;width:auto}
.nav-toggle{order:3;width:44px;height:44px;border:1px solid #33456a;border-radius:8px;background:transparent;color:#fff;display:none;align-items:center;justify-content:center;cursor:pointer}
.js .nav-toggle{display:inline-flex}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:#fff;border-radius:2px;position:relative;content:""}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}
.bar .btn{order:2;padding:.5rem .9rem;font-size:.85rem}
.site-nav{order:4;flex-basis:100%}
.js .site-nav:not(.open){display:none}
.site-nav ul{display:flex;flex-direction:column;gap:.15rem;padding:.5rem 0 .75rem}
.site-nav a{display:flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font:700 1rem var(--head);border-bottom:3px solid transparent}
.site-nav a:hover{border-bottom-color:#33456a}
.site-nav a[aria-current=page]{border-bottom-color:var(--red)}
.site-nav a.quiet{color:#9fb0c8;font-weight:600;font-size:.9rem}
.site-nav a.quiet:hover{color:#fff}
@media(min-width:900px){
 .brand img{height:62px}
 .nav-toggle{display:none!important}
 .js .site-nav:not(.open){display:block}
 .site-nav{order:2;flex-basis:auto;margin-left:auto}
 .site-nav ul{flex-direction:row;align-items:center;gap:1.75rem;padding:0}
 .site-nav a{min-height:44px;font-size:.95rem}
 .bar .btn{order:3;font-size:.9rem;padding:.65rem 1.25rem}
 .brand{margin-right:0}
}
/* hero */
.hero{background:radial-gradient(70% 90% at 85% 55%,#1a2f5a 0%,#0c1a36 45%,var(--deep) 80%);color:#fff;border-bottom:5px solid var(--red);padding:2.25rem 0 2.5rem;overflow:hidden}
.hero h1{font:800 clamp(2.15rem,7.4vw,3.6rem)/1.08 var(--head);letter-spacing:-.015em}
.hero h1 .ln{display:block}
.hero h1 .r{color:var(--red)}
.hero .sub{margin-top:1.1rem;font-size:clamp(1.05rem,2.6vw,1.25rem);line-height:1.5;color:var(--ondark);max-width:34rem}
.hero .sub .dash,.hero .sub strong{font-weight:800}
.hero-grid{display:grid;gap:2rem;align-items:center}
.vtag{margin-top:1.1rem;font:800 .8125rem/1.4 var(--head);letter-spacing:.16em;text-transform:uppercase;color:#a9b8d0}
.hero .vtag .dash{color:var(--red-lt)}
@media(min-width:860px){
 .hero{padding:3.5rem 0 3.75rem}
 .hero-grid.two{grid-template-columns:minmax(0,4.6fr) minmax(0,6.4fr);gap:2rem}
}
.hero.center-vis .vis{max-width:820px;margin:2rem auto 0}
.hero.center-vis .head{max-width:60rem}
/* sections */
.sec{padding:2.5rem 0 1rem}
.kicker{display:flex;align-items:center;gap:.6rem;font:800 .8125rem/1 var(--head);letter-spacing:.22em;color:var(--red);text-transform:uppercase}
.kicker i{display:block;width:26px;height:3px;background:var(--red)}
.sec h2{font:800 clamp(1.6rem,4.6vw,2.2rem)/1.15 var(--head);margin-top:.6rem;letter-spacing:-.01em}
.tiles{display:grid;gap:1.5rem;margin-top:1.75rem;grid-template-columns:1fr}
.tile{border-top:4px solid var(--red);padding-top:1rem}
.tile svg{width:38px;height:38px}
.tile h3{font:800 1.2rem/1.2 var(--head);margin:.7rem 0 .4rem}
.tile p{color:var(--mute);line-height:1.5}
@media(min-width:560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem}}
@media(min-width:980px){.tiles.t4{grid-template-columns:repeat(4,minmax(0,1fr))}.tiles.t3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* department tiles (page 3) */
.dtiles{display:grid;gap:1.1rem;margin-top:1.75rem;grid-template-columns:1fr}
.dtile{display:flex;gap:1rem;align-items:flex-start;background:var(--tint);border-top:4px solid var(--red);border-radius:0 0 10px 10px;padding:1.1rem 1.2rem}
.dtile svg{flex:none;width:34px;height:34px;margin-top:2px}
.dtile h3{font:800 1.2rem/1.2 var(--head);margin-bottom:.3rem}
.dtile p{color:var(--mute);line-height:1.5}
@media(min-width:700px){.dtiles{grid-template-columns:repeat(6,minmax(0,1fr))}.dtile{grid-column:span 2}.dtile.s3{grid-column:span 3}}
/* explore row */
.explore{display:grid;gap:1rem;margin-top:2.5rem}
.xcard{display:block;background:var(--tint);border-left:6px solid var(--red);border-radius:10px;padding:1.1rem 1.3rem;text-decoration:none}
.xcard:hover{background:#e8edf6}
.xcard b{display:block;font:800 1.15rem/1.2 var(--head)}
.xcard span{display:block;margin-top:.25rem;color:var(--mute)}
.xcard em{font-style:normal;font-weight:800;color:var(--red)}
@media(min-width:700px){.explore{grid-template-columns:1fr 1fr}}
/* Hey DASH callout */
.hey{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2.5rem;background:var(--tint);border-left:6px solid var(--red);border-radius:12px;padding:1.2rem 1.4rem}
.hey .hs{flex:1 1 14rem}
.hey .hk{font:800 .8125rem/1 var(--head);letter-spacing:.22em;color:var(--red)}
.hey h3{font:800 clamp(1.35rem,4vw,1.7rem)/1.15 var(--head);margin-top:.3rem}
.hey p{color:var(--mute);flex:1 1 12rem}
.concept{font:800 .8125rem/1 var(--head);letter-spacing:.22em;color:var(--red);border:2px solid var(--red);padding:.5rem .75rem;border-radius:4px}
.tg{position:relative;flex:none;width:48px;height:48px;border-radius:50%;border:3px solid var(--red);box-shadow:0 0 12px rgba(210,43,43,.55);background:#3a1420;display:grid;place-items:center}
.tg::after{content:"";width:46%;height:46%;border-radius:50%;background:var(--red)}
/* ask band */
.ask-sec{padding:2.5rem 0 3rem}
.ask{background:var(--deep);color:#fff;border-left:6px solid var(--red);border-radius:12px;padding:1.75rem 1.5rem;display:grid;gap:1.25rem;align-items:center}
.ask h2{font:800 clamp(1.75rem,5vw,2.4rem)/1.1 var(--head);margin:0}
.ask p{color:var(--ondark);margin-top:.5rem;font-size:1.1rem}
.ask .who{font-size:.95rem;color:#a9b8d0;margin-top:.7rem}
@media(min-width:760px){.ask{grid-template-columns:1fr auto;padding:2rem 2.25rem;gap:2rem}.ask .act{text-align:right}}
/* footer */
.site-footer{background:var(--deep);color:var(--ondark);border-top:5px solid var(--red);padding:2rem 0 1.25rem;font-size:.95rem}
.foot{display:grid;gap:1.75rem}
.foot img{height:56px;width:auto}
.foot .tag{margin-top:.75rem;max-width:20rem;color:#a9b8d0}
.foot .fh{margin:0 0 .5rem;font:800 .8125rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:#fff}
.foot li{margin:0}
.foot a{display:inline-flex;align-items:center;min-height:36px;color:var(--ondark);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #1b2a47;font-size:.875rem;color:#a9b8d0}
.legal b{color:#fff;font-family:var(--head)}
@media(min-width:760px){.foot{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}

/* ---------- mockups: everything inside .mk is sized in em, 1em = 1% of the mockup width ---------- */
.mock{container-type:inline-size;position:relative;width:100%;aspect-ratio:100/70}
.mock.owner{aspect-ratio:100/66}
.mk{position:absolute;inset:0;font-size:1cqw;font-family:var(--head);color:#a9b8d0;line-height:1.2;pointer-events:none;user-select:none}
.mk *{box-sizing:border-box}
.mk .d{color:var(--red-lt);font-weight:800}
.laptop{position:absolute;left:0;top:3em;width:80em}
.mock.owner .laptop{left:4em;width:92em;top:2em}
.lp-screen{background:#1a2338;border:.2em solid #33456a;border-radius:1.5em 1.5em 0 0;padding:1.1em;box-shadow:0 3em 7em rgba(0,0,0,.55)}
.lp-scr{background:#0E1B34;border-radius:.7em;height:47em;display:flex;gap:1.4em;padding:1.6em;overflow:hidden}
.mock.owner .lp-scr{height:52em}
.mock.cc .lp-scr{height:53em}
.lp-base{height:1.7em;margin:0 -2.4em;background:linear-gradient(#2c3954,#151d2e);border-radius:0 0 1.8em 1.8em}
.side{width:17em;flex:none;display:flex;flex-direction:column;gap:.5em;border-right:.2em solid #22355a;padding-right:1em}
.side .sl{font-size:2.4em;font-weight:800;margin-bottom:.4em}
.si{color:var(--ondark);font-size:2.1em;font-weight:600;padding:.3em .5em;border-radius:.3em;white-space:nowrap}
.si.on{background:#14284c;border-left:.3em solid var(--red)}
.main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.9em}
.kick2{font-size:1.9em;font-weight:800;letter-spacing:.2em;color:var(--red-lt)}
.hh{color:#fff;font-weight:800;font-size:4.6em;line-height:1}
.hs2{font-size:2.2em;margin-top:-.4em}
.banner{background:#13264A;border-left:.45em solid var(--red);padding:.6em 1em;display:flex;align-items:center;gap:1em;border-radius:.3em;font-size:2.2em}
.banner b{color:#fff;font-size:1.35em}
.panes{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:.9em}
.panes.c3{grid-template-columns:repeat(3,1fr)}
.pane{background:#13264A;border-radius:.5em;padding:.8em;display:flex;flex-direction:column;gap:.6em;min-height:0;overflow:hidden}
.ph{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;font-size:2.3em}
.ph em{background:var(--red);color:#fff;font-style:normal;border-radius:1em;padding:0 .7em;font-size:.8em}
.pk{display:flex;gap:.5em}
.pk div{flex:1;background:#1b2f55;border-radius:.4em;padding:.4em .6em;display:flex;flex-direction:column}
.pk b{color:#fff;font-size:3em;line-height:1.1}
.pk span{font-size:1.9em}
.takeme{border:.15em solid var(--red);background:#13264A;color:#fff;text-align:center;font-weight:700;font-size:2.5em;padding:.5em;border-radius:.4em}
.ov-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:1em}
.ov{background:#13264A;border-radius:.5em;padding:1em;display:flex;flex-direction:column;justify-content:space-between;border-top:.3em solid var(--red)}
.ov .oh{color:#fff;font-weight:700;font-size:2.7em}
.ov .ob{color:#fff;font-weight:800;font-size:4.6em;line-height:1}
.ov span{font-size:2.1em}
.phone{position:absolute;right:0;top:11em;width:28em;height:58em;background:var(--deep);border:.4em solid #33456a;border-radius:4em;padding:3.4em 1.7em 1.7em;display:flex;flex-direction:column;gap:1.1em;box-shadow:0 3em 6em rgba(0,0,0,.6)}
.phone .nt{position:absolute;top:1.1em;left:50%;transform:translateX(-50%);width:9em;height:1em;border-radius:1em;background:#33456a}
.phone .pl{font-size:2.3em;font-weight:800}
.phone .ph1{color:#fff;font-weight:800;font-size:4em;line-height:1;margin-top:-.2em}
.phone .banner{font-size:2em;padding:.5em .8em}
.aw{display:flex;gap:.9em;align-items:center;background:#13264A;border-radius:.8em;padding:.8em 1em}
.aw i{width:1.5em;height:1.5em;border-radius:50%;background:var(--red);flex:none}
.aw i.g{background:#8FA0B8}
.aw div{display:flex;flex-direction:column}
.aw b{color:#fff;font-size:2.2em;line-height:1.15}
.aw span{font-size:1.8em}
.phone .pfoot{margin-top:auto;display:flex;align-items:center;gap:1em}
.phone .pbar{flex:1;border:.15em solid var(--red);background:#13264A;color:#fff;font-size:1.9em;font-weight:700;text-align:center;border-radius:.6em;padding:.45em .2em;line-height:1.25}
.phone .tgb{flex:none;width:6em;height:6em;border-radius:50%;border:.35em solid var(--red);box-shadow:0 0 1.6em rgba(210,43,43,.8);background:#3a1420;display:grid;place-items:center}
.phone .tgb::after{content:"";width:46%;height:46%;border-radius:50%;background:var(--red)}
.mock.dashonly .phone{top:9em}
/* narrow mockups: simplify so the type stays readable */
@container (max-width:520px){
 .side{display:none}
 .lp-scr{padding:1.4em;height:59em}
 .mock.owner .lp-scr{height:58em}
 .panes.c3{grid-template-columns:1fr 1fr}
 .panes.c3 .pane:nth-child(n+5){display:none}
 .panes .pane:nth-child(n+5){display:none}
 .hh{font-size:5.4em}
 .pk span{font-size:2.2em}
 .pk div:nth-child(2){display:none}
 .si,.ph,.takeme{font-size:2.7em}
 .banner{font-size:2.6em}
 .aw b{font-size:2.5em}.aw span{font-size:2.1em}
 .ov .oh{font-size:3.1em}.ov span{font-size:2.5em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sec h2.kicker{font:800 .8125rem/1 var(--head);letter-spacing:.22em;margin:0}
@media(min-width:860px){.hero-grid.two.wide-text{grid-template-columns:minmax(0,5.6fr) minmax(0,5.4fr)}}
.legal .bn{font-size:1.2rem}
