*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--wrap:1264px;--gutter:20px;--header-h:76px;--radius:14px}@media (min-width:1024px){:root{--gutter:40px;--header-h:84px}}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:clamp(1rem,.97rem + .13vw,1.0625rem);line-height:1.65;color:rgb(11 23 32/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body,h1,h2,h3,h4,h5,h6{--tw-text-opacity:1}h1,h2,h3,h4,h5,h6{font-family:Poppins,system-ui,Segoe UI,Arial,sans-serif;font-weight:600;color:rgb(6 25 52/var(--tw-text-opacity,1));letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(1.9375rem,1.35rem + 3.2vw,3.5rem);line-height:1.1}h1,h2{font-weight:800;letter-spacing:-.03em}h2{font-size:clamp(1.6875rem,1.4rem + 1.7vw,2.5rem);line-height:1.16}h3{font-size:clamp(1.5rem,1.3rem + 1vw,2rem);line-height:1.22}h4{font-size:clamp(1.25rem,1.1rem + .7vw,1.5rem);line-height:1.3}h5{font-size:clamp(1.125rem,1.05rem + .35vw,1.25rem);line-height:1.35}h6{font-size:clamp(1rem,.95rem + .25vw,1.0625rem);line-height:1.4}p{text-wrap:pretty}a{color:rgb(12 87 162/var(--tw-text-opacity,1))}a,a:hover{--tw-text-opacity:1}a:hover{color:rgb(8 66 124/var(--tw-text-opacity,1))}:focus-visible{outline:3px solid #1b6fc4;outline-offset:3px;border-radius:4px}.on-dark :focus-visible{outline-color:#fabc1c}img,video{display:block;max-width:100%}img[width][height]{height:auto}::-moz-selection{background:#fabc1c;color:#061934}::selection{background:#fabc1c;color:#061934}[hidden]{display:none!important}.container{width:100%}@media (min-width:360px){.container{max-width:360px}}@media (min-width:430px){.container{max-width:430px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1440px){.container{max-width:1440px}}@media (min-width:1920px){.container{max-width:1920px}}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:48px}@media (min-width:768px){.section{padding-block:64px}}@media (min-width:1280px){.section{padding-block:72px}}.section-tight{padding-block:36px}@media (min-width:768px){.section-tight{padding-block:48px}}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.8125rem;line-height:1.4;letter-spacing:.14em;font-weight:600;text-transform:uppercase;--tw-text-opacity:1;color:rgb(12 87 162/var(--tw-text-opacity,1))}.eyebrow:before{content:"";height:.375rem;width:.375rem;flex:none;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(250 188 28/var(--tw-bg-opacity,1))}.on-dark .eyebrow{color:rgb(250 188 28/var(--tw-text-opacity,1))}.lede,.on-dark .eyebrow{--tw-text-opacity:1}.lede{max-width:68ch;color:rgb(76 92 102/var(--tw-text-opacity,1));font-size:1.0625rem;line-height:1.65}.on-dark .lede{color:hsla(0,0%,100%,.7)}.prose-fx p{margin-bottom:1.25rem;--tw-text-opacity:1;color:rgb(76 92 102/var(--tw-text-opacity,1))}.prose-fx p:last-child{margin-bottom:0}.prose-fx strong{--tw-text-opacity:1;color:rgb(11 23 32/var(--tw-text-opacity,1))}.btn,.prose-fx strong{font-weight:600}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.75rem;padding-right:1.75rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;min-height:52px;letter-spacing:.01em;transition:background-color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.btn:active{transform:translateY(1px)}.btn-sky{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.75rem;padding-right:1.75rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;font-weight:600;min-height:52px;letter-spacing:.01em;transition:background-color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.btn-sky:active{transform:translateY(1px)}.btn-sky{background-color:rgb(250 188 28/var(--tw-bg-opacity,1));box-shadow:0 6px 20px -6px rgba(250,188,28,.7)}.btn-sky,.btn-sky:hover{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(6 25 52/var(--tw-text-opacity,1))}.btn-sky:hover{background-color:rgb(224 165 15/var(--tw-bg-opacity,1));box-shadow:0 10px 28px -8px rgba(250,188,28,.85)}.btn-brand{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.75rem;padding-right:1.75rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;font-weight:600;min-height:52px;letter-spacing:.01em;transition:background-color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.btn-brand:active{transform:translateY(1px)}.btn-brand{background-color:rgb(12 87 162/var(--tw-bg-opacity,1))}.btn-brand,.btn-brand:hover{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-brand:hover{background-color:rgb(8 66 124/var(--tw-bg-opacity,1))}.btn-ghost{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.75rem;padding-right:1.75rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;font-weight:600;min-height:52px;letter-spacing:.01em;transition:background-color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.btn-ghost:active{transform:translateY(1px)}.btn-ghost{border-width:1px;border-color:hsla(0,0%,100%,.3);background-color:hsla(0,0%,100%,.05);--tw-text-opacity:1;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.btn-ghost,.btn-ghost:hover{color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-ghost:hover{border-color:hsla(0,0%,100%,.6);background-color:hsla(0,0%,100%,.15);--tw-text-opacity:1}.btn-outline{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.75rem;padding-right:1.75rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;font-weight:600;min-height:52px;letter-spacing:.01em;transition:background-color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.btn-outline:active{transform:translateY(1px)}.btn-outline{border-width:1px;border-color:rgba(11,23,32,.2);background-color:transparent;--tw-text-opacity:1;color:rgb(11 23 32/var(--tw-text-opacity,1))}.btn-outline:hover{--tw-border-opacity:1;border-color:rgb(12 87 162/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(12 87 162/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-sm{padding-left:1.25rem;padding-right:1.25rem;font-size:.8125rem;min-height:44px}.\!card,.card{position:relative;display:block;border-width:1px;--tw-border-opacity:1;border-color:rgb(223 230 233/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem}.\!card{border-radius:var(--radius)!important;transition:box-shadow .26s cubic-bezier(.16,1,.3,1),transform .26s cubic-bezier(.16,1,.3,1),border-color .26s cubic-bezier(.16,1,.3,1)!important}.card{border-radius:var(--radius);transition:box-shadow .26s cubic-bezier(.16,1,.3,1),transform .26s cubic-bezier(.16,1,.3,1),border-color .26s cubic-bezier(.16,1,.3,1)}.card-link:hover{--tw-translate-y:-0.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:rgba(27,111,196,.4);box-shadow:0 24px 48px -20px rgba(11,23,32,.28)}.tag{background-color:rgba(12,87,162,.1);padding:.25rem .75rem;font-size:.75rem;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:rgb(8 66 124/var(--tw-text-opacity,1))}.pill,.tag{display:inline-flex;align-items:center;border-radius:9999px;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--tw-text-opacity:1}.pill{gap:.625rem;border-width:1px;border-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.1);padding:.5rem 1rem;font-size:.875rem;line-height:1.6;font-weight:500;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.pill:before{content:"";height:.5rem;width:.5rem;flex:none;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(250 188 28/var(--tw-bg-opacity,1));box-shadow:0 0 0 4px rgba(250,188,28,.25)}.field-label{margin-bottom:.5rem;display:block;font-size:.875rem;line-height:1.6;font-weight:600;--tw-text-opacity:1}.field,.field-label{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:rgb(11 23 32/var(--tw-text-opacity,1))}.field{width:100%;border-radius:.75rem;border-width:1px;border-color:rgba(76,92,102,.25);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.75rem 1rem;font-size:clamp(1rem,.97rem + .13vw,1.0625rem);line-height:1.65;--tw-text-opacity:1;min-height:52px;transition:border-color .2s ease-out,box-shadow .2s ease-out}.field::-moz-placeholder{--tw-text-opacity:1;color:rgb(138 154 165/var(--tw-text-opacity,1))}.field::placeholder{--tw-text-opacity:1;color:rgb(138 154 165/var(--tw-text-opacity,1))}.field:hover{border-color:rgba(76,92,102,.45)}.field:focus{--tw-border-opacity:1;border-color:rgb(12 87 162/var(--tw-border-opacity,1));box-shadow:0 0 0 4px rgba(12,87,162,.14);outline:none}.field[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.12)}.field-error{margin-top:.375rem;display:block;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;font-weight:500;color:#912018}.req{font-size:clamp(1rem,.97rem + .13vw,1.0625rem);line-height:1.65;font-weight:700;color:#912018}.skip-link{position:absolute;left:1rem;z-index:100;--tw-translate-y:-6rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(250 188 28/var(--tw-bg-opacity,1));padding:.75rem 1.5rem;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:.875rem;line-height:1.6;font-weight:600;--tw-text-opacity:1;top:10px;transition:transform .2s ease-out}.skip-link,.skip-link:focus{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));color:rgb(6 25 52/var(--tw-text-opacity,1))}.skip-link:focus{--tw-translate-y:0px}.link-cta,.skip-link:focus{--tw-text-opacity:1}.link-cta{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:rgb(12 87 162/var(--tw-text-opacity,1));min-height:44px}.link-cta svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}.link-cta:hover svg{transform:translateX(4px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-bottom-7{bottom:-1.75rem}.right-4{right:1rem}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-16{height:4rem}.h-8{height:2rem}.h-full{height:100%}.w-11{width:2.75rem}.w-16{width:4rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-md{max-width:28rem}.max-w-prose{max-width:68ch}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-12{row-gap:3rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[18px\]{border-radius:18px}.rounded-card{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-line{--tw-border-opacity:1;border-color:rgb(223 230 233/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-brand-600{--tw-bg-opacity:1;background-color:rgb(12 87 162/var(--tw-bg-opacity,1))}.bg-brand-600\/10{background-color:rgba(12,87,162,.1)}.bg-ink-900{--tw-bg-opacity:1;background-color:rgb(10 36 68/var(--tw-bg-opacity,1))}.bg-ink-950{--tw-bg-opacity:1;background-color:rgb(6 25 52/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(250 188 28/var(--tw-bg-opacity,1))}.bg-wash{--tw-bg-opacity:1;background-color:rgb(244 247 247/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-5{padding:1.25rem}.p-7{padding:1.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-0{padding-top:0}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-display{font-family:Poppins,system-ui,Segoe UI,Arial,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-h4{font-size:clamp(1.25rem,1.1rem + .7vw,1.5rem);line-height:1.3}.text-h5{font-size:clamp(1.125rem,1.05rem + .35vw,1.25rem);line-height:1.35}.text-h6{font-size:clamp(1rem,.95rem + .25vw,1.0625rem);line-height:1.4}.text-lg{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.6}.text-sm{font-size:.875rem;line-height:1.6}.text-xs{font-size:.75rem;line-height:1.5}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-wider{letter-spacing:.05em}.text-brand-500{--tw-text-opacity:1;color:rgb(27 111 196/var(--tw-text-opacity,1))}.text-brand-600{--tw-text-opacity:1;color:rgb(12 87 162/var(--tw-text-opacity,1))}.text-graphite-600{--tw-text-opacity:1;color:rgb(76 92 102/var(--tw-text-opacity,1))}.text-graphite-900{--tw-text-opacity:1;color:rgb(11 23 32/var(--tw-text-opacity,1))}.text-ink-950{--tw-text-opacity:1;color:rgb(6 25 52/var(--tw-text-opacity,1))}.text-ink-950\/70{color:rgba(6,25,52,.7)}.text-sky-400{--tw-text-opacity:1;color:rgb(250 188 28/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/25{color:hsla(0,0%,100%,.25)}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/55{color:hsla(0,0%,100%,.55)}.text-white\/65{color:hsla(0,0%,100%,.65)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow:0 1px 2px rgba(15,20,25,.04),0 8px 24px rgba(15,20,25,.06);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.stretch-link:after{content:"";position:absolute;inset:0;z-index:1}.text-sky-accent{--tw-text-opacity:1;color:rgb(250 188 28/var(--tw-text-opacity,1))}.hover\:border-sky-400\/60:hover{border-color:rgba(250,188,28,.6)}.hover\:bg-sky-400\/10:hover{background-color:rgba(250,188,28,.1)}.hover\:text-brand-700:hover{--tw-text-opacity:1;color:rgb(8 66 124/var(--tw-text-opacity,1))}.hover\:text-sky-400:hover{--tw-text-opacity:1;color:rgb(250 188 28/var(--tw-text-opacity,1))}@media (min-width:430px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:p-9{padding:2.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:1024px){.lg\:-right-7{right:-1.75rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:max-w-sm{max-width:24rem}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.lg\:grid-cols-\[1fr_0\.85fr\]{grid-template-columns:1fr .85fr}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}}@media (min-width:1280px){.xl\:inline-flex{display:inline-flex}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&_a\:hover\]\:text-sky-400 a:hover{--tw-text-opacity:1;color:rgb(250 188 28/var(--tw-text-opacity,1))}.\[\&_a\]\:text-white\/55 a{color:hsla(0,0%,100%,.55)}
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../fonts/poppins-latin-400-normal.woff2') format('woff2');
}
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('../fonts/poppins-latin-500-normal.woff2') format('woff2');
}
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('../fonts/poppins-latin-600-normal.woff2') format('woff2');
}
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../fonts/poppins-latin-700-normal.woff2') format('woff2');
}
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url('../fonts/poppins-latin-800-normal.woff2') format('woff2');
}
.site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 60;
transition: background-color 300ms cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1),
backdrop-filter 300ms;
}
.site-header.is-solid,
body:not(.has-hero) .site-header {
background: rgba(255, 255, 255, 0.92);
backdrop-filter: saturate(180%) blur(14px);
box-shadow: 0 1px 0 rgba(11, 23, 32, 0.08), 0 10px 30px -18px rgba(11, 23, 32, 0.4);
}
.header-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
min-height: var(--header-h);
}
.header-logo {
width: auto;
}
.header-brand {
color: #ffffff;
transition: color 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header.is-solid .header-brand,
body:not(.has-hero) .header-brand { color: #061934; }
.site-header.is-solid [data-call-btn],
body:not(.has-hero) .site-header [data-call-btn] {
border-color: rgba(11, 23, 32, 0.16);
background: transparent;
color: #0b1720;
}
.site-header.is-solid [data-call-btn]:hover,
body:not(.has-hero) .site-header [data-call-btn]:hover {
border-color: #0C57A2;
background: rgba(12, 87, 162, 0.07);
color: #0C57A2;
}
.nav-toggle {
border: 1px solid currentColor;
color: #ffffff;
opacity: 0.85;
transition: opacity 200ms ease-out, color 300ms ease-out;
}
.nav-toggle:hover { opacity: 1; }
.site-header.is-solid .nav-toggle,
body:not(.has-hero) .nav-toggle { color: #0b1720; }
.nav-item { position: relative; }
.nav-link {
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.55rem 0.7rem;
border-radius: 999px;
font-size: 0.875rem;
font-weight: 500;
color: #ffffff;
white-space: nowrap;
transition: color 200ms cubic-bezier(0.16, 1, 0.3, 1),
background-color 200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header.is-solid .nav-link,
body:not(.has-hero) .nav-link {
color: #0b1720;
}
.nav-link:hover,
.nav-link:focus-visible {
background: rgba(255, 255, 255, 0.14);
color: #ffffff;
}
.site-header.is-solid .nav-link:hover,
body:not(.has-hero) .nav-link:hover {
background: rgba(12, 87, 162, 0.09);
color: #0C57A2;
}
.nav-link[aria-current='page'] { color: #FABC1C; }
.site-header.is-solid .nav-link[aria-current='page'],
body:not(.has-hero) .nav-link[aria-current='page'] { color: #0C57A2; }
.nav-caret {
width: 11px;
height: 11px;
flex: none;
opacity: 0.7;
transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-link[aria-expanded='true'] .nav-caret { transform: rotate(180deg); }
.nav-panel {
position: absolute;
top: calc(100% + 10px);
left: 50%;
transform: translate(-50%, 10px);
width: 620px;
max-width: calc(100vw - 40px);
padding: 14px;
background: #ffffff;
border: 1px solid #dfe6e9;
border-radius: 18px;
box-shadow: 0 30px 70px -25px rgba(11, 23, 32, 0.42);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 220ms cubic-bezier(0.16, 1, 0.3, 1),
transform 220ms cubic-bezier(0.16, 1, 0.3, 1), visibility 220ms;
}
.nav-item.is-open > .nav-panel {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translate(-50%, 0);
}
.site-header .wrap { position: relative; }
.nav-item[data-mega] { position: static; }
.nav-panel.mega {
left: 0;
right: 0;
width: auto;
max-width: none;
transform: translateY(10px);
padding: 0;
overflow: hidden;
}
.nav-item[data-mega].is-open > .nav-panel.mega { transform: translateY(0); }
.mega-grid {
display: grid;
grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
min-height: 340px;
}
.mega-cats {
display: flex;
flex-direction: column;
gap: 2px;
padding: 14px;
background: #f4f7f7;
border-right: 1px solid #dfe6e9;
}
.mega-cat {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
padding: 11px 14px;
border: 0;
border-radius: 11px;
background: none;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 500;
color: #0b1720;
text-align: left;
cursor: pointer;
transition: background-color 180ms ease-out, color 180ms ease-out;
}
.mega-cat-label { flex: 1 1 auto; }
.mega-cat-arrow {
flex: none;
opacity: 0;
transform: translateX(-4px);
transition: opacity 180ms ease-out, transform 180ms ease-out;
}
.mega-cat:hover { background: rgba(12, 87, 162, 0.07); }
.mega-cat.is-active {
background: #ffffff;
color: #0C57A2;
font-weight: 600;
box-shadow: 0 6px 18px -10px rgba(11, 23, 32, 0.4);
}
.mega-cat.is-active .mega-cat-arrow { opacity: 1; transform: none; }
.mega-cat[data-current='page'] .mega-cat-label { text-decoration: underline; text-underline-offset: 3px; }
.mega-panels { position: relative; padding: 26px 30px; }
.mega-panel {
display: none;
animation: megaFade 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.mega-panel.is-active { display: block; }
@keyframes megaFade {
from { opacity: 0; transform: translateY(6px); }
to   { opacity: 1; transform: none; }
}
.mega-panel-head {
display: flex;
align-items: flex-start;
gap: 14px;
padding-bottom: 18px;
border-bottom: 1px solid #dfe6e9;
}
.mega-panel-icon {
display: grid;
place-items: center;
flex: none;
width: 44px;
height: 44px;
border-radius: 12px;
background: rgba(12, 87, 162, 0.1);
color: #0C57A2;
}
.mega-panel-title {
font-family: Poppins, sans-serif;
font-size: 1.0625rem;
font-weight: 600;
color: #061934;
}
.mega-panel-desc {
margin-top: 3px;
font-size: 0.8125rem;
line-height: 1.5;
color: #4c5c66;
max-width: 56ch;
}
.mega-links {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px 20px;
margin-top: 16px;
}
@media (min-width: 1400px) {
.mega-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.mega-links a {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 9px 12px;
border-radius: 9px;
font-size: 0.875rem;
line-height: 1.45;
color: #0b1720;
transition: background-color 160ms ease-out, color 160ms ease-out;
}
.mega-links a:hover,
.mega-links a:focus-visible { background: #f4f7f7; color: #0C57A2; }
.mega-dot {
flex: none;
width: 6px;
height: 6px;
border-radius: 999px;
background: #FABC1C;
margin-top: calc((1.45em - 6px) / 2);
}
.mega-cta {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 18px;
font-size: 0.875rem;
font-weight: 600;
color: #0C57A2;
}
.mega-cta svg { transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); }
.mega-cta:hover svg { transform: translateX(4px); }
.drawer-services { padding: 8px 12px 12px; }
.drawer-services a,
.drawer-sub .drawer-services a {
display: block;
padding: 12px 14px;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.04);
margin-bottom: 8px;
min-height: 0;
}
.drawer-services a:hover,
.drawer-services a:focus-visible { background: rgba(250, 188, 28, 0.1); border-color: rgba(250, 188, 28, 0.4); }
.drawer-service-top {
display: flex;
align-items: center;
gap: 10px;
}
.drawer-service-icon {
display: grid;
place-items: center;
flex: none;
width: 32px;
height: 32px;
border-radius: 9px;
background: rgba(250, 188, 28, 0.14);
color: #FABC1C;
}
.drawer-service-name {
flex: 1 1 auto;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
color: #ffffff;
}
.drawer-service-count {
flex: none;
min-width: 22px;
padding: 2px 7px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.1);
font-size: 0.6875rem;
font-weight: 600;
color: rgba(255, 255, 255, 0.7);
text-align: center;
}
.drawer-service-kids {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
overflow: hidden;
margin-top: 5px;
padding-left: 42px;
font-size: 0.75rem;
line-height: 1.45;
color: rgba(255, 255, 255, 0.45);
}
.nav-panel-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 4px;
}
.nav-panel:not(.mega) a {
display: flex;
align-items: flex-start;
gap: 0.75rem;
padding: 0.75rem 0.85rem;
border-radius: 12px;
color: #0b1720;
transition: background-color 200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.nav-panel:not(.mega) a:hover,
.nav-panel:not(.mega) a:focus-visible { background: #f4f7f7; color: #0b1720; }
.nav-panel .idx {
font-family: Poppins, sans-serif;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.06em;
color: #0C57A2;
flex: none;
padding-top: 3px;
width: 1.5rem;
}
.nav-panel .nav-panel-title {
display: block;
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.3;
}
.nav-panel .nav-panel-desc {
display: block;
margin-top: 2px;
font-size: 0.8125rem;
line-height: 1.45;
color: #4c5c66;
}
body.nav-open { overflow: hidden; }
.drawer-backdrop {
position: fixed;
inset: 0;
z-index: 79;
background: rgba(6, 25, 52, 0.65);
backdrop-filter: blur(3px);
opacity: 0;
visibility: hidden;
transition: opacity 260ms cubic-bezier(0.16, 1, 0.3, 1), visibility 260ms;
}
.drawer {
position: fixed;
inset: 0 0 0 auto;
z-index: 80;
width: min(100%, 430px);
display: flex;
flex-direction: column;
background: #061934;
transform: translateX(100%);
visibility: hidden;
transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), visibility 320ms;
overscroll-behavior: contain;
}
body.nav-open .drawer { transform: translateX(0); visibility: visible; }
body.nav-open .drawer-backdrop { opacity: 1; visibility: visible; }
.drawer-scroll {
flex: 1 1 auto;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
padding-bottom: 96px;
}
.drawer-link {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
min-height: 58px;
padding: 1rem 1.5rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
font-family: Poppins, sans-serif;
font-size: 1.0625rem;
font-weight: 600;
color: #ffffff;
text-align: left;
}
.drawer-link:hover,
.drawer-link:focus-visible { background: rgba(250, 188, 28, 0.1); color: #FABC1C; }
.drawer-sub {
display: grid;
grid-template-rows: 0fr;
background: rgba(0, 0, 0, 0.3);
transition: grid-template-rows 260ms cubic-bezier(0.16, 1, 0.3, 1);
}
.drawer-sub > div { overflow: hidden; }
.drawer-link[aria-expanded='true'] + .drawer-sub { grid-template-rows: 1fr; }
.drawer-link[aria-expanded='true'] .nav-caret { transform: rotate(180deg); }
.drawer-sub a {
display: flex;
align-items: center;
min-height: 50px;
padding: 0.8rem 1.5rem 0.8rem 2.75rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
font-size: 0.9375rem;
color: rgba(255, 255, 255, 0.85);
}
.drawer-sub a:hover,
.drawer-sub a:focus-visible { background: rgba(250, 188, 28, 0.1); color: #FABC1C; }
.fab {
position: fixed;
z-index: 70;
display: grid;
place-items: center;
width: 56px;
height: 56px;
border-radius: 999px;
box-shadow: 0 12px 30px -8px rgba(6, 25, 52, 0.45);
transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
opacity 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.fab:hover { transform: translateY(-3px); }
.fab-whatsapp {
left: 20px;
bottom: 20px;
background: #25d366;
color: #ffffff;
box-shadow: 0 10px 26px -8px rgba(37, 211, 102, 0.6);
}
.fab-whatsapp::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background: #25d366;
opacity: 0.55;
z-index: -1;
animation: fab-pulse 2.6s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
.fab-whatsapp svg {
width: 27px;
height: 27px;
}
@keyframes fab-pulse {
0%   { transform: scale(1);    opacity: 0.55; }
70%  { transform: scale(1.85); opacity: 0; }
100% { transform: scale(1.85); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
.fab-whatsapp::before { animation: none; opacity: 0; }
}
.fab-top {
right: 20px;
bottom: 20px;
background: #0C57A2;
color: #ffffff;
opacity: 0;
visibility: hidden;
}
.fab-top.is-visible { opacity: 1; visibility: visible; }
@media (max-width: 767px) {
.fab-whatsapp { bottom: 76px; }
.fab-top { bottom: 76px; }
}
.bottom-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 65;
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid rgba(255, 255, 255, 0.12);
padding-bottom: env(safe-area-inset-bottom, 0);
}
.bottom-bar a {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
min-height: 58px;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
}
@media (min-width: 768px) { .bottom-bar { display: none; } }
@media (max-width: 767px) { body { padding-bottom: 58px; } }
.hero {
position: relative;
min-height: 680px;
height: 100svh;
max-height: 1000px;
overflow: hidden;
background: #061934;
}
@supports not (height: 100svh) { .hero { height: 100vh; } }
.hero-track { position: absolute; inset: 0; }
.hero-slide {
position: absolute;
inset: 0;
opacity: 0;
visibility: hidden;
transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), visibility 900ms;
}
.hero-slide.is-active { opacity: 1; visibility: visible; }
.no-js .hero { height: auto; max-height: none; }
.no-js .hero-track { position: static; }
.no-js .hero-slide { position: relative; min-height: 560px; opacity: 1; visibility: visible; }
.no-js .hero-tabs,
.hero-media { position: absolute; inset: 0; }
.hero-media img,
.hero-media video {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
.hero-slide.is-active .hero-media > * {
animation: heroDrift 16s ease-out forwards;
}
@keyframes heroDrift {
from { transform: scale(1.02); }
to   { transform: scale(1.12); }
}
.hero-media video {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 800ms ease-out;
}
.hero-media video.is-ready { opacity: 1; }
.hero-overlay {
position: absolute;
inset: 0;
background:
linear-gradient(180deg, rgba(6, 25, 52, 0.82) 0%, rgba(6, 25, 52, 0.15) 32%, rgba(6, 25, 52, 0.55) 72%, rgba(6, 25, 52, 0.95) 100%),
linear-gradient(100deg, rgba(6, 25, 52, 0.92) 0%, rgba(6, 25, 52, 0.6) 48%, rgba(6, 25, 52, 0.2) 100%);
}
@media (max-width: 1023px) {
.hero-overlay {
background: linear-gradient(180deg, rgba(6, 25, 52, 0.86) 0%, rgba(6, 25, 52, 0.62) 40%, rgba(6, 25, 52, 0.94) 100%);
}
}
.hero-inner {
position: relative;
z-index: 2;
display: grid;
align-items: center;
gap: 48px;
height: 100%;
padding-top: calc(var(--header-h) + 32px);
padding-bottom: 132px;
}
.hero-copy { max-width: 640px; }
@media (min-width: 1280px) {
.hero-copy { max-width: 720px; }
}
.hero-slide .hero-copy > * {
opacity: 0;
transform: translateY(20px);
transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1),
transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero-slide.is-active .hero-copy > * { opacity: 1; transform: none; }
.hero-slide.is-active .hero-copy > *:nth-child(2) { transition-delay: 90ms; }
.hero-slide.is-active .hero-copy > *:nth-child(3) { transition-delay: 170ms; }
.hero-slide.is-active .hero-copy > *:nth-child(4) { transition-delay: 250ms; }
.hero-slide.is-active .hero-copy > *:nth-child(5) { transition-delay: 330ms; }
.hero-tabs {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 3;
border-top: 1px solid rgba(255, 255, 255, 0.16);
background: linear-gradient(180deg, rgba(6, 25, 52, 0) 0%, rgba(6, 25, 52, 0.5) 100%);
}
.hero-tabs-inner {
display: flex;
gap: 8px;
overflow-x: auto;
scrollbar-width: none;
padding-block: 14px;
}
@media (min-width: 1024px) {
.hero-tabs-inner { justify-content: center; }
}
.hero-tabs-inner::-webkit-scrollbar { display: none; }
.hero-tab {
display: flex;
align-items: center;
gap: 12px;
flex: none;
padding: 12px 16px;
min-height: 48px;
font-family: Poppins, sans-serif;
font-size: 0.875rem;
font-weight: 500;
color: rgba(255, 255, 255, 0.6);
white-space: nowrap;
background: none;
border: 0;
cursor: pointer;
transition: color 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero-tab:hover { color: rgba(255, 255, 255, 0.9); }
.hero-tab[aria-selected='true'] {
color: #ffffff;
font-weight: 600;
}
.hero-tab-bar {
display: block;
width: 34px;
height: 3px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.28);
flex: none;
transition: background-color 240ms cubic-bezier(0.16, 1, 0.3, 1),
width 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero-tab[aria-selected='true'] .hero-tab-bar {
background: #FABC1C;
width: 52px;
}
.hero-tab[aria-selected='true'] .hero-tab-bar::after {
content: '';
display: block;
height: 100%;
width: 0;
border-radius: 999px;
background: rgba(255, 255, 255, 0.85);
}
.hero.is-playing .hero-tab[aria-selected='true'] .hero-tab-bar::after {
animation: heroTabProgress 7000ms linear forwards;
}
@keyframes heroTabProgress {
from { width: 0; }
to   { width: 100%; }
}
.page-hero {
position: relative;
overflow: hidden;
background: #061934;
padding-top: calc(var(--header-h) + 44px);
padding-bottom: 52px;
}
@media (min-width: 1024px) {
.page-hero { padding-top: calc(var(--header-h) + 64px); padding-bottom: 72px; }
}
.page-hero::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(120% 90% at 88% 10%, rgba(12, 87, 162, 0.5) 0%, transparent 60%),
radial-gradient(80% 70% at 0% 100%, rgba(250, 188, 28, 0.14) 0%, transparent 65%);
}
.page-hero > * { position: relative; z-index: 1; }
.page-hero--bg {
padding-top: calc(var(--header-h) + 56px);
padding-bottom: 60px;
background: #061934;
}
@media (min-width: 1024px) {
.page-hero--bg { padding-top: calc(var(--header-h) + 72px); padding-bottom: 76px; }
}
@media (min-width: 768px) {
.page-hero--bg {
width: 100%;
min-height: clamp(480px, 50vw, 720px);
display: grid;
align-content: center;
}
}
.hero-bg {
position: absolute;
inset: 0;
z-index: 0;
margin: 0;
}
.hero-bg img,
.hero-bg img[width][height] {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
.hero-bg picture {
display: block;
width: 100%;
height: 100%;
}
.page-hero--bg .hero-bg::after {
content: '';
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(180deg, rgba(6, 25, 52, 0.84) 0%, rgba(6, 25, 52, 0.62) 45%, rgba(6, 25, 52, 0.8) 100%);
}
@media (min-width: 768px) {
.page-hero--bg .hero-bg::after {
background:
linear-gradient(90deg, rgba(6, 25, 52, 0.93) 0%, rgba(6, 25, 52, 0.76) 42%, rgba(6, 25, 52, 0.32) 78%, rgba(6, 25, 52, 0.46) 100%),
linear-gradient(180deg, rgba(6, 25, 52, 0.42) 0%, transparent 32%, rgba(6, 25, 52, 0.46) 100%);
}
}
.page-hero--bg::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
height: 2px;
background: linear-gradient(90deg, transparent, rgba(250, 188, 28, 0.75), transparent);
}
.page-hero--bg::before { display: none; }
.hero-bg-body {
position: relative;
z-index: 1;
max-width: 40rem;
}
@media (min-width: 1280px) {
.hero-bg-body { max-width: 44rem; }
}
.page-hero--plain .hero-bg-body {
max-width: 46rem;
margin-inline: auto;
text-align: center;
}
.page-hero--plain .eyebrow { justify-content: center; }
.page-hero--plain .hero-cta { justify-content: center; }
.page-hero--plain .hero-facts { justify-content: center; text-align: center; }
.hero-cta {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 32px;
}
.page-hero--split {
padding-top: calc(var(--header-h) + 40px);
padding-bottom: 48px;
}
@media (min-width: 1024px) {
.page-hero--split { padding-top: calc(var(--header-h) + 56px); padding-bottom: 64px; }
}
.page-hero--split .hero-split {
display: grid;
gap: 36px;
align-items: center;
}
@media (min-width: 1024px) {
.page-hero--split .hero-split {
grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
gap: 56px;
}
}
.page-hero--split::before {
background:
radial-gradient(66% 100% at 6% 0%, rgba(12, 87, 162, 0.5) 0%, transparent 62%),
radial-gradient(52% 80% at 100% 100%, rgba(250, 188, 28, 0.2) 0%, transparent 62%);
}
.hero-shot {
position: relative;
border-radius: 20px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.14);
box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.85);
}
.hero-shot img {
display: block;
width: 100%;
height: auto;
aspect-ratio: 4 / 3;
object-fit: cover;
}
.hero-shot::after {
content: '';
position: absolute;
inset: auto 0 0 0;
height: 4px;
background: var(--grad-brand);
}
.page-hero--split::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(250, 188, 28, 0.5), transparent);
}
.hero-facts {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 14px 36px;
margin-top: 34px;
padding-top: 26px;
border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.hero-fact-value {
display: block;
font-family: Poppins, sans-serif;
font-size: 1.5rem;
font-weight: 800;
letter-spacing: -0.02em;
color: #fff;
}
.hero-fact-label {
display: block;
margin-top: 2px;
font-size: 0.8125rem;
color: rgba(255, 255, 255, 0.6);
}
.band-glow {
position: relative;
isolation: isolate;
}
.band-glow::before {
content: '';
position: absolute;
inset: 0;
z-index: -1;
background:
radial-gradient(90% 70% at 82% 0%, rgba(12, 87, 162, 0.5) 0%, transparent 62%),
radial-gradient(70% 60% at 0% 100%, rgba(250, 188, 28, 0.12) 0%, transparent 60%);
}
.detail-hero { padding-bottom: 48px; }
@media (min-width: 1024px) { .detail-hero { padding-bottom: 64px; } }
.detail-hero-media {
position: relative;
border-radius: 18px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.12);
box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.8);
}
.detail-hero-media img {
width: 100%;
height: auto;
aspect-ratio: 4 / 3;
object-fit: contain;
background: #0a1524;
}
.detail-scope-num {
display: block;
font-family: Poppins, sans-serif;
font-size: 0.8125rem;
font-weight: 700;
letter-spacing: 0.1em;
color: #0C57A2;
}
.spec-table-wrap {
overflow-x: auto;
border: 1px solid #dfe6e9;
border-radius: 16px;
background: #ffffff;
}
.spec-table {
width: 100%;
border-collapse: collapse;
font-size: 0.9375rem;
min-width: 520px;
}
.spec-table th,
.spec-table td {
padding: 15px 20px;
text-align: left;
vertical-align: top;
border-bottom: 1px solid #eef2f5;
}
.spec-table thead th {
background: #f4f7fb;
font-family: Poppins, sans-serif;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #4c5c66;
white-space: nowrap;
}
.spec-table tbody th {
font-weight: 600;
color: #061934;
}
.spec-table td { color: #4c5c66; }
.spec-table tbody tr:last-child th,
.spec-table tbody tr:last-child td { border-bottom: 0; }
.spec-table tbody tr:hover { background: #f9fbfd; }
.gallery-item {
overflow: hidden;
border-radius: 14px;
border: 1px solid #dfe6e9;
background: #ffffff;
transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 260ms cubic-bezier(0.16, 1, 0.3, 1);
}
.gallery-item img {
width: 100%;
height: auto;
aspect-ratio: 3 / 2;
object-fit: contain;
background: #f4f7fa;
transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.gallery-item figcaption {
padding: 14px 18px;
font-size: 0.875rem;
font-weight: 500;
color: #061934;
}
.gallery-item:hover {
transform: translateY(-4px);
box-shadow: 0 24px 48px -24px rgba(11, 23, 32, 0.35);
}
.gallery-item:hover img { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) {
.gallery-item:hover,
.gallery-item:hover img { transform: none !important; }
}
.marquee {
position: relative;
overflow: hidden;
-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.marquee-track {
display: flex;
width: max-content;
animation: marquee 46s linear infinite;
}
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track { animation-play-state: paused; }
@keyframes marquee {
from { transform: translateX(0); }
to   { transform: translateX(-50%); }
}
.reviews {
position: relative;
overflow: hidden;
}
.reviews-viewport { overflow: hidden; }
.reviews-track {
--rev-gap: 24px;
display: flex;
gap: var(--rev-gap);
transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
will-change: transform;
}
.reviews { --rev-per: 1; }
@media (min-width: 640px)  { .reviews { --rev-per: 2; } }
@media (min-width: 1024px) { .reviews { --rev-per: 3; } }
.review-card {
flex: 0 0 var(--rev-card-w, 100%);
display: flex;
flex-direction: column;
transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1),
opacity 600ms cubic-bezier(0.22, 1, 0.36, 1),
filter 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.js .reviews[data-focus] .review-card {
transform: scale(0.955);
filter: none;
opacity: 0.82;
}
.js .reviews[data-focus] .review-card.is-current {
transform: scale(1);
filter: none;
opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
.js .reviews[data-focus] .review-card {
transform: none;
filter: none;
opacity: 1;
transition: none;
}
}
.reviews-dots {
display: flex;
justify-content: center;
gap: 6px;
margin-top: 36px;
}
.reviews-dot {
display: grid;
place-items: center;
width: 44px;
height: 44px;
background: none;
border: 0;
cursor: pointer;
}
.reviews-dot::before {
content: '';
width: 26px;
height: 3px;
border-radius: 999px;
background: rgba(11, 23, 32, 0.18);
transition: background-color 240ms ease-out, width 240ms ease-out;
}
.reviews-dot[aria-current='true']::before { background: #0C57A2; width: 40px; }
.acc-item {
border: 1px solid #dfe6e9;
border-radius: var(--radius);
background: #ffffff;
transition: border-color 240ms ease-out, box-shadow 240ms ease-out;
}
.acc-item + .acc-item { margin-top: 12px; }
.acc-item.is-open {
border-color: rgba(12, 87, 162, 0.45);
box-shadow: 0 18px 40px -24px rgba(11, 23, 32, 0.4);
}
.acc-trigger {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
width: 100%;
padding: 22px 24px;
font-family: Poppins, sans-serif;
font-size: 1.0625rem;
font-weight: 600;
color: #0b1720;
text-align: left;
background: none;
border: 0;
cursor: pointer;
}
.acc-icon {
position: relative;
flex: none;
width: 32px;
height: 32px;
border-radius: 999px;
background: #f4f7f7;
transition: background-color 240ms ease-out, transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
.acc-icon::before,
.acc-icon::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 12px;
height: 2px;
border-radius: 2px;
background: #0C57A2;
transform: translate(-50%, -50%);
transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), opacity 200ms;
}
.acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.acc-item.is-open .acc-icon { background: #FABC1C; transform: rotate(180deg); }
.acc-item.is-open .acc-icon::before,
.acc-item.is-open .acc-icon::after { background: #061934; }
.acc-item.is-open .acc-icon::after { opacity: 0; }
.acc-panel {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.acc-item.is-open .acc-panel { grid-template-rows: 1fr; }
.acc-panel > div { overflow: hidden; }
.acc-panel p { padding: 0 24px 24px; color: #4c5c66; }
.process-card {
position: relative;
overflow: hidden;
padding: 30px 26px 28px;
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.1);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
transition: border-color 260ms cubic-bezier(0.16, 1, 0.3, 1),
transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
background-color 260ms cubic-bezier(0.16, 1, 0.3, 1);
}
.process-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #FABC1C, rgba(250, 188, 28, 0));
transform: scaleX(0);
transform-origin: left;
transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.process-card:hover {
transform: translateY(-5px);
border-color: rgba(250, 188, 28, 0.35);
}
.process-card:hover::before { transform: scaleX(1); }
.process-num {
position: absolute;
top: 6px;
right: 14px;
font-family: Poppins, sans-serif;
font-size: 5.25rem;
font-weight: 700;
line-height: 1;
letter-spacing: -0.04em;
color: rgba(255, 255, 255, 0.06);
pointer-events: none;
user-select: none;
}
.process-chip {
display: inline-flex;
align-items: center;
padding: 4px 11px;
border-radius: 999px;
background: rgba(250, 188, 28, 0.14);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #FABC1C;
}
.process-title {
position: relative;
margin-top: 18px;
font-family: Poppins, sans-serif;
font-size: 1.125rem;
font-weight: 600;
line-height: 1.3;
color: #ffffff;
}
.process-body {
position: relative;
margin-top: 10px;
font-size: 0.9375rem;
line-height: 1.6;
color: rgba(255, 255, 255, 0.66);
}
.tile {
position: relative;
display: block;
overflow: hidden;
border-radius: var(--radius);
min-height: 300px;
background: #123156;
transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
.tile img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.tile::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(0deg, rgba(6, 25, 52, 0.95) 0%, rgba(6, 25, 52, 0.45) 48%, rgba(6, 25, 52, 0.1) 100%);
}
.tile:hover { transform: translateY(-6px); box-shadow: 0 28px 56px -24px rgba(6, 25, 52, 0.6); }
.tile:hover img { transform: scale(1.07); }
.tile > .tile-body { position: relative; z-index: 2; }
.hp-field {
position: absolute !important;
left: -9999px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
.site-footer {
position: relative;
background-image: linear-gradient(
90deg,
rgba(250, 188, 28, 0) 0%,
rgba(250, 188, 28, 0.55) 22%,
rgba(250, 188, 28, 0.85) 50%,
rgba(250, 188, 28, 0.55) 78%,
rgba(250, 188, 28, 0) 100%
);
background-repeat: no-repeat;
background-size: 100% 2px;
background-position: top center;
}
@media (min-width: 1536px) {
.site-footer .wrap { max-width: 1440px; }
}
.footer-heading {
font-family: Poppins, sans-serif;
font-size: 1.0625rem;
font-weight: 600;
line-height: 1.3;
color: #ffffff;
letter-spacing: -0.01em;
}
.footer-list a {
display: inline-block;
font-size: 0.9375rem;
line-height: 1.45;
padding-block: 5px;
color: rgba(255, 255, 255, 0.62);
transition: color 200ms ease-out;
}
.footer-list a:hover,
.footer-list a:focus-visible { color: #FABC1C; }
.footer-social-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
}
.site-footer .footer-social {
display: grid;
place-items: center;
width: 40px;
height: 40px;
}
@media (max-width: 767px) {
.site-footer .footer-social {
width: 44px;
height: 44px;
min-height: 0;
}
}
.contact-list {
--contact-chip: 2rem;
--contact-line: 1.25rem;
}
.contact-list .contact-row { align-items: flex-start; }
.contact-list .contact-body {
line-height: var(--contact-line);
padding-block-start: calc((var(--contact-chip) - var(--contact-line)) / 2);
}
.contact-list .contact-icon {
border: 1px solid rgba(12, 87, 162, 0.14);
transition: background-color 200ms ease-out, border-color 200ms ease-out;
}
.contact-list .contact-row:hover .contact-icon {
background-color: rgba(12, 87, 162, 0.12);
border-color: rgba(12, 87, 162, 0.28);
}
.on-dark .contact-list .contact-icon {
border-color: rgba(255, 255, 255, 0.08);
}
.on-dark .contact-list .contact-row:hover .contact-icon {
background-color: rgba(250, 188, 28, 0.16);
border-color: rgba(250, 188, 28, 0.34);
}
.reg-list {
margin-top: 2rem;
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 1.5rem;
}
.reg-row {
display: flex;
gap: 0.75rem;
align-items: baseline;
}
.reg-row + .reg-row { margin-top: 0.5rem; }
.reg-label {
flex: none;
width: 6ch;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.5);
}
.reg-value {
font-size: 0.8125rem;
font-weight: 500;
letter-spacing: 0.02em;
font-variant-numeric: tabular-nums;
color: rgba(255, 255, 255, 0.82);
-webkit-user-select: all;
user-select: all;
}
.footer-legal { padding-bottom: 5.5rem; }
.page-map {
overflow: hidden;
border-radius: 18px;
border: 1px solid #dfe6e9;
box-shadow: 0 24px 48px -28px rgba(11, 23, 32, 0.35);
}
.page-map iframe {
display: block;
width: 100%;
height: 340px;
border: 0;
}
@media (min-width: 768px) { .page-map iframe { height: 440px; } }
@media (min-width: 1280px) { .page-map iframe { height: 520px; } }
.footer-map {
position: relative;
overflow: hidden;
border-radius: 14px;
border: 1px solid rgba(250, 188, 28, 0.22);
box-shadow: 0 18px 34px -20px rgba(0, 0, 0, 0.7);
transition: border-color 240ms ease-out, box-shadow 240ms ease-out;
}
.footer-map::after {
content: '';
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
border-radius: inherit;
box-shadow: inset 0 0 0 1px rgba(6, 25, 52, 0.28);
}
.footer-map iframe {
display: block;
width: 100%;
height: 200px;
border: 0;
filter: saturate(1.08);
}
.footer-map:hover,
.footer-map:focus-within {
border-color: rgba(250, 188, 28, 0.5);
box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.75);
}
@media (prefers-reduced-motion: reduce) {
.footer-map { transition: none; }
}
@media (min-width: 1024px) {
.footer-map iframe { height: 168px; }
}
@media (max-width: 767px) {
.contact-list a:not(.contact-inline-link),
nav[aria-label='Breadcrumb'] a {
display: inline-flex;
align-items: center;
min-height: 44px;
}
.contact-list .contact-inline-link { padding-block: 10px; }
}
@media (max-width: 767px) {
.site-footer a {
display: inline-flex;
align-items: center;
min-height: 44px;
padding-block: 0;
}
.site-footer .contact-inline-link {
display: inline;
min-height: 0;
padding-block: 10px;
}
.site-footer .footer-map iframe { height: 220px; }
}
.js [data-reveal] {
opacity: 0;
transform: translateY(22px);
transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1),
transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
will-change: opacity, transform;
}
.js [data-reveal].is-revealed { opacity: 1; transform: none; will-change: auto; }
.reveal-fallback [data-reveal] { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
.marquee-track { animation: none !important; transform: none !important; }
.hero-slide.is-active .hero-media > * { animation: none !important; transform: none !important; }
.hero.is-playing .hero-tab[aria-selected='true'] .hero-tab-bar::after { animation: none !important; }
[data-reveal] { opacity: 1 !important; transform: none !important; }
.hero-slide .hero-copy > * { opacity: 1 !important; }
.tile:hover, .tile:hover img, .card-link:hover, .fab:hover { transform: none !important; }
.reviews-track { transition: none; }
}
.sec-head {
display: block;
max-width: 46rem;
margin-inline: auto;
text-align: center;
}
.sec-head .eyebrow { justify-content: center; }
.sec-head-aside {
margin-top: 18px;
margin-inline: auto;
max-width: 42rem;
font-size: 1rem;
line-height: 1.75;
color: #4c5a67;
}
.on-dark .sec-head-aside { color: rgba(255, 255, 255, 0.66); }
@media (min-width: 1024px) {
.sec-head { max-width: 52rem; }
.sec-head-aside { margin-top: 22px; }
}
.sec-head--start {
margin-inline: 0;
text-align: left;
}
.sec-head--start .eyebrow { justify-content: flex-start; }
.sec-head--start .sec-head-aside { margin-inline: 0; }
.fx-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 24px;
}
.fx-grid > * {
display: flex;
flex: 0 1 100%;
min-width: 0;
}
.fx-grid > * > * { width: 100%; }
@media (min-width: 640px) {
.fx-2 > *, .fx-3 > *, .fx-4 > * { flex-basis: calc((100% - 24px) / 2); }
}
@media (min-width: 1024px) {
.fx-3 > *, .fx-4 > * { flex-basis: calc((100% - 48px) / 3); }
}
@media (min-width: 1280px) {
.fx-grid { gap: 28px; }
.fx-2 > * { flex-basis: calc((100% - 28px) / 2); }
.fx-3 > * { flex-basis: calc((100% - 56px) / 3); }
.fx-4 > * { flex-basis: calc((100% - 84px) / 4); }
}
.detail-about { display: grid; gap: 28px; }
@media (min-width: 1024px) {
.detail-about {
grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
gap: 72px;
align-items: start;
}
.detail-about-head { position: sticky; top: calc(var(--header-h) + 32px); }
}
@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
.detail-about-head { position: static; }
}
.gallery-open {
position: relative;
display: block;
width: 100%;
padding: 0;
border: 0;
background: none;
cursor: zoom-in;
}
.gallery-zoom {
position: absolute;
right: 12px;
bottom: 12px;
display: grid;
place-items: center;
width: 38px;
height: 38px;
border-radius: 50%;
background: rgba(6, 25, 52, 0.72);
color: #fff;
opacity: 0;
transform: translateY(6px);
transition: opacity 220ms ease, transform 220ms ease;
backdrop-filter: blur(4px);
}
.gallery-item:hover .gallery-zoom,
.gallery-open:focus-visible .gallery-zoom { opacity: 1; transform: translateY(0); }
@media (hover: none) {
.gallery-zoom { opacity: 1; transform: none; }
}
.lightbox {
position: fixed;
inset: 0;
z-index: 120;
display: grid;
place-items: center;
padding: 20px;
}
.lightbox-backdrop {
position: absolute;
inset: 0;
background: rgba(3, 8, 16, 0.92);
backdrop-filter: blur(6px);
cursor: zoom-out;
}
.lightbox-panel {
position: relative;
z-index: 1;
width: min(100%, 1120px);
display: grid;
justify-items: center;
gap: 14px;
}
.lightbox-figure {
position: relative;
display: inline-flex;
width: auto;
max-width: 100%;
border-radius: 18px;
overflow: hidden;
background: #0a1220;
border: 1px solid rgba(255, 255, 255, 0.09);
box-shadow: 0 50px 110px -35px rgba(0, 0, 0, 0.95);
}
.lightbox-img {
display: block;
width: auto;
height: auto;
max-width: 100%;
max-height: min(78vh, 840px);
}
.lightbox-caption {
max-width: 46rem;
text-align: center;
font-size: 1.0625rem;
font-weight: 600;
color: #fff;
}
.lightbox-count {
font-size: 0.75rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.42);
}
.lightbox-close,
.lightbox-nav {
position: absolute;
z-index: 2;
display: grid;
place-items: center;
width: 46px;
height: 46px;
border-radius: 50%;
border: 1px solid rgba(255, 255, 255, 0.18);
background: rgba(6, 25, 52, 0.78);
color: #fff;
transition: background 200ms ease, transform 200ms ease;
}
.lightbox-close:hover,
.lightbox-nav:hover { background: #0C57A2; transform: scale(1.06); }
.lightbox-close { top: -58px; right: 0; }
.lightbox-prev  { left: 10px;  top: 50%; transform: translateY(-50%); }
.lightbox-next  { right: 10px; top: 50%; transform: translateY(-50%); }
.lightbox-prev:hover, .lightbox-next:hover { transform: translateY(-50%) scale(1.06); }
@media (max-width: 639px) {
.lightbox-panel { gap: 12px; }
.lightbox-close { top: -52px; width: 42px; height: 42px; }
.lightbox-prev, .lightbox-next {
position: static;
transform: none;
width: 44px;
height: 44px;
}
.lightbox-prev:hover, .lightbox-next:hover { transform: scale(1.06); }
.lightbox-controls { display: flex; gap: 16px; }
}
@media (min-width: 640px) { .lightbox-controls { display: contents; } }
@media (prefers-reduced-motion: reduce) {
.lightbox-close:hover, .lightbox-nav:hover { transform: none; }
.lightbox-prev:hover, .lightbox-next:hover { transform: translateY(-50%); }
.gallery-zoom { transition: none; }
}
.section-cta {
padding-block: 44px 64px;
background: #f4f7fa;
}
main > section:last-child:not(.section-cta) { padding-bottom: 72px; }
@media (min-width: 768px) {
main > section:last-child:not(.section-cta) { padding-bottom: 88px; }
}
@media (min-width: 1280px) {
main > section:last-child:not(.section-cta) { padding-bottom: 104px; }
}
.cta-panel {
position: relative;
overflow: hidden;
background: #061934;
padding-block: 40px;
}
.cta-panel--sky { background: #FABC1C; }
@media (min-width: 768px) {
.cta-panel { padding-block: 56px; }
}
@media (min-width: 1280px) {
.cta-panel { padding-block: 72px; }
}
.service-band {
text-align: center;
}
.service-band img {
display: inline-block;
vertical-align: middle;
width: 100%;
height: auto;
aspect-ratio: var(--band-w, 16) / var(--band-h, 9);
max-width: calc(440px * var(--band-w, 16) / var(--band-h, 9));
border-radius: 22px;
border: 1px solid #e6ebf0;
background: #f2f5f8;
}
@media (min-width: 1280px) {
.service-band img { max-width: calc(520px * var(--band-w, 16) / var(--band-h, 9)); }
}
@media (max-width: 639px) {
.service-band img { max-width: calc(340px * var(--band-w, 16) / var(--band-h, 9)); }
}
@media (min-width: 768px) {
.section-cta { padding-block: 56px 80px; }
}
@media (min-width: 1280px) {
.section-cta { padding-block: 64px 96px; }
}
.step-card {
position: relative;
height: 100%;
border-radius: 16px;
border: 1px solid #dfe6e9;
background: #fff;
padding: 28px 24px;
transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}
.step-card:hover {
border-color: #FFC489;
box-shadow: 0 24px 48px -28px rgba(11, 23, 32, 0.32);
transform: translateY(-3px);
}
.step-num {
display: grid;
place-items: center;
width: 44px;
height: 44px;
border-radius: 12px;
background: rgba(12, 87, 162, 0.09);
color: #0C57A2;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 700;
letter-spacing: 0.04em;
}
@media (prefers-reduced-motion: reduce) {
.step-card:hover { transform: none; }
}
@media (min-width: 1600px) {
:root { --wrap: 1352px; --gutter: 52px; }
}
@media (min-width: 1920px) {
:root { --wrap: 1448px; --gutter: 60px; }
.section { padding-block: 84px; }
}
.marquee-chip {
display: flex;
align-items: center;
gap: 10px;
flex: none;
margin-inline: 10px;
padding: 15px 26px;
border: 1px solid #e2e8ef;
border-radius: 14px;
background: #fff;
white-space: nowrap;
font-size: 0.9375rem;
font-weight: 600;
color: #33414f;
box-shadow: 0 1px 2px rgba(11, 23, 32, 0.04);
}
.marquee-chip::before {
content: '';
flex: none;
width: 7px;
height: 7px;
border-radius: 50%;
background: #FABC1C;
}
.sector-card {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
border-radius: 18px;
border: 1px solid #e6ebf0;
background: #fff;
transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 280ms cubic-bezier(0.16, 1, 0.3, 1),
border-color 280ms ease;
}
.sector-card-media {
position: relative;
overflow: hidden;
aspect-ratio: 3 / 2;
background: #fff;
}
.sector-card-media img {
width: 100%;
height: 100%;
object-fit: contain;
transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.sector-card-body {
display: flex;
flex-direction: column;
flex: 1;
padding: 26px 26px 28px;
}
.sector-card-title {
font-family: Poppins, sans-serif;
font-size: 1.1875rem;
font-weight: 700;
letter-spacing: -0.015em;
color: #061934;
}
.sector-card-line {
margin-top: 8px;
font-size: 0.9375rem;
line-height: 1.65;
color: #4c5a67;
}
.sector-card-cta {
display: inline-flex;
align-items: center;
gap: 7px;
margin-top: auto;
padding-top: 18px;
font-size: 0.875rem;
font-weight: 600;
color: #0C57A2;
}
.sector-card:hover {
transform: translateY(-5px);
border-color: #FFC489;
box-shadow: 0 28px 56px -28px rgba(11, 23, 32, 0.34);
}
.sector-card:hover .sector-card-media img { transform: scale(1.06); }
.sector-card:hover .sector-card-cta { color: #08427C; }
@media (prefers-reduced-motion: reduce) {
.sector-card:hover { transform: none; }
.sector-card:hover .sector-card-media img { transform: none; }
}
:root {
--grad-brand: linear-gradient(135deg, #0c57a2 0%, #1b6fc4 45%, #fabc1c 100%);
--grad-accent: linear-gradient(135deg, #fabc1c 0%, #ffd25e 100%);
--grad-blue: linear-gradient(135deg, #08427c 0%, #0c57a2 100%);
}
.rule-brand {
display: block;
width: 58px;
height: 4px;
border-radius: 999px;
background: var(--grad-blue);
}
.sec-head .rule-brand { margin: 18px auto 0; }
.sec-head--start .rule-brand { margin-inline: 0; }
.band-glow::before {
background:
radial-gradient(80% 62% at 78% 0%, rgba(12, 87, 162, 0.5) 0%, transparent 60%),
radial-gradient(66% 56% at 8% 100%, rgba(250, 188, 28, 0.22) 0%, transparent 62%),
radial-gradient(40% 40% at 96% 88%, rgba(250, 188, 28, 0.14) 0%, transparent 60%);
}
.icon-tile {
display: grid;
place-items: center;
width: 52px;
height: 52px;
border-radius: 14px;
background: var(--grad-blue);
color: #fff;
box-shadow: 0 10px 22px -12px rgba(12, 87, 162, 0.75);
}
.icon-tile svg { width: 24px; height: 24px; stroke-width: 2.1; }
.service-card {
position: relative;
overflow: hidden;
padding: 0;
display: flex;
flex-direction: column;
transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 260ms cubic-bezier(0.16, 1, 0.3, 1),
border-color 260ms ease;
}
.service-card-media {
position: relative;
overflow: hidden;
background: #eef2f6;
}
.service-card-media img {
display: block;
width: 100%;
height: auto;
aspect-ratio: 3 / 2;
object-fit: cover;
transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.service-card:hover .service-card-media img { transform: scale(1.04); }
.service-card-chip {
position: absolute;
left: 12px;
bottom: 12px;
display: grid;
place-items: center;
width: 36px;
height: 36px;
border-radius: 10px;
background: var(--grad-blue);
color: #fff;
box-shadow: 0 8px 18px -8px rgba(6, 25, 52, 0.7);
}
.service-card-body {
display: flex;
flex: 1 1 auto;
flex-direction: column;
padding: 18px 20px 22px;
}
.service-card-body .link-cta { margin-top: auto; padding-top: 14px; }
@media (min-width: 1280px) {
.service-card-body { padding: 20px 22px 24px; }
}
.service-card::before {
content: '';
position: absolute;
inset: 0 0 auto 0;
height: 3px;
background: var(--grad-blue);
transform: scaleX(0);
transform-origin: left;
transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.service-card:hover::before { transform: scaleX(1); }
.service-card:hover {
transform: translateY(-4px);
border-color: #9ecbef;
box-shadow: 0 26px 50px -28px rgba(11, 23, 32, 0.34);
}
.service-card-num {
position: absolute;
right: 12px;
top: 12px;
min-width: 30px;
padding: 4px 8px;
border-radius: 8px;
background: rgba(6, 25, 52, 0.62);
font-family: Poppins, sans-serif;
font-size: 0.75rem;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.04em;
text-align: center;
color: #ffffff;
}
.service-card:hover .service-card-num { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
.service-card:hover { transform: none; }
.service-card::before { transition: none; }
}
.on-dark .icon-tile {
background: linear-gradient(135deg, rgba(250, 188, 28, 0.9) 0%, rgba(255, 210, 94, 0.75) 100%);
color: #061934;
box-shadow: 0 10px 22px -12px rgba(250, 188, 28, 0.7);
}
.header-brand {
display: inline-flex;
align-items: center;
flex: none;
}
.header-logo { display: none; }
.header-logo img[width][height] { display: block; width: auto; height: 44px; }
@media (min-width: 1024px) {
.header-logo img[width][height] { height: 52px; }
}
body.has-hero .site-header:not(.is-solid) .header-logo--ondark { display: block; }
body.has-hero .site-header.is-solid .header-logo--onlight { display: block; }
body:not(.has-hero) .header-logo--onlight { display: block; }
.footer-logo img[width][height] { display: block; width: auto; height: 50px; }
.plant-frame {
position: relative;
overflow: hidden;
border-radius: 22px;
border: 1px solid #e2e8ef;
background: #eef2f6;
box-shadow: 0 30px 60px -34px rgba(11, 23, 32, 0.4);
}
.plant-frame img {
display: block;
width: 100%;
height: auto;
}
.sectors-strip {
overflow: hidden;
border-radius: 18px;
border: 1px solid #e6ebf0;
background: #f4f7fa;
}
.sectors-strip img {
display: block;
width: 100%;
height: auto;
}
.mvv-grid {
display: grid;
gap: 24px;
}
@media (min-width: 768px) {
.mvv-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
}
.mvv-card {
display: flex;
flex-direction: column;
align-items: center;
height: 100%;
padding: 40px 30px 38px;
border-radius: 20px;
border: 1px solid #e6ebf0;
background: #fff;
text-align: center;
transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 280ms cubic-bezier(0.16, 1, 0.3, 1),
border-color 280ms ease;
}
.mvv-card:hover {
transform: translateY(-5px);
border-color: #FFC489;
box-shadow: 0 30px 60px -30px rgba(11, 23, 32, 0.32);
}
.mvv-icon {
display: grid;
place-items: center;
width: 74px;
height: 74px;
border-radius: 50%;
background: rgba(12, 87, 162, 0.08);
color: #0C57A2;
}
.mvv-title {
position: relative;
margin-top: 26px;
padding-bottom: 14px;
font-family: Poppins, sans-serif;
font-size: 1.25rem;
font-weight: 700;
letter-spacing: -0.015em;
color: #061934;
}
.mvv-title::after {
content: '';
position: absolute;
left: 50%;
bottom: 0;
width: 46px;
height: 3px;
border-radius: 999px;
background: #FABC1C;
transform: translateX(-50%);
}
.mvv-body {
margin-top: 18px;
font-size: 0.9375rem;
line-height: 1.75;
color: #4c5a67;
}
.mvv-note {
margin-top: 56px;
text-align: center;
font-size: 0.8125rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: #8592a0;
}
@media (prefers-reduced-motion: reduce) {
.mvv-card:hover { transform: none; }
}
.team-grid {
display: grid;
gap: 26px;
max-width: 90%;
margin-inline: auto;
}
@media (min-width: 1024px) {
.team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}
.team-card {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
border-radius: 20px;
border: 1px solid #e6ebf0;
background: #fff;
}
.team-media {
overflow: hidden;
background: #123156;
}
.team-media img,
.team-media img[width][height] {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
object-fit: contain;
background: #0d1b2a;
transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.team-card:hover .team-media img { transform: scale(1.04); }
.team-body {
display: block;
padding: 26px 28px 30px;
}
.team-title {
display: block;
font-family: Poppins, sans-serif;
font-size: 1.125rem;
font-weight: 700;
color: #061934;
}
.team-line {
display: block;
margin-top: 9px;
font-size: 0.9375rem;
line-height: 1.7;
color: #4c5a67;
}
@media (prefers-reduced-motion: reduce) {
.team-card:hover .team-media img { transform: none; }
}
@media print {
.drawer, .drawer-backdrop, .marquee, .lightbox { display: none !important; }
.hero { height: auto; min-height: 0; }
.hero-slide { position: static; opacity: 1; visibility: visible; }
body { padding-bottom: 0; color: #000; }
}
.cert-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: stretch;
gap: 18px;
}
.cert-grid > * {
display: flex;
flex: 0 1 100%;
min-width: 0;
}
@media (min-width: 640px) {
.cert-grid > * { flex-basis: calc((100% - 18px) / 2); }
}
@media (min-width: 1100px) {
.cert-grid > * { flex-basis: calc((100% - 36px) / 3); }
}
.cert-card {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
padding: 0;
overflow: hidden;
border: 1px solid #dfe6e9;
border-radius: 16px;
background: #ffffff;
text-align: left;
font: inherit;
color: inherit;
transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.cert-media--open {
display: block;
padding: 0;
border: 0;
background: none;
font: inherit;
cursor: zoom-in;
width: 100%;
}
.cert-card--openable:hover,
.cert-card--openable:focus-within {
transform: translateY(-3px);
border-color: #9ecbef;
box-shadow: 0 22px 42px -26px rgba(15, 23, 42, 0.42);
}
.cert-media {
position: relative;
display: block;
width: 100%;
aspect-ratio: 12 / 5;
overflow: hidden;
background: #eef2f6;
border-bottom: 1px solid #e8edf1;
}
.cert-media img,
.cert-media img[width][height] {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top center;
transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.cert-card--openable:hover .cert-media img { transform: scale(1.03); }
.cert-media-zoom {
position: absolute;
right: 10px;
bottom: 10px;
display: grid;
place-items: center;
width: 30px;
height: 30px;
border-radius: 8px;
background: rgba(6, 25, 52, 0.72);
color: #ffffff;
opacity: 0;
transform: translateY(4px);
transition: opacity 220ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.cert-card--openable:hover .cert-media-zoom,
.cert-media--open:focus-visible .cert-media-zoom { opacity: 1; transform: none; }
.cert-media--mark {
display: grid;
place-items: center;
background: linear-gradient(180deg, #f6fafd 0%, #eef3f8 100%);
}
.cert-media--mark img,
.cert-media--mark img[width][height] {
width: auto;
height: auto;
max-width: 42%;
max-height: 66%;
object-fit: contain;
transform: none;
}
.cert-media--type {
gap: 8px;
padding: 24px;
text-align: center;
}
.cert-type-standard {
font-family: Poppins, sans-serif;
font-size: 1.0625rem;
font-weight: 700;
line-height: 1.3;
letter-spacing: -0.01em;
color: #0c57a2;
}
.cert-type-body {
font-size: 0.75rem;
font-weight: 500;
line-height: 1.5;
color: #4c5c66;
}
.cert-body {
display: flex;
flex: 1 1 auto;
flex-direction: column;
padding: 16px 18px 18px;
}
.cert-standard {
display: block;
font-family: Poppins, sans-serif;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.09em;
text-transform: uppercase;
color: #0c57a2;
}
.cert-name {
display: block;
margin-top: 6px;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.35;
color: #061934;
}
.cert-rows {
margin-top: 12px;
border-top: 1px solid #eef2f5;
}
.cert-row {
display: grid;
gap: 1px 12px;
padding: 8px 0;
border-bottom: 1px solid #eef2f5;
}
@media (min-width: 420px) {
.cert-row { grid-template-columns: 98px minmax(0, 1fr); }
}
.cert-row dt {
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #616e7c;
}
.cert-row dd {
font-size: 0.8125rem;
line-height: 1.5;
color: #35424b;
overflow-wrap: anywhere;
}
.cert-row:last-child { border-bottom: 0; }
.cert-note {
display: block;
margin-top: 10px;
font-size: 0.75rem;
line-height: 1.5;
color: #616e7c;
}
.cert-card--pending { border-color: #f4d3ab; }
.cert-note--pending {
display: flex;
align-items: flex-start;
gap: 6px;
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #eef2f5;
color: #a25a00;
}
.cert-note--pending svg { flex: none; margin-top: 2px; }
.cert-plates {
display: grid;
gap: 10px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 560px) {
.cert-plates { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.cert-plate {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
gap: 2px;
height: 100%;
padding: 14px 10px 12px;
border: 1px solid #e2e9ef;
border-radius: 14px;
background: #ffffff;
text-align: center;
text-decoration: none;
transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.cert-plate:hover {
transform: translateY(-2px);
border-color: #b9d8f2;
box-shadow: 0 14px 30px -20px rgba(15, 23, 42, 0.4);
}
.cert-plate-mark {
display: grid;
place-items: center;
width: 100%;
height: 46px;
margin-bottom: 8px;
}
.cert-plate-mark img {
max-width: 100%;
max-height: 46px;
width: auto;
height: auto;
object-fit: contain;
}
.cert-plate-mark img[width][height] {
height: auto;
max-height: 46px;
}
.cert-plate-name {
font-family: Poppins, sans-serif;
font-size: 0.75rem;
font-weight: 700;
line-height: 1.25;
letter-spacing: 0.01em;
color: #061934;
}
.cert-plate-sub {
font-size: 0.625rem;
font-weight: 500;
line-height: 1.35;
letter-spacing: 0.02em;
color: #616e7c;
}
.cert-plate--total {
justify-content: center;
border: 2px solid #fabc1c;
background: linear-gradient(180deg, #fff8f1 0%, #ffffff 70%);
}
.cert-plate-total {
font-family: Poppins, sans-serif;
font-size: 2rem;
font-weight: 800;
line-height: 1;
letter-spacing: -0.03em;
color: #061934;
}
.cert-plate--total .cert-plate-name { margin-top: 4px; }
.cert-plate--total .cert-plate-sub { color: #a25a00; }
.spec-layout {
display: grid;
gap: 28px;
align-items: start;
}
@media (min-width: 1024px) {
.spec-layout {
grid-template-columns: 286px minmax(0, 1fr);
gap: 32px;
}
}
@media (min-width: 1280px) {
.spec-layout { grid-template-columns: 306px minmax(0, 1fr); gap: 36px; }
}
@media (min-width: 1024px) {
.spec-side {
position: sticky;
top: calc(var(--header-h) + 20px);
}
}
.spec-side-inner {
display: flex;
flex-direction: column;
gap: 16px;
}
.side-card {
padding: 20px;
border: 1px solid #e4e9ee;
border-radius: 16px;
background: #ffffff;
box-shadow: 0 10px 30px -18px rgba(15, 23, 42, 0.18);
}
.side-card-title {
font-family: Poppins, sans-serif;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #0c57a2;
}
.side-nav {
margin-top: 12px;
border-top: 1px solid #eef2f5;
}
.side-nav-row {
display: flex;
align-items: center;
gap: 10px;
padding: 11px 2px;
border-bottom: 1px solid #eef2f5;
text-decoration: none;
transition: padding-inline-start 200ms cubic-bezier(0.16, 1, 0.3, 1),
color 200ms ease;
}
.side-nav-label {
flex: 1 1 auto;
font-size: 0.8125rem;
font-weight: 600;
line-height: 1.35;
color: #35424b;
}
.side-nav-arrow {
flex: none;
color: #b3c0ca;
transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1), color 200ms ease;
}
.side-nav-row:hover { padding-inline-start: 8px; }
.side-nav-row:hover .side-nav-label { color: #0c57a2; }
.side-nav-row:hover .side-nav-arrow { color: #0c57a2; transform: translateX(3px); }
.side-nav-row.is-current {
margin-inline-start: -20px;
padding-inline-start: 17px;
border-left: 3px solid #0c57a2;
background: #f2f8fd;
}
.side-nav-row.is-current .side-nav-label { color: #061934; }
.side-nav-row.is-current .side-nav-arrow { color: #0c57a2; }
.side-nav-row.is-current:hover { padding-inline-start: 17px; }
.side-nav-all {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 14px;
font-size: 0.75rem;
font-weight: 600;
color: #0c57a2;
text-decoration: none;
}
.side-nav-all:hover { color: #08427c; }
.side-card--cta {
border-color: #d8e6f2;
background: linear-gradient(180deg, #f6fafd 0%, #ffffff 100%);
}
.side-card-body {
margin-top: 9px;
font-size: 0.8125rem;
line-height: 1.6;
color: #4c5c66;
}
.side-card-btn { margin-top: 14px; width: 100%; }
.side-contact {
margin-top: 16px;
padding-top: 14px;
border-top: 1px solid #e4e9ee;
display: grid;
gap: 9px;
}
.side-contact li {
display: flex;
align-items: center;
gap: 9px;
font-size: 0.8125rem;
}
.side-contact svg { flex: none; color: #0c57a2; }
.side-contact a { color: #35424b; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.side-contact a:hover { color: #0c57a2; }
.spec-panels {
display: flex;
flex-direction: column;
gap: 20px;
min-width: 0;
}
.spec-panel {
min-width: 0;
padding: 22px;
border: 1px solid #e4e9ee;
border-radius: 18px;
background: #ffffff;
box-shadow: 0 10px 30px -20px rgba(15, 23, 42, 0.2);
}
@media (min-width: 768px) {
.spec-panel { padding: 28px; }
}
.spec-panel-head {
padding-bottom: 16px;
margin-bottom: 20px;
border-bottom: 1px solid #eef2f5;
}
.spec-panel-eyebrow {
display: block;
font-family: Poppins, sans-serif;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #0c57a2;
}
.spec-panel-title {
margin-top: 7px;
font-family: Poppins, sans-serif;
font-size: 1.25rem;
font-weight: 700;
line-height: 1.28;
letter-spacing: -0.02em;
color: #061934;
}
.spec-panel-note {
margin-top: 8px;
font-size: 0.875rem;
line-height: 1.6;
color: #4c5c66;
}
.spec-chips {
display: grid;
gap: 8px;
margin-top: 20px;
}
@media (min-width: 620px) {
.spec-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.spec-chip {
display: flex;
align-items: center;
gap: 10px;
height: 100%;
padding: 10px 13px;
border: 1px solid #e8edf1;
border-radius: 10px;
background: #f8fafc;
font-size: 0.8125rem;
font-weight: 500;
line-height: 1.4;
color: #35424b;
}
.spec-chip-icon {
display: grid;
flex: none;
place-items: center;
width: 20px;
height: 20px;
border-radius: 6px;
background: var(--grad-blue);
color: #ffffff;
}
.spec-standards { display: grid; gap: 10px; }
.spec-standards li {
display: flex;
gap: 11px;
padding: 13px 15px;
border: 1px solid #e8edf1;
border-left: 3px solid #0c57a2;
border-radius: 10px;
background: #f8fafc;
}
.spec-standard-icon { flex: none; margin-top: 1px; color: #0c57a2; }
.spec-standard-label {
display: block;
font-family: Poppins, sans-serif;
font-size: 0.8438rem;
font-weight: 700;
color: #061934;
}
.spec-standard-body {
display: block;
margin-top: 3px;
font-size: 0.8125rem;
line-height: 1.6;
color: #4c5c66;
}
.spec-panel .accordion { border: 0; }
.cta-slim {
display: flex;
flex-direction: column;
gap: 18px;
padding: 26px;
border-radius: 18px;
background: var(--grad-brand);
color: #ffffff;
}
@media (min-width: 768px) {
.cta-slim {
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 32px;
padding: 28px 34px;
}
}
.cta-slim-title {
font-family: Poppins, sans-serif;
font-size: 1.25rem;
font-weight: 700;
line-height: 1.3;
letter-spacing: -0.02em;
color: #ffffff;
}
.cta-slim-body {
margin-top: 6px;
max-width: 46ch;
font-size: 0.875rem;
line-height: 1.6;
color: rgba(255, 255, 255, 0.88);
}
.cta-slim-actions { display: flex; flex-wrap: wrap; gap: 10px; flex: none; }
.cta-slim .btn-white { background: #ffffff; color: #061934; }
.cta-slim .btn-white:hover { background: #eef4f9; color: #061934; }
.cta-slim .btn-ghost { border-color: rgba(255, 255, 255, 0.55); }
.cta-slim .btn-ghost:hover { border-color: #ffffff; background: rgba(255, 255, 255, 0.18); }
.spec-scope {
display: grid;
gap: 12px;
}
@media (min-width: 680px) {
.spec-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.spec-scope-box {
position: relative;
height: 100%;
padding: 16px 16px 16px 46px;
border: 1px solid #e8edf1;
border-radius: 12px;
background: #f8fafc;
transition: border-color 200ms ease, background-color 200ms ease;
}
.spec-scope-box:hover { border-color: #bcd9f0; background: #ffffff; }
.spec-scope-num {
position: absolute;
left: 15px;
top: 15px;
display: grid;
place-items: center;
width: 22px;
height: 22px;
border-radius: 6px;
background: var(--grad-blue);
font-family: Poppins, sans-serif;
font-size: 0.625rem;
font-weight: 700;
line-height: 1;
color: #ffffff;
}
.spec-scope-title {
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.35;
color: #061934;
}
.spec-scope-body {
margin-top: 5px;
font-size: 0.8438rem;
line-height: 1.62;
color: #4c5c66;
}
.spec-why {
display: grid;
gap: 14px;
}
@media (min-width: 640px) {
.spec-why--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
.spec-why--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1240px) {
.spec-why--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.spec-why-box {
display: flex;
flex-direction: column;
height: 100%;
padding: 18px;
border: 1px solid #e2e9ef;
border-radius: 14px;
background: linear-gradient(180deg, #f7fbfe 0%, #ffffff 62%);
transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.spec-why-box:hover {
transform: translateY(-2px);
border-color: #b9d8f2;
box-shadow: 0 16px 32px -22px rgba(15, 23, 42, 0.35);
}
.spec-why-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.spec-why-icon {
display: grid;
flex: none;
place-items: center;
width: 34px;
height: 34px;
border-radius: 10px;
background: var(--grad-blue);
color: #ffffff;
box-shadow: 0 8px 18px -10px rgba(12, 87, 162, 0.8);
}
.spec-why-num {
font-family: Poppins, sans-serif;
font-size: 1.125rem;
font-weight: 800;
line-height: 1;
letter-spacing: -0.02em;
color: #dbe6ef;
}
.spec-why-title {
margin-top: 14px;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.35;
color: #061934;
}
.spec-why-body {
margin-top: 6px;
font-size: 0.8438rem;
line-height: 1.62;
color: #4c5c66;
}
.spec-panel-eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
}
.spec-panel-eyebrow::before {
content: '';
width: 16px;
height: 3px;
border-radius: 999px;
background: var(--grad-blue);
}
.spec-chip {
border-radius: 10px;
transition: border-color 200ms ease, background-color 200ms ease;
}
.spec-chip:hover { border-color: #bcd9f0; background: #ffffff; }
.child-grid {
display: grid;
gap: 12px;
}
@media (min-width: 620px) {
.child-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.child-box {
display: flex;
align-items: center;
gap: 13px;
height: 100%;
padding: 15px 16px;
border: 1px solid #e2e9ef;
border-radius: 12px;
background: linear-gradient(180deg, #f7fbfe 0%, #ffffff 60%);
text-decoration: none;
transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms cubic-bezier(0.16, 1, 0.3, 1);
}
.child-box:hover {
transform: translateY(-2px);
border-color: #b9d8f2;
box-shadow: 0 14px 28px -20px rgba(15, 23, 42, 0.34);
}
.child-box-icon {
display: grid;
flex: none;
place-items: center;
width: 36px;
height: 36px;
border-radius: 10px;
background: var(--grad-blue);
color: #ffffff;
}
.child-box-text { min-width: 0; }
.child-box-title {
display: block;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.3;
color: #061934;
}
.child-box-go {
display: inline-flex;
align-items: center;
gap: 5px;
margin-top: 3px;
font-size: 0.75rem;
font-weight: 600;
color: #0c57a2;
}
.child-box:hover .child-box-go svg { transform: translateX(3px); }
.child-box-go svg { transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); }
.spec-steps {
display: grid;
gap: 12px;
counter-reset: step;
}
@media (min-width: 620px) {
.spec-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
.spec-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.spec-step {
position: relative;
height: 100%;
padding: 16px;
border: 1px solid #e8edf1;
border-radius: 12px;
background: #f8fafc;
transition: border-color 200ms ease, background-color 200ms ease;
}
.spec-step:hover { border-color: #bcd9f0; background: #ffffff; }
.spec-step-num {
display: inline-grid;
place-items: center;
min-width: 26px;
height: 22px;
padding-inline: 7px;
border-radius: 6px;
background: var(--grad-blue);
font-family: Poppins, sans-serif;
font-size: 0.625rem;
font-weight: 700;
letter-spacing: 0.05em;
color: #ffffff;
}
.spec-step-title {
margin-top: 11px;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.32;
color: #061934;
}
.spec-step-body {
margin-top: 5px;
font-size: 0.8125rem;
line-height: 1.6;
color: #4c5c66;
}
.spec-scope-box > .spec-scope-body:first-of-type:last-child { margin-top: 0; }
.child-box--static {
cursor: default;
background: #f8fafc;
}
.child-box--static:hover {
transform: none;
border-color: #e2e9ef;
box-shadow: none;
}
.trust-strip {
border-bottom: 1px solid #e4e9ee;
background: linear-gradient(180deg, #f7fafc 0%, #ffffff 100%);
}
.trust-strip-row {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 8px;
padding-block: 14px;
}
@media (min-width: 768px) {
.trust-strip-row { gap: 10px; padding-block: 16px; }
}
.trust-chip {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 14px 6px 7px;
border: 1px solid #e2e9ef;
border-radius: 999px;
background: #ffffff;
box-shadow: 0 4px 12px -8px rgba(15, 23, 42, 0.3);
}
.trust-chip-label {
font-size: 0.8125rem;
font-weight: 600;
line-height: 1.35;
color: #35424b;
white-space: nowrap;
}
.trust-chip-icon {
display: grid;
flex: none;
place-items: center;
width: 20px;
height: 20px;
border-radius: 999px;
background: var(--grad-blue);
color: #ffffff;
}
@media (max-width: 767px) {
.trust-chip { gap: 6px; padding: 5px 11px 5px 5px; }
.trust-chip-label { font-size: 0.75rem; }
.trust-chip-icon { width: 18px; height: 18px; }
}
.svc-split {
display: grid;
gap: 28px;
align-items: center;
}
@media (min-width: 1024px) {
.svc-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.svc-split--media-left > .svc-figure { grid-column: 1; grid-row: 1; }
.svc-split--media-left > .svc-copy { grid-column: 2; grid-row: 1; }
}
@media (min-width: 1280px) {
.svc-split { gap: 60px; }
}
@media (max-width: 1023px) {
.svc-figure { max-width: 560px; margin-inline: auto; width: 100%; }
}
.svc-split--solo { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) {
.svc-split--solo { grid-template-columns: minmax(0, 1fr); }
}
.svc-split--solo .svc-copy {
max-width: 56rem;
margin-inline: auto;
}
@media (min-width: 1024px) {
.svc-split--solo .spec-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.svc-copy .rule-brand { margin-top: 18px; }
.svc-copy .sec-head-aside { margin-inline: 0; }
.svc-copy-body { margin-top: 24px; }
.svc-copy .sec-head-aside + .svc-copy-body { margin-top: 20px; }
.svc-media {
position: relative;
overflow: hidden;
border-radius: 20px;
border: 1px solid #e2e8ef;
background: #eef2f6;
box-shadow: 0 28px 56px -34px rgba(11, 23, 32, 0.45);
}
.svc-media img {
display: block;
width: 100%;
height: auto;
}
@media (min-width: 1024px) {
.svc-media { --svc-media-cap: clamp(320px, 32vw, 470px); }
}
@media (min-width: 768px) and (max-width: 1023px) {
.svc-media { --svc-media-cap: 400px; }
}
@media (min-width: 768px) {
.svc-media img,
.svc-media img[width][height] {
display: block;
width: 100%;
height: auto;
max-height: var(--svc-media-cap, 400px);
object-fit: contain;
}
}
.svc-media-cap {
position: absolute;
left: 14px;
bottom: 14px;
right: 14px;
display: inline-block;
width: fit-content;
max-width: calc(100% - 28px);
padding: 8px 15px;
border-radius: 999px;
background: rgba(6, 25, 52, 0.82);
font-family: Poppins, sans-serif;
font-size: 0.75rem;
font-weight: 600;
line-height: 1.35;
letter-spacing: 0.01em;
color: #ffffff;
}
@media (max-width: 767px) {
.svc-media-cap { top: 14px; bottom: auto; }
}
.svc-show-sec { padding-block: 36px 0; }
@media (min-width: 768px) {
.svc-show-sec { padding-block: 48px 0; }
}
@media (min-width: 1280px) {
.svc-show-sec { padding-block: 56px 0; }
}
.svc-show {
position: relative;
margin: 0;
overflow: hidden;
border-radius: 24px;
background: #061934;
box-shadow: 0 34px 68px -40px rgba(11, 23, 32, 0.55);
}
.svc-show-open {
position: relative;
display: block;
width: 100%;
height: clamp(260px, 34vw, 460px);
padding: 0;
border: 0;
background: none;
cursor: zoom-in;
}
.svc-show img,
.svc-show img[width][height] {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}
.svc-show-open:hover img { transform: scale(1.035); }
.svc-show-open::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(6, 25, 52, 0) 44%, rgba(6, 25, 52, 0.78) 100%);
pointer-events: none;
}
.svc-show-zoom {
position: absolute;
top: 16px;
right: 16px;
z-index: 2;
display: grid;
place-items: center;
width: 38px;
height: 38px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.28);
background: rgba(6, 25, 52, 0.55);
color: #ffffff;
opacity: 0;
transform: translateY(-4px);
transition: opacity 240ms ease, transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.svc-show-open:hover .svc-show-zoom,
.svc-show-open:focus-visible .svc-show-zoom {
opacity: 1;
transform: translateY(0);
}
@media (hover: none) {
.svc-show-zoom { opacity: 1; transform: none; }
}
.svc-show-cap {
position: absolute;
left: 22px;
right: 22px;
bottom: 20px;
z-index: 1;
pointer-events: none;
}
@media (min-width: 768px) {
.svc-show-cap { left: 30px; right: 30px; bottom: 26px; }
}
.svc-show-cap-plate {
display: inline-block;
font-family: Poppins, sans-serif;
font-size: 0.8125rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #ffffff;
}
.svc-show-cap-plate::before {
content: '';
display: block;
width: 34px;
height: 3px;
margin-bottom: 10px;
border-radius: 999px;
background: #fabc1c;
}
@media (max-width: 767px) {
.svc-show-cap { top: 20px; bottom: auto; }
.svc-show-open::after {
background: linear-gradient(0deg, rgba(6, 25, 52, 0) 44%, rgba(6, 25, 52, 0.78) 100%);
}
}
.spec-scope--3,
.spec-scope--4 {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
}
.spec-scope--3 > li,
.spec-scope--4 > li {
display: flex;
flex: 0 1 100%;
min-width: 0;
}
.spec-scope--3 > li > *,
.spec-scope--4 > li > * { width: 100%; }
@media (min-width: 640px) {
.spec-scope--3 > li,
.spec-scope--4 > li { flex-basis: calc((100% - 12px) / 2); }
}
@media (min-width: 900px) {
.spec-scope--3 > li,
.spec-scope--4 > li { flex-basis: calc((100% - 24px) / 3); }
}
@media (min-width: 1200px) {
.spec-scope--4 > li { flex-basis: calc((100% - 36px) / 4); }
}
.spec-table--figures tbody td:first-of-type {
width: 30%;
background: #f7fafd;
border-left: 1px solid #eef2f5;
border-right: 1px solid #eef2f5;
font-family: Poppins, sans-serif;
font-size: 0.9375rem;
font-weight: 600;
font-variant-numeric: tabular-nums;
letter-spacing: -0.01em;
color: #061934;
white-space: nowrap;
}
.spec-table--figures thead th:nth-child(2) {
background: #eef4fa;
color: #0c57a2;
}
@media (max-width: 767px) {
.spec-table--figures tbody td:first-of-type { white-space: normal; width: auto; }
}
.spec-why--dark .spec-why-box {
border-color: rgba(255, 255, 255, 0.12);
background: linear-gradient(180deg, #0e1c30 0%, #0a2444 100%);
}
.spec-why--dark .spec-why-box:hover {
border-color: rgba(92, 179, 240, 0.5);
box-shadow: 0 20px 40px -26px rgba(0, 0, 0, 0.9);
}
.spec-why--dark .spec-why-title { color: #ffffff; }
.spec-why--dark .spec-why-body { color: rgba(255, 255, 255, 0.7); }
.spec-why--dark .spec-why-num { color: rgba(255, 255, 255, 0.22); }
@media (min-width: 640px) {
[data-gallery].fx-1 > * { flex-basis: min(100%, 520px); }
}
.section.bg-wash + .section.bg-wash {
background-color: #ffffff;
}
.nav-link--trigger { cursor: default; }
.fam-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: stretch;
gap: 16px;
}
.fam-grid > * {
display: flex;
flex: 0 1 100%;
min-width: 0;
}
@media (min-width: 640px) {
.fam-grid > * { flex-basis: calc((100% - 16px) / 2); }
}
@media (min-width: 900px) {
.fam-grid--3 > *,
.fam-grid--4 > * { flex-basis: calc((100% - 32px) / 3); }
}
@media (min-width: 1200px) {
.fam-grid--4 > * { flex-basis: calc((100% - 48px) / 4); }
}
.fam-card {
display: flex;
flex-direction: column;
width: 100%;
overflow: hidden;
border: 1px solid #e2e9ef;
border-radius: 16px;
background: #ffffff;
box-shadow: 0 14px 34px -24px rgba(15, 23, 42, 0.3);
transition: border-color 220ms ease, box-shadow 220ms ease,
transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.fam-card:hover {
transform: translateY(-3px);
border-color: #b9d8f2;
box-shadow: 0 22px 44px -26px rgba(15, 23, 42, 0.42);
}
.fam-media {
position: relative;
aspect-ratio: 1 / 1;
overflow: hidden;
background: #eef2f6;
}
.fam-media--open {
display: block;
width: 100%;
padding: 0;
border: 0;
cursor: zoom-in;
}
.fam-zoom {
position: absolute;
top: 10px;
right: 10px;
z-index: 2;
display: grid;
place-items: center;
width: 32px;
height: 32px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.28);
background: rgba(6, 25, 52, 0.55);
color: #ffffff;
opacity: 0;
transform: translateY(-4px);
transition: opacity 220ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.fam-card:hover .fam-zoom,
.fam-media--open:focus-visible .fam-zoom {
opacity: 1;
transform: none;
}
@media (hover: none) {
.fam-zoom { opacity: 1; transform: none; }
}
.fam-media img,
.fam-media img[width][height] {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.fam-card:hover .fam-media img { transform: scale(1.04); }
.fam-body {
display: flex;
flex-direction: column;
flex: 1 1 auto;
padding: 18px 18px 20px;
}
.fam-title {
font-family: Poppins, sans-serif;
font-size: 1rem;
font-weight: 600;
line-height: 1.3;
letter-spacing: -0.01em;
color: #061934;
}
.fam-title::after {
content: '';
display: block;
width: 26px;
height: 3px;
margin-top: 9px;
border-radius: 999px;
background: var(--grad-blue);
}
.fam-text {
margin-top: 11px;
font-size: 0.8438rem;
line-height: 1.62;
color: #4c5c66;
}
.fam-detail {
margin-top: 12px;
padding-top: 11px;
border-top: 1px solid #eef2f5;
display: grid;
gap: 7px;
}
.fam-detail li {
position: relative;
padding-left: 15px;
font-size: 0.8125rem;
line-height: 1.5;
color: #4c5c66;
}
.fam-detail li::before {
content: '';
position: absolute;
left: 0;
top: 8px;
width: 6px;
height: 6px;
border-radius: 999px;
background: #0c57a2;
}
.soon-panel {
max-width: 46rem;
margin-inline: auto;
padding: 34px 26px;
border: 2px dashed #c4d9ec;
border-radius: 20px;
background: linear-gradient(180deg, #f7fbfe 0%, #ffffff 70%);
text-align: center;
}
@media (min-width: 768px) {
.soon-panel { padding: 44px 40px; }
}
.soon-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 7px 15px;
border-radius: 999px;
border: 1px solid #dbe7f2;
background: #ffffff;
font-family: Poppins, sans-serif;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #0c57a2;
}
.soon-badge svg { flex: none; width: 14px; height: 14px; }
.soon-title {
margin-top: 18px;
font-size: clamp(1.375rem, 1.2rem + 0.9vw, 1.75rem);
line-height: 1.22;
}
.soon-body {
margin-top: 14px;
margin-inline: auto;
max-width: 40rem;
font-size: 1rem;
line-height: 1.7;
color: #4c5a67;
}
.soon-actions {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
margin-top: 26px;
}
.svc-faq {
max-width: 62rem;
margin-inline: auto;
}
.trust-strip {
border-top: 1px solid #e4e9ee;
border-bottom: 1px solid #e4e9ee;
background: linear-gradient(180deg, #f8fafc 0%, #ffffff 62%);
}
.has-hero .trust-strip,
.page-hero + .trust-strip,
.page-hero--bg + .trust-strip {
border-top: 0;
}
.trust-stats {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 4px 10px;
padding-block: 16px;
list-style: none;
margin-block: 0;
}
@media (min-width: 640px) and (max-width: 1279px) {
.trust-stats {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px 28px;
padding-block: 18px;
}
.trust-stats > .trust-stat { flex: 0 1 auto; min-width: 210px; }
}
@media (min-width: 1280px) {
.trust-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 18px; padding-block: 20px; }
}
.trust-stat {
display: flex;
align-items: center;
gap: 11px;
min-width: 0;
padding-block: 8px;
}
@media (max-width: 639px) {
.trust-stat:last-child:nth-child(odd) {
grid-column: 1 / -1;
justify-self: center;
}
}
.trust-stat-icon {
display: grid;
flex: none;
place-items: center;
width: 36px;
height: 36px;
border-radius: 11px;
background: var(--grad-blue);
color: #ffffff;
box-shadow: 0 8px 18px -12px rgba(12, 87, 162, 0.85);
}
.trust-stat-icon svg { width: 17px; height: 17px; stroke-width: 1.9; }
.trust-stat-text {
display: flex;
min-width: 0;
flex-direction: column;
gap: 2px;
}
.trust-stat-value {
font-size: 0.9375rem;
font-weight: 700;
line-height: 1.25;
color: #0b1a26;
letter-spacing: -0.005em;
}
.trust-stat-label {
font-size: 0.6875rem;
font-weight: 500;
line-height: 1.4;
color: #64748b;
}
@media (min-width: 1280px) {
.trust-stat { gap: 12px; }
.trust-stat-icon { width: 38px; height: 38px; border-radius: 12px; }
.trust-stat-icon svg { width: 18px; height: 18px; }
.trust-stat-value { font-size: 1rem; }
.trust-stat-label { font-size: 0.71875rem; }
}
@media (max-width: 480px) {
.trust-stat { gap: 9px; }
.trust-stat-icon { width: 32px; height: 32px; border-radius: 10px; }
.trust-stat-icon svg { width: 15px; height: 15px; }
.trust-stat-value { font-size: 0.875rem; }
.trust-stat-label { font-size: 0.65625rem; }
}
@media (max-width: 400px) {
.trust-stat-icon { width: 30px; height: 30px; }
.trust-stat-icon svg { width: 14px; height: 14px; }
.trust-stat-value { font-size: 0.8125rem; }
}
@media (max-width: 340px) {
.trust-stats { grid-template-columns: 1fr; gap: 0; }
.trust-stat { padding-block: 7px; }
}
.trust-chip {
border-color: #dbe4ec;
box-shadow: 0 2px 6px -4px rgba(15, 23, 42, 0.28);
}
.trust-chip-label { color: #2b3843; }
.cert-proof {
margin-top: 26px;
padding: 18px 20px 16px;
border-radius: 4px;
border-left: 3px solid #0c57a2;
background: #f3f8fc;
}
.spec-panel .cert-proof {
margin-top: 0;
padding: 0;
border-left: 0;
background: transparent;
}
.cert-proof-head {
margin: 0 0 15px;
font-size: 0.875rem;
line-height: 1.6;
color: #4a5762;
}
.spec-panel .cert-proof-head { display: none; }
.cert-proof-eyebrow {
display: inline-flex;
align-items: center;
gap: 5px;
margin-right: 7px;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.09em;
text-transform: uppercase;
color: #08427c;
}
.cert-proof-eyebrow svg { flex: none; }
.cert-proof-list {
display: grid;
gap: 9px;
margin: 0;
padding: 0;
list-style: none;
}
@media (min-width: 640px) {
.cert-proof-list { grid-template-columns: 1fr 1fr; gap: 9px 14px; }
.cert-proof-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.cert-proof-item {
display: flex;
align-items: flex-start;
gap: 11px;
min-width: 0;
padding: 10px 12px;
border: 1px solid #dbe7f1;
border-radius: 4px;
background: #ffffff;
}
.cert-proof-code {
flex: none;
width: 74px;
padding: 3px 0;
font-size: 0.75rem;
font-weight: 700;
line-height: 1.3;
letter-spacing: -0.005em;
color: #08427c;
border-right: 1px solid #dbe7f1;
}
.cert-proof-text {
display: flex;
min-width: 0;
flex-direction: column;
gap: 3px;
padding-top: 2px;
}
.cert-proof-label {
font-size: 0.8125rem;
font-weight: 600;
line-height: 1.35;
color: #1a2530;
}
.cert-proof-meta {
font-size: 0.6875rem;
line-height: 1.45;
color: #616e7c;
overflow-wrap: anywhere;
}
.cert-proof-link {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 14px;
font-size: 0.8125rem;
font-weight: 600;
color: #08427c;
text-decoration: none;
}
.cert-proof-link:hover { text-decoration: underline; }
.cert-proof-link svg { flex: none; }
@media (max-width: 480px) {
.cert-proof { padding: 15px 16px 14px; }
.cert-proof-item { gap: 9px; padding: 9px 10px; }
.cert-proof-code { width: 66px; font-size: 0.71875rem; }
.cert-proof-label { font-size: 0.78125rem; }
}
.file-field {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
margin-top: 6px;
}
.file-input {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}
.file-button {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 9px 15px;
border: 1px solid #cfdae4;
border-radius: 8px;
background: #f6f9fc;
font-size: 0.8125rem;
font-weight: 600;
color: #16405f;
cursor: pointer;
transition: background-color 0.15s ease, border-color 0.15s ease;
}
.file-button:hover { background: #eaf2f9; border-color: #b6cadb; }
.file-button svg { flex: none; }
.file-input:focus-visible + .file-button {
outline: 2px solid #0c57a2;
outline-offset: 2px;
}
.file-name {
min-width: 0;
font-size: 0.8125rem;
color: #616e7c;
overflow-wrap: anywhere;
}
.file-name[data-has-file] {
font-weight: 600;
color: #1a2530;
}
.field-hint {
display: block;
margin-top: 7px;
font-size: 0.71875rem;
line-height: 1.5;
color: #616e7c;
}
.field-optional {
margin-left: 5px;
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.04em;
text-transform: uppercase;
color: #616e7c;
}
.fx-form--dark .file-button { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.22); color: #ffffff; }
.fx-form--dark .file-button:hover { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.34); }
.fx-form--dark .file-name { color: rgba(255, 255, 255, 0.6); }
.fx-form--dark .file-name[data-has-file] { color: #ffffff; }
.fx-form--dark .field-hint { color: rgba(255, 255, 255, 0.55); }
.fx-form--dark .field-optional { color: rgba(255, 255, 255, 0.5); }
.service-card-body h3 {
min-height: 2.8em;
min-height: 2lh;
}
.cert-section-body {
max-width: 60rem;
margin-inline: auto;
}
.cert-section-body .cert-proof-head { display: none; }
.cert-section-body .cert-proof {
margin-top: 0;
padding: 0;
border-left: 0;
background: transparent;
}
@media (min-width: 640px) {
.cert-section-body .cert-proof-item:last-child:nth-child(odd) {
grid-column: 1 / -1;
max-width: calc(50% - 7px);
margin-inline: auto;
}
}
.cert-section-body .cert-proof-link {
display: flex;
justify-content: center;
margin-top: 22px;
}
.cat-child-grid { margin-top: 44px; }
.cat-child {
display: flex;
flex-direction: column;
width: 100%;
overflow: hidden;
border: 1px solid #dfe6ec;
border-radius: 14px;
background: #ffffff;
text-decoration: none;
box-shadow: 0 1px 2px rgba(6, 25, 52, 0.04);
transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 240ms ease, border-color 240ms ease;
}
.cat-child:hover {
transform: translateY(-3px);
border-color: #c3d3e2;
box-shadow: 0 22px 44px -28px rgba(6, 25, 52, 0.45);
}
.cat-child:focus-visible { outline: 3px solid #1b6fc4; outline-offset: 3px; }
.cat-child-media {
display: block;
position: relative;
aspect-ratio: 3 / 2;
overflow: hidden;
background: #eef2f6;
}
.cat-child-media img,
.cat-child-media img[width][height] {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.cat-child:hover .cat-child-media img { transform: scale(1.04); }
.cat-child-body {
display: flex;
flex: 1 1 auto;
flex-direction: column;
gap: 7px;
padding: 18px 20px 20px;
}
.cat-child-title {
font-size: 1.0625rem;
font-weight: 700;
line-height: 1.3;
letter-spacing: -0.008em;
color: #0b1720;
min-height: 2.6em;
min-height: 2lh;
}
.cat-child-lede {
flex: 1 1 auto;
font-size: 0.875rem;
line-height: 1.55;
color: #4c5c66;
}
.cat-child-go {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 6px;
font-size: 0.8125rem;
font-weight: 600;
color: #0c57a2;
}
.cat-child:hover .cat-child-go { color: #08427c; }
.cat-child-go svg { flex: none; transition: transform 240ms ease; }
.cat-child:hover .cat-child-go svg { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
.cat-child,
.cat-child-media img,
.cat-child-go svg { transition: none; }
.cat-child:hover { transform: none; }
.cat-child:hover .cat-child-media img { transform: none; }
}
