:root {
  --font-sans: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  --font-display: "Outfit", ui-sans-serif, system-ui, sans-serif;
  --navy: #0b1f3a; --navy-2: #143056; --ink: #15283f; --muted: #5c6d82;
  --line: #d5deea; --paper: #e7eef8; --card: #ffffff; --brand: #1d5bd6;
  --brand-deep: #1548ad; --teal: #1a9b8e; --mist: #e7f6f4; --sky: #e7f0fc;
  --on-navy: #f4f7fb; --on-brand: #ffffff; --radius-sm: .5rem; --radius-md: .875rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{margin:0;background-color:var(--paper);background-image:linear-gradient(to right,color-mix(in srgb,var(--brand) 14%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--teal) 16%,transparent) 1px,transparent 1px),radial-gradient(ellipse 55% 42% at 0% -10%,color-mix(in srgb,var(--brand) 22%,transparent),transparent 62%),radial-gradient(ellipse 48% 38% at 100% 0%,color-mix(in srgb,var(--teal) 20%,transparent),transparent 58%);background-size:44px 44px,44px 44px,auto,auto;background-attachment:fixed;color:var(--ink);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6}
h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;line-height:1.15;margin:0}
p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{margin:0;padding:0}button{font:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:absolute;left:1rem;top:1rem;z-index:50;width:auto;height:auto;margin:0;clip:auto;overflow:visible;white-space:normal;background:var(--card);padding:.5rem .75rem;border-radius:var(--radius-sm)}
.shell{display:flex;min-height:100vh;flex-direction:column}#content{flex:1}
.accent-line{height:2px;background:linear-gradient(90deg,var(--brand),var(--teal))}
.hero-grid{background-image:linear-gradient(to right,color-mix(in srgb,var(--on-navy) 16%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--on-navy) 16%,transparent) 1px,transparent 1px);background-size:52px 52px}
.tech-card{background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--brand),var(--teal)) border-box;border:1px solid transparent}
.eyebrow{font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.btn{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);padding:0 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .2s,border-color .2s}
.btn-brand{background:var(--brand);color:var(--on-brand)}.btn-brand:hover{background:var(--brand-deep)}
.btn-ghost-light{border:1px solid color-mix(in srgb,var(--on-navy) 30%,transparent);color:var(--on-navy)}.btn-ghost-light:hover{border-color:var(--teal)}
.btn-navy{background:var(--navy);color:var(--on-navy)}
.link-brand{color:var(--brand);font-weight:600;font-size:.875rem}.link-brand:hover{color:var(--brand-deep)}
.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid color-mix(in srgb,var(--on-navy) 10%,transparent);background:color-mix(in srgb,var(--navy) 95%,transparent);color:var(--on-navy);backdrop-filter:blur(6px)}
.header-inner{margin:0 auto;display:flex;height:4rem;max-width:72rem;align-items:center;justify-content:space-between;gap:.75rem;padding:0 1rem}
.logo-header{height:1.75rem;width:auto}@media(min-width:640px){.logo-header{height:2.75rem}}
.nav-desktop{display:none;align-items:center;gap:.125rem}
.nav-desktop a{border-radius:.25rem;padding:.5rem .375rem;font-size:.875rem;font-weight:500;color:color-mix(in srgb,var(--on-navy) 75%,transparent)}
.nav-desktop a:hover,.nav-desktop a[aria-current=page]{color:var(--teal)}
.header-actions{display:flex;align-items:center;gap:.5rem}
.menu-btn{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--on-navy) 25%,transparent);background:transparent;color:var(--on-navy);cursor:pointer}
.mobile-nav{display:none;border-top:1px solid color-mix(in srgb,var(--on-navy) 15%,transparent);background:var(--navy);padding:.75rem 1.25rem}
.mobile-nav.open{display:block}.mobile-nav a{display:block;min-height:2.75rem;padding:.5rem 0;font-size:1rem;font-weight:500;color:var(--on-navy)}
@media(min-width:1024px){.nav-desktop{display:flex}.menu-btn{display:none}.mobile-nav,.mobile-nav.open{display:none}}
.site-footer{background:var(--navy);color:var(--on-navy)}
.footer-grid{margin:0 auto;display:grid;max-width:72rem;gap:2.5rem;padding:3.5rem 1.25rem}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-logo{height:auto;width:14rem;max-width:100%}@media(min-width:640px){.footer-logo{height:4rem;width:auto}}
.footer-grid h2{font-size:.875rem;font-weight:600}
.footer-grid ul{list-style:none;margin-top:.75rem;display:grid;gap:.5rem;font-size:.875rem}
.footer-grid a{color:color-mix(in srgb,var(--on-navy) 80%,transparent)}.footer-grid a:hover{color:var(--on-navy)}
.footer-blurb{margin-top:1rem;font-size:.875rem;line-height:1.6;color:color-mix(in srgb,var(--on-navy) 80%,transparent)}
.footer-legal{border-top:1px solid color-mix(in srgb,var(--on-navy) 15%,transparent)}
.footer-legal p{margin:0 auto;max-width:72rem;padding:1rem 1.25rem;font-size:.75rem;line-height:1.6;color:color-mix(in srgb,var(--on-navy) 70%,transparent)}
.page-intro{position:relative;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--on-navy) 10%,transparent);background:var(--navy);color:var(--on-navy)}
.page-intro-inner{position:relative;margin:0 auto;display:flex;max-width:72rem;flex-direction:column;gap:1.5rem;padding:3.5rem 1.25rem}
@media(min-width:768px){.page-intro-inner{flex-direction:row;align-items:flex-end;justify-content:space-between;padding-top:4rem;padding-bottom:4rem}}
.page-intro h1{margin-top:.75rem;font-size:2.25rem;font-weight:600}@media(min-width:768px){.page-intro h1{font-size:3rem}}
.page-intro .lede{margin-top:1rem;font-size:1.125rem;color:color-mix(in srgb,var(--on-navy) 80%,transparent);max-width:42rem}
.price-pill{flex-shrink:0;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--on-navy) 20%,transparent);background:var(--navy-2);padding:1rem 1.25rem}
.price-pill .amt{font-family:var(--font-display);font-size:1.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.price-pill .bill{font-size:.875rem;color:color-mix(in srgb,var(--on-navy) 75%,transparent)}
.section{padding:3.5rem 1.25rem}@media(min-width:768px){.section{padding-top:4rem;padding-bottom:4rem}}
.section-inner{margin:0 auto;max-width:72rem}.section.muted{background:var(--card)}
.grid-2{display:grid;gap:2.5rem}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}
.grid-cards{display:grid;gap:1rem}@media(min-width:768px){.grid-cards{grid-template-columns:1fr 1fr}}
.bullet{list-style:none;display:grid;gap:.75rem}.bullet li{display:flex;gap:.75rem;color:var(--ink)}
.bullet .mark{margin-top:.125rem;display:inline-flex;width:1.5rem;height:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px;font-size:.75rem;font-weight:700}
.bullet .mark.ok{background:var(--mist);color:var(--teal)}.bullet .mark.no{background:var(--paper);color:var(--muted)}
.cta{padding:0 1.25rem 4rem}
.cta-inner{position:relative;margin:0 auto;display:flex;max-width:72rem;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.5rem;overflow:hidden;border-radius:var(--radius-md);background:var(--navy);padding:2rem 1.5rem;color:var(--on-navy)}
@media(min-width:768px){.cta-inner{flex-direction:row;align-items:center;padding:2rem 2.5rem}}
.cta-inner h2{font-size:1.5rem;font-weight:600}.cta-inner p{margin-top:.5rem;color:color-mix(in srgb,var(--on-navy) 80%,transparent);max-width:36rem}
.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--on-navy)}
.hero-bg{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.hero-overlay{pointer-events:none;position:absolute;inset:0}
.hero-inner{position:relative;margin:0 auto;display:grid;max-width:72rem;align-items:center;gap:2.5rem;padding:4rem 1.25rem}
@media(min-width:768px){.hero-inner{grid-template-columns:1fr 1fr;padding-top:6rem;padding-bottom:6rem}}
.hero h1{margin-top:.75rem;font-size:2.25rem;font-weight:600}@media(min-width:768px){.hero h1{font-size:3rem}}
.hero .lede{margin-top:1rem;font-size:1.125rem;color:color-mix(in srgb,var(--on-navy) 80%,transparent)}
.hero-actions{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem}@media(min-width:640px){.hero-actions{flex-direction:row}}
.hero-logo{width:100%;max-width:32rem;margin:0 auto}
.h2{font-size:1.875rem;font-weight:600;color:var(--navy)}.h3{font-size:1.25rem;font-weight:600;color:var(--navy)}.muted{color:var(--muted)}
.mt-2{margin-top:.5rem}.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}
.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}
.card{border-radius:var(--radius-md);padding:1.25rem}.card-pad{padding:1.5rem}@media(min-width:768px){.card-pad{padding:2rem}}
.icon-box{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--sky);color:var(--brand)}
.icon-box.navy{background:var(--navy);color:var(--teal);width:3rem;height:3rem}
.price-num{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}
.price-bill{display:block;font-size:.75rem;color:var(--muted)}
.steps{list-style:none;display:grid;gap:1rem}.steps li{display:flex;gap:1rem}
.steps .n{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--teal);font-variant-numeric:tabular-nums}
.mist-box{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--mist);padding:1.5rem}
.paper-box{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--paper);padding:1rem}
.border-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card);padding:1.5rem}
.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card)}
table{width:100%;min-width:40rem;border-collapse:collapse;text-align:left;font-size:.875rem}
th,td{padding:1rem;vertical-align:top}thead{background:var(--paper);color:var(--navy)}
thead th{font-family:var(--font-display);font-weight:600;padding:.75rem 1rem}
tbody tr{border-top:1px solid var(--line)}tbody th{font-weight:500;color:var(--navy)}
tbody th a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}tbody th a:hover{color:var(--brand)}
.faq{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--card);padding:0 1.25rem}
.faq details{border-bottom:1px solid var(--line)}.faq details:last-child{border-bottom:0}
.faq summary{display:flex;min-height:3.5rem;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"▾";color:var(--teal);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(180deg)}.faq details p{padding-bottom:1rem;color:var(--muted)}
.legal{max-width:48rem}.legal section+section{margin-top:2rem}.legal ul{list-style:disc;padding-left:1.25rem;margin-top:.5rem;display:grid;gap:.5rem}
.contact-grid{display:grid;gap:2rem}@media(min-width:1024px){.contact-grid{grid-template-columns:2fr 1fr}}
.flex-between{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.enterprise-band{display:grid;gap:2rem}@media(min-width:768px){.enterprise-band{grid-template-columns:auto 1fr;align-items:start}}
.list-plain{list-style:none;display:grid;gap:.5rem;color:var(--ink)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
