/* Shared brand layer, loaded on every page. Local display and handwritten fonts
   replace the bundled Khand and Patrick Hand roles; Inter remains the body face. */
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bebas-neue-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bebas-neue-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Caveat";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/caveat-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+2020,U+20A0-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Caveat";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/caveat-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --font-khand:"Bebas Neue",Impact,sans-serif;
  --font-patrick-hand:"Caveat",cursive;
  --ov-blue:#006AB8;
  --ov-cyan:#00BEE9;
  --ov-green:#3BAD4C;
  --ov-orange:#FEA201;
  --ov-red:#F80100;
  --ov-purple:#6B20C7;
  --ov-gradient:linear-gradient(90deg,var(--ov-blue),var(--ov-cyan) 30%,var(--ov-green) 55%,var(--ov-orange) 78%,var(--ov-red));
}
html{font-synthesis-weight:none}
body,.font-sans{font-family:var(--font-inter),Inter,system-ui,sans-serif}
.ov-gradient-text{background:var(--ov-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* Keyword line inside the home and /services hero H1s (copy-overrides.js keeps it after re-renders). */
.ov-h1-tagline{display:block;margin-top:.9em;font-family:var(--font-inter),Inter,system-ui,sans-serif;font-size:clamp(1.05rem,1.6vw,1.6rem);font-weight:600;line-height:1.25;letter-spacing:0;text-transform:none}


/* One side margin for the whole site (header, page content, footer): 4vw on desktop,
   6vw below 1025px. The bundle's .paddx (home and services) follows it too. */
:root{--site-gutter:4vw}
@media(max-width:1024.98px){:root{--site-gutter:6vw}}
.paddx{padding-inline:var(--site-gutter)}

/* Main page links centred in the header bar (nav-links.js), desktop only: plain links on
   the header bar, current page filled navy like the MENU button, with a Services submenu that
   opens on hover or keyboard focus. */
.ov-top-links{position:fixed;left:50%;top:var(--hdr-top,0px);z-index:901;display:none;align-items:center;height:var(--hdr-h,77px);transform:translateX(-50%);font-family:var(--font-inter),Inter,system-ui,sans-serif;transition:opacity .25s ease,visibility .25s ease}
.ov-top-pill{display:flex;align-items:center;gap:4px}
.ov-top-item{position:relative;display:flex}
.ov-top-item>a{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 18px;border-radius:999px;color:#202A44;font-size:15px;font-weight:600;letter-spacing:-.005em;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.ov-top-item>a:hover,.ov-top-item.is-open>a{background:rgba(32,42,68,.07)}
.ov-top-item>a[aria-current="page"]{background:#202A44;color:#ECE2B1}
.ov-top-item>a svg{width:14px;height:14px;margin-right:-4px;transition:transform .25s ease}
.ov-top-item.is-open>a svg{transform:rotate(180deg)}
.ov-top-links a:focus-visible{outline:3px solid #F6BE4F;outline-offset:3px}
.ov-top-links.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
/* Submenu: padding-top bridges the gap below the pill so the pointer can move into it. */
.ov-top-sub{position:absolute;left:50%;top:100%;padding-top:14px;transform:translate(-50%,6px);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.ov-top-item.is-open .ov-top-sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ov-top-sub-panel{display:flex;flex-direction:column;min-width:280px;padding:8px;border:1.5px solid rgba(32,42,68,.14);border-radius:18px;background:#FFF9F0;box-shadow:0 18px 40px -18px rgba(32,42,68,.35)}
.ov-top-sub-panel a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;color:#202A44;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .2s ease}
.ov-top-sub-panel a:hover,.ov-top-sub-panel a:focus-visible{background:rgba(32,42,68,.06)}
.ov-top-sub-panel a[aria-current="page"]{background:rgba(246,190,79,.22)}
.ov-top-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--c)}
.ov-top-sub-panel .ov-top-all{margin-top:4px;padding-top:12px;border-top:1px solid rgba(32,42,68,.12);border-radius:0 0 12px 12px;color:rgba(32,42,68,.75);font-weight:500}
@media(prefers-reduced-motion:reduce){.ov-top-sub,.ov-top-item>a svg,.ov-top-item>a{transition:none}}
@media(min-width:1025px){.ov-top-links{display:flex}}
