/* Scoped service layout; shared breadcrumbs, labels, inline links and contact
 * retain their global typography at every breakpoint. */
.migration-page{--dm-body:var(--body-text);--dm-line:#c4dce3}
.dm-hero{padding-bottom:44px}
.dm-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:5%;align-items:center;padding-top:30px}
.dm-hero .ip-label{color:#96dbdd}.dm-hero h1{margin-bottom:25px}.dm-hero h1 em{color:var(--ip-teal)}
.dm-hero-copy>p{font-size:1.125rem;line-height:1.75;color:var(--body-text-on-dark);max-width:570px;margin-bottom:29px}
.dm-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px 30px}.dm-hero-actions .ip-inline-link{color:#a6ece4;width:fit-content}
.dm-hero-figure{min-width:0;margin:0;border:1px solid #355b6e;background:#0b3043}
.dm-hero-image{position:relative}.dm-hero-image img{display:block;width:100%;height:auto;aspect-ratio:9/5;object-fit:contain}.dm-hero-image .image-corners{inset:18px}
.dm-hero-figure figcaption{font-size:1rem;line-height:1.75;color:#b6d3db;padding:24px 26px}
.dm-hero-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:44px 0 0;padding:26px 0 0;border-top:1px solid #355b6e}
.dm-hero-path li{display:flex;gap:16px;align-items:baseline;color:#b6d3db;font-size:1rem;line-height:1.6}.dm-hero-path li>span{color:#8edddb;font-size:.875rem}
.dm-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.dm-why-grid article{border-top:1px solid var(--dm-line);padding-top:26px;min-width:0}.dm-why-grid .ms-icon{font-size:32px;color:#1392a3;display:block;margin-bottom:22px}
.dm-why-grid h3{font-size:1.45rem;line-height:1.3;margin-bottom:18px}.dm-why-grid p{font-size:1rem;line-height:1.75;color:var(--dm-body);margin-bottom:0}
.dm-source{color:#167f8e;display:inline-flex;margin-top:36px}
.dm-review{background:#edf7f8}
.dm-ledger details{border-top:1px solid var(--dm-line)}.dm-ledger details:last-child{border-bottom:1px solid var(--dm-line)}
.dm-ledger summary{display:grid;grid-template-columns:42px minmax(0,1fr) 40px;gap:22px;align-items:center;padding:28px 0;list-style:none;cursor:pointer;color:#0a344a;transition:color .2s}
.dm-ledger summary::-webkit-details-marker{display:none}.dm-ledger summary::marker{content:''}
.dm-row-number{font-size:.875rem;line-height:1.6;color:#167f8e}.dm-row-name{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;min-width:0}
.dm-row-name strong{font:700 1.45rem/1.35 var(--font-display)}.dm-row-name>span{font-size:1rem;line-height:1.7;color:var(--dm-body)}
.dm-row-control{display:grid;place-items:center;width:40px;height:40px;border:1px solid #85bdc7;font-size:1.6rem;line-height:1;color:#167f8e;transition:transform .2s,background .2s}
.dm-ledger summary:hover{color:#167f8e}.dm-ledger details[open] .dm-row-control{transform:rotate(45deg);background:#dceff1}
.dm-review-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 5%;padding:0 0 32px 64px}
.dm-review-fields>div{border-top:1px solid var(--dm-line);padding-top:20px;min-width:0}.dm-review-fields h3{font:700 .875rem/1.6 var(--font-body);color:#167f8e;margin:0 0 12px}.dm-review-fields p{font-size:1rem;line-height:1.75;color:var(--dm-body);margin:0}
.migration-page .dm-scope-note{font-size:.875rem;line-height:1.75;color:var(--dm-body);margin:26px 0 0}
.dm-approach{background:#092d42;color:#fff}.dm-approach .ip-label{color:#96dbdd}.dm-approach h2 em{color:var(--ip-teal)}.dm-approach .ip-section-heading>p,.migration-page .dm-approach .dm-scope-note{color:var(--body-text-on-dark)}
.dm-approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:0}
.dm-approach-grid>li{display:flex;flex-direction:column;position:relative;overflow:hidden;border-top:1px solid var(--sm-line,#355b6e);padding-top:28px;min-width:0}
.dm-approach-grid>li::before{content:'';position:absolute;left:-15%;top:0;width:14%;height:1px;background:linear-gradient(90deg,transparent,var(--sm-signal,#82ece1));animation:ip-packet var(--sm-loop,5.8s) linear infinite;animation-play-state:paused}
.dm-approach-grid>li:nth-child(2)::before{animation-delay:calc(-.33 * var(--sm-loop,5.8s))}.dm-approach-grid>li:nth-child(3)::before{animation-delay:calc(-.67 * var(--sm-loop,5.8s))}.dm-approach.ip-animation-active .dm-approach-grid>li::before{animation-play-state:running}
.dm-stage-number{display:block;font-size:.875rem;color:var(--process-step-rest);line-height:1.6;margin-bottom:26px;transition:color 500ms}.dm-approach-grid h3{font-size:1.5rem;line-height:1.35;margin-bottom:20px}.dm-approach-grid p{font-size:1rem;line-height:1.75;color:var(--body-text-on-dark);margin-bottom:28px}
.dm-approach-grid>li:is(:hover,:focus-within)>.dm-stage-number{color:var(--process-step-hover)}
.dm-stage-decision{border-top:1px solid #355b6e;padding-top:20px;margin-top:auto}.dm-stage-decision>span{display:block;font-size:.875rem;line-height:1.6;color:#8edddb;margin-bottom:12px}.dm-stage-decision strong{font-size:1rem;line-height:1.7;font-weight:600}
.dm-prepare-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start}.dm-prepare h2{margin-bottom:28px}.dm-prepare p{font-size:1rem;line-height:1.8;color:var(--dm-body)}
.dm-prepare .ip-inline-link{color:#167f8e;margin-top:24px;max-width:fit-content}.dm-prepare ul{list-style:none;padding:0;margin:0}.dm-prepare li{border-top:1px solid var(--dm-line);padding:25px 0}.dm-prepare li:first-child{padding-top:0;border-top:0}.dm-prepare h3{font-size:1.4rem;line-height:1.35;margin-bottom:14px}.dm-prepare li p{margin:0}
.dm-questions{background:#edf7f8}.dm-questions .ip-faq-list :is(summary,p){font-size:1rem}.dm-questions .ip-faq-list p{color:var(--dm-body);line-height:1.8}
/* Global html scroll padding owns the fixed-header offset. */
.migration-page section[id]{scroll-margin-top:0}
@media(max-width:850px){.dm-hero-grid{grid-template-columns:1fr;gap:34px}.dm-hero-figure{max-width:680px}.dm-why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.dm-hero-path{gap:20px}}
@media(max-width:600px){.dm-hero h1{font-size:clamp(2.8rem,11vw,3.4rem);line-height:1.1}.dm-hero-copy>p{font-size:1rem}.dm-hero-path{grid-template-columns:1fr;gap:16px;margin-top:30px}.dm-hero-figure figcaption{padding:20px}.dm-why-grid{grid-template-columns:1fr}}
@media(max-width:850px){.dm-row-name{grid-template-columns:1fr;gap:8px}.dm-review-fields{grid-template-columns:1fr;gap:24px}.dm-approach-grid{grid-template-columns:1fr;gap:34px}.dm-prepare-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:600px){.dm-ledger summary{grid-template-columns:26px minmax(0,1fr) 32px;gap:12px;padding:24px 0}.dm-row-name strong{font-size:1.3rem}.dm-row-control{width:32px;height:32px;font-size:1.35rem}.dm-review-fields{padding-left:0}.dm-row-name>span{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.dm-approach-grid>li::before{animation:none}.dm-ledger summary,.dm-row-control,.dm-stage-number{transition:none}}

/* One bounded revision vignette inside the first native ledger record.
 * Record labels remain still; the three curves breathe together, never in order. */
.dm-relationship-map{margin:0 0 32px 64px;padding:26px 30px;background:linear-gradient(125deg,#fff,#e6f3f4);border:1px solid #bdd9df;min-width:0;isolation:isolate}
.dm-relationship-map figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:20px}
.dm-relationship-map figcaption>span{font-size:.875rem;line-height:1.6;color:#167f8e}.dm-relationship-map figcaption>strong{font:700 1.2rem/1.4 var(--font-display);color:#0a344a}
.dm-relation-graph{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,42fr);column-gap:18%;align-items:center;position:relative;min-height:270px}
.dm-relation-curves{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;fill:none}
.dm-rel-path{vector-effect:non-scaling-stroke;stroke-linecap:round}.dm-rel-base{stroke:#69a6b2;stroke-width:1.25;opacity:.7}
.dm-rel-glow{stroke:#29b8af;stroke-width:3;opacity:.16;animation:dm-relationship-breath 12s ease-in-out infinite;animation-play-state:paused}
.dm-ledger details[open] .dm-relationship-map.ip-animation-active .dm-rel-glow{animation-play-state:running}
@keyframes dm-relationship-breath{0%,100%{opacity:.12}38%{opacity:.68}66%{opacity:.23}}
.dm-part-record{position:relative;z-index:1;isolation:isolate;padding:25px 22px;border:1px solid #3f7183;background:#0a3348;color:#fff;box-shadow:0 12px 24px #0a344a0c}
.dm-part-record:before{content:'';position:absolute;inset:4px;border:1px solid #80b7c166;background:#d8ecf0;transform:translate(-10px,-8px) rotate(-3deg);z-index:-1;pointer-events:none}
.dm-part-record:after{content:'';position:absolute;inset:0;background:#0a3348;z-index:-1;pointer-events:none}
.dm-part-record>span{display:block;font-size:.875rem;line-height:1.6;color:#8edddb;margin-bottom:10px}.dm-part-record>strong{display:block;font:700 clamp(1.35rem,2vw,1.8rem)/1.3 var(--font-display);color:#fff}.dm-part-record>p{font-size:.875rem;line-height:1.6;color:#b6d3db;margin:12px 0 0}
.dm-related-records{margin:0;padding:0;list-style:none;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:16px;position:relative;z-index:1}
.dm-related-records>li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;align-items:center;padding:16px;border:1px solid #b8d8df;background:#fff;position:relative;min-width:0;transition:border-color .25s,background .25s}
.dm-related-records strong{display:block;font:700 1rem/1.4 var(--font-body);color:#0a344a}.dm-related-records span{display:block;font-size:.875rem;line-height:1.6;color:#2c5a6e;margin:5px 0 0}.dm-relation-mark{display:block;width:34px;height:34px;fill:none;stroke:#167f8e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.migration-page .dm-map-note{font-size:.875rem;line-height:1.7;color:#2c5a6e;margin:20px 0 0}
@media(hover:hover) and (pointer:fine){.dm-related-records>li:hover{border-color:#359dab;background:#f5fbfb}.dm-relationship-map:has([data-relationship="cad"]:hover) .dm-rel-base .dm-rel-cad,.dm-relationship-map:has([data-relationship="structure"]:hover) .dm-rel-base .dm-rel-structure,.dm-relationship-map:has([data-relationship="change"]:hover) .dm-rel-base .dm-rel-change{stroke:#087f91;stroke-width:2}}
@media(max-width:850px){.dm-relationship-map{padding:24px}.dm-related-records>li{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:14px}.dm-relation-mark{width:28px;height:28px}}
/* The phone map keeps the same relationships, using a quiet static side rail. */
@media(max-width:600px){.dm-relationship-map{margin-left:0;padding:22px 18px}.dm-relationship-map figcaption{display:block}.dm-relationship-map figcaption>span{display:block;margin-bottom:8px}.dm-relationship-map figcaption>strong{font-size:1.15rem}.dm-relation-graph{display:block;min-height:0}.dm-relation-curves{display:none}.dm-rel-glow{animation:none}.dm-part-record{margin:14px 0 0 12px;padding:21px}.dm-part-record>strong{font-size:1.55rem}.dm-related-records{display:block;margin-top:28px;padding-left:34px}.dm-related-records:before{content:'';position:absolute;left:12px;top:-28px;bottom:40px;border-left:1px solid #69a6b2;pointer-events:none}.dm-related-records>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;margin-top:12px;padding:14px}.dm-related-records>li:first-child{margin-top:0}.dm-related-records>li:before{content:'';position:absolute;top:50%;left:-23px;width:22px;border-top:1px solid #69a6b2;pointer-events:none}.dm-part-record:after{inset:0;background:#0a3348}.dm-map-note{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.dm-rel-glow{animation:none;opacity:.2}.dm-related-records>li{transition:none}}

/* The transition decision is supporting prose on the navy planning surface. */
.dm-stage-decision strong{color:var(--body-text-on-dark)}
.industry-page .dm-hero-actions .ip-inline-link:is(:hover,:focus-visible){color:var(--link-hover-on-dark)}
