
.defence-page{background:#101418;color:#f4f5f6;padding-top:96px}.defence-page *{box-sizing:border-box}.df-wrap{width:100%;max-width:none;margin:0;padding:0 clamp(24px,5vw,96px)}.df-intro{position:relative;isolation:isolate;min-height:660px;display:flex;align-items:center;padding:36px 0 68px;border-bottom:1px solid #41484e}.df-intro>.df-wrap{position:relative;z-index:1}.df-visual{position:absolute;inset:0;margin:0;z-index:-2;overflow:hidden;background:#111820}.df-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);opacity:.32}.df-intro:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,14,19,.98) 0%,rgba(9,14,19,.91) 38%,rgba(9,14,19,.55) 75%,rgba(9,14,19,.25) 100%)}.df-back{display:inline-block;color:#aeb7c0;text-decoration:none;font-size:12px;letter-spacing:.05em;margin-bottom:40px}.df-logo{position:absolute;right:clamp(24px,5vw,96px);top:0;width:88px;height:88px;object-fit:contain;filter:grayscale(1)}.df-heading{margin-top:0;max-width:1050px}.df-eyebrow{color:#c8cfd6;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:0 0 24px}.df-intro .df-eyebrow:before{content:"";display:inline-block;width:26px;height:2px;background:#c47b3d;vertical-align:middle;margin-right:14px}.defence-page h1{font-size:clamp(32px,4.3vw,66px);font-weight:600;line-height:1.12;letter-spacing:-.025em;margin:0;max-width:1000px}.defence-page em{font-style:normal;color:#aeb9c4}.df-lead{max-width:740px;font-size:17px;line-height:1.8;color:#c3ccd5;margin:30px 0 0}.df-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:34px}.df-primary,.df-secondary{font-size:14px;text-decoration:none;line-height:1.5;font-weight:600}.df-primary{display:grid;grid-template-columns:1fr auto;gap:4px 32px;padding:16px 22px;border:1px solid #c0c9d0;border-radius:0;background:#e4e9ed;color:#111820;min-width:290px}.df-primary small{grid-column:1/-1;font-size:11px;letter-spacing:.06em;font-weight:400;color:#46535d}.df-primary:hover{background:#fff}.df-secondary{color:#d4dce2;padding:12px 0;border-bottom:1px solid #68737e}.defence-page a:focus-visible{outline:3px solid #eea363;outline-offset:5px}.df-capabilities{padding:42px 0 50px;background:#141a20;color:#eef1f3}.df-capabilities>.df-wrap{display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:0 50px}.df-capabilities .df-eyebrow{grid-column:1;font-size:11px;color:#a4b0bb;margin-bottom:16px}.defence-page h2{grid-column:1;font-size:26px;line-height:1.3;letter-spacing:-.01em;margin:0;max-width:300px;font-weight:500}.df-grid{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.df-grid article{padding:0 28px;border-left:1px solid #39434c}.df-grid article:last-child{padding-right:0}.df-number{color:#8f9ba7;font-size:11px;letter-spacing:.12em}.df-grid h3{font-size:18px;font-weight:550;line-height:1.4;margin:18px 0 12px}.df-grid p{font-size:14px;line-height:1.75;color:#aeb9c4;margin:0}.df-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.df-heading{max-width:1150px}.df-intro{min-height:700px}}
@media(max-width:1000px){.df-capabilities>.df-wrap{display:block}.defence-page h2{max-width:none;margin-bottom:28px}.df-grid article:first-child{padding-left:0;border:0}.df-grid article{padding:0 20px}}
@media(max-width:760px){.defence-page{padding-top:78px}.df-intro{min-height:0;padding:28px 0 44px}.df-back{margin-bottom:44px}.df-logo{width:66px;height:66px;top:-8px}.df-heading{padding-top:12px}.defence-page h1{font-size:34px;line-height:1.16;letter-spacing:-.02em}.df-lead{font-size:16px;line-height:1.75;margin-top:24px}.df-actions{gap:18px;margin-top:28px;align-items:flex-start;flex-direction:column}.df-primary{width:100%;min-width:0}.df-secondary{font-size:13px}.df-intro:after{background:linear-gradient(90deg,rgba(9,14,19,.96),rgba(9,14,19,.82))}.df-visual img{object-position:65% center}.df-capabilities{padding:36px 0}.df-grid{grid-template-columns:1fr;gap:24px}.df-grid article,.df-grid article:first-child{border:0;border-top:1px solid #39434c;padding:20px 0 0}.df-grid h3{margin-top:10px}.df-eyebrow{font-size:11px;letter-spacing:.16em}.defence-page h2{font-size:25px}}

/* Focused gateway: geometric frame, restrained scanning light and short departure. */
.df-actions{justify-content:center;width:100%;margin-top:44px}.df-gateway{position:relative;display:block;overflow:hidden;isolation:isolate;min-width:340px;padding:20px 38px;text-align:center;background:linear-gradient(115deg,#111d27,#1a2d3b 50%,#111b24);border:1px solid #8099ab;color:#edf6fc;box-shadow:inset 0 0 0 5px #111921,inset 0 0 0 6px #324653,0 8px 28px #0005;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:box-shadow .25s,border-color .25s,transform .25s,background .25s}.df-gateway-label{position:relative;z-index:2;display:block;font-size:15px;letter-spacing:.06em}.df-gateway small{display:block;margin-top:6px;color:#9cafbe;font-size:10px;letter-spacing:.15em}.df-gateway-label>span[aria-hidden]{display:inline-block;margin-left:20px;transition:transform .25s}.df-gateway:hover,.df-gateway:focus-visible{background:linear-gradient(115deg,#182b3b,#25465b 50%,#142634);border-color:#c6edff;box-shadow:inset 0 0 0 5px #111921,inset 0 0 0 6px #57778b,0 0 25px #8bd3ff30;transform:translateY(-2px)}.df-gateway:hover .df-gateway-label>span[aria-hidden]{transform:translate(3px,-3px)}.df-gateway-scan{position:absolute;inset:-70% -35%;background:linear-gradient(110deg,transparent 43%,#b4e8ff20 49%,#d9f5ff65 50%,transparent 57%);transform:translateX(-85%);pointer-events:none}.df-gateway:hover .df-gateway-scan,.df-gateway:focus-visible .df-gateway-scan{animation:gateway-scan 1.4s ease-in-out infinite}.df-gateway-progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#bcecff;transform:scaleX(0);transform-origin:left;box-shadow:0 0 14px #c7ecff;z-index:3}.df-gateway.is-departing{transform:none;border-color:#ddf5ff;box-shadow:0 0 35px #a1dcff40;pointer-events:none}.df-gateway.is-departing .df-gateway-progress{animation:gateway-progress .55s ease-out forwards}.df-gateway.is-departing .df-gateway-scan{animation:gateway-scan .55s ease-out forwards}.df-gateway.is-departing .df-gateway-label{animation:gateway-label .55s ease-out forwards}@keyframes gateway-scan{to{transform:translateX(85%)}}@keyframes gateway-progress{to{transform:scaleX(1)}}@keyframes gateway-label{50%{opacity:.65;transform:translateY(-1px)}100%{opacity:1;transform:none}}@media(max-width:760px){.df-actions{align-items:center;margin-top:32px}.df-gateway{min-width:0;width:100%;padding:20px 24px}.df-gateway-label{font-size:14px}}@media(prefers-reduced-motion:reduce){.df-gateway,.df-gateway-label>span[aria-hidden]{transition:none}.df-gateway:hover{transform:none}.df-gateway-scan,.df-gateway.is-departing .df-gateway-label,.df-gateway.is-departing .df-gateway-progress{animation:none!important}}

/* Energy 4: subtle teal and amber; visible motion without strobing. */
.df-visual img{filter:saturate(.7);opacity:.48}.df-intro:after{background:linear-gradient(100deg,#08121af7 0%,#0b1925e0 42%,#0e212c6b 100%)}.defence-page em{color:#b9cddd}.df-intro .df-eyebrow:before{background:#df9b56;box-shadow:0 0 12px #df9b5640}.df-actions{margin-top:48px}.df-launch{position:relative;isolation:isolate;width:390px;max-width:100%;padding:14px}.df-launch:before{content:"";position:absolute;inset:-12px;background:radial-gradient(ellipse,#66badb30,transparent 68%);z-index:-1;animation:gateway-breathe 3s ease-in-out infinite;pointer-events:none}.df-gateway{min-width:0;width:100%;padding:25px 28px;background:linear-gradient(110deg,#132b3b,#294858 50%,#142a38);border-color:#7dafc3;box-shadow:inset 0 0 0 5px #122531,inset 0 0 0 6px #437085,0 0 22px #70bdde30;z-index:2}.df-gateway:before{content:"";position:absolute;inset:-150%;background:conic-gradient(transparent 70deg,#85d6ff35 95deg,transparent 125deg,transparent 250deg,#eca95a30 280deg,transparent 310deg);animation:gateway-energy 6s linear infinite;pointer-events:none}.df-gateway:hover,.df-gateway:focus-visible{transform:translateY(-4px) scale(1.035);background:linear-gradient(110deg,#183c50,#32647a 50%,#1a3e50);border-color:#c7efff;box-shadow:inset 0 0 0 5px #132e3b,inset 0 0 0 6px #7ab9cf,0 0 34px #65c8f15c,0 12px 32px #0005}.df-gateway small{color:#b5cedc}.df-gateway-scan{animation:gateway-scan 3.6s ease-in-out infinite}.df-gateway:hover .df-gateway-scan{animation:gateway-scan 1s ease-in-out infinite}.df-orbit{position:absolute;inset:5px;pointer-events:none;border:1px solid #68b8d860;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);transition:transform .35s,opacity .35s;z-index:0}.df-orbit:after{content:"";position:absolute;width:90px;height:2px;top:0;left:-90px;background:linear-gradient(90deg,transparent,#a2e3ff,transparent);box-shadow:0 0 9px #99dcff;animation:gateway-trace 3s linear infinite}.df-orbit.two{inset:0;opacity:.6;transform:scale(1.025)}.df-orbit.two:after{top:auto;bottom:0;background:linear-gradient(90deg,transparent,#dda269,transparent);animation-direction:reverse;animation-delay:-1.5s}.df-orbit.three{inset:-6px;opacity:.25;transform:scale(1.04)}.df-launch:has(.df-gateway:hover) .one{transform:scale(1.07)}.df-launch:has(.df-gateway:hover) .two{transform:scale(1.12)}.df-launch:has(.df-gateway:hover) .three{transform:scale(1.17)}.df-launch:has(.is-departing) .df-orbit{animation:gateway-release .8s ease-out forwards}.df-launch:has(.is-departing) .two{animation-delay:.06s}.df-launch:has(.is-departing) .three{animation-delay:.12s}.df-gateway.is-departing{animation:gateway-charge .8s ease-in-out forwards}.df-gateway.is-departing .df-gateway-progress{animation:gateway-progress .78s ease-in forwards;background:#f1bf81}.df-gateway.is-departing .df-gateway-label{animation:gateway-label .8s ease-out forwards}.df-gateway.is-departing .df-gateway-scan{animation:gateway-scan .4s ease-in-out 2}@keyframes gateway-energy{to{transform:rotate(360deg)}}@keyframes gateway-breathe{50%{opacity:.5;transform:scale(.93)}}@keyframes gateway-trace{to{left:100%}}@keyframes gateway-release{30%{opacity:1}100%{transform:scale(1.45);opacity:0}}@keyframes gateway-charge{0%{transform:scale(1)}30%{transform:scale(.97)}75%{transform:scale(1.045);box-shadow:0 0 48px #89d7f480}100%{transform:scale(1.02);box-shadow:0 0 30px #89d7f44d}}@media(max-width:760px){.df-intro:after{background:linear-gradient(100deg,#091722f2,#102430c9)}.df-back{margin-bottom:30px}.df-actions{margin-top:34px}.df-launch{width:100%;padding:12px}.df-gateway{padding:23px 18px}.df-gateway-label{font-size:13px;letter-spacing:.025em}.df-orbit.three{inset:0}}@media(prefers-reduced-motion:reduce){.df-launch:before,.df-gateway:before,.df-orbit,.df-orbit:after,.df-gateway.is-departing{animation:none!important}.df-orbit,.df-gateway{transition:none!important}.df-gateway:hover,.df-launch:has(.df-gateway:hover) .df-orbit{transform:none}}

/* Dedicated-site explanation and containment for animated frames. */
.df-intro{overflow:hidden;overflow:clip}.df-site-note{max-width:560px;margin:30px auto 0;text-align:center;color:#b9c8d3}.df-site-note strong{display:block;font-size:14px;font-weight:600;color:#e1eaf0}.df-site-note p{font-size:13px;line-height:1.65;margin:8px 0}.df-site-note small{display:block;font-size:11px;line-height:1.6;color:#99adbc}@media(max-width:760px){.df-site-note{margin-top:26px}.df-site-note p{font-size:13px}}

/* Digital button: flat surfaces, discrete segments and stepped edge signals. */
.df-gateway,.df-gateway:hover,.df-gateway:focus-visible{background:#132632;box-shadow:inset 0 0 0 5px #10202a,inset 0 0 0 6px #426575,0 0 18px #76bddc20}
.df-gateway:hover,.df-gateway:focus-visible{background:#193341;border-color:#b1e5f4;box-shadow:inset 0 0 0 5px #10202a,inset 0 0 0 6px #80b5c6,0 0 22px #76bddc40}
.df-gateway:before,.df-gateway-scan,.df-launch:before{display:none!important}
.df-orbit:after{width:28px;height:3px;background:#9ad5e8;box-shadow:36px 0 #5b9bb4,72px 0 #31576a;animation:dfDigitalTrace 3.2s linear infinite}
.df-orbit.two:after{background:#e0a267;box-shadow:36px 0 #a27045,72px 0 #60462e;animation:dfDigitalTrace 3.2s linear infinite reverse}
.df-digital-status{position:absolute;left:15px;top:15px;width:4px;height:4px;background:#9ad5e8;box-shadow:8px 0 #47798c,16px 0 #47798c;animation:dfDigitalStatus 2.4s ease-in-out infinite;pointer-events:none}
.df-gateway:after{content:"";position:absolute;right:14px;bottom:14px;width:14px;height:14px;border-right:2px solid #8ec8da;border-bottom:2px solid #8ec8da;pointer-events:none}
.df-gateway:hover .df-digital-status{animation-duration:.7s}
.df-gateway.is-departing{animation:dfDigitalActivate .8s ease-in-out forwards}
.df-gateway.is-departing .df-gateway-progress{animation:gateway-progress .78s ease-in-out forwards;background:#dba267;box-shadow:none}
.df-launch:has(.is-departing) .df-orbit{animation:none;transform:none;border-color:#a6daea;opacity:.8}
@keyframes dfDigitalTrace{from{left:-100px}to{left:110%}}
@keyframes dfDigitalStatus{0%,100%{background:#9ad5e8;box-shadow:8px 0 #47798c,16px 0 #47798c}33%{background:#47798c;box-shadow:8px 0 #9ad5e8,16px 0 #47798c}66%{background:#47798c;box-shadow:8px 0 #47798c,16px 0 #9ad5e8}}
@keyframes dfDigitalActivate{0%{background:#193341;border-color:#8ec8da}50%{background:#244757;border-color:#dba267}100%{background:#18313e;border-color:#c2ebf7}}
@media(prefers-reduced-motion:reduce){.df-digital-status,.df-orbit:after,.df-gateway.is-departing{animation:none!important}}

/* Smooth digital edge motion uses compositor transforms. */
@keyframes dfDigitalTrace{from{transform:translateX(0)}to{transform:translateX(510px)}}.df-orbit:after,.df-orbit.two:after{left:-100px;will-change:transform}@media(max-width:760px){@keyframes dfDigitalTrace{from{transform:translateX(0)}to{transform:translateX(480px)}}}
