/* Homepage only; the shared header and tracking page keep their own styles. */
.fw-home { background:#fff; color:#0c1f44; }
.fw-main { --fw-navy:#0c1f44; --fw-red:#e11d07; font-family:Roboto,Arial,sans-serif; }
.fw-shell { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.fw-main section { padding:0; }
.fw-main h1,.fw-main h2,.fw-main h3,.fw-footer h2 { font-family:Rubik,Arial,sans-serif; letter-spacing:-.035em; color:#0c1f44; text-transform:none; }
.fw-main p { color:#5c6779; font-size:16px; line-height:1.75; margin:0; }
.fw-main a { text-decoration:none; }
.fw-main .fw-eyebrow { font-size:11px; font-weight:700; letter-spacing:.16em; line-height:1.5; color:#c32615; margin:0 0 20px; }
.fw-main .fw-eyebrow-light { color:#fff; }
.fw-main .fw-section { padding:96px 0; }
.fw-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.fw-main h2 { font-size:clamp(30px,3.25vw,44px); line-height:1.18; margin:0; font-weight:500; }
.fw-section-heading>p { max-width:370px; }
.fw-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:15px 24px; border:0; border-radius:3px; font:700 14px Roboto,Arial,sans-serif; line-height:1.4; cursor:pointer; transition:background .2s,transform .2s; white-space:nowrap; }
.fw-button span { font-size:22px; line-height:1; }
.fw-button:hover { transform:translateY(-2px); }
.fw-button-red,.fw-button-red:visited { background:#d9210e; color:#fff; }
.fw-button-red:hover { background:#b91808; color:#fff; }
.fw-button-white,.fw-button-white:visited { background:#fff; color:#0c1f44; }
.fw-button-white:hover { background:#e9eef5; color:#0c1f44; }
.fw-main a:focus-visible,.fw-main button:focus-visible,.fw-main input:focus-visible,.fw-main summary:focus-visible,.fw-footer a:focus-visible { outline:3px solid #e34a22; outline-offset:4px; }
.fw-hero { position:relative; min-height:650px; overflow:hidden; background:#081a35; }
.fw-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:35% center; }
.fw-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,23,45,.04) 8%,rgba(8,23,45,.12) 33%,rgba(8,23,45,.92) 62%,#08172d 100%); }
.fw-hero-inner { position:relative; min-height:650px; display:flex; align-items:center; justify-content:flex-end; padding:60px 0 110px; }
.fw-hero-copy { width:50%; max-width:600px; }
.fw-hero-copy .fw-eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; }
.fw-hero-copy .fw-eyebrow span { width:26px; height:3px; background:#ff5039; }
.fw-main .fw-hero h1 { color:#fff; font-size:clamp(42px,4.45vw,65px); line-height:1.07; margin:0 0 26px; font-weight:500; letter-spacing:-.045em; }
.fw-hero h1 em { color:#ff6d55; font-style:normal; }
.fw-main .fw-hero-description { max-width:445px; font-size:16px; line-height:1.7; color:#dbe3ef; }
.fw-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
.fw-hero-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; color:#fff; font-weight:700; }
.fw-hero-link:hover { color:#ffb6a7; }
.fw-image-caption { position:absolute; left:0; bottom:115px; color:#fff; font-size:9px; letter-spacing:.18em; display:flex; align-items:center; gap:12px; padding:10px 14px; background:#0c1f44b8; }
.fw-caption-line { display:inline-block; width:22px; height:2px; background:#ff5039; }
.fw-tools-wrap { position:relative; margin-top:-64px; z-index:2; }
.fw-tools { background:#fff; border-radius:5px; box-shadow:0 12px 48px #0c1f4414; border:1px solid #e8ebef; overflow:hidden; }
.fw-tool-tabs { display:flex; align-items:stretch; border-bottom:1px solid #e6eaf0; background:#fafbfd; }
.fw-tool-tab { padding:21px 30px; background:transparent; border:0; border-bottom:3px solid transparent; color:#596477; font:700 14px Roboto,Arial,sans-serif; cursor:pointer; display:flex; align-items:center; gap:10px; }
.fw-tool-tab.is-active { color:#0c1f44; background:#fff; border-bottom-color:#e11d07; }
.fw-tool-tab i { color:#d9210e; }
.fw-tool-help { margin-left:auto; padding:22px 30px; color:#667082; font-size:12px; }
.fw-tool-help:hover { color:#c32615; }
.fw-tool-panel { display:grid; grid-template-columns:.9fr 1.3fr; align-items:center; gap:32px; padding:30px; }
.fw-tool-panel[hidden] { display:none; }
.fw-main .fw-tool-intro h2 { font-size:20px; margin-bottom:7px; letter-spacing:-.02em; }
.fw-main .fw-tool-intro p { font-size:13px; line-height:1.6; }
.fw-lookup { display:flex; gap:10px; margin:0; }
.fw-lookup input { width:100%; min-width:0; flex:1; height:56px; border:1px solid #d7dee8; border-radius:3px; padding:0 16px; font:14px Roboto,Arial,sans-serif; color:#0c1f44; background:#f9fafc; }
.fw-lookup input::placeholder { color:#687487; }
.fw-lookup .fw-button { flex-shrink:0; }
.fw-nojs { padding:0 30px 20px; }
.fw-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fw-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.fw-service-card { display:block; border:1px solid #e5e9ef; border-radius:4px; overflow:hidden; background:#fff; transition:transform .25s,box-shadow .25s; }
.fw-service-card:hover { transform:translateY(-6px); box-shadow:0 16px 30px #0c1f4410; }
.fw-service-photo { position:relative; aspect-ratio:1.52; overflow:hidden; background:#dbe2eb; }
.fw-service-photo img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.fw-service-card:hover img { transform:scale(1.04); }
.fw-card-number { position:absolute; left:14px; top:14px; padding:5px 9px; border:1px solid #ffffff65; color:#fff; font-size:11px; background:#0c1f448c; }
.fw-service-body { padding:25px 21px; }
.fw-card-category { display:block; color:#9c352a; font-size:9px; font-weight:700; letter-spacing:.08em; margin-bottom:12px; }
.fw-main .fw-service-body h3 { display:flex; justify-content:space-between; align-items:center; font-size:21px; font-weight:500; margin:0 0 12px; }
.fw-service-body h3 span { font-size:22px; font-weight:400; color:#d9210e; }
.fw-main .fw-service-body p { font-size:14px; line-height:1.65; }
.fw-service-card-security { background:#0c1f44; border-color:#0c1f44; }
.fw-service-card-security .fw-card-category { color:#ff9986; }
.fw-main .fw-service-card-security h3 { color:#fff; }
.fw-main .fw-service-card-security p { color:#c8d1df; }
.fw-security { display:grid; grid-template-columns:1fr 1fr; background:#0a1b39; }
.fw-security-photo { min-height:560px; position:relative; }
.fw-security-photo>img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:48% center; }
.fw-security-tag { position:absolute; bottom:40px; right:0; display:flex; align-items:center; gap:20px; background:#d9210e; color:#fff; padding:24px 35px; font-size:10px; letter-spacing:.08em; }
.fw-security-tag i { font-size:34px; }
.fw-security-tag strong { display:block; font-size:25px; font-weight:500; letter-spacing:-.025em; margin-top:5px; }
.fw-security-content { padding:70px clamp(30px,5vw,80px); max-width:720px; }
.fw-main .fw-security-content h2 { color:#fff; font-size:clamp(30px,3.15vw,44px); margin-bottom:24px; }
.fw-main .fw-security-content>p:not(.fw-eyebrow) { color:#c4cfdf; font-size:15px; }
.fw-security-list { list-style:none; padding:0; margin:28px 0 30px; }
.fw-security-list li { border-top:1px solid #ffffff20; padding:13px 0; color:#fff; font-size:14px; }
.fw-security-list span { margin-right:22px; font-size:11px; color:#ff9986; }
.fw-text-link { display:inline-flex; align-items:center; gap:20px; color:#0c1f44; font-size:14px; font-weight:700; padding-bottom:8px; border-bottom:1px solid #e11d07; }
.fw-text-link:hover { color:#c32615; }
.fw-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px; list-style:none; padding:20px 0 0; margin:0; }
.fw-process-grid li { border-top:1px solid #d7dfe9; padding-top:26px; }
.fw-step-number { color:#d9210e; font:400 42px Rubik,Arial,sans-serif; letter-spacing:-.04em; }
.fw-main .fw-process-grid h3 { font-size:23px; font-weight:500; margin:22px 0 14px; }
.fw-main .fw-process-grid p { font-size:15px; }
.fw-faq-section { background:#f3f5f8; }
.fw-faq-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:100px; }
.fw-faq-grid h2 { margin-bottom:24px; }
.fw-faq-grid .fw-text-link { margin-top:24px; }
.fw-faq-list details { border-top:1px solid #d5dde7; padding:23px 0; }
.fw-faq-list details:last-child { border-bottom:1px solid #d5dde7; }
.fw-faq-list summary { list-style:none; display:flex; justify-content:space-between; gap:20px; cursor:pointer; color:#0c1f44; font-size:17px; font-weight:700; line-height:1.5; }
.fw-faq-list summary::-webkit-details-marker { display:none; }
.fw-faq-list summary::after { content:'+'; font-size:24px; color:#c32615; line-height:1; }
.fw-faq-list details[open] summary::after { content:'−'; }
.fw-main .fw-faq-list p { font-size:15px; margin:16px 35px 0 0; }
.fw-main .fw-contact-band { background:#d9210e; padding:52px 0; }
.fw-contact-band>.fw-shell { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.fw-contact-band .fw-eyebrow { margin-bottom:12px; }
.fw-main .fw-contact-band h2 { color:#fff; }
.fw-footer { background:#07162e; padding:65px 0 0; font-family:Roboto,Arial,sans-serif; }
.fw-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:50px; }
.fw-footer-brand img { max-width:180px; max-height:75px; object-fit:contain; object-position:left; }
.fw-footer p { color:#c3cddd; font-size:13px; line-height:1.8; margin:18px 0 0; }
.fw-footer h2 { color:#fff; font-size:14px; font-weight:500; letter-spacing:0; margin:6px 0 22px; }
.fw-footer-grid a { display:block; color:#c3cddd; font-size:13px; margin:12px 0; }
.fw-footer a:hover { color:#fff; }
.fw-footer-bottom { border-top:1px solid #ffffff1a; padding:24px 0; display:flex; justify-content:space-between; gap:20px; color:#a6b4c9; font-size:11px; }
.fw-footer-bottom a { color:#c3cddd; }
.fw-skip { position:fixed; left:16px; top:-100px; z-index:1100; background:#fff; color:#0c1f44; padding:12px 20px; }
.fw-skip:focus { top:12px; }
.fw-home #main-content,.fw-home #our-services { scroll-margin-top:120px; }
@media(min-width:1600px) { .fw-hero-inner,.fw-hero { min-height:740px; } }
@media(max-width:1100px) {
 .fw-shell { width:calc(100% - 48px); }
 .fw-hero-copy { width:53%; }
 .fw-tool-panel { grid-template-columns:1fr; gap:20px; }
 .fw-service-grid { gap:16px; }
 .fw-service-body { padding:20px 16px; }
 .fw-main .fw-service-body h3 { font-size:18px; }
 .fw-security-content { padding:50px 35px; }
 .fw-faq-grid { gap:50px; }
}
@media(max-width:767px) {
 .fw-shell { width:calc(100% - 36px); }
 .fw-main .fw-section { padding:64px 0; }
 .fw-hero { min-height:auto; }
 .fw-hero-image { height:300px; object-position:24% center; }
 .fw-hero-shade { background:linear-gradient(180deg,transparent 110px,#08172d 300px); }
 .fw-hero-inner { min-height:auto; padding:230px 0 90px; }
 .fw-hero-copy { width:100%; max-width:none; }
 .fw-main .fw-hero h1 { font-size:44px; max-width:540px; }
 .fw-hero-description { max-width:100%; }
 .fw-image-caption { display:none; }
 .fw-actions { gap:18px; }
 .fw-tools-wrap { margin-top:-35px; }
 .fw-tool-tab { padding:19px 16px; font-size:13px; flex:1; justify-content:center; }
 .fw-tool-help { display:none; }
 .fw-tool-panel { padding:24px 20px; }
 .fw-lookup { flex-direction:column; }
 .fw-lookup input { flex:auto; height:54px; }
 .fw-lookup .fw-button { width:100%; }
 .fw-section-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:30px; }
 .fw-section-heading>p { max-width:550px; }
 .fw-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .fw-security { grid-template-columns:1fr; }
 .fw-security-photo { min-height:300px; }
 .fw-security-tag { bottom:25px; padding:18px 25px; }
 .fw-security-content { padding:48px 24px; }
 .fw-process-grid { grid-template-columns:1fr; gap:30px; padding:0; }
 .fw-process-grid li { position:relative; padding:24px 0 0 64px; }
 .fw-step-number { position:absolute; left:0; top:23px; font-size:32px; }
 .fw-main .fw-process-grid h3 { margin:0 0 12px; }
 .fw-faq-grid { grid-template-columns:1fr; gap:36px; }
 .fw-contact-band>.fw-shell { flex-direction:column; align-items:flex-start; gap:26px; }
 .fw-footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
 .fw-footer-bottom { flex-wrap:wrap; }
}
@media(max-width:420px) {
 .fw-main .fw-hero h1 { font-size:39px; }
 .fw-hero-copy .fw-eyebrow { font-size:9px; letter-spacing:.1em; }
 .fw-service-grid { grid-template-columns:1fr; }
 .fw-service-photo { aspect-ratio:1.8; }
 .fw-main .fw-service-body h3 { font-size:23px; }
 .fw-tool-tab { font-size:12px; padding:18px 10px; gap:7px; }
 .fw-footer-grid { column-gap:22px; }
}
@media(prefers-reduced-motion:reduce) {
 .fw-main *, .fw-main *::before, .fw-main *::after { transition:none!important; scroll-behavior:auto!important; }
}
