/* Shared product-page components. No styles or data are loaded from a CDN. */
.product-container { width: min(100% - 72px, 1392px); margin-inline: auto; }
.product-hero { position: relative; isolation: isolate; overflow: hidden; background: #031323; }
.product-hero h1, .product-hero h2, .product-section h2, .product-section h3,
.product-cta h2, .walkthrough-band h2 { font-family: Exo, Arial, sans-serif; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 8px 0 10px; font-size: 11px; color: #abc4da; }
.product-breadcrumb a:hover { color: white; text-decoration: underline; }
.product-breadcrumb > span[aria-hidden] { color: #5d87a9; }
.product-breadcrumb > span:last-child { color: #e5f4ff; }
.product-hero .eyebrow { color: #a9dbff; }
.product-signature { font-size: 11px; text-align: right; text-transform: uppercase; letter-spacing: 1.6px; line-height: 1.9; color: #accae4; }
.product-signature strong { color: #f4f8ff; font-size: 13px; }
.micro-label { display: block; font-size: 10px; letter-spacing: 1.5px; font-weight: 700; color: #8cd5ff; }
.product-mantra { color: #60c4ff; letter-spacing: 2px; text-transform: uppercase; font-size: 12px; margin: 15px 0 28px; font-weight: 700; }
.product-mantra i { font-style: normal; color: #2c6f9b; margin: 0 9px; }
.product-hero-lead { color: #c2d3e3; font-size: 16px; line-height: 1.8; max-width: 440px; margin-top: 20px; }
.hero-product-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.hero-product-actions .button { font-size: 10px; padding: 12px 18px; gap: 15px; }
.product-hero-baseline { position: relative; padding: 14px 0; border-top: 1px solid #2184bb80; background: #031323d9; }
.product-hero-baseline > div { display: flex; justify-content: space-between; gap: 20px; font-size: 10px; letter-spacing: 1.7px; text-transform: uppercase; color: #a6ddff; }
.product-section-nav { border-block: 1px solid #27649475; background: #061c30; }
.product-section-nav > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 24px; padding-block: 13px; }
.product-section-nav a { color: #c5d9e9; font-size: 11px; font-weight: 700; padding-block: 7px; }
.product-section-nav a:hover { color: #7aceff; }
.product-section-nav a:last-child { color: #84d6ff; }
.product-section { padding-block: 76px; }
.product-section h2, .product-cta h2, .walkthrough-band h2 { font-size: clamp(28px, 2.5vw, 38px); letter-spacing: -.7px; line-height: 1.25; }
.product-section h3 { font-size: 20px; line-height: 1.3; }
.product-section p { color: #b5c8da; font-size: 14px; line-height: 1.85; }
.product-section p.eyebrow { color: #91c8f4; font-size: 10px; }
.product-section-heading { display: grid; grid-template-columns: 1.3fr 1fr; align-items: end; gap: 8%; margin-bottom: 36px; }
.product-section-heading > p { max-width: 450px; }
.product-section .section-lead { font-size: 16px; margin-top: 24px; margin-bottom: 22px; }
.product-three-up { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.product-band { border-block: 1px solid #1d527854; background: linear-gradient(120deg, #071e32, #041525); }
.product-split { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: center; }
.product-split > *, .product-section-heading > *, .reporting-layout > *, .odin-hero-grid > *, .ai-layout > * { min-width: 0; }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { position: relative; padding-left: 23px; color: #d2e3f0; font-size: 12px; line-height: 1.7; margin-top: 8px; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: #6bd8bb; font-weight: 700; }
.roomy li { font-size: 14px; margin-top: 15px; }
.roomy strong { color: #f0f8ff; }
.product-callout { display: flex; align-items: flex-start; gap: 18px; padding: 22px 27px; margin-top: 32px; border: 1px solid #38668a; border-left: 3px solid #4ac1ff; background: #09253b; }
.product-callout > img { flex: 0 0 30px; margin-top: 5px; }
.product-callout p { font-size: 13px; }
.product-callout strong { color: #e1f3ff; }
.scope-note { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.product-section .scope-note { font-size: 12px; }
.scope-note strong { color: #d5e9f8; }
.status-label { display: inline-block; border: 1px solid #3d739a; background: #0b2b44; color: #b7e7ff; padding: 6px 11px; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.product-faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; border-top: 1px solid var(--line); }
.product-faq details { border-bottom: 1px solid #31526f; }
.product-faq details:first-child { border-top: 1px solid #31526f; }
.product-faq summary { list-style: none; position: relative; font-weight: 700; font-size: 14px; padding: 21px 35px 21px 0; cursor: pointer; color: #deedfa; }
.product-faq summary::-webkit-details-marker { display: none; }
.product-faq summary::after { content: '+'; position: absolute; right: 4px; top: 16px; color: #7acfff; font-size: 24px; font-weight: 400; }
.product-faq details[open] summary::after { content: '−'; }
.product-faq details p { padding: 0 28px 23px 0; font-size: 13px; }
.product-cta { background: radial-gradient(ellipse at 80% 100%, #086ca345, transparent 65%), #07223a; border-block: 1px solid #3c8bb8; }
.product-cta-inner { display: grid; grid-template-columns: 1.3fr .7fr; gap: 10%; align-items: center; padding-block: 54px; }
.product-cta-inner > div > p:not(.eyebrow) { max-width: 650px; margin-top: 20px; color: #bfcede; font-size: 14px; line-height: 1.8; }
.product-cta-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 17px; }
.product-cta-actions .button { min-width: 260px; justify-content: space-between; }
.product-cta-inner .product-cta-actions > p { font-size: 11px; margin: 0; }
.related-solution { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 25px; font-size: 12px; }
.related-solution > span { color: #8caac2; }
.related-solution > a { color: #bbdfff; font-weight: 700; }
.related-solution a span { margin-left: 20px; font-size: 20px; vertical-align: middle; }
.dropdown-panel a[aria-current] { background: #103352; color: #fff; box-shadow: inset 2px 0 #78ccff; }

/* iboss Migrator: the reference's three environments remain individual components. */
.migrator-backdrop { position: absolute; inset: 0; z-index: -1; background: #021524; }
.migrator-backdrop img { position: absolute; height: 100%; width: 45%; object-fit: cover; opacity: .28; }
.migrator-backdrop img:first-child { right: 0; object-position: 65% center; mask-image: linear-gradient(90deg, transparent, #000 75%); }
.migrator-backdrop img:last-child { width: 80%; left: 0; opacity: .27; mask-image: linear-gradient(0deg, #000, transparent 90%); }
.migrator-title-row { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.migrator-title-row h1 { display: flex; align-items: center; gap: 30px; font-weight: 700; }
.iboss-wordmark { display: block; width: clamp(210px, 18vw, 255px); height: auto; flex-shrink: 0; }
.migrator-word { border-left: 1px solid #53bded; padding-left: 28px; text-transform: uppercase; font-size: clamp(34px, 4vw, 58px); letter-spacing: -.7px; color: #c4e9ff; line-height: 1.1; }
.migrator-word > span { display: block; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 3px; color: #e4f3ff; margin-top: 10px; }
.migrator-intro { margin-top: 27px; max-width: 1060px; }
.migrator-intro h2 { font-size: clamp(23px, 2.25vw, 32px); letter-spacing: -.3px; color: #cbe9ff; }
.migrator-intro p { font-size: 15px; line-height: 1.8; color: #d0e3f2; margin-top: 12px; max-width: 960px; }
.migration-stage-layout { display: grid; grid-template-columns: minmax(0, 1fr) 255px; gap: 30px; margin-top: 29px; padding-bottom: 27px; }
.migration-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 0; margin: 0; list-style: none; }
.migration-stages > li { min-width: 0; position: relative; border: 1px solid #56c8f1; border-radius: 8px; padding: 19px 18px 14px; background: linear-gradient(140deg, #043c5eac, #031321f0 75%); box-shadow: inset 0 0 22px #2099e022, 0 8px 25px #0005; }
.migration-stages > li:not(:last-child)::after { content: ''; position: absolute; right: -48px; top: 50%; width: 64px; height: 58px; background: url('../images/migration-arrow.svg') center / contain no-repeat; z-index: 2; transform: translateY(-50%); filter: drop-shadow(0 0 7px #169bff9c); pointer-events: none; }
.stage-heading { display: flex; gap: 12px; align-items: center; }
.stage-heading img { flex: 0 0 32px; width: 32px; }
.stage-number { font-size: 18px; color: white; font-family: Exo, Arial, sans-serif; letter-spacing: .6px; }
.stage-heading h3 { font-size: 12px; letter-spacing: .5px; text-transform: uppercase; color: #8ae6ff; margin-top: 3px; }
.stage-body { display: flex; align-items: center; margin-top: 15px; gap: 5px; }
.stage-body > ul { flex: 1; min-width: 0; }
.stage-body .check-list li { font-size: 14px; padding-left: 19px; margin-top: 8px; line-height: 1.6; }
.stage-device { flex: 0 0 45%; max-width: 166px; position: relative; align-self: flex-end; }
.stage-laptop { width: 100%; height: auto; }
.stage-device .stage-device-brand { position: absolute; top: 13%; left: 16%; width: 44%; height: auto; }
.stage-device > span { position: absolute; top: 30%; left: 16%; right: 13%; font-size: clamp(8px, .67vw, 10px); color: #b9efd9; font-weight: 700; line-height: 1.2; }
.stage-device-staging > span { color: #a5e9ff; }
.automation-engine { position: relative; margin: 33px auto 0; padding: 19px 24px; border: 1px solid #4bc9ff; display: grid; grid-template-columns: 44px 1fr; gap: 8px 17px; align-items: center; max-width: 720px; background: linear-gradient(120deg, #0b3855e0, #031625); box-shadow: 0 0 22px #2099e030, inset 0 0 20px #188fdd18; }
.automation-engine > img { grid-row: span 2; }
.automation-engine > div > span { font-size: 10px; display: block; color: #9ad8fa; }
.automation-engine strong { font-family: Exo, Arial, sans-serif; font-size: 22px; display: block; }
.automation-engine > p { grid-column: 2; font-size: 9px; letter-spacing: .3px; text-transform: uppercase; color: #c0dff1; }
.automation-engine i { font-style: normal; padding: 0 9px; color: #4ebce6; }
.workflow-note { font-size: 10px; color: #abc6db; line-height: 1.8; margin-top: 15px; text-align: center; }
.migration-aside { border-left: 1px solid #4b9bc077; padding-left: 26px; padding-top: 7px; }
.migration-aside .eyebrow { letter-spacing: 2px; line-height: 1.7; font-size: 13px; }
.migration-aside h2 { font-size: 18px; line-height: 1.5; }
.migration-aside ul { padding: 0; list-style: none; margin: 21px 0 24px; }
.migration-aside li { display: flex; gap: 13px; align-items: center; font-size: 10px; font-weight: 700; margin-top: 16px; text-transform: uppercase; letter-spacing: .3px; }
.migration-aside li img { flex: 0 0 27px; }
.migration-aside .button { width: 100%; padding: 12px; gap: 9px; font-size: 9px; }
.product-benefits { background: linear-gradient(105deg, #e7f0fa, #c7dcf1); color: #072b4a; }
.product-benefits > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding-block: 22px; }
.product-benefits > div > div { display: flex; justify-content: center; gap: 15px; padding: 0 20px; align-items: center; border-right: 1px solid #9dbad4; }
.product-benefits > div > div:first-child { padding-left: 0; }
.product-benefits > div > div:last-child { border: 0; padding-right: 0; }
.product-benefits img { flex: 0 0 30px; filter: brightness(.5) saturate(2); }
.product-benefits span { text-transform: uppercase; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .3px; }
.product-screenshot { margin: 0; padding: 8px; background: #082139; border: 1px solid #467497; border-radius: 7px; box-shadow: 0 24px 50px #0004; }
.product-screenshot > a { display: block; border-radius: 3px; overflow: hidden; }
.product-screenshot img { width: 100%; height: auto; }
.product-screenshot figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 13px 8px 7px; color: #a3bed5; font-size: 10px; }
.product-screenshot figcaption > a { color: #d5eeff; }
.caption-features { margin-top: 35px; gap: 50px; }
.caption-features h3 { margin: 10px 0 12px; font-size: 19px; }
.caption-features p { font-size: 13px; }
.process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; padding: 0; margin: 0; list-style: none; }
.process-steps > li { border-top: 2px solid #45a3d7; padding-top: 21px; }
.process-steps > li > span, .archive-stages > li > span { font-size: 10px; letter-spacing: 1.5px; color: #77ceff; display: block; margin-bottom: 14px; font-weight: 700; }
.process-steps h3 { font-size: 19px; margin-bottom: 12px; }
.process-steps p { font-size: 13px; }
.export-panel { padding: 35px; border: 1px solid #3e81a7; border-top: 3px solid #67ceff; background: radial-gradient(ellipse at top, #123c59, #062036 70%); }
.export-panel h3 { font-size: 27px; margin-top: 14px; margin-bottom: 17px; }
.export-flow { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 23px 0; margin-block: 16px; border-block: 1px solid #417b9a; }
.export-flow span { text-transform: uppercase; letter-spacing: 1px; font-size: 11px; color: #c7edff; }
.export-flow b { font-size: 24px; color: #5ecaff; font-weight: 400; }
.audit-context { margin: 0; }
.audit-context > div { display: grid; grid-template-columns: 80px 1fr; padding: 18px 0; border-bottom: 1px solid #2e5572; }
.audit-context dt { font-family: Exo, Arial, sans-serif; color: #93d7ff; font-size: 18px; }
.audit-context dd { margin: 0; font-size: 13px; color: #c0d6e7; }
.coverage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.coverage-grid > div { padding: 25px; background: #071f33; border: 1px solid #234c6c; }
.coverage-grid h3 { font-size: 18px; margin: 17px 0 10px; }
.coverage-grid p { font-size: 13px; }

/* ODIN-I: independent art, a real-text data stack, and reused SecOps imagery. */
.odin-hero-grid { display: grid; grid-template-columns: .91fr 1.09fr; gap: 25px; }
.product-hero-copy { position: relative; z-index: 2; padding: 6px 0 42px; }
.odin-product-name { display: flex; gap: 15px; align-items: center; margin-left: -9px; }
.odin-product-name > img { width: 94px; height: 94px; object-fit: contain; }
.odin-product-name h1 { font-size: clamp(56px, 5.4vw, 82px); letter-spacing: -.9px; line-height: 1; color: #d5eafb; }
.odin-product-name h1 sup { font-family: Arial, sans-serif; font-size: 12px; vertical-align: top; position: relative; top: 13px; margin-left: 4px; }
.odin-product-name h1 > span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 1.3px; color: #75cbff; margin-top: 9px; }
.product-hero-copy h2 { font-size: clamp(30px, 2.9vw, 43px); line-height: 1.15; letter-spacing: -.7px; }
.hero-assurances { display: flex; gap: 26px; margin-top: 31px; }
.hero-assurances > span { display: flex; align-items: center; gap: 7px; text-transform: uppercase; font-size: 9px; letter-spacing: 1px; color: #a5d7f6; }
.odin-visual { position: relative; min-height: 590px; align-self: stretch; isolation: isolate; }
.odin-infrastructure { position: absolute; inset: -20px -100px 0 -160px; width: calc(100% + 260px); height: calc(100% + 20px); max-width: none; object-fit: cover; object-position: center top; opacity: .85; mask-image: linear-gradient(90deg, transparent, #000 28%); z-index: -2; }
.odin-visual::after { content: ''; position: absolute; inset: 0 -100px 0 -90px; background: linear-gradient(0deg, #031323, transparent 35%); z-index: -1; }
.deployment-pills { display: flex; justify-content: space-between; position: absolute; top: 120px; left: 3%; right: 0; gap: 30px; }
.deployment-pills > span { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; padding: 10px 13px; background: #04213fdb; border: 1px solid #4fa6d8; border-radius: 20px; box-shadow: 0 0 16px #1884e050; }
.data-core { position: absolute; left: 4%; top: 217px; width: 215px; z-index: 2; border-radius: 50% / 6%; background: linear-gradient(90deg, #045181, #031528 20%, #062f4b 70%, #0a5284); border: 1px solid #7edbff; box-shadow: 0 0 25px #009aff7d, inset 5px 0 0 #218dc2, inset -5px 0 0 #2d9fd5; overflow: hidden; }
.data-core-name { padding: 19px 9px 17px; text-align: center; font-family: Exo, Arial, sans-serif; color: #e3f5ff; font-size: 30px; letter-spacing: 2px; border-bottom: 2px solid #54caff; background: linear-gradient(0deg, #0d5083a6, #081727); }
.data-core-name > span { display: block; text-transform: uppercase; letter-spacing: 1px; font: 8px/1.6 'Open Sans', Arial, sans-serif; margin-top: 4px; color: #b4e8ff; }
.data-core ol { margin: 0; padding: 0; list-style: none; }
.data-core li { text-align: center; text-transform: uppercase; font-family: Exo, Arial, sans-serif; letter-spacing: 1.8px; font-size: 13px; padding: 11px 10px; border-bottom: 1px solid #55c4ff; box-shadow: 0 4px 8px #22a8ff26; }
.data-core li:last-child { border: 0; padding-bottom: 16px; }
.odin-soc { position: absolute; left: 40%; right: -73px; top: 235px; bottom: 30px; margin: 0; border: 1px solid #4ca8da; border-radius: 9px 0 0 9px; box-shadow: 0 0 24px #007bc42b; overflow: hidden; background: #021322; }
.odin-soc > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; opacity: .85; }
.odin-soc > figcaption { position: absolute; inset: auto 0 0; background: linear-gradient(transparent, #031323 30%); padding: 33px 18px 17px; }
.odin-soc strong { font-family: Exo, Arial, sans-serif; font-size: 16px; display: block; color: #9edaff; }
.odin-soc figcaption span { font-size: 9px; color: #d0e7f7; margin-top: 5px; display: block; }
.reporting-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 28px; }
.source-panel { border: 1px solid #4085ac; border-radius: 5px; background: linear-gradient(130deg, #0a2d47, #041627); padding: 27px; }
.source-panel h3 { margin: 13px 0 21px; font-size: 22px; }
.source-panel ul { margin: 0; padding: 0; list-style: none; }
.source-panel li { display: flex; gap: 17px; align-items: center; padding: 16px 0; border-top: 1px solid #275472; }
.source-panel li img { flex: 0 0 30px; }
.source-panel li strong { font-size: 14px; display: block; color: #e4f3ff; }
.source-panel li span { font-size: 11px; color: #a5c5dd; display: block; margin-top: 4px; }
.source-panel > p { font-size: 11px; margin-top: 15px; }
.reporting-value { padding: 25px 10px 0 24px; }
.reporting-value-heading { display: flex; gap: 19px; align-items: center; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.reporting-value-heading > img { width: 85px; height: 85px; }
.reporting-value-heading h3 { font-size: 26px; margin-top: 8px; }
.reporting-capabilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; padding-top: 29px; }
.reporting-capabilities h3 { font-size: 18px; margin: 17px 0 12px; }
.reporting-capabilities p { font-size: 12px; }
.future-sources { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: start; margin-top: 25px; }
.future-sources > p { font-size: 12px; }
.future-sources strong { color: #d0e9fc; }
.archive-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px; }
.archive-stages > li { position: relative; padding-left: 60px; }
.archive-stages > li > img { position: absolute; left: 0; top: 0; }
.archive-stages h3 { font-size: 20px; margin-bottom: 15px; }
.archive-stages p { font-size: 13px; }
.node-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.node-grid article { border: 1px solid #2c6085; border-top: 2px solid #65c2f5; padding: 29px; background: linear-gradient(130deg, #08243a, #031323); }
.node-symbols { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; min-height: 45px; color: #689fc0; }
.node-symbols img { width: 35px; height: 35px; }
.node-grid h3 { font-size: 21px; margin: 13px 0; }
.node-grid p { font-size: 13px; }
.edition-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.edition-grid article { position: relative; padding: 28px 32px; border: 1px solid #4d94bf; background: #041729; box-shadow: inset 0 0 35px #1a88d01a; }
.edition-grid article:last-child { border-top: 3px solid #66c7ff; padding-top: 26px; }
.edition-grid h3 { font-size: 25px; margin: 13px 0; }
.edition-grid p:last-child { font-size: 13px; }
.subscription-inclusions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; gap: 30px; }
.subscription-inclusions > div { display: flex; gap: 16px; align-items: flex-start; }
.subscription-inclusions img { flex: 0 0 28px; margin-top: 5px; }
.subscription-inclusions strong { display: block; font-size: 12px; color: #d9ecf9; }
.subscription-inclusions span { display: block; font-size: 11px; margin-top: 3px; }
.ai-section-intro { display: grid; grid-template-columns: 1fr 1.25fr; gap: 10%; align-items: end; margin-bottom: 36px; }
.ai-section-intro h2 { font-size: clamp(34px, 3.5vw, 50px); margin-top: 21px; }
.ai-section-intro .section-lead { margin: 0 0 12px; }
.ai-section-intro > div:last-child > p:last-child { font-size: 12px; }
.ai-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; align-items: center; }
.ai-boundary { display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid #33789f; padding: 25px 20px 30px; background: radial-gradient(ellipse at 50% 40%, #0b41616b, transparent 70%); }
.ai-boundary > img { width: 90px; height: 90px; }
.ai-boundary > strong { font-family: Exo, Arial, sans-serif; font-size: 21px; }
.ai-boundary > span { color: #b4cbdd; font-size: 11px; margin-top: 4px; }
.ai-boundary > b { font-weight: 400; font-size: 25px; color: #6ac5fb; padding: 5px; }
.ai-boundary > div { border-block: 1px solid #438fb8; color: #b9e6ff; font-size: 11px; padding: 9px 35px; }
.ai-use-cases { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 22px; }
.ai-use-cases p { font-size: 12px; margin-top: 12px; }
.planned-notice { padding: 19px 24px; margin-top: 27px; background: #0c2c42; border-left: 3px solid #83c6e9; }
.product-section .planned-notice { font-size: 13px; color: #c9e3f4; }
.walkthrough-band { display: flex; justify-content: space-between; gap: 35px; align-items: center; padding-block: 0 60px; }
.walkthrough-band h2 { font-size: 27px; }
.walkthrough-band .eyebrow { font-size: 10px; }
.walkthrough-band .button { flex-shrink: 0; }

@media (min-width: 1600px) {
  .odin-soc { right: -36px; }
}
@media (max-width: 1300px) {
  .product-container { width: calc(100% - 56px); }
  .migration-stage-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 22px; }
  .product-signature { display: none; }
  .product-hero-copy h2 { font-size: 34px; }
  .odin-product-name > img { width: 76px; height: 76px; }
  .odin-product-name h1 { font-size: 65px; }
  .odin-product-name h1 > span { font-size: 10px; }
  .odin-product-name h1 sup { top: 8px; }
  .product-mantra { letter-spacing: 1px; font-size: 10px; }
  .hero-assurances { gap: 17px; }
  .hero-product-actions .button { font-size: 9px; padding-inline: 12px; gap: 9px; }
  .deployment-pills { top: 125px; left: 0; gap: 10px; }
  .deployment-pills > span { padding: 9px 10px; font-size: 9px; gap: 6px; }
  .odin-soc { left: 42%; right: -28px; }
  .data-core { left: 0; width: 190px; }
  .reporting-layout { grid-template-columns: .8fr 1.2fr; }
  .reporting-value { padding-left: 10px; }
  .reporting-capabilities { gap: 18px; }
}
@media (max-width: 1080px) {
  .migration-stage-layout { grid-template-columns: minmax(0, 1fr); }
  .migration-aside { display: flex; align-items: center; gap: 24px; border: 0; border-top: 1px solid #4582a7; padding: 20px 0 0; }
  .migration-aside .eyebrow { font-size: 10px; margin: 0; }
  .migration-aside h2 { display: none; }
  .migration-aside ul { margin: 0; display: flex; gap: 25px; flex: 1; }
  .migration-aside li { margin: 0; font-size: 9px; gap: 8px; }
  .migration-aside .button { width: auto; flex-shrink: 0; max-width: 190px; }
  .hero-assurances { flex-wrap: wrap; gap: 14px 20px; }
  .hero-assurances > span { font-size: 8px; }
  .data-core { width: 170px; }
  .data-core-name { font-size: 26px; }
  .odin-product-name { gap: 7px; }
  .odin-product-name h1 { font-size: 55px; }
  .odin-product-name h1 > span { letter-spacing: .3px; }
  .odin-product-name > img { width: 65px; height: 65px; }
  .odin-hero-grid { grid-template-columns: .95fr 1.05fr; gap: 20px; }
  .product-hero-copy h2 { font-size: 32px; }
  .product-hero-lead { font-size: 14px; }
  .deployment-pills > span > img { width: 19px; height: 19px; }
  .deployment-pills > span { font-size: 8px; }
  .odin-soc { left: 43%; }
  .odin-soc strong { font-size: 14px; }
  .reporting-capabilities { grid-template-columns: 1fr; gap: 18px; }
  .reporting-capabilities article { position: relative; padding-left: 42px; }
  .reporting-capabilities article > img { position: absolute; left: 0; top: 0; width: 24px; }
  .reporting-capabilities h3 { margin: 0 0 7px; font-size: 17px; }
  .reporting-value-heading h3 { font-size: 23px; }
  .reporting-value-heading > img { width: 65px; height: 65px; }
  .product-benefits > div > div { gap: 10px; padding-inline: 15px; }
  .product-benefits span { font-size: 8px; }
  .product-section-heading { gap: 5%; }
  .archive-stages { gap: 28px; }
  .archive-stages > li { padding-left: 0; }
  .archive-stages > li > img { position: static; margin-bottom: 20px; }
  .subscription-inclusions { gap: 20px; }
}
@media (max-width: 800px) {
  .product-container { width: calc(100% - 40px); }
  .product-section { padding-block: 52px; }
  .product-section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 28px; }
  .product-section-heading > p { max-width: 610px; }
  .product-split { gap: 35px; }
  .product-faq-section { grid-template-columns: 1fr; gap: 25px; }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .coverage-grid { gap: 15px; }
  .coverage-grid > div { padding: 20px; }
  .coverage-grid h3 { font-size: 16px; }
  .migrator-word { font-size: 42px; }
  .migrator-word > span { font-size: 10px; letter-spacing: 2px; }
  .iboss-wordmark { width: 210px; }
  .migrator-title-row h1 { gap: 22px; }
  .migrator-intro p { font-size: 14px; }
  .migration-aside > .eyebrow { display: none; }
  .migration-aside ul { gap: 15px; }
  .migration-aside li { font-size: 8px; }
  .product-benefits > div > div { flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 0 10px; }
  .product-three-up { gap: 25px; }
  .caption-features h3 { font-size: 17px; }
  .caption-features p { font-size: 12px; }
  .product-cta-inner { gap: 35px; grid-template-columns: 1fr 1fr; }
  .product-cta h2 { font-size: 29px; }
  .product-cta-actions .button { min-width: 0; width: 100%; }
  .odin-hero-grid { grid-template-columns: 1fr; gap: 0; }
  .product-hero-copy { padding: 6px 0 28px; }
  .product-hero-copy h2 { font-size: 39px; }
  .odin-product-name h1 { font-size: 78px; }
  .odin-product-name h1 > span { font-size: 12px; letter-spacing: 1px; }
  .odin-product-name > img { width: 95px; height: 95px; }
  .product-mantra { font-size: 11px; }
  .product-hero-lead { max-width: 570px; font-size: 15px; }
  .hero-assurances { gap: 30px; margin-top: 24px; }
  .hero-assurances > span { font-size: 10px; }
  .hero-product-actions .button { font-size: 11px; padding-inline: 19px; }
  .odin-visual { min-height: 485px; margin-top: -10px; }
  .odin-infrastructure { inset: 0 -20px; width: calc(100% + 40px); height: 100%; mask-image: linear-gradient(0deg, #000 85%, transparent); object-position: center 30%; }
  .deployment-pills { top: 85px; left: 7%; right: 4%; }
  .deployment-pills > span { font-size: 10px; }
  .data-core { left: 6%; top: 156px; width: 195px; }
  .data-core-name { font-size: 29px; padding-block: 15px; }
  .data-core li { padding-block: 9px; }
  .odin-soc { top: 180px; right: -20px; left: 45%; bottom: 20px; }
  .odin-soc strong { font-size: 17px; }
  .node-grid { gap: 15px; }
  .node-grid article { padding: 23px 20px; }
  .node-grid h3 { font-size: 19px; }
  .node-symbols { gap: 4px; }
  .node-symbols > img { width: 30px; }
  .product-hero-baseline > div { font-size: 8px; letter-spacing: 1px; }
  .reporting-layout { grid-template-columns: 1fr 1.1fr; gap: 15px; }
  .source-panel { padding: 22px; }
  .reporting-value { padding: 18px 0 0 15px; }
  .reporting-value-heading { gap: 12px; }
  .reporting-value-heading > img { width: 50px; height: 50px; }
  .reporting-value-heading h3 { font-size: 20px; }
  .reporting-value-heading .micro-label { font-size: 8px; }
  .subscription-inclusions { grid-template-columns: 1fr; gap: 24px; }
  .ai-section-intro { gap: 30px; grid-template-columns: 1fr 1.2fr; }
  .ai-layout { gap: 35px; grid-template-columns: .9fr 1.1fr; }
  .walkthrough-band { flex-direction: column; align-items: flex-start; gap: 25px; }
}
@media (max-width: 600px) {
  .product-container { width: calc(100% - 36px); }
  .product-breadcrumb { font-size: 10px; padding-block: 8px; }
  .product-section { padding-block: 43px; }
  .product-section h2 { font-size: 29px; }
  .product-section p { font-size: 13px; }
  .product-section-nav > div { justify-content: flex-start; gap: 1px 23px; padding-block: 10px; }
  .product-section-nav a { font-size: 10px; padding-block: 6px; }
  .product-split, .product-three-up, .product-cta-inner, .coverage-grid, .reporting-layout,
  .node-grid, .edition-grid, .ai-layout, .ai-section-intro { grid-template-columns: 1fr; }
  .product-split { gap: 27px; }
  .caption-features { gap: 24px; }
  .caption-features article { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
  .caption-features article:last-child { border: 0; padding: 0; }
  .caption-features h3 { font-size: 20px; }
  .product-callout { padding: 20px 17px; gap: 13px; }
  .product-section .product-callout p { font-size: 12px; }
  .product-section .scope-note { font-size: 11px; }
  .process-steps { grid-template-columns: 1fr; gap: 25px; }
  .process-steps li { padding-top: 17px; }
  .process-steps h3 { font-size: 21px; }
  .export-panel { padding: 26px 22px; }
  .audit-context > div { grid-template-columns: 76px 1fr; }
  .product-faq summary { font-size: 13px; }
  .product-faq details p { font-size: 12px; }
  .product-cta-inner { padding-block: 38px; gap: 27px; }
  .product-cta h2 { font-size: 29px; }
  .product-cta-actions { width: 100%; }
  .product-cta-actions .button { width: 100%; }
  .related-solution { align-items: flex-start; flex-direction: column; gap: 8px; padding-block: 20px; }
  .migrator-title-row h1 { gap: 18px; align-items: flex-start; flex-direction: column; }
  .iboss-wordmark { width: 215px; }
  .migrator-word { padding: 0; border: 0; font-size: 41px; }
  .migrator-word > span { font-size: 10px; letter-spacing: 2px; margin-top: 8px; }
  .migrator-intro { margin-top: 22px; }
  .migrator-intro h2 { font-size: 24px; line-height: 1.3; }
  .migrator-intro p { font-size: 13px; }
  .migrator-backdrop img:first-child { width: 100%; height: 350px; opacity: .28; }
  .migrator-backdrop img:last-child { width: 100%; }
  .migration-stage-layout { margin-top: 24px; gap: 22px; }
  .automation-engine { padding: 18px; gap: 8px 15px; margin-top: 25px; }
  .automation-engine strong { font-size: 19px; }
  .automation-engine > img { width: 37px; }
  .automation-engine > p { grid-column: 1 / -1; font-size: 9px; line-height: 1.9; margin-top: 4px; }
  .automation-engine i { padding-inline: 5px; }
  .workflow-note { text-align: left; font-size: 10px; }
  .migration-aside { flex-direction: column; align-items: stretch; padding-top: 0; border-top: 0; gap: 20px; }
  .migration-aside ul { padding-top: 12px; justify-content: space-between; gap: 14px; }
  .migration-aside li { flex-direction: column; align-items: flex-start; font-size: 8px; }
  .migration-aside .button { max-width: none; font-size: 11px; }
  .product-benefits > div { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 22px; gap: 22px 10px; }
  .product-benefits > div > div { border: 0; padding: 0; }
  .product-benefits > div > div:nth-child(4) { grid-column: 1 / 3; }
  .product-benefits > div > div:nth-child(5) { grid-column: 3; }
  .product-benefits span { font-size: 9px; }
  .product-screenshot { padding: 5px; }
  .product-screenshot figcaption { flex-direction: column; gap: 7px; font-size: 9px; }
  .product-hero-copy { padding-top: 6px; padding-bottom: 24px; }
  .odin-product-name { gap: 5px; margin-left: -9px; }
  .odin-product-name > img { width: 77px; height: 77px; }
  .odin-product-name h1 { font-size: 61px; letter-spacing: -1px; }
  .odin-product-name h1 > span { font-size: 9px; letter-spacing: .3px; }
  .odin-product-name h1 sup { font-size: 9px; top: 6px; margin-left: 2px; }
  .product-hero-copy > .eyebrow { font-size: 10px; margin-bottom: 15px; }
  .product-mantra { font-size: 9px; letter-spacing: 1.3px; margin: 18px 0 23px; }
  .product-mantra i { margin-inline: 5px; }
  .product-hero-copy h2 { font-size: 34px; }
  .product-hero-lead { margin-top: 18px; font-size: 14px; }
  .hero-product-actions { gap: 10px; margin-top: 23px; }
  .hero-product-actions .button { padding: 12px 14px; font-size: 10px; }
  .hero-assurances { justify-content: space-between; gap: 8px; }
  .hero-assurances > span { flex-direction: column; font-size: 9px; gap: 6px; }
  .odin-visual { min-height: 395px; margin-top: 0; }
  .odin-infrastructure { object-position: 60% center; }
  .deployment-pills { top: 70px; left: 0; right: 0; gap: 7px; }
  .deployment-pills > span { font-size: 8px; padding: 8px 9px; }
  .data-core { left: 0; top: 135px; width: 145px; }
  .data-core-name { font-size: 23px; padding: 13px 7px; }
  .data-core-name > span { font-size: 6px; }
  .data-core li { font-size: 10px; letter-spacing: 1px; padding-block: 8px; }
  .odin-soc { left: 40%; right: -18px; top: 150px; bottom: 25px; }
  .odin-soc strong { font-size: 13px; }
  .odin-soc figcaption { padding: 30px 13px 12px; }
  .odin-soc figcaption span { font-size: 8px; }
  .product-hero-baseline > div { flex-direction: column; gap: 5px; font-size: 8px; letter-spacing: 1px; }
  .reporting-value { padding: 13px 0 0; }
  .reporting-value-heading > img { width: 75px; height: 75px; }
  .reporting-value-heading h3 { font-size: 23px; }
  .reporting-capabilities { gap: 25px; }
  .reporting-capabilities h3 { font-size: 20px; }
  .reporting-capabilities p { font-size: 13px; }
  .future-sources { grid-template-columns: 1fr; gap: 14px; }
  .future-sources .status-label { justify-self: start; }
  .archive-stages { grid-template-columns: 1fr; gap: 28px; }
  .archive-stages > li { padding-left: 52px; }
  .archive-stages > li > img { position: absolute; width: 32px; }
  .archive-stages h3 { font-size: 21px; margin-bottom: 12px; }
  .node-grid article { padding: 25px; }
  .node-symbols { margin-bottom: 20px; }
  .node-grid h3 { font-size: 23px; }
  .edition-grid article { padding: 26px; }
  .edition-grid h3 { font-size: 23px; }
  .ai-section-intro { gap: 25px; }
  .ai-section-intro h2 { font-size: 36px; }
  .ai-boundary { padding-block: 22px; }
  .ai-layout { gap: 30px; }
  .product-section .planned-notice { font-size: 12px; padding: 18px; }
  .walkthrough-band { padding-bottom: 43px; }
  .walkthrough-band h2 { font-size: 25px; }
  .walkthrough-band .button { width: 100%; justify-content: space-between; font-size: 10px; padding-inline: 17px; }
}
@media (max-width: 370px) {
  .odin-product-name h1 { font-size: 52px; }
  .odin-product-name > img { width: 67px; height: 67px; }
  .odin-product-name h1 > span { font-size: 8px; }
  .product-mantra { font-size: 8px; letter-spacing: .8px; }
  .hero-product-actions .button { font-size: 9px; padding-inline: 11px; gap: 8px; }
  .data-core { width: 127px; }
  .data-core-name { font-size: 20px; }
  .data-core-name > span { letter-spacing: .5px; }
}
/* Keep the larger workflow text readable without crowding the computers. */
@media (min-width: 901px) and (max-width: 1300px) {
  .migration-stages { gap: 26px; }
  .migration-stages > li { padding: 18px 14px 12px; }
  .migration-stages > li:not(:last-child)::after { right: -42px; width: 58px; }
  .stage-number { font-size: 16px; }
  .stage-heading { gap: 9px; }
  .stage-heading h3 { font-size: 11px; }
  .stage-body { flex-direction: column; align-items: stretch; }
  .stage-device { flex: 0 0 auto; width: 150px; margin-top: 4px; }
}
@media (max-width: 900px) {
  .migration-stages { grid-template-columns: 1fr; gap: 36px; }
  .migration-stages > li { padding: 19px 22px 14px; }
  .migration-stages > li:not(:last-child)::after { top: auto; bottom: -47px; left: 50%; right: auto; transform: translateX(-50%) rotate(90deg); }
  .stage-heading { gap: 13px; }
  .stage-device { flex-basis: 42%; max-width: 190px; }
  .stage-device > span { font-size: 10px; }
}
@media (max-width: 600px) {
  .migration-stages > li { padding: 18px 16px 12px; }
  .stage-heading { gap: 12px; }
  .stage-number { font-size: 18px; }
  .stage-heading h3 { font-size: 12px; }
  .stage-body { gap: 6px; }
  .stage-device { max-width: 160px; }
  .stage-device > span { font-size: 9px; }
}
@media (max-width: 370px) {
  .stage-body .check-list li { font-size: 13px; }
  .stage-device > span { font-size: 8px; }
}
