/* Shared visual system for Solutions 489 and its two existing child pages. */
.container-fluid.five-gen-solutions-container { width:100%; max-width:none !important; padding:0; margin:0; box-sizing:border-box; }
.five-gen-solutions-grid { width:100% !important; margin:0 !important; padding:0 !important; }
.fg-sol { --sol-cyan:#07BCFD; --sol-gold:#F1CB4B; --sol-ice:#F6FAFF; --sol-silver:#C4D4E6; --sol-line:rgba(7,188,253,.23); color:var(--sol-silver); background:#0C182A; font:400 16.8px/1.8 Manrope,Arial,sans-serif; }
.fg-sol *, .fg-sol *::before, .fg-sol *::after { box-sizing:border-box; }
.fg-sol :is(div,p,h1,h2,h3,h4,ul,ol,li,figure,figcaption,header,section,details,summary,a,span) { font-family:inherit; }
.fg-sol h1,.fg-sol h2,.fg-sol h3,.fg-sol h4 { padding:0; color:var(--sol-ice); font-family:Oxanium,Arial,sans-serif; font-weight:500 !important; text-transform:none; letter-spacing:-.025em; }
.fg-sol h1 { font-size:60px !important; line-height:1.12; margin:0 0 26px; }
.fg-sol h2 { font-size:42px !important; line-height:1.2; margin:0 0 18px; }
.fg-sol h3 { font-size:24px !important; line-height:1.35; margin:0 0 16px; }
.fg-sol h4 { font-size:21px !important; line-height:1.4; margin:0 0 12px; }
.fg-sol h1 span,.fg-sol h2 span { color:var(--sol-gold); font:inherit; }
.fg-sol p { font-size:inherit; line-height:inherit; color:inherit; margin:0 0 22px; padding:0; }
.fg-sol p:last-child { margin-bottom:0; }
.fg-sol a { color:var(--sol-cyan); text-decoration:none; }
.fg-sol a:hover { color:var(--sol-gold); }
.fg-sol a:focus-visible,.fg-sol summary:focus-visible { outline:2px solid var(--sol-cyan); outline-offset:5px; }
.fg-sol .fg-sol-wrap { max-width:1700px; margin:0 auto; padding:0 48px; }
.fg-sol .fg-sol-eyebrow { margin:0 0 17px; padding:0; color:var(--sol-cyan); font:800 12px/1.6 Manrope,sans-serif; letter-spacing:1.9px; text-transform:uppercase; }
.fg-sol-hero { position:relative; isolation:isolate; overflow:hidden; background:#10213A; }
.fg-sol .fg-sol-hero-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 50%; }
.fg-sol-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,19,33,.96) 0%,rgba(7,19,33,.83) 36%,rgba(7,19,33,.3) 68%,rgba(7,19,33,.12)),linear-gradient(0deg,rgba(12,24,42,.6),transparent 35%); }
.fg-sol .fg-sol-hero-copy { max-width:820px; min-height:680px; padding:110px 0 66px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.fg-sol .fg-sol-lead { max-width:660px; color:var(--sol-ice); font-size:20px; line-height:1.75; margin-bottom:28px; }
.fg-sol .fg-sol-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:24px; }
.fg-sol .fg-sol-hero-copy .fg-sol-actions { margin:0; }
.fg-sol a.fg-sol-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:50px; padding:12px 22px; border:1px solid var(--sol-cyan); border-radius:10px; background:var(--sol-cyan); color:#071321; font:800 14px/1.6 Manrope,sans-serif; transition:background .2s,border-color .2s; }
.fg-sol a.fg-sol-button:hover { background:var(--sol-gold); border-color:var(--sol-gold); color:#071321; }
.fg-sol a.fg-sol-button--outline { background:rgba(12,24,42,.45); color:var(--sol-ice); border-color:rgba(196,212,230,.5); }
.fg-sol a.fg-sol-button--outline:hover { color:var(--sol-gold); border-color:var(--sol-gold); background:#132A47; }
.fg-sol .fg-sol-button span { font-size:20px; line-height:1; }
.fg-sol .fg-sol-tags { display:flex; flex-wrap:wrap; gap:10px 24px; padding:0; margin:38px 0 0; list-style:none; }
.fg-sol .fg-sol-tags li { display:flex; align-items:center; gap:9px; padding:0; margin:0; color:var(--sol-silver); font-size:12px; font-weight:800; }
.fg-sol .fg-sol-tags li::before { content:""; width:13px; height:2px; background:linear-gradient(90deg,var(--sol-cyan),var(--sol-gold)); }
.fg-sol-subnav { background:#10213A; border-bottom:1px solid var(--sol-line); }
.fg-sol-subnav .fg-sol-wrap { display:flex; gap:36px; }
.fg-sol-subnav a { display:flex; align-items:center; min-height:66px; border-bottom:2px solid transparent; padding:10px 0; color:var(--sol-silver); font-size:14px; font-weight:800; }
.fg-sol-subnav a[aria-current=page] { border-color:var(--sol-gold); color:var(--sol-ice); }
.fg-sol-body { padding:82px 0 90px; }
.fg-sol .fg-sol-section { margin-top:88px; scroll-margin-top:30px; }
.fg-sol .fg-sol-section:first-child { margin-top:0; }
.fg-sol .fg-sol-section-heading { max-width:1000px; margin:0 0 34px; }
.fg-sol .fg-sol-section-heading > p:last-child:not(.fg-sol-eyebrow) { max-width:900px; }
.fg-sol .fg-sol-introduction { max-width:1050px; font:500 26px/1.65 Oxanium,sans-serif; color:var(--sol-ice); margin-bottom:56px; }
.fg-sol .fg-sol-grid { display:grid; gap:22px; }
.fg-sol .fg-sol-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fg-sol .fg-sol-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fg-sol .fg-sol-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fg-sol .fg-sol-card { position:relative; isolation:isolate; padding:30px; border:1px solid var(--sol-line); border-radius:20px; overflow:hidden; background:radial-gradient(ellipse at 100% 0,rgba(7,188,253,.1),transparent 68%),linear-gradient(140deg,#132A47,#0C182A); }
.fg-sol .fg-sol-card p { font-size:15.5px; line-height:1.85; }
.fg-sol .fg-sol-icon { width:32px; height:32px; display:block; color:var(--sol-cyan); margin-bottom:24px; }
.fg-sol .fg-sol-number { position:absolute; right:26px; top:26px; color:var(--sol-gold); font:500 20px/1 Oxanium,sans-serif; }
.fg-sol .fg-sol-feature { overflow:hidden; border:1px solid var(--sol-line); border-radius:22px; background:#10213A; }
.fg-sol .fg-sol-feature-photo { display:block; aspect-ratio:16/8; overflow:hidden; }
.fg-sol .fg-sol-feature-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease; }
.fg-sol .fg-sol-feature:hover .fg-sol-feature-photo img { transform:scale(1.035); }
.fg-sol .fg-sol-feature-copy { padding:32px; }
.fg-sol .fg-sol-feature-copy h3 { font-size:30px !important; }
.fg-sol .fg-sol-feature-copy p:not(.fg-sol-eyebrow) { max-width:600px; }
.fg-sol .fg-sol-diagram { margin:0 0 28px; padding:32px; border:1px solid var(--sol-line); border-radius:22px; background:linear-gradient(135deg,#102A44,#0B192B); }
.fg-sol .fg-sol-diagram figcaption,.fg-sol .fg-sol-layer-diagram figcaption { font:500 24px/1.4 Oxanium,sans-serif; color:var(--sol-ice); margin-bottom:30px; }
.fg-sol .fg-sol-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:32px; margin:0 0 28px; padding:0; }
.fg-sol .fg-sol-flow li { position:relative; list-style:none; margin:0; padding:24px; background:#132A47; border:1px solid var(--sol-line); border-radius:14px; }
.fg-sol .fg-sol-flow li:not(:last-child)::after { content:"↔"; position:absolute; top:42%; right:-28px; color:var(--sol-cyan); font-size:22px; }
.fg-sol .fg-sol-flow .fg-sol-icon { width:30px; height:30px; margin-bottom:22px; }
.fg-sol .fg-sol-flow-step { position:absolute; top:26px; right:22px; color:var(--sol-gold); font:500 16px/1 Oxanium,sans-serif; }
.fg-sol .fg-sol-flow h3 { font-size:21px !important; margin-bottom:12px; }
.fg-sol .fg-sol-flow p { font-size:14px; line-height:1.8; }
.fg-sol p.fg-sol-note { font-size:12px; line-height:1.8; color:#9DB5CC; margin-top:20px; }
.fg-sol .fg-sol-insight { padding:30px 36px; margin-top:32px; background:linear-gradient(100deg,#132A47,rgba(19,42,71,.3)); border-left:3px solid var(--sol-gold); }
.fg-sol .fg-sol-insight > span { display:block; margin-bottom:12px; color:var(--sol-cyan); font-size:11px; font-weight:800; letter-spacing:1.8px; }
.fg-sol .fg-sol-insight p { color:var(--sol-ice); font:500 26px/1.55 Oxanium,sans-serif; max-width:1100px; }
.fg-sol .fg-sol-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:0; list-style:none; }
.fg-sol .fg-sol-process li { padding:24px 0 0; margin:0; border-top:1px solid rgba(7,188,253,.5); list-style:none; }
.fg-sol .fg-sol-process b { display:block; color:var(--sol-gold); font:500 30px/1 Oxanium,sans-serif; margin-bottom:24px; }
.fg-sol .fg-sol-process p { font-size:15.5px; }
.fg-sol .fg-sol-details { border:1px solid var(--sol-line); border-radius:14px; background:#10213A; margin-bottom:14px; }
.fg-sol .fg-sol-details summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; min-height:74px; padding:20px 24px; cursor:pointer; color:var(--sol-ice); font:500 20px/1.4 Oxanium,sans-serif; }
.fg-sol summary::-webkit-details-marker { display:none; }
.fg-sol .fg-sol-details summary > span,.fg-sol .fg-sol-plus { flex:0 0 16px; width:16px; height:16px; position:relative; color:var(--sol-cyan); }
.fg-sol .fg-sol-details summary > span::before,.fg-sol .fg-sol-plus::before { content:""; position:absolute; left:0; top:7px; width:16px; height:2px; background:currentColor; }
.fg-sol .fg-sol-details summary > span::after,.fg-sol .fg-sol-plus::after { content:""; position:absolute; left:7px; top:0; height:16px; width:2px; background:currentColor; }
.fg-sol details[open] > summary > span:last-child::after { display:none; }
.fg-sol .fg-sol-details > div { padding:0 24px 24px; font-size:15.5px; }
.fg-sol .fg-sol-text-link { display:inline-flex; gap:20px; margin-top:24px; align-items:center; font-weight:800; font-size:14px; }
.fg-sol-end { padding:0 0 90px; }
.fg-sol .fg-sol-cta { position:relative; isolation:isolate; overflow:hidden; border-radius:26px; border:1px solid rgba(7,188,253,.32); background:#10213A; }
.fg-sol .fg-sol-cta-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.fg-sol .fg-sol-cta::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,19,33,.96),rgba(7,19,33,.82) 42%,rgba(7,19,33,.15)); }
.fg-sol .fg-sol-cta-copy { max-width:850px; min-height:450px; padding:65px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.fg-sol .fg-sol-cta-copy p:not(.fg-sol-eyebrow) { max-width:620px; }
.fg-sol .fg-sol-photo { border-radius:22px; overflow:hidden; margin:30px 0; }
.fg-sol .fg-sol-photo img { display:block; width:100%; height:auto; }
.fg-sol .fg-sol-photo figcaption { padding:12px 0 0; font-size:12px; line-height:1.6; color:#9DB5CC; background:#0C182A; }
.fg-sol .fg-sol-case-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border-block:1px solid var(--sol-line); padding:25px 0; margin-bottom:38px; }
.fg-sol .fg-sol-case-summary span { display:block; font-size:11px; color:var(--sol-cyan); font-weight:800; letter-spacing:1px; margin-bottom:8px; }
.fg-sol .fg-sol-case-summary h3 { font-size:20px !important; margin:0; }
.fg-sol .fg-sol-split { display:grid; grid-template-columns:1.1fr 1fr; align-items:start; gap:48px; margin:36px 0; }
.fg-sol .fg-sol-panel { padding:30px; border:1px solid var(--sol-line); border-radius:20px; background:#10213A; }
.fg-sol .fg-sol-checks { list-style:none; padding:0; margin:0; }
.fg-sol .fg-sol-checks li { position:relative; list-style:none; margin:0 0 12px; padding:0 0 0 25px; font-size:15.5px; }
.fg-sol .fg-sol-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--sol-cyan); }
.fg-sol .fg-sol-table-wrap { border:1px solid var(--sol-line); border-radius:18px; overflow-x:auto; }
.fg-sol .fg-sol-table { border-collapse:collapse; width:100%; margin:0; color:var(--sol-silver); background:#10213A; font-size:15px; }
.fg-sol .fg-sol-table caption { text-align:left; padding:20px 24px; font:500 22px/1.5 Oxanium,sans-serif; background:#132A47; color:var(--sol-ice); }
.fg-sol .fg-sol-table th,.fg-sol .fg-sol-table td { border-bottom:1px solid var(--sol-line); text-align:left; padding:20px 24px; vertical-align:top; background:transparent; }
.fg-sol .fg-sol-table thead th { color:var(--sol-cyan); background:#0E233C; }
.fg-sol .fg-sol-table tbody th { color:var(--sol-ice); font-weight:500; width:26%; }
.fg-sol .fg-sol-table tbody tr:last-child > * { border-bottom:0; }
.fg-sol .fg-sol-product-link { display:block; position:relative; padding:30px; border:1px solid var(--sol-line); border-radius:18px; color:var(--sol-silver); background:#10213A; transition:border-color .2s; }
.fg-sol .fg-sol-product-link:hover { border-color:var(--sol-gold); color:var(--sol-silver); }
.fg-sol .fg-sol-product-link p { font-size:15px; padding-right:16px; }
.fg-sol .fg-sol-product-link > span { position:absolute; right:24px; bottom:24px; color:var(--sol-cyan); }
.fg-sol .fg-sol-scenarios { display:grid; gap:16px; }
.fg-sol .fg-sol-scenario { border:1px solid var(--sol-line); border-radius:18px; background:radial-gradient(ellipse at 100% 0,rgba(7,188,253,.08),transparent 60%),#10213A; }
.fg-sol .fg-sol-scenario summary { display:flex; align-items:center; gap:24px; list-style:none; padding:28px; cursor:pointer; }
.fg-sol .fg-sol-scenario-number { align-self:flex-start; padding-top:4px; color:var(--sol-gold); font:500 24px/1 Oxanium,sans-serif; }
.fg-sol .fg-sol-scenario summary strong { display:block; color:var(--sol-ice); font:500 28px/1.3 Oxanium,sans-serif; }
.fg-sol .fg-sol-scenario summary small { display:block; color:var(--sol-silver); font-size:15px; margin-top:8px; }
.fg-sol .fg-sol-plus { margin-left:auto; }
.fg-sol .fg-sol-scenario-content { padding:0 30px 30px; }
.fg-sol .fg-sol-scenario-lead { max-width:1050px; padding-top:24px; border-top:1px solid var(--sol-line); }
.fg-sol .fg-sol-scenario-content .fg-sol-grid { padding-top:10px; gap:32px; }
.fg-sol .fg-sol-scenario-content .fg-sol-grid p { font-size:15px; }
.fg-sol .fg-sol-layer-diagram { padding:32px; margin:0; border:1px solid var(--sol-line); border-radius:22px; background:#0F2138; }
.fg-sol .fg-sol-layer { position:relative; display:grid; grid-template-columns:180px 1fr; gap:16px 30px; margin-bottom:18px; padding:24px; border:1px solid var(--sol-line); border-radius:12px; background:#132A47; }
.fg-sol .fg-sol-layer:not(:last-of-type)::after { content:"↕"; position:absolute; left:50%; bottom:-23px; z-index:1; color:var(--sol-cyan); font-size:23px; }
.fg-sol .fg-sol-layer b { color:var(--sol-cyan); font:800 12px/1.6 Manrope,sans-serif; letter-spacing:1px; }
.fg-sol .fg-sol-layer > div { display:flex; flex-wrap:wrap; gap:10px; }
.fg-sol .fg-sol-layer span { color:var(--sol-ice); border:1px solid rgba(196,212,230,.23); border-radius:7px; padding:7px 13px; font-size:14px; }
.fg-sol .fg-sol-layer p { grid-column:2; font-size:14px; margin:0; }
.fg-sol .fg-sol-layer--gold { border-color:rgba(241,203,75,.35); }
.fg-sol .fg-sol-layer--gold b { color:var(--sol-gold); }
.fg-sol .fg-sol-split--photo { align-items:center; }
.fg-sol .fg-sol-split--photo .fg-sol-photo { margin:0; }
.fg-sol .fg-sol-split--photo .fg-sol-photo img { min-height:520px; object-fit:cover; }
@media(max-width:1200px) {
 .fg-sol .fg-sol-wrap { padding-inline:32px; }
 .fg-sol h1 { font-size:52px !important; }
 .fg-sol h2 { font-size:38px !important; }
 .fg-sol .fg-sol-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fg-sol .fg-sol-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .fg-sol .fg-sol-flow li::after { display:none; }
 .fg-sol .fg-sol-split { gap:30px; }
 .fg-sol .fg-sol-cta-copy { padding:48px; max-width:740px; }
}
@media(max-width:767px) {
 .fg-sol { font-size:16px; }
 .fg-sol .fg-sol-wrap { padding-inline:22px; }
 .fg-sol h1 { font-size:40px !important; line-height:1.15; }
 .fg-sol h2 { font-size:32px !important; line-height:1.25; }
 .fg-sol h3 { font-size:23px !important; }
 .fg-sol .fg-sol-hero-copy { min-height:660px; padding:64px 0 44px; }
 .fg-sol .fg-sol-hero-photo { object-position:62% center; }
 .fg-sol-hero::before { background:linear-gradient(90deg,rgba(7,19,33,.89),rgba(7,19,33,.66)),linear-gradient(0deg,#0C182A,transparent 45%); }
 .fg-sol .fg-sol-lead { font-size:17px; line-height:1.85; }
 .fg-sol .fg-sol-actions { gap:12px; align-items:stretch; }
 .fg-sol .fg-sol-hero-copy .fg-sol-actions { width:100%; flex-direction:column; }
 .fg-sol .fg-sol-tags { gap:10px 16px; margin-top:28px; }
 .fg-sol .fg-sol-tags li { font-size:11px; }
 .fg-sol-subnav .fg-sol-wrap { gap:22px; overflow-x:auto; }
 .fg-sol-subnav a { font-size:12px; white-space:nowrap; min-height:60px; }
 .fg-sol-body { padding:52px 0 56px; }
 .fg-sol .fg-sol-section { margin-top:58px; }
 .fg-sol .fg-sol-section-heading { margin-bottom:26px; }
 .fg-sol .fg-sol-grid--4,.fg-sol .fg-sol-grid--3,.fg-sol .fg-sol-grid--2,.fg-sol .fg-sol-split,.fg-sol .fg-sol-case-summary { grid-template-columns:1fr; }
 .fg-sol .fg-sol-grid { gap:16px; }
 .fg-sol .fg-sol-card,.fg-sol .fg-sol-feature-copy,.fg-sol .fg-sol-panel { padding:26px; }
 .fg-sol .fg-sol-feature-copy h3 { font-size:27px !important; }
 .fg-sol .fg-sol-diagram,.fg-sol .fg-sol-layer-diagram { padding:24px 20px; border-radius:18px; }
 .fg-sol .fg-sol-flow { grid-template-columns:1fr; gap:26px; }
 .fg-sol .fg-sol-flow li:not(:last-child)::after { display:block; content:"↕"; left:50%; right:auto; top:auto; bottom:-30px; }
 .fg-sol .fg-sol-flow li { padding:24px; }
 .fg-sol .fg-sol-insight { padding:26px; }
 .fg-sol .fg-sol-insight p { font-size:23px; }
 .fg-sol .fg-sol-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .fg-sol .fg-sol-process h3 { font-size:23px !important; }
 .fg-sol .fg-sol-process p { font-size:14px; }
 .fg-sol .fg-sol-details summary { padding:20px; font-size:19px; }
 .fg-sol .fg-sol-details > div { padding:0 20px 22px; }
 .fg-sol .fg-sol-introduction { font-size:23px; margin-bottom:42px; }
 .fg-sol .fg-sol-case-summary { gap:20px; }
 .fg-sol .fg-sol-case-summary h3 { font-size:20px !important; }
 .fg-sol .fg-sol-split { margin:28px 0; }
 .fg-sol .fg-sol-photo { border-radius:16px; margin:24px 0; }
 .fg-sol .fg-sol-table { min-width:650px; }
 .fg-sol .fg-sol-table th,.fg-sol .fg-sol-table td { padding:16px 18px; }
 .fg-sol .fg-sol-scenario summary { gap:16px; padding:22px 20px; }
 .fg-sol .fg-sol-scenario summary strong { font-size:24px; }
 .fg-sol .fg-sol-scenario summary small { font-size:14px; }
 .fg-sol .fg-sol-scenario-content { padding:0 20px 24px; }
 .fg-sol .fg-sol-scenario-content .fg-sol-grid { gap:20px; }
 .fg-sol .fg-sol-layer { grid-template-columns:1fr; padding:20px; }
 .fg-sol .fg-sol-layer p { grid-column:1; }
 .fg-sol .fg-sol-layer > div { gap:8px; }
 .fg-sol .fg-sol-layer span { font-size:13px; padding:6px 10px; }
 .fg-sol .fg-sol-split--photo .fg-sol-photo img { min-height:0; }
 .fg-sol-end { padding-bottom:48px; }
 .fg-sol .fg-sol-cta-copy { min-height:520px; padding:34px 26px; }
 .fg-sol .fg-sol-cta::before { background:linear-gradient(90deg,rgba(7,19,33,.9),rgba(7,19,33,.7)); }
 .fg-sol .fg-sol-cta-photo { object-position:65% center; }
 .fg-sol .fg-sol-cta .fg-sol-actions { flex-direction:column; width:100%; }
}
@media(prefers-reduced-motion:reduce) { .fg-sol .fg-sol-feature-photo img,.fg-sol .fg-sol-button,.fg-sol .fg-sol-product-link { transition:none; } .fg-sol .fg-sol-feature:hover .fg-sol-feature-photo img { transform:none; } }

/* Photograph-led cards, responsive technical graphics and quiet network motion. */
.fg-sol-subnav { position:relative; isolation:isolate; overflow:hidden; }
.fg-sol-subnav::before { content:""; position:absolute; z-index:-1; inset:-50px -120px; background:url('/images/5-gen/pages/solutions/solutions-nav-waves.svg') center / 1400px 160px repeat-x; pointer-events:none; animation:fg-sol-nav-wave 20s ease-in-out infinite alternate; }
@keyframes fg-sol-nav-wave { from { transform:translate(-35px,-5px); opacity:.6; } to { transform:translate(35px,8px); opacity:1; } }
.fg-sol .fg-sol-card { transition:border-color .3s,box-shadow .3s; }
.fg-sol .fg-sol-card:hover { border-color:rgba(241,203,75,.45); box-shadow:0 14px 35px rgba(0,0,0,.13); }
.fg-sol .fg-sol-card--photo { padding:0; min-height:365px; display:flex; align-items:flex-end; isolation:isolate; }
.fg-sol .fg-sol-card-background { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s ease; }
.fg-sol .fg-sol-card--photo::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(7,19,33,.4),rgba(7,19,33,.82) 38%,rgba(7,19,33,.96)); }
.fg-sol .fg-sol-card--photo .fg-sol-card-content { width:100%; padding:30px; }
.fg-sol .fg-sol-card--photo:hover .fg-sol-card-background { transform:scale(1.035); }
.fg-sol .fg-sol-card--photo h3 { color:#F6FAFF; }
.fg-sol .fg-sol-card--photo h3 { min-height:64px; }
.fg-sol .fg-sol-card--photo p { min-height:144px; }
.fg-sol .fg-sol-card--photo p { color:#D5E2F0; }
.fg-sol .fg-sol-card--deployment { padding:0; display:flex; flex-direction:column; }
.fg-sol .fg-sol-card--deployment .fg-sol-card-content { padding:30px 30px 0; flex:1; }
.fg-sol .fg-sol-deployment-photo { position:relative; height:245px; flex-shrink:0; overflow:hidden; margin-top:10px; }
.fg-sol .fg-sol-deployment-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#10213A 0%,rgba(12,24,42,.28) 32%,rgba(12,24,42,.28) 75%,rgba(12,24,42,.5)); pointer-events:none; }
.fg-sol .fg-sol-deployment-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s ease; }
.fg-sol .fg-sol-card--deployment:hover .fg-sol-deployment-photo img { transform:scale(1.04); }
.fg-sol .fg-sol-topology { margin:0 0 30px; padding:26px; border:1px solid var(--sol-line); border-radius:22px; background:linear-gradient(135deg,#112B44,#0B192B); }
.fg-sol .fg-sol-topology figcaption { color:var(--sol-ice); font:500 25px/1.4 Oxanium,sans-serif; margin-bottom:20px; }
.fg-sol .fg-sol-topology picture,.fg-sol .fg-sol-topology img { display:block; width:100%; height:auto; }
.fg-sol .fg-sol-topology .fg-sol-note { padding:0 16px; }
.fg-sol .fg-sol-scenario { overflow:hidden; }
.fg-sol .fg-sol-scenario summary { position:relative; isolation:isolate; overflow:hidden; min-height:210px; padding:34px 32px; border-radius:17px; }
.fg-sol .fg-sol-scenario[open] summary { border-radius:17px 17px 0 0; }
.fg-sol .fg-sol-scenario-photo { position:absolute; z-index:-2; top:0; right:0; width:65%; height:100%; object-fit:cover; object-position:center 35%; transition:transform .9s ease; mask-image:linear-gradient(90deg,transparent 0%,#000 30%); -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%); }
.fg-sol .fg-sol-scenario:nth-child(1) .fg-sol-scenario-photo { object-position:center 38%; }
.fg-sol .fg-sol-scenario:nth-child(2) .fg-sol-scenario-photo { object-position:center 32%; }
.fg-sol .fg-sol-scenario:nth-child(3) .fg-sol-scenario-photo { object-position:center 22%; }
.fg-sol .fg-sol-scenario:nth-child(4) .fg-sol-scenario-photo { object-position:center 24%; }
.fg-sol .fg-sol-scenario summary::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#10213A 24%,rgba(16,33,58,.92) 43%,rgba(16,33,58,.42) 72%,rgba(16,33,58,.24)); }
.fg-sol .fg-sol-scenario summary:hover .fg-sol-scenario-photo { transform:scale(1.025); }
.fg-sol .fg-sol-scenario summary > span:nth-of-type(2) { max-width:65%; }
.fg-sol .fg-sol-scenario .fg-sol-plus { flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:rgba(12,24,42,.7); }
.fg-sol .fg-sol-scenario .fg-sol-plus::before { left:8px; top:15px; }
.fg-sol .fg-sol-scenario .fg-sol-plus::after { left:15px; top:8px; }
.fg-sol .fg-sol-details { position:relative; isolation:isolate; overflow:hidden; }
.fg-sol .fg-sol-details::before { content:""; position:absolute; z-index:-1; inset:0; background:url('/images/5-gen/pages/solutions/solutions-network-mesh.svg') right center / 600px 150px no-repeat; opacity:.6; pointer-events:none; mask-image:linear-gradient(90deg,transparent 15%,#000 75%); -webkit-mask-image:linear-gradient(90deg,transparent 15%,#000 75%); }
.fg-sol .fg-sol-details:hover { border-color:rgba(7,188,253,.48); }
.fg-sol .fg-sol-details[open] { border-color:rgba(7,188,253,.45); }
.fg-sol .fg-sol-details summary { position:relative; }
.fg-sol-end.fg-sol-end--full { padding:0; }
.fg-sol-end--full .fg-sol-cta { width:100%; border:0; border-radius:0; }
.fg-sol-end--full .fg-sol-cta-copy { min-height:530px; padding:80px 0; max-width:800px; }
.fg-sol-end--full .fg-sol-cta::before { background:linear-gradient(90deg,rgba(7,19,33,.94),rgba(7,19,33,.8) 40%,rgba(7,19,33,.18)); }
.fg-sol-end--full .fg-sol-cta-photo { object-position:center 38%; }
.fg-sol .fg-sol-photo { border-radius:0; overflow:visible; }
.fg-sol .fg-sol-photo img { border-radius:22px; }
.fg-sol .fg-sol-photo figcaption { padding:12px 4px 0; overflow:visible; }
#aircraft-factory .fg-sol-panel { background:linear-gradient(100deg,rgba(7,19,33,.91),rgba(7,19,33,.72)),url('/images/5-gen/pages/solutions/factory-applications.webp') center / cover no-repeat; }
@media(max-width:1200px) { .fg-sol .fg-sol-card--photo { min-height:340px; } }
@media(max-width:767px) {
 .fg-sol .fg-sol-card--photo { min-height:330px; }
 .fg-sol .fg-sol-photo img { border-radius:16px; }
 .fg-sol .fg-sol-card--photo .fg-sol-card-content { padding:26px; }
 .fg-sol .fg-sol-card--photo h3,.fg-sol .fg-sol-card--photo p { min-height:0; }
 .fg-sol .fg-sol-card--deployment .fg-sol-card-content { padding:26px 26px 0; }
 .fg-sol .fg-sol-deployment-photo { height:210px; }
 .fg-sol .fg-sol-topology { padding:18px 10px; border-radius:18px; }
 .fg-sol .fg-sol-topology figcaption { font-size:22px; padding:0 10px; }
 .fg-sol .fg-sol-topology .fg-sol-note { padding:0 10px; }
 .fg-sol .fg-sol-scenario summary { min-height:230px; padding:24px 20px; gap:12px; }
 .fg-sol .fg-sol-scenario-photo { width:100%; object-position:65% center; }
 .fg-sol .fg-sol-scenario summary::before { background:linear-gradient(90deg,rgba(7,19,33,.9),rgba(7,19,33,.6)),linear-gradient(0deg,rgba(7,19,33,.7),transparent); }
 .fg-sol .fg-sol-scenario summary > span:nth-of-type(2) { max-width:none; }
 .fg-sol .fg-sol-scenario-number { font-size:19px; }
 .fg-sol .fg-sol-scenario summary strong { font-size:23px; }
 .fg-sol .fg-sol-scenario summary small { font-size:13px; line-height:1.7; color:#D5E2F0; }
 .fg-sol .fg-sol-scenario .fg-sol-plus { flex-basis:28px; width:28px; height:28px; }
 .fg-sol .fg-sol-scenario .fg-sol-plus::before { left:6px; top:13px; }
 .fg-sol .fg-sol-scenario .fg-sol-plus::after { left:13px; top:6px; }
 .fg-sol .fg-sol-details::before { background-size:400px 160px; opacity:.4; }
 .fg-sol-end--full .fg-sol-cta-copy { padding:62px 0; min-height:540px; }
 .fg-sol-end--full .fg-sol-cta::before { background:linear-gradient(90deg,rgba(7,19,33,.9),rgba(7,19,33,.7)); }
 .fg-sol-end--full .fg-sol-cta-photo { object-position:65% center; }
}
@media(prefers-reduced-motion:reduce) {
 .fg-sol-subnav::before { animation:none; }
 .fg-sol .fg-sol-card,.fg-sol .fg-sol-card-background,.fg-sol .fg-sol-deployment-photo img,.fg-sol .fg-sol-scenario-photo { transition:none; }
 .fg-sol .fg-sol-card:hover img,.fg-sol .fg-sol-scenario summary:hover img { transform:none; }
}
/* Additional case imagery and travelling gold signal highlights. */
#aircraft-factory .fg-sol-panel { background-image:linear-gradient(100deg,rgba(7,19,33,.94),rgba(7,19,33,.48)),url('/images/5-gen/pages/solutions/factory-applications-flipped.webp'); background-position:center,center 35%; }
#digital-campus .fg-sol-panel { background:linear-gradient(100deg,rgba(7,19,33,.94),rgba(7,19,33,.65)),url('/images/5-gen/pages/solutions/digital-campus.webp') center / cover no-repeat; }
#aircraft-factory > .fg-sol-section-heading > .fg-sol-eyebrow,#digital-campus > .fg-sol-section-heading > .fg-sol-eyebrow { font-size:16px; letter-spacing:1.8px; }
.fg-sol .fg-sol-product-link { isolation:isolate; overflow:hidden; min-height:245px; background-size:cover; background-position:center; }
.fg-sol .fg-sol-product-link::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(100deg,rgba(7,19,33,.94),rgba(7,19,33,.67)); }
.fg-sol .fg-sol-product-link[href*="category_id=13697"] { background-image:url('/images/5-gen/pages/solutions/control-card.webp'); }
.fg-sol .fg-sol-product-link[href*="category_id=13696"] { background-image:url('/images/5-gen/pages/solutions/coverage-card.webp'); }
.fg-sol .fg-sol-product-link[href*="category_id=13698"] { background-image:url('/images/5-gen/pages/solutions/integration-card.webp'); }
.fg-sol .fg-sol-table caption { position:relative; isolation:isolate; overflow:hidden; background:#132A47; }
.fg-sol .fg-sol-table caption::before { content:""; position:absolute; z-index:-1; inset:0; background:url('/images/5-gen/pages/solutions/solutions-gold-waves.svg') right center / 1100px 130px repeat-x; opacity:.7; }
.fg-sol-subnav::before { inset:-50px -150px; background-image:url('/images/5-gen/pages/solutions/solutions-nav-waves-v2.svg'); background-size:1200px 160px; animation:fg-sol-nav-wave 20s ease-in-out infinite alternate; }
.fg-sol-subnav::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(105deg,transparent 35%,rgba(7,188,253,.08) 46%,rgba(241,203,75,.18) 50%,rgba(7,188,253,.08) 54%,transparent 65%); background-size:250% 100%; pointer-events:none; animation:fg-sol-wave-glint 18s linear infinite; }
@keyframes fg-sol-nav-wave { from { transform:translate(-90px,-12px); opacity:.7; } to { transform:translate(90px,12px); opacity:1; } }
@keyframes fg-sol-wave-glint { from { background-position:150% 0; } to { background-position:-150% 0; } }
@media(max-width:767px) { #aircraft-factory > .fg-sol-section-heading > .fg-sol-eyebrow,#digital-campus > .fg-sol-section-heading > .fg-sol-eyebrow { font-size:14px; } .fg-sol .fg-sol-product-link { min-height:225px; } }
@media(prefers-reduced-motion:reduce) { .fg-sol-subnav::before,.fg-sol-subnav::after { animation:none; } }
/* Expanded scenario photographs continue behind the full answer. */
.fg-sol .fg-sol-scenario { position:relative; isolation:isolate; }
.fg-sol .fg-sol-scenario:nth-child(1) { --scenario-image:url('/images/5-gen/pages/solutions/tunnel-response.webp'); --scenario-position:center 38%; }
.fg-sol .fg-sol-scenario:nth-child(2) { --scenario-image:url('/images/5-gen/pages/solutions/wildfire-response.webp'); --scenario-position:center 32%; }
.fg-sol .fg-sol-scenario:nth-child(3) { --scenario-image:url('/images/5-gen/pages/solutions/flood-response.webp'); --scenario-position:center 22%; }
.fg-sol .fg-sol-scenario:nth-child(4) { --scenario-image:url('/images/5-gen/pages/solutions/urban-response.webp'); --scenario-position:center 24%; }
.fg-sol .fg-sol-scenario[open] { background-image:var(--scenario-image); background-size:cover; background-position:var(--scenario-position); }
.fg-sol .fg-sol-scenario[open]::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(16,33,58,.97),rgba(16,33,58,.72) 52%,rgba(16,33,58,.36)),linear-gradient(180deg,transparent 0%,rgba(7,19,33,.38) 34%,rgba(7,19,33,.92) 70%); }
.fg-sol .fg-sol-scenario[open] summary { isolation:auto; }
.fg-sol .fg-sol-scenario[open] .fg-sol-scenario-photo { visibility:hidden; }
.fg-sol .fg-sol-scenario[open] summary::before { display:none; }
.fg-sol .fg-sol-scenario[open] .fg-sol-scenario-content { position:relative; }
@media(max-width:767px) { .fg-sol .fg-sol-scenario[open]::before { background:linear-gradient(90deg,rgba(7,19,33,.9),rgba(7,19,33,.68)),linear-gradient(180deg,transparent,rgba(7,19,33,.85) 55%); } }
/* Readiness guidance remains visible as four static cards. */
.fg-sol .fg-sol-readiness { margin:0; }
.fg-sol .fg-sol-readiness h3 { margin:0; padding:20px 24px; min-height:74px; display:flex; align-items:center; font-size:20px !important; line-height:1.4; }
@media(max-width:767px) { .fg-sol .fg-sol-readiness h3 { padding:20px; font-size:19px !important; } }
/* Clear closed/open states for the photographic scenario cards. */
.fg-sol .fg-sol-scenario { border:1px solid #07BCFD; background-clip:padding-box; box-shadow:none; transition:border-color .35s ease,box-shadow .35s ease; }
.fg-sol .fg-sol-scenario[open] { border-color:#F1CB4B; box-shadow:0 0 0 1px rgba(241,203,75,.12),0 0 20px rgba(241,203,75,.23),inset 0 0 15px rgba(241,203,75,.05); }
.fg-sol .fg-sol-scenario[open] .fg-sol-plus { color:#F1CB4B; }
.fg-sol .fg-sol-scenario summary:focus-visible { outline:2px solid #F6FAFF; outline-offset:-6px; }
@media(prefers-reduced-motion:reduce) { .fg-sol .fg-sol-scenario { transition:none; } }
/* Quiet, seamless navigation waves with two slow travelling highlights. */
.fg-sol-subnav::before { background-image:url('/images/5-gen/pages/solutions/solutions-nav-waves-v3.svg'); animation:fg-sol-nav-calm 48s ease-in-out infinite alternate; }
.fg-sol-subnav::after { display:none; }
@keyframes fg-sol-nav-calm { from { transform:translate(-12px,-3px); opacity:.75; } to { transform:translate(12px,3px); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .fg-sol-subnav::before { animation:none; } }
/* Comparison heading: a quiet golden data pattern, distinct from navigation. */
.fg-sol .fg-sol-table caption::before { inset:0; background-image:radial-gradient(circle,rgba(241,203,75,.45) 1px,transparent 1.8px); background-size:24px 24px; background-position:right center; opacity:.48; mask-image:linear-gradient(90deg,transparent 35%,#000 85%); -webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 85%); }
.fg-sol .fg-sol-table caption::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 85% 65%,rgba(241,203,75,.13),transparent 52%); animation:fg-sol-comparison-glow 16s ease-in-out infinite alternate; }
@keyframes fg-sol-comparison-glow { from { opacity:.3; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .fg-sol .fg-sol-table caption::after { animation:none; opacity:.6; } }
