@charset "utf-8";
/* Senariq — generated. Edit build/assets.py, not this file. */
:root{--navy:#0f2038;--ink:#12263f;--slate:#546273;--mist:#eaf0f5;
  --paper:#f7f9fb;--green:#3fd07a;--green-deep:#17874c;--link:#1c3f6e}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Public Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--link);text-decoration:none}
a:hover{color:#16345c}
main{display:block}

@keyframes sq-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes sq-dash{to{stroke-dashoffset:-32}}
@keyframes sq-float{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-6px)}}
@keyframes sq-blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes sq-sweep{0%{left:-25%}100%{left:115%}}

.sq-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--green);
  color:var(--navy);font-weight:600;padding:12px 18px;border-radius:0 0 9px 0}
.sq-skip:focus{left:0}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}

.sq-burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:40px;padding:0 10px;background:transparent;cursor:pointer;
  border:1px solid rgba(255,255,255,.24);border-radius:9px}
.sq-burger span{display:block;height:2px;background:#fff;border-radius:2px;
  transition:transform .25s ease,opacity .2s ease}
.sq-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sq-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.sq-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.sq-chip{-webkit-appearance:none;appearance:none}
.sq-chip.on{background:var(--navy) !important;border-color:var(--navy) !important;color:#fff !important}

.sq-hp{position:absolute !important;left:-9999px !important;width:1px !important;
  height:1px !important;opacity:0 !important;pointer-events:none}
.sq-status{display:none;margin:14px 0 0;font-size:14.5px;line-height:1.55;color:var(--green-deep)}
.sq-status.show{display:block}
.sq-status.err{color:#b3382f}
#assessment .sq-status{padding:0 32px 28px}
/* quick form sits on a dark card: brighter status colours, centred */
.sq-quick .sq-status{margin:2px 0 0;text-align:center;font-size:14px;color:#3fd07a}
.sq-quick .sq-status.err{color:#ff9b8f}
.sq-quick input:focus{border-color:#3fd07a !important}
.sq-submit[disabled]{opacity:.6;cursor:progress}

/* Breadcrumbs — styled like the eyebrow label they replaced */
.sq-crumbs{margin:0 0 18px}
.sq-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;
  font-family:'Archivo',sans-serif;font-weight:500;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;line-height:1.4}
.sq-crumbs li{display:inline-flex;align-items:center}
.sq-crumbs a{color:#8ea1b8;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s}
.sq-crumbs a:hover,.sq-crumbs a:focus-visible{color:#fff;border-bottom-color:rgba(255,255,255,.45)}
.sq-crumbs [aria-current="page"]{color:#d5dee8}
.sq-crumb-sep{color:#55687f;margin:0 10px}
/* Phones: the full trail wraps awkwardly and repeats the H1 right below it,
   so collapse it to a single back link to the parent ("← Services"). */
@media (max-width:560px){
  .sq-crumbs li{display:none}
  .sq-crumbs li:nth-last-child(2){display:inline-flex}
  .sq-crumbs li:nth-last-child(2) .sq-crumb-sep{display:none}
  .sq-crumbs li:nth-last-child(2) a::before{content:"← ";letter-spacing:0}
  .sq-crumbs a{padding:10px 0}
}

/* About: the team photo placeholder was removed, so give the remaining
   prose a readable measure instead of letting it span the full width. */
.solo{display:block !important;max-width:72ch}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
}
@media print{.sq-header,.sq-burger,footer{display:none !important}body{background:#fff}}

/* hover / focus states lifted out of the design export */
.h0:hover,.h0:focus-visible{color:#ffffff !important}
.h1:hover,.h1:focus-visible{background:#35c06e !important;transform:translateY(-1px) !important;color:#0f2038 !important}
.h2:hover,.h2:focus-visible{background:#35c06e !important;transform:translateY(-2px) !important;box-shadow:0 12px 28px rgba(63,208,122,.25) !important;color:#0f2038 !important}
.h3:hover,.h3:focus-visible{border-color:#fff !important;background:rgba(255,255,255,.06) !important;color:#fff !important}
.h4:hover,.h4:focus-visible{transform:translateY(-4px) !important;box-shadow:0 24px 48px -26px rgba(18,38,63,.55) !important;color:#f7f9fb !important}
.h5:hover,.h5:focus-visible{transform:translateY(-4px) !important;box-shadow:0 22px 46px -28px rgba(18,38,63,.35) !important;border-color:rgba(28,63,110,.4) !important;color:#12263f !important}
.h6:hover,.h6:focus-visible{color:#1c3f6e !important}
.h7:hover,.h7:focus-visible{transform:translateY(-4px) !important;box-shadow:0 24px 48px -26px rgba(15,32,56,.45) !important;border-color:#0f2038 !important;color:#f7f9fb !important}
.h8:hover,.h8:focus-visible{transform:translateY(-4px) !important;box-shadow:0 24px 48px -26px rgba(15,32,56,.45) !important;border-color:rgba(28,63,110,.35) !important;color:#12263f !important}
.h9:hover,.h9:focus-visible{background:#35c06e !important;transform:translateY(-2px) !important;color:#0f2038 !important}
.h10:hover,.h10:focus-visible{background:rgba(255,255,255,.06) !important;color:#fff !important}
.h11:hover,.h11:focus-visible{transform:translateY(-4px) !important;box-shadow:0 22px 46px -28px rgba(15,32,56,.4) !important}
.f12:focus{border-color:#17874c !important}
.h13:hover,.h13:focus-visible{background:#0f2038 !important;border-color:#0f2038 !important;color:#fff !important}
.h14:hover,.h14:focus-visible{background:#35c06e !important;transform:translateY(-1px) !important}
.h15:hover,.h15:focus-visible{color:#16345c !important}
.f16:focus{border-color:#3fd07a !important}

/* ---- responsive layer (overrides the export's inline styles) ---- */
@media (max-width:1020px){
.g3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.fs26{font-size:24px !important}
.fs30{font-size:26px !important}
.fs32{font-size:28px !important}
.fs34{font-size:29px !important}
.fs38{font-size:33px !important}
.fs40{font-size:34px !important}
.fs42{font-size:36px !important}
.fs44{font-size:38px !important}
.fs48{font-size:41px !important}
.fs52{font-size:45px !important}
.fs56{font-size:48px !important}
}
@media (max-width:780px){
.wrap{padding-left:20px !important;padding-right:20px !important}
.padbig{padding:26px !important}
.padmid{padding:24px 20px !important}
.g2{grid-template-columns:minmax(0,1fr) !important}
.g3{grid-template-columns:minmax(0,1fr) !important}
.g4{grid-template-columns:minmax(0,1fr) !important}
.gside{grid-template-columns:minmax(0,1fr) !important;gap:18px !important}
.gauto{grid-template-columns:minmax(0,1fr) !important}
.fs10_5{font-size:12px !important}
.fs11{font-size:12px !important}
.fs11_5{font-size:12px !important}
.fs26{font-size:21px !important}
.fs30{font-size:22px !important}
.fs32{font-size:24px !important}
.fs34{font-size:26px !important}
.fs38{font-size:28px !important}
.fs40{font-size:30px !important}
.fs42{font-size:32px !important}
.fs44{font-size:33px !important}
.fs48{font-size:36px !important}
.fs52{font-size:39px !important}
.fs56{font-size:42px !important}
.sq-header .wrap{height:68px !important}
/* Pin the header on mobile. position:sticky can't work here: the header lives
   inside the hero wrapper, which has overflow:hidden. So it is fixed instead,
   and the hero reserves its height so nothing jumps under it. */
.sq-header{position:fixed !important;top:0;left:0;right:0;z-index:90;
  background:rgba(15,32,56,.97);
  -webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);
  transition:box-shadow .2s ease}
.sq-header.scrolled{box-shadow:0 10px 24px -14px rgba(0,0,0,.65)}
.sq-hero{padding-top:69px}
[id]{scroll-margin-top:84px}
.sq-burger{display:flex}
.sq-nav{display:none !important;position:absolute;top:100%;left:0;right:0;z-index:80;
  max-height:calc(100vh - 69px);overflow-y:auto;
  background:var(--navy);border-bottom:1px solid rgba(255,255,255,.14);
  flex-direction:column !important;gap:0 !important;padding:6px 20px 16px;
  box-shadow:0 24px 40px -28px rgba(0,0,0,.8)}
.sq-nav.open{display:flex !important}
.sq-nav a{padding:14px 2px;font-size:16px !important;border-bottom:1px solid rgba(255,255,255,.08)}
.sq-nav a:last-child{border-bottom:none}
.linkcol{gap:0 !important}
.linkcol a{display:block;padding:10px 0}
.sq-legal{display:inline-block;padding:8px 0}
.toc{position:static !important;border-right:none !important;padding-right:0 !important;
  border-bottom:1px solid rgba(18,38,63,.12);padding-bottom:8px !important;margin-bottom:8px}
#assessment .sq-status{padding:0 20px 22px}
}
@media (max-width:460px){
.wrap{padding-left:16px !important;padding-right:16px !important}
.padbig{padding:20px !important}
.padmid{padding:22px 16px !important}
.sq-header .wrap{gap:10px !important}
.sq-header .wrap > div{gap:10px !important}
.sq-cta{padding:9px 13px !important;font-size:13px !important}
.sq-logo img{height:34px !important}
.sq-burger{width:40px;height:36px}
.fs26{font-size:20px !important}
.fs30{font-size:20px !important}
.fs32{font-size:20px !important}
.fs34{font-size:21px !important}
.fs38{font-size:24px !important}
.fs40{font-size:25px !important}
.fs42{font-size:26px !important}
.fs44{font-size:27px !important}
.fs48{font-size:30px !important}
.fs52{font-size:32px !important}
.fs56{font-size:35px !important}
}
