/* Layout and identity inspired by the supplied reference. Original brand assets retained. */
:root{--background:#f5f8fc;--foreground:#10243e;--primary:#1556a6;--muted:#58708d;--border:#d4e0ed;--surface:#fff;--accent:#6aa8e8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);font-family:'Geist',system-ui,sans-serif;color:var(--foreground);-webkit-font-smoothing:antialiased}
img{max-width:100%}a{color:var(--primary);transition:background .18s,color .18s,border-color .18s,transform .18s}
a:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
section[id]{scroll-margin-top:110px}svg{flex-shrink:0}
.skip-link{position:fixed;top:12px;left:12px;padding:12px 18px;background:var(--foreground);color:#fff;z-index:100;transform:translateY(-160%);border-radius:6px}.skip-link:focus{transform:translateY(0)}
.layout-1{font-family: 'Geist', system-ui, sans-serif; color: #10243e; background: #f5f8fc; min-width: 0}
.layout-2{background: #10243e; color: #f5f8fc}
.layout-3{max-width: 1200px; margin: 0 auto; padding: 22px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px}
.layout-4{display: flex; align-items: center; text-decoration: none}
.layout-5{height: 48px; width: auto; display: block}
.layout-6{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; font-size: 15px}
.layout-7{color: #C9D3E0; text-decoration: none}
.layout-8{display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 8px; background: #f5f8fc; color: #10243e; font-weight: 600; text-decoration: none}
.layout-9{max-width: 1200px; margin: 0 auto; padding: 72px 24px 104px; display: flex; flex-wrap: wrap; gap: 56px; align-items: center}
.layout-10{flex: 1 1 500px; min-width: 0; display: flex; flex-direction: column; gap: 28px}
.layout-11{font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #6aa8e8}
.layout-12{margin: 0; font-weight: 700; font-size: clamp(36px, 5vw, 60px); line-height: 1.08; letter-spacing: -0.025em}
.layout-13{margin: 0; max-width: 560px; font-size: 19px; line-height: 1.6; color: #C9D3E0}
.layout-14{display: flex; flex-wrap: wrap; gap: 14px; padding-top: 6px}
.layout-15{display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 8px; background: #6aa8e8; color: #10243e; font-weight: 600; font-size: 16px; text-decoration: none}
.layout-16{display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px; border-radius: 8px; border: 1px solid #3A5A88; color: #f5f8fc; font-weight: 500; font-size: 16px; text-decoration: none}
.layout-17{flex: 1 1 400px; min-width: 0; background: #12264A; border: 1px solid #23406E; border-radius: 8px; padding: 22px; display: flex; flex-direction: column; gap: 14px}
.layout-18{font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #9FB0C8}
.layout-19{display: flex; flex-direction: column; gap: 14px; padding: 20px; background: #10243e; border-radius: 8px; color: #f5f8fc; text-decoration: none}
.layout-20{display: flex; align-items: center; justify-content: space-between; gap: 12px}
.layout-21{font-weight: 700; font-size: 18px}
.layout-22{font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 8px; background: #6aa8e8; color: #10243e}
.layout-23{font-size: 14px; line-height: 1.5; color: #C9D3E0}
.layout-24{display: flex; flex-wrap: wrap; gap: 8px}
.layout-25{font-size: 12px; padding: 5px 10px; border-radius: 6px; border: 1px solid #2F4F80; color: #C9D3E0}
.layout-26{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border: 1px dashed #2F4F80; border-radius: 8px}
.layout-27{font-weight: 600; font-size: 16px; color: #C9D3E0}
.layout-28{font-size: 12px; font-weight: 600; color: #9FB0C8}
.layout-29{max-width: 1200px; margin: 0 auto; padding: 104px 24px 96px; display: flex; flex-direction: column; gap: 48px}
.layout-30{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px}
.layout-31{display: flex; flex-direction: column; gap: 14px; max-width: 640px}
.layout-32{font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #1556a6}
.layout-33{margin: 0; font-weight: 700; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.12; letter-spacing: -0.02em}
.layout-34{margin: 0; max-width: 400px; font-size: 17px; line-height: 1.6; color: #58708d}
.layout-35{display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px}
.layout-36{background: #FFFFFF; border: 1px solid #d4e0ed; border-radius: 8px; padding: 28px; display: flex; flex-direction: column; gap: 16px}
.layout-37{margin: 0; font-weight: 700; font-size: 19px}
.layout-38{margin: 0; font-size: 15px; line-height: 1.6; color: #58708d}
.layout-39{background: #e8f0f9}
.layout-40{max-width: 1200px; margin: 0 auto; padding: 104px 24px; display: flex; flex-direction: column; gap: 40px}
.layout-41{display: flex; flex-direction: column; gap: 14px; max-width: 720px}
.layout-42{margin: 0; font-size: 17px; line-height: 1.6; color: #58708d}
.layout-43{background: #FFFFFF; border-radius: 8px; padding: clamp(24px, 4vw, 48px); display: flex; flex-wrap: wrap; gap: 40px}
.layout-44{flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px}
.layout-45{align-self: flex-start; font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 8px; background: #e8f0f9; color: #1556a6}
.layout-46{margin: 0; font-weight: 700; font-size: 30px; letter-spacing: -0.02em}
.layout-47{padding-top: 6px}
.layout-48{display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 8px; background: #10243e; color: #f5f8fc; font-weight: 600; font-size: 16px; text-decoration: none}
.layout-49{flex: 1 1 440px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px}
.layout-50{background: #f5f8fc; border-radius: 8px; padding: 22px; display: flex; flex-direction: column; gap: 8px}
.layout-51{font-size: 13px; font-weight: 700; color: #1556a6}
.layout-52{font-weight: 700; font-size: 16px}
.layout-53{font-size: 14px; line-height: 1.55; color: #58708d}
.layout-54{border: 1px dashed #A9B8CC; border-radius: 8px; padding: 28px clamp(24px, 4vw, 48px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px}
.layout-55{display: flex; flex-direction: column; gap: 6px}
.layout-56{font-weight: 700; font-size: 20px}
.layout-57{font-size: 15px; line-height: 1.55; color: #58708d}
.layout-58{display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 8px; border: 1px solid #10243e; color: #10243e; font-weight: 600; font-size: 15px; text-decoration: none}
.layout-59{max-width: 1200px; margin: 0 auto; padding: 104px 24px; display: flex; flex-direction: column; gap: 48px}
.layout-60{display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px}
.layout-61{border-top: 3px solid #10243e; padding-top: 22px; display: flex; flex-direction: column; gap: 8px}
.layout-62{border-top: 3px solid #1556a6; padding-top: 22px; display: flex; flex-direction: column; gap: 8px}
.layout-63{padding: 0 24px 104px}
.layout-64{max-width: 1200px; margin: 0 auto; background: #10243e; color: #f5f8fc; border-radius: 8px; padding: clamp(32px, 5vw, 72px); display: flex; flex-wrap: wrap; gap: 48px; align-items: center}
.layout-65{flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 18px}
.layout-66{margin: 0; font-weight: 700; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.12; letter-spacing: -0.02em}
.layout-67{margin: 0; font-size: 17px; line-height: 1.6; color: #C9D3E0}
.layout-68{flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 14px}
.layout-69{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border-radius: 8px; background: #6aa8e8; color: #10243e; text-decoration: none}
.layout-70{display: flex; align-items: center; gap: 16px}
.layout-71{display: flex; flex-direction: column; gap: 2px}
.layout-72{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em}
.layout-73{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border-radius: 8px; border: 1px solid #3A5A88; color: #f5f8fc; text-decoration: none}
.layout-74{display: flex; align-items: center; gap: 16px; min-width: 0}
.layout-75{display: flex; flex-direction: column; gap: 2px; min-width: 0}
.layout-76{font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #C9D3E0}
.layout-77{font-weight: 700; font-size: 19px; overflow-wrap: anywhere}
.layout-78{margin: 4px 0 0; font-size: 13px; color: #9FB0C8}
.layout-79{border-top: 1px solid #d4e0ed}
.layout-80{max-width: 1200px; margin: 0 auto; padding: 36px 24px 44px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 32px; font-size: 14px; color: #58708d}
.layout-81{display: flex; flex-direction: column; gap: 10px}
.layout-82{height: 36px; width: auto; display: block; align-self: flex-start}
.layout-83{display: flex; flex-wrap: wrap; gap: 8px 24px}
.layout-84{color: #58708d}

/* Light editorial header and opening, with a restrained product index. */
body>div>div:first-child{background:var(--background);color:var(--foreground);border-bottom:1px solid var(--border)}
.site-header{max-width:none;position:sticky;top:0;z-index:40;min-height:82px;padding:18px max(24px,calc((100% - 1152px)/2));background:rgba(245,248,252,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}
.site-header img{height:40px}.site-header nav{gap:8px 26px;font-size:14px}
.site-header nav a{color:var(--muted);font-weight:600}.site-header nav a:hover{color:var(--foreground)}
.site-header nav a:last-child{background:var(--primary);color:#f7fbff;border-radius:6px}
.hero{gap:56px;padding-top:88px;padding-bottom:96px;max-width:1200px}
.hero>div:first-child{flex:1.35 1 500px;gap:26px}
.hero>div:first-child>div:first-child{color:var(--primary);font-family:ui-monospace,monospace;font-size:14px;letter-spacing:.09em}
.hero h1{font-size:clamp(36px,4.5vw,60px);font-weight:600;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.hero p{font-size:18px;color:var(--muted);line-height:1.75}
.hero>div:first-child>div:last-child a:first-child{background:var(--primary);color:#f7fbff;border-radius:6px;font-size:14px;min-height:48px;padding:0 22px}
.hero>div:first-child>div:last-child a:last-child{color:var(--foreground);border:1px solid var(--border);border-radius:6px;font-size:14px;min-height:48px;padding:0 22px}
.hero>div:last-child{flex:1 1 340px;background:transparent;border:0;border-top:1px solid var(--foreground);border-radius:0;padding:22px 0 0;gap:0}
.hero>div:last-child>div:first-child{color:var(--primary);font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.09em;margin-bottom:16px}
.hero>div:last-child>a{background:transparent;border-radius:0;padding:18px 0 24px;color:var(--foreground);border-bottom:1px solid var(--border)}
.hero>div:last-child>a>span{color:var(--muted)}
.hero>div:last-child>a>div:first-child>span:last-child{background:var(--primary);color:#fff;border-radius:4px}
.hero>div:last-child>a>div:last-child span{border-color:var(--border);color:var(--muted);border-radius:4px}
.hero>div:last-child>div:nth-last-child(-n+2){border:0;border-bottom:1px solid var(--border);border-radius:0;padding:22px 0}
.hero>div:last-child>div:nth-last-child(-n+2) span:first-child{color:var(--foreground)}
.hero>div:last-child>div:nth-last-child(-n+2) span:last-child{color:var(--muted)}
h2{font-weight:600!important;letter-spacing:-.035em!important;text-wrap:balance}h3{letter-spacing:-.025em}
.solutions{padding-top:88px;padding-bottom:88px;gap:40px}
.solutions>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.solutions>div:last-child>div{border:0;border-radius:0;padding:32px;gap:20px}
.solutions>div:last-child>div svg{width:26px;height:26px;stroke:var(--primary)}
.products{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.products>div{padding-top:88px;padding-bottom:88px}
.products>div>div:nth-child(2){border:1px solid var(--border);border-radius:8px}
.products>div>div:nth-child(2)>div:first-child a{background:var(--primary);color:#fff;font-size:14px;border-radius:6px}
.products>div>div:last-child{border-style:solid;border-color:var(--border);border-radius:8px}
.about{padding-top:88px;padding-bottom:88px}
.about>div:last-child>div{border-top-width:1px;border-top-color:var(--primary)}
.contact{padding-bottom:88px}.contact>div{background:var(--foreground);border-radius:8px;gap:40px}
.contact a:first-child{background:var(--primary);color:#f7fbff;border-radius:6px}.contact a:nth-child(2){border-color:#284361;border-radius:6px}
.contact a:hover{background:#1d65bc}.contact a:nth-child(2):hover{background:#193550}
.site-footer{background:#fff}.site-footer img{height:34px}.site-footer a{text-underline-offset:4px}
a:hover{filter:none}.hero a:hover,.products a:hover{border-color:var(--primary)}
@media(min-width:1000px){body>div>div:first-child{display:contents}.hero{border-bottom:1px solid var(--border)}}
@media(max-width:760px){
.site-header{padding:16px 20px;gap:18px}.site-header img{height:34px}.site-header nav{width:100%;gap:12px;justify-content:space-between;font-size:12px}.site-header nav a:last-child{padding:0 12px;min-height:40px;font-size:12px}.site-header nav a:last-child svg{display:none}
.hero{padding:52px 20px 60px;gap:40px}.hero>div:first-child{flex-basis:100%}.hero>div:last-child{flex-basis:100%}.hero h1{font-size:clamp(36px,8vw,48px)}.hero p{font-size:16px}.hero>div:first-child>div:last-child{gap:10px}.hero>div:first-child>div:last-child a{justify-content:center;flex:1 1 210px}
.solutions,.about{padding:60px 20px;gap:32px}.solutions>div:last-child{grid-template-columns:1fr}.solutions>div:last-child>div{padding:26px}.products>div{padding:60px 20px}.products>div>div:nth-child(2){padding:24px;gap:30px}.products>div>div:nth-child(2)>div{flex-basis:100%}.products>div>div:nth-child(2)>div:last-child{grid-template-columns:1fr}.products>div>div:last-child{padding:24px}
.about>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{padding:0 20px 60px}.contact>div{padding:28px 20px;gap:28px}.contact>div>div{flex-basis:100%}.contact a{padding:18px 14px}.contact a span{overflow-wrap:anywhere}.contact a svg{width:22px}.contact a:first-child span:last-child{font-size:18px}.contact a:nth-child(2) span:last-child{font-size:clamp(13px,3.8vw,18px)}.contact a:first-child span:first-child{font-size:10px}.site-footer>div{padding:30px 20px}.site-footer>div>div:last-child{flex-direction:column;gap:14px}
}
@media(max-width:380px){.site-header nav{gap:10px 14px;justify-content:flex-start}.about>div:last-child{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}

/* Keep the header sticky through every section at all screen sizes. */
body>div>div:first-child{display:contents}
.hero{border-bottom:1px solid var(--border)}

/* Process and frequently asked questions. */
.content-container{max-width:1200px;margin:0 auto;padding:88px 24px}
.process-section{background:#fff;border-top:1px solid var(--border)}
.section-heading{max-width:720px;display:flex;flex-direction:column;gap:16px}
.section-heading h2{margin:0;font-size:clamp(28px,3.4vw,42px);line-height:1.12}
.section-heading p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.section-heading .eyebrow{font-family:ui-monospace,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--primary);font-weight:600}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;margin:48px 0 32px;padding:0}
.process-steps li{border-top:1px solid var(--primary);padding-top:24px}
.process-section .section-heading .eyebrow,.faq-section .section-heading .eyebrow{font-size:14px}
.step-label{color:var(--primary);font-family:ui-monospace,monospace;font-size:15px;font-weight:600}
.process-steps h3{font-size:22px;margin:16px 0 12px;font-weight:600}
.process-steps p{font-size:15px;line-height:1.65;color:var(--muted);margin:0}
.process-benefits{list-style:none;display:flex;flex-wrap:wrap;gap:16px 32px;border-top:1px solid var(--border);padding:24px 0 0;margin:0;font-size:14px;color:var(--foreground)}
.process-benefits li::before{content:'✓';margin-right:10px;color:var(--primary)}
.service-mark{font-size:28px;line-height:1;color:var(--primary)}
.service-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.service-detail .service-tags{margin-top:auto;padding-top:4px}
.service-tags li{font-size:12px;background:#e8f0f9;color:var(--foreground);border-radius:4px;padding:6px 9px}
.faq-section{border-top:1px solid var(--border)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
.faq-list{min-width:0;border-top:1px solid var(--border)}
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;padding:22px 0;font-size:16px;font-weight:500;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:24px;color:var(--primary);flex-shrink:0;transition:transform .15s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 32px 24px 0;font-size:15px;line-height:1.75;color:var(--muted)}
.faq-contact{font-size:14px;font-weight:600;text-underline-offset:5px;align-self:flex-start;line-height:1.6}
@media(max-width:1000px){.site-header nav{gap:10px 16px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-grid{gap:40px}}
@media(max-width:760px){.content-container{padding:60px 20px}.faq-grid{grid-template-columns:1fr;gap:32px}.process-steps{gap:28px 20px;margin-top:32px}.process-benefits{flex-direction:column}.site-header nav{justify-content:flex-start}.section-heading p{font-size:16px}section[id]{scroll-margin-top:170px}}
@media(max-width:420px){.process-steps{grid-template-columns:1fr}.faq-list summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){.faq-list summary span{transition:none}}

/* Six-service index based on the supplied image. */
.hero>div.service-index{border:0;padding:0;align-self:center}
.service-index ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--foreground)}
.service-index li{border-bottom:1px solid var(--border)}
.service-index li a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;text-decoration:none;color:var(--foreground)}
.service-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.service-title{font-size:21px;font-weight:500;line-height:1.3;letter-spacing:-.02em}
.service-description{font-size:15px;line-height:1.5;color:var(--muted)}
.service-index li a svg{color:var(--muted);transition:transform .18s,color .18s}
.service-index li a:hover .service-title{color:var(--primary)}
.service-index li a:hover svg{color:var(--primary);transform:translateX(4px)}
.service-detail{scroll-margin-top:110px}
.site-footer .footer-grid{max-width:1200px;margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr);gap:48px;align-items:start;font-size:14px;color:var(--muted)}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.footer-brand p,.footer-group p{margin:0;line-height:1.65}
.footer-brand span{font-size:12px;line-height:1.8}
.footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.footer-group h2{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:0!important;color:var(--foreground)}
.site-footer a{color:var(--muted);text-decoration:none;line-height:1.5;overflow-wrap:anywhere}
.site-footer a:hover{color:var(--primary)}
.footer-group p{font-size:12px}
.site-footer .footer-bottom{border-top:1px solid var(--border);max-width:1152px;margin:0 auto;padding:22px 0;font-size:12px;color:var(--muted)}
@media(max-width:760px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:36px 20px;gap:32px 24px}.footer-brand{grid-column:1/-1}.site-footer .footer-bottom{margin:0 20px;padding:20px 0}}
@media(max-width:480px){.site-footer .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
@media(max-width:760px){.service-title{font-size:20px}.service-index li a{padding:20px 0}.service-detail{scroll-margin-top:170px}}
@media(prefers-reduced-motion:reduce){.service-index li a svg{transition:none}}
