/* OnScreen Media — shared styles (from the design's common rules) */
@font-face{font-family:'A-Space Heavy';src:url(/assets/fonts/a-space-heavy.woff2) format('woff2'),url(/assets/fonts/a-space-heavy.otf) format('opentype');font-weight:800;font-style:normal;font-display:swap}
/* Fonts served from this site (no third-party requests) */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-749a30-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-1ab1ad-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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-749a30-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-1ab1ad-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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-749a30-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-1ab1ad-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:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-689cff-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-533c11-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:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-aba1f5-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-f8670f-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:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-41bcef-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-2b0817-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:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-9d552f-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-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-4cd3c7-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}
body{margin:0;background:#FFFFFF;color:#0A0A0B;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#0A0A0B}
a:hover{color:#3F3F46}
.wrap{max-width:1200px;margin:0 auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);box-sizing:border-box}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#3F3F46}
.hl{background:linear-gradient(transparent .2em,#EEFF00 .2em,#EEFF00 1.22em,transparent 1.22em);padding:0 .1em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
/* Headlines have tight line-height, so the highlight of one line reaches into the line above.
   Paint the highlight behind all of the headline's text so descenders (g, ț, ș) stay readable. */
.hl{position:relative;z-index:-1}
h1,h2{isolation:isolate}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:999px;background:#EEFF00;color:#0A0A0B;border:2px solid #0A0A0B;font:600 16px Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}
.btn:hover{color:#0A0A0B;transform:translate(-2px,-2px);box-shadow:4px 4px 0 #0A0A0B}
.btn-dark{background:#0A0A0B;color:#EEFF00;border-color:#0A0A0B}
.btn-dark:hover{color:#EEFF00;box-shadow:4px 4px 0 #EEFF00}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.navlink{text-decoration:none;color:#3F3F46;font-size:15px;font-weight:500;padding:10px 2px}
.navlink:hover{color:#0A0A0B}
.vivinet{font-family:'A-Space Heavy',Unbounded,sans-serif;font-weight:800;letter-spacing:.02em}
.pulse{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.inp{width:100%;box-sizing:border-box;height:50px;border:2px solid #D4D4D8;border-radius:12px;padding:0 14px;font:400 15px Inter,system-ui,sans-serif;color:#0A0A0B;background:#FFFFFF}
.inp:focus{outline:none;border-color:#0A0A0B;box-shadow:0 0 0 3px #EEFF00}
.lbl{display:block;font-size:13px;font-weight:600;color:#3F3F46;margin-bottom:6px}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
details[open] .faq-plus{transform:rotate(45deg)}
.faq-plus{transition:transform .2s ease}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0A0A0B;outline-offset:3px}
@media (max-width:1100px){.nav-links{display:none !important}}
/* form state wrappers: invisible to layout, toggled with [hidden] */
.dc{display:contents}
[hidden]{display:none !important}
/* contact topic picker */
.topic{border:2px solid #D4D4D8;background:#FFFFFF;color:#27272A}
.topic[aria-pressed="true"]{border:2px solid #0A0A0B;background:#EEFF00;color:#0A0A0B}
/* hamburger menu (shown where the desktop links are hidden) */
.nav-end{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:44px;height:44px;flex:none;align-items:center;justify-content:center;padding:0;border:2px solid #0A0A0B;border-radius:12px;background:#FFFFFF;color:#0A0A0B;cursor:pointer}
.menu-btn .ic-close{display:none}
.menu-btn[aria-expanded="true"]{background:#EEFF00}
.menu-btn[aria-expanded="true"] .ic-open{display:none}
.menu-btn[aria-expanded="true"] .ic-close{display:block}
.mobile-menu{background:#FFFFFF;border-top:1px solid #ECECEE;max-height:calc(100vh - 69px);max-height:calc(100dvh - 69px);overflow-y:auto}
.mobile-menu .wrap{padding-top:8px;padding-bottom:24px;display:flex;flex-direction:column;gap:20px}
.mm-links{display:flex;flex-direction:column}
.mm-link{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid #ECECEE;text-decoration:none;font:600 19px Poppins,sans-serif;letter-spacing:-.01em;color:#0A0A0B}
.mm-link::after{content:"→";font:600 18px Inter,sans-serif;color:#71717A}
.mm-link[aria-current="page"]::after{content:"";width:12px;height:12px;border-radius:4px;background:#EEFF00;border:2px solid #0A0A0B}
.mm-cta{width:100%}
@media (max-width:1100px){.menu-btn{display:inline-flex}}
@media (min-width:1101px){.mobile-menu{display:none !important}}
@media (max-width:640px){.nav-end>.btn{display:none}}
/* Phones: keep "Powered by VIVINET" next to the main logo, in a compact size */
@media (max-width:640px){
.brand{gap:10px !important}
.logo-main{height:30px !important}
.powered-head{gap:6px !important;padding-left:10px !important}
.pw-mark{height:22px !important}
.pw-text>span:first-child{font-size:8px !important}
.pw-text>.vivinet{font-size:12px !important}
}
/* Very narrow phones: the VIVINET mark alone (its link keeps the full accessible name) */
@media (max-width:359px){.pw-text{display:none !important}}
/* Very narrow phones: long button labels wrap instead of being cut off */
@media (max-width:400px){.btn{white-space:normal;text-align:center;line-height:1.25}}
/* ---- main menu: dropdowns (desktop) ---- */
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;border-radius:999px;background:transparent;font:500 15px Inter,system-ui,sans-serif;color:#3F3F46;cursor:pointer}
.dd-btn:hover,.dd-btn[aria-expanded="true"]{background:#F4F4F5;color:#0A0A0B}
.dd-btn.is-current{color:#0A0A0B;font-weight:600}
.dd-btn svg{transition:transform .2s ease}
.dd-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-links .navlink{padding:10px 12px}
.navlink[aria-current="page"]{color:#0A0A0B;font-weight:600}
.dd-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:10px;z-index:40}
.dd-panel.dd-right{left:auto;right:-60px;transform:none}
.dd-card{width:max-content;max-width:min(92vw,640px);padding:10px;border-radius:20px;border:2px solid #0A0A0B;background:#FFFFFF;box-shadow:8px 8px 0 #EEFF00}
.dd-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.dd-list.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dd-item{display:flex;align-items:center;gap:12px;min-width:250px;padding:10px 12px;border-radius:14px;text-decoration:none;color:#0A0A0B}
.dd-item:hover,.dd-item[aria-current="page"]{background:#F4F4F5;color:#0A0A0B}
.dd-ic{flex:none;width:38px;height:38px;box-sizing:border-box;border-radius:11px;border:2px solid #E4E4E7;background:#FFFFFF;color:#0A0A0B;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}
.dd-item:hover .dd-ic,.dd-item[aria-current="page"] .dd-ic,.mm-sub a[aria-current="page"] .dd-ic{background:#EEFF00;border-color:#0A0A0B}
.dd-t{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.dd-t strong{font:600 15px Poppins,sans-serif;letter-spacing:-.01em}
.dd-t span{font-size:13px;color:#52525B}
.dd-foot{margin-top:6px;padding:10px 12px 4px;border-top:1px solid #ECECEE;display:flex;justify-content:flex-end}
.dd-foot a{font-size:13px;font-weight:600;text-underline-offset:3px}
/* ---- main menu: accordion inside the mobile panel ---- */
.mm-group{border-bottom:1px solid #ECECEE}
.mm-toggle{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0;border:0;background:none;font:600 19px Poppins,sans-serif;letter-spacing:-.01em;color:#0A0A0B;cursor:pointer;text-align:left}
.mm-toggle svg{transition:transform .2s ease;color:#71717A}
.mm-toggle[aria-expanded="true"] svg{transform:rotate(180deg);color:#0A0A0B}
.mm-sub{list-style:none;margin:0;padding:0 0 12px;display:flex;flex-direction:column;gap:2px}
.mm-sub a{display:flex;align-items:center;gap:12px;min-height:48px;padding:4px 8px;border-radius:12px;text-decoration:none;font-size:16px;font-weight:500;color:#0A0A0B}
.mm-sub a:hover,.mm-sub a[aria-current="page"]{background:#F4F4F5}
.mm-sub a[aria-current="page"]{font-weight:600}
.mm-sub .dd-ic{width:34px;height:34px}
.mm-sub .mm-all{min-height:44px;padding-left:54px;font-size:14px;font-weight:600;color:#3F3F46;text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion: reduce){.dd-btn svg,.mm-toggle svg,.dd-ic{transition:none}}
/* Contact in the main menu, with its icon */
.nav-ic{display:inline-flex;align-items:center;gap:7px}
.mm-ic-label{display:inline-flex;align-items:center;gap:12px}
.mm-link .dd-ic{width:34px;height:34px}
.mm-link:hover .dd-ic,.mm-link[aria-current="page"] .dd-ic{background:#EEFF00;border-color:#0A0A0B}
.mm-link[aria-current="page"]::after{display:none}
/* Related guides block on service and industry pages */
.rg-title{margin:0 0 24px;font-family:Poppins,sans-serif;font-weight:700;font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.02em}
.rg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.rg-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:2px solid #E4E4E7;border-radius:20px;background:#FFFFFF;text-decoration:none;color:#0A0A0B;transition:border-color .15s ease,transform .15s ease}
.rg-card:hover{border-color:#0A0A0B;transform:translateY(-3px);color:#0A0A0B}
.rg-card strong{font:600 18px/1.3 Poppins,sans-serif;letter-spacing:-.01em}
.rg-card>span:not(.eyebrow):not(.rg-more){font-size:15px;line-height:1.5;color:#3F3F46}
.rg-more{margin-top:auto;padding-top:6px;font-size:14px;font-weight:600}
.rg-all{background:#F4F4F5}
@media (prefers-reduced-motion: reduce){.rg-card{transition:none}.rg-card:hover{transform:none}}
/* Form sending state and error message */
.btn[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none}
.form-error{margin:0;padding:12px 14px;border:2px solid #B42318;border-radius:12px;background:#FEF3F2;color:#7A271A;font-size:14px;line-height:1.5}
/* Turnstile box: takes no room unless Cloudflare needs the visitor to click */
.ts-box:empty{display:none}
.ts-box{min-height:0}
/* Cookie consent banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:460px;margin-left:auto;padding:20px;border:2px solid #0A0A0B;border-radius:20px;background:#FFFFFF;box-shadow:8px 8px 0 #EEFF00;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.55;color:#27272A}
.cookie-banner-title{margin:0;font:700 17px/1.3 Poppins,sans-serif;color:#0A0A0B}
.cookie-banner p{margin:0}
.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-banner-actions .btn{flex:1 1 120px}
.btn-ghost{background:#FFFFFF}
.btn-ghost:hover{background:#F4F4F5}
.footer-link-btn{padding:0;border:0;background:none;font:inherit;color:#52525B;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.footer-link-btn:hover{color:#0A0A0B}
@media (max-width:640px){.cookie-banner{bottom:84px;left:12px;right:12px;padding:16px}}
