/* OFFALTO: a wide-screen overview and a phone-first reading experience. */
:root{--paper:#f8f6f1;--soft:#e7e3dc;--blue-wash:#e9edfa;--blue-ink:#3445bc;--dark-panel:#212823}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.experience-home,.experience-page{background:var(--bg);overflow-wrap:break-word}
.experience-home main,.service-experience{overflow:clip}
.experience-home .hero{padding-top:72px;grid-template-columns:1.12fr 1fr;gap:30px 35px}
.experience-home .hero-copy{padding-bottom:10px}.experience-home .ai-hero-title{font-size:clamp(34px,3.25vw,48px);line-height:1.42;max-width:680px}.experience-home .hero-copy .lead{max-width:560px;font-size:16px;line-height:1.9}.experience-home .hero-art{min-height:380px;isolation:isolate}.hero-art-label{position:absolute;left:32px;top:16px;color:#65655f;font:10px/1.7 Arial,sans-serif;letter-spacing:.18em}.experience-home .hero-architecture{width:110%;margin:0}.experience-home .hero-footer{padding-top:20px}.experience-home .intro{padding-top:90px;padding-bottom:90px}.experience-home .intro>div{max-width:760px}.experience-home .intro p:not(.eyebrow){font-size:16px}
.button,.outline-button,.nav-contact{min-height:48px}.outline-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #777971;padding:14px 20px;font-size:13px;font-weight:600;line-height:1.65;transition:background .2s}.outline-button:hover{background:#e3e0d9}.button:focus-visible,.outline-button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.experience-home .services{padding-top:70px;padding-bottom:90px;border-top:1px solid var(--line)}.experience-home .section-heading>p{max-width:340px}.service-index{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin:36px 0 28px}.service-index a{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--line);padding:10px 12px 10px 0;font-size:12px;line-height:1.55}.service-index a>span{font:10px Arial;color:var(--muted)}.service-index a>b{margin-left:auto;font-size:14px;font-weight:400;color:var(--blue-ink)}.service-index a:hover{color:var(--blue-ink)}
.experience-home .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.experience-home .service-grid .service{display:flex;flex-direction:column;gap:0;min-height:0;padding:28px;border:1px solid var(--line);background:var(--paper)}.experience-home .service-grid .card-top{margin-bottom:26px}.experience-home .service-icon{font-size:24px;color:var(--blue-ink)}.experience-home .service-grid .english{font:10px/1.6 Arial,sans-serif;letter-spacing:.06em;color:var(--muted);min-height:30px}.experience-home .service-grid .service h3{font-size:23px;line-height:1.5;min-height:70px;margin-bottom:16px}.experience-home .service-grid .service>p:not(.english){font-size:14px;line-height:1.8;min-height:77px;margin-bottom:22px}.mini-diagram{display:flex;align-items:center;gap:7px;min-height:68px;padding:14px 8px;margin-bottom:23px;background:#eeece6;border-top:1px solid #ddd9d0;border-bottom:1px solid #ddd9d0;font-size:11px;line-height:1.5;letter-spacing:-.025em}.mini-diagram span{flex:1;text-align:center}.mini-diagram i{font-style:normal;color:var(--blue-ink)}.experience-home .service-grid .service details{font-size:13px;margin:0 0 23px}.experience-home .service-grid .service summary{min-height:40px;padding:8px 0}.experience-home .service-grid .service-cta{order:2;margin:12px 0 0;padding:8px 0;min-height:44px;font-size:12px}.experience-home .service-grid .service-page-link{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 14px;margin-top:auto;border:1px solid #777971;color:var(--ink);font-size:12px;font-weight:600}.experience-home .service-grid .service-page-link:hover{background:#e7e3dc}
.systems-story{background:#e3e0d9;padding:85px 0 15px}.systems-story .section-heading{margin-bottom:65px}.system-story{padding-bottom:72px;margin-bottom:65px;border-bottom:1px solid #c3c0b8}.system-story:last-child{border-bottom:0;margin-bottom:0}.story-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;align-items:start;margin-bottom:30px}.story-copy .eyebrow{grid-column:1/-1;margin-bottom:20px;color:var(--muted)}.story-copy h3{grid-row:2 / span 2;margin:0;font-size:34px;line-height:1.5;letter-spacing:-.06em}.story-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;margin:0 0 18px;max-width:440px;color:#565852}.story-copy .outline-button{justify-self:start}
/* Service-page information architecture. */
.service-hero{padding-top:45px;padding-bottom:60px}.breadcrumbs{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:50px;line-height:1.8}.breadcrumbs a:hover{text-decoration:underline}.service-hero-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:64px;align-items:start}.service-hero .eyebrow{margin-bottom:22px;color:var(--blue-ink)}.service-hero h1{font-size:clamp(34px,3.5vw,48px);line-height:1.4;word-break:keep-all;margin-bottom:24px}.service-hero .lead{font-size:17px;line-height:1.9;max-width:660px;margin-bottom:27px;word-break:keep-all}.service-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.service-hero-actions .button{font-size:13px;padding:15px 19px;gap:22px}.service-scope{border-top:2px solid var(--ink);padding:24px 0 0;max-width:400px}.scope-label{font:10px Arial;letter-spacing:.14em;color:var(--muted)}.service-scope h2{font-size:23px;line-height:1.55;margin:18px 0 14px;word-break:keep-all}.service-scope p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 24px}.service-scope dl{font-size:12px;line-height:1.8;margin:0}.service-scope dt{font-weight:700;margin-top:14px}.service-scope dd{margin:5px 0;color:var(--muted)}
.architecture-section{background:var(--soft);padding:66px 0 54px}.architecture-intro{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:start;margin-bottom:34px}.architecture-intro .eyebrow{font-size:10px;line-height:1.6;margin-top:10px}.architecture-intro h2{font-size:30px;line-height:1.55;word-break:keep-all;margin:0}.reading-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:36px}.reading-steps article{position:relative;padding-left:34px}.reading-steps article>span{position:absolute;left:0;top:3px;font:11px/1.8 Arial;color:var(--blue-ink)}.reading-steps h3{font-size:17px;line-height:1.5;margin:0 0 12px}.reading-steps p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}
.service-deep-dive{display:grid;grid-template-columns:215px minmax(0,1fr);gap:75px;padding-top:75px;padding-bottom:75px;align-items:start}.service-toc{position:sticky;top:25px;border-top:1px solid var(--ink);padding-top:20px}.service-toc>p{font:10px/1.6 Arial;letter-spacing:.1em;margin:0 0 15px}.service-toc>a{display:flex;gap:10px;font-size:12px;line-height:1.65;padding:12px 0;border-bottom:1px solid var(--line)}.service-toc>a>span{flex-shrink:0;font:10px/2 Arial;color:var(--muted)}.service-toc>a:hover{color:var(--blue-ink)}.service-toc .toc-contact{color:var(--blue-ink);font-weight:700;margin-top:15px;border-bottom:0}.service-chapters{max-width:860px;min-width:0}.service-chapter{display:grid;grid-template-columns:30px minmax(0,1fr);gap:18px;padding:0 0 43px;margin-bottom:43px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.chapter-number{font:11px/2 Arial;color:var(--blue-ink);padding-top:5px}.service-chapter h2{font-size:25px;line-height:1.5;margin:0 0 20px;word-break:keep-all}.service-chapter p,.service-chapter li{font-size:15px;line-height:1.95;color:#555850;word-break:keep-all}.service-chapter p{margin:0 0 18px}.service-chapter ul{padding-left:20px;margin:0 0 20px}.service-chapter li{margin:9px 0;padding-left:3px}.service-chapter .button{margin-top:10px}.service-chapter a:not(.button){text-decoration:underline;text-underline-offset:4px}.service-chapter.related-chapter{margin-bottom:0;border:0;padding-bottom:0}.related-chapter ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.related-chapter li{margin:0;border-bottom:1px solid var(--line);padding:12px 0}.related-chapter li a{font-size:13px;line-height:1.8}.service-endnote{border-top:2px solid var(--ink);padding-top:55px;padding-bottom:65px}.service-endnote h2{font-size:32px;line-height:1.5}.service-endnote>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:25px}.back-services{display:inline-block;margin-left:30px;font-size:13px;text-decoration:underline;text-underline-offset:5px}
/* Technical figures are responsive semantic HTML, never scaled-down screenshots. */
.technical-figure{margin:0;background:var(--paper);border:1px solid #c9c9c1;padding:28px;min-width:0;letter-spacing:-.025em}.figure-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.figure-label{font:9px/1.6 Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}.example-tag{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;font-size:10px;line-height:1.5;border:1px solid var(--line);white-space:nowrap;color:var(--muted)}.technical-figure figcaption{font-size:11px;color:var(--muted);line-height:1.8;border-top:1px solid var(--line);margin-top:24px;padding-top:16px;word-break:keep-all}.flow-node{min-width:0;display:flex;flex-direction:column;justify-content:center;background:#fffefa;border:1px solid #c6c9c0;padding:18px 14px;min-height:112px;position:relative}.node-number{font:9px/1.6 Arial,sans-serif;letter-spacing:.04em;color:#606660;margin-bottom:12px}.flow-node strong{font-size:16px;line-height:1.6;font-weight:700;word-break:keep-all}.flow-node small{display:block;font-size:11px;line-height:1.8;color:#62685f;margin-top:8px;word-break:keep-all}.flow-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:28px;gap:3px;color:var(--blue-ink)}.arrow-label{font-size:9px;line-height:1.6;text-align:center;word-break:keep-all}.arrow-horizontal{font:23px/1.2 Arial}.arrow-vertical{display:none}.diagram-annotations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:24px}.diagram-annotations.three{grid-template-columns:repeat(3,minmax(0,1fr))}.diagram-annotations p{font-size:12px;line-height:1.85;color:var(--muted);margin:0;padding-left:14px;border-left:2px solid #7783ba}.diagram-annotations b{display:block;font-size:12px;color:var(--ink);margin-bottom:5px}
/* Jenkins orchestrates verification and build. Artifacts flow left to right. */
.diagram-devops{background:var(--dark-panel);border-color:var(--dark-panel);color:#f4f5ec}.diagram-devops .figure-label,.diagram-devops .example-tag,.diagram-devops figcaption{color:#c5cbbf;border-color:#586056}.pipeline{display:grid;grid-template-columns:minmax(105px,.9fr) 35px minmax(270px,2.3fr) 35px minmax(100px,.9fr) 45px minmax(100px,.9fr);align-items:center}.diagram-devops .flow-node{background:#303831;border-color:#626c5e;min-height:140px}.diagram-devops .node-number{color:#bac6b6}.diagram-devops .flow-node strong{font-size:15px}.diagram-devops .flow-node small{color:#c3cdbf}.diagram-devops .flow-arrow{color:#bcc3ff}.ci-boundary{border:1px solid #909ee8;padding:13px 11px 11px;background:#29322d}.boundary-label{display:flex;gap:8px;align-items:baseline;margin:0 0 14px}.boundary-label b{font:600 13px Arial;color:#d1d7ff}.boundary-label span{font-size:9px;color:#c5cbbf;line-height:1.7}.ci-stages{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.diagram-devops .diagram-annotations p{color:#c3cdbf;border-color:#8c99de}.diagram-devops .diagram-annotations b{color:#f4f5ec}
/* Business domains exchange state with the same records. */
.business-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);gap:54px;align-items:center}.business-side .flow-node{min-height:113px}.business-side .flow-arrow{min-height:38px}.business-center{position:relative;text-align:center}.business-center:before,.business-center:after{content:'↔';position:absolute;top:46%;font-size:24px;color:var(--blue-ink)}.business-center:before{left:-39px}.business-center:after{right:-39px}.center-caption{font-size:11px;color:var(--blue-ink);margin-bottom:12px}.entity-card{border:1px solid #8993c8;background:#f0f2fb;text-align:left}.entity-card>b{display:block;padding:15px 18px;border-bottom:1px solid #b4bddf;font-size:15px}.entity-card>div{padding:13px 18px;display:flex;flex-direction:column;border-bottom:1px solid #cbd1e9;gap:7px}.entity-card>div:last-child{border:0}.entity-card span{font:12px/1.5 ui-monospace,monospace;color:#3445a0}.entity-card small{font-size:11px;line-height:1.6;color:#525e75}.business-center>p{font-size:10px;line-height:1.7;color:var(--muted);margin:12px 0 0}.business-links{display:flex;gap:16px;justify-content:space-between;padding:16px 0 0;margin-top:24px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--blue-ink)}
/* Relational data models and field mappings. */
.diagram-database-synchronization{background:#f2f3f7}.schema-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:20px;align-items:center}.schema-side h3{font:600 21px/1.5 Arial,sans-serif;margin:0 0 18px}.schema-side h3>span{display:block;font:9px/1.6 Arial;letter-spacing:.1em;color:#636979;margin-bottom:8px}.schema-table{border:1px solid #9aabc3;background:#fff}.table-name{background:#dee5f2;border-bottom:1px solid #9aabc3;padding:12px 15px;font:600 13px/1.5 ui-monospace,monospace}.schema-table table{border-collapse:collapse;width:100%;font-family:ui-monospace,monospace;font-size:10px;line-height:1.6;letter-spacing:-.02em}.schema-table th,.schema-table td{padding:11px 10px;border-bottom:1px solid #e0e4ed;text-align:left;white-space:nowrap}.schema-table th{font-weight:500}.schema-table td{color:#576477;font-size:9px}.schema-table tr:last-child th,.schema-table tr:last-child td{border:0}.key-badge{display:inline-block;width:24px;font:700 9px Arial;color:#3445a0}.relation-line{font:9px/1.9 ui-monospace,monospace;letter-spacing:-.025em;color:#5a6577;overflow-wrap:anywhere}.relation-line span{color:#3445a0}.sync-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding-top:30px}.sync-symbol{font:40px Arial;color:var(--blue-ink)}.sync-center>strong{font-size:14px;margin-bottom:4px}.sync-center>span:not(.sync-symbol){font-size:10px;line-height:1.6;color:#5a6577}.sync-center small{font:9px/1.7 ui-monospace,monospace;color:var(--blue-ink);margin-top:5px}.mapping-grid{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;border:1px solid #b9c1d2;margin-top:24px}.mapping-grid>div{padding:15px;border-right:1px solid #b9c1d2;display:flex;flex-direction:column;gap:10px;min-width:0}.mapping-grid>div:last-child{border:0}.mapping-grid>div>span{font-size:10px;color:#576477}.mapping-grid strong{font:11px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.mapping-grid strong b{color:var(--blue-ink);font-family:Arial}.mapping-grid small{font-size:10px;color:var(--muted);line-height:1.7}
/* Modernization, controls and operational feedback each use their own structure. */
.modernization-map{display:grid;grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);gap:30px}.modernization-map section>.figure-label{display:block;margin-bottom:16px}.modernization-map .flow-node{min-height:95px}.modernization-map .flow-arrow{min-height:28px}.modernization-map .arrow-horizontal{display:none}.modernization-map .arrow-vertical{display:block}.modern-before .flow-node{background:#edeae4}.modern-after .flow-node{background:#eef1fb;border-color:#a4afd5}.modern-boundary{align-self:center;text-align:center;padding:20px 5px}.modern-boundary b{font-size:14px}.modern-boundary ul{list-style:none;padding:0;font-size:11px;line-height:2.2;color:var(--muted)}.modern-boundary>span{font-size:30px;color:var(--blue-ink)}.modern-boundary p{font-size:11px;line-height:1.8;color:var(--blue-ink)}.control-flow,.operations-flow{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:center}.evidence-ledger{border:1px solid #8993c8;background:#eff1fa;padding:23px;margin-top:25px}.evidence-ledger>div{display:flex;align-items:center;gap:25px}.evidence-ledger>div>span{font:9px/1.7 Arial;letter-spacing:.1em;color:var(--blue-ink)}.evidence-ledger strong{font-size:14px;line-height:1.8}.evidence-ledger ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:20px 0}.evidence-ledger li{font-size:11px;padding:10px 0;border-top:1px solid #c2c8df;color:#515c7d}.evidence-ledger p{font-size:11px;color:var(--blue-ink);line-height:1.8;margin:0}.feedback-track{display:grid;grid-template-columns:40px 230px 1fr;gap:18px;align-items:center;border:1px solid #8993c8;background:#eff1fa;padding:22px;margin-top:24px}.feedback-track>span{font-size:28px;color:var(--blue-ink)}.feedback-track strong{font-size:14px;line-height:1.8}.feedback-track p{font-size:12px;line-height:1.9;color:#515c7d;margin:0}
@media(min-width:1450px){.experience-home .wrap,.experience-page .wrap{max-width:1376px}.experience-home .header,.experience-page .header{max-width:1280px}.experience-home .hero{padding-top:90px}.experience-home .hero-art{min-height:420px}.service-hero-layout{gap:90px}.technical-figure{padding:34px}.pipeline{grid-template-columns:minmax(130px,1fr) 44px minmax(320px,2.4fr) 44px minmax(120px,1fr) 52px minmax(120px,1fr)}}
@media(max-width:1100px) and (min-width:761px){.pipeline{grid-template-columns:minmax(75px,.9fr) 24px minmax(210px,2.3fr) 24px minmax(75px,.9fr) 28px minmax(75px,.9fr)}.diagram-devops .flow-node{padding:13px 9px}.diagram-devops .flow-node strong{font-size:13px}.diagram-devops .flow-node small{font-size:10px}.boundary-label{display:block}.boundary-label span{display:block;margin-top:5px}.ci-boundary{padding:11px 8px}.ci-stages{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.experience-home .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-map{gap:35px}.business-center:before{left:-27px}.business-center:after{right:-27px}.schema-grid{grid-template-columns:minmax(0,1fr) 105px minmax(0,1fr);gap:15px}.schema-table th,.schema-table td{padding:10px 5px;font-size:9px}.schema-table td{font-size:8px}.service-hero-layout{gap:36px}.service-deep-dive{gap:38px;grid-template-columns:185px minmax(0,1fr)}.experience-home .service-grid .service{padding:22px}.experience-home .service-grid .service h3{font-size:21px;min-height:70px}.mini-diagram{font-size:10px;gap:3px;padding-left:3px;padding-right:3px}.mapping-grid{grid-template-columns:1fr}.mapping-grid>div{display:grid;grid-template-columns:110px 1fr;border-right:0;border-bottom:1px solid #b9c1d2}.mapping-grid small{grid-column:2}.feedback-track{grid-template-columns:30px 1fr}.feedback-track p{grid-column:2}}
/* Phones: a sequential story, not a shrunken desktop canvas. */
@media(max-width:760px){
 .experience-home .wrap,.experience-page .wrap{padding-left:22px;padding-right:22px}.experience-home .header,.experience-page .header{margin-left:22px;margin-right:22px}.experience-home .hero{grid-template-columns:1fr;gap:0;padding-top:40px}.experience-home .ai-hero-title{font-size:32px;line-height:1.5;margin-bottom:22px}.experience-home .hero-copy .lead{font-size:15px;line-height:1.95}.experience-home .hero-detail{font-size:14px;line-height:1.95}.experience-home .hero-copy>.button{width:100%;font-size:14px}.experience-home .hero-copy>.text-link{margin:12px 0 0;min-height:44px;padding:10px 0}.experience-home .hero-art{min-height:0;height:235px;margin:10px 0 0;overflow:hidden;justify-content:flex-end}.experience-home .hero-architecture{width:86%;max-height:260px;object-fit:contain;margin:0}.hero-art-label{left:0;top:28px;font-size:8px;z-index:1}.experience-home .hero-footer{padding:16px 0 22px}.experience-home .intro{grid-template-columns:1fr;padding-top:55px;padding-bottom:50px}.experience-home .intro h2{font-size:29px;line-height:1.55;word-break:keep-all}.experience-home .intro p:not(.eyebrow){font-size:15px;line-height:1.95}.experience-home .services{padding-top:48px;padding-bottom:54px}.experience-home .section-heading h2{font-size:29px;line-height:1.55}.experience-home .section-heading>p{font-size:14px;line-height:1.9}.service-index{grid-template-columns:1fr 1fr;margin:28px 0 22px;column-gap:16px}.service-index a{font-size:11px;min-height:68px;gap:8px;padding-right:0;word-break:keep-all}.service-index a>b{font-size:12px}.service-index a>span{font-size:9px}.experience-home .service-grid{grid-template-columns:1fr;gap:22px}.experience-home .service-grid .service{padding:25px 22px;position:relative}.experience-home .service-grid .card-top{margin-bottom:16px}.experience-home .service-grid .english{min-height:0;margin-bottom:9px;font-size:10px}.experience-home .service-grid .service h3{font-size:25px;line-height:1.5;min-height:0;margin-bottom:16px}.experience-home .service-grid .service>p:not(.english){font-size:15px;line-height:1.9;min-height:0;margin-bottom:20px}.mini-diagram{font-size:12px;min-height:74px;padding:17px 8px;margin-bottom:20px}.experience-home .service-grid .service details{font-size:14px;margin-bottom:19px}.experience-home .service-grid .service-detail h4{font-size:13px}.experience-home .service-grid .service-page-link{font-size:13px;min-height:50px}.experience-home .service-grid .service-cta{font-size:13px;min-height:44px;margin-top:12px}.systems-story{padding:50px 0 0}.systems-story .section-heading{margin-bottom:40px}.system-story{padding-bottom:42px;margin-bottom:42px}.story-copy{display:block;margin-bottom:24px}.story-copy .eyebrow{font-size:10px;margin-bottom:15px}.story-copy h3{font-size:28px;line-height:1.55;margin-bottom:18px}.story-copy>p:not(.eyebrow){font-size:15px;line-height:1.95;margin-bottom:18px}.story-copy .outline-button{width:100%;font-size:13px}.experience-home .approach{padding:50px 0}.experience-home .steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.experience-home .steps article{display:grid;grid-template-columns:1fr 1.7fr;gap:10px 15px;padding-top:20px}.experience-home .steps article>span{grid-column:1/-1;font-size:10px}.experience-home .steps h3{font-size:19px;line-height:1.5;margin:8px 0;word-break:keep-all}.experience-home .steps p{font-size:14px;line-height:1.9;margin:8px 0}.experience-home .steps p br{display:none}.experience-home .contact{padding-top:52px}.experience-home .contact h2{font-size:36px}.experience-home form{padding:23px 18px;background:var(--paper);border:1px solid var(--line)}.experience-home input:not([type=checkbox]),.experience-home select,.experience-home textarea{font-size:16px;min-height:48px}.experience-home label{font-size:13px;line-height:1.7}.experience-home .consent{font-size:12px}.experience-home .consent input{min-width:18px;min-height:18px}.experience-home .privacy summary{min-height:44px;padding:8px 0}.experience-home .contact-layout>div>p{font-size:15px}.experience-home .inquiry-guide li{font-size:14px}
 .service-hero{padding-top:25px;padding-bottom:36px}.breadcrumbs{font-size:11px;gap:9px;margin-bottom:32px}.service-hero-layout{display:block}.service-hero .eyebrow{font-size:10px;margin-bottom:17px}.service-hero h1{font-size:34px;line-height:1.45;margin-bottom:22px}.service-hero .lead{font-size:16px;line-height:1.95;margin-bottom:24px}.service-hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.service-hero-actions .button,.service-hero-actions .outline-button{width:100%;font-size:14px;min-height:52px}.service-scope{max-width:none;padding-top:24px;margin-top:33px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.scope-label,.service-scope h2,.service-scope>p{grid-column:1/-1}.service-scope h2{font-size:22px;margin:16px 0 12px}.service-scope p{font-size:14px;line-height:1.95;margin-bottom:15px}.service-scope dl{grid-column:1/-1;display:grid;grid-template-columns:75px 1fr;gap:12px;font-size:12px}.service-scope dt,.service-scope dd{margin:0;line-height:1.85}.architecture-section{padding:40px 0}.architecture-intro{display:block;margin-bottom:24px}.architecture-intro .eyebrow{font-size:9px;margin:0 0 17px}.architecture-intro h2{font-size:26px;line-height:1.55}.reading-steps{display:block;margin-top:28px}.reading-steps article{padding:19px 0 19px 34px;border-bottom:1px solid #c8c5bd}.reading-steps article:last-child{padding-bottom:0;border:0}.reading-steps article>span{top:21px}.reading-steps h3{font-size:17px;margin-bottom:8px}.reading-steps p{font-size:14px;line-height:1.9}.service-deep-dive{display:block;padding-top:37px;padding-bottom:38px}.service-toc{position:static;margin-bottom:37px;padding-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.service-toc>p{grid-column:1/-1;font-size:10px}.service-toc>a{font-size:11px;min-height:53px;padding:11px 0;gap:7px}.service-toc .toc-contact{grid-column:1/-1;margin-top:5px;min-height:44px}.service-chapter{display:block;margin-bottom:32px;padding-bottom:32px;scroll-margin-top:20px}.chapter-number{display:block;margin-bottom:10px;font-size:11px}.service-chapter h2{font-size:23px;line-height:1.6;margin-bottom:18px}.service-chapter p,.service-chapter li{font-size:15px;line-height:2;word-break:normal;overflow-wrap:break-word}.service-chapter ul{padding-left:19px}.service-chapter li{margin:12px 0}.service-chapter .button{font-size:13px;width:100%;padding:16px 18px;gap:15px}.related-chapter ul{grid-template-columns:1fr;gap:0}.related-chapter li{margin:0;padding:15px 0}.related-chapter li a{font-size:14px}.service-endnote{padding-top:38px;padding-bottom:43px}.service-endnote h2{font-size:27px;line-height:1.6}.service-endnote>.eyebrow{font-size:9px;margin-bottom:20px}.service-endnote>p:not(.eyebrow){font-size:14px;line-height:1.9}.service-endnote>.button{width:100%;font-size:13px;padding:16px 18px}.back-services{margin:15px 0 0;min-height:44px;padding:10px 0;font-size:13px}
 .technical-figure{padding:20px 16px}.figure-heading{gap:10px;margin-bottom:24px}.figure-label{font-size:8px;letter-spacing:.08em}.example-tag{font-size:10px;padding:4px 7px}.technical-figure figcaption{font-size:11px;line-height:1.9;margin-top:22px;padding-top:15px}.flow-node{min-height:0;padding:18px;display:grid;grid-template-columns:1fr;gap:0}.node-number{font-size:9px;margin-bottom:8px}.flow-node strong{font-size:18px;line-height:1.5}.flow-node small{font-size:12px;line-height:1.8;margin-top:7px}.flow-arrow{min-height:42px;display:flex;flex-direction:row;gap:9px}.arrow-horizontal{display:none}.arrow-vertical{display:block;font:25px/1 Arial;order:-1}.arrow-label{font-size:10px}.pipeline{display:flex;flex-direction:column;align-items:stretch}.diagram-devops .flow-node{min-height:0;padding:18px}.diagram-devops .flow-node strong{font-size:18px}.diagram-devops .flow-node small{font-size:12px}.ci-boundary{padding:15px}.boundary-label{display:block;margin-bottom:15px}.boundary-label b{font-size:15px}.boundary-label span{display:block;margin-top:7px;font-size:10px}.ci-stages{display:flex;flex-direction:column}.diagram-annotations,.diagram-annotations.three{grid-template-columns:1fr;gap:17px;margin-top:24px}.diagram-annotations p{font-size:12px;line-height:1.95;padding-left:12px}.diagram-annotations b{font-size:13px;margin-bottom:5px}
 .business-map{display:flex;flex-direction:column;gap:0;align-items:stretch}.business-side{display:contents}.business-side .flow-node{min-height:0}.business-side .flow-arrow{min-height:45px}.business-center{margin:38px 0;position:relative}.business-center:before,.business-center:after{content:'↕';left:calc(50% - 9px);right:auto;font-size:23px;top:-30px}.business-center:after{top:auto;bottom:-30px}.entity-card>div{padding:14px 17px;gap:6px}.entity-card span{font-size:13px}.entity-card small{font-size:12px}.entity-card>b{font-size:16px}.center-caption{font-size:11px}.business-center>p{font-size:11px}.business-links{display:flex;flex-direction:column;gap:8px;padding-top:17px;margin-top:22px;font-size:11px;line-height:1.9}.schema-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}.schema-side h3{font-size:23px;margin-bottom:16px}.schema-side h3>span{font-size:9px}.schema-table th,.schema-table td{padding:12px 9px;font-size:10px}.schema-table td{font-size:9px}.table-name{font-size:14px;padding:13px}.relation-line{font-size:10px;line-height:1.9;margin:13px 0 0}.key-badge{width:22px}.sync-center{padding:23px 0 24px;gap:8px}.sync-symbol{transform:rotate(90deg);font-size:36px}.sync-center>strong{font-size:15px}.sync-center>span:not(.sync-symbol){font-size:11px}.sync-center small{font-size:10px}.mapping-grid{display:block;margin-top:22px}.mapping-grid>div{padding:17px 14px;border-right:0;border-bottom:1px solid #b9c1d2;gap:10px}.mapping-grid>div>span{font-size:11px}.mapping-grid strong{font-size:11px;line-height:1.9}.mapping-grid small{font-size:11px}.modernization-map{display:flex;flex-direction:column;gap:24px}.modernization-map .flow-node{min-height:0}.modernization-map .flow-arrow{min-height:35px}.modern-boundary{align-self:stretch;background:#e9e6df;border:1px solid var(--line);padding:22px}.modern-boundary>span{display:block;transform:rotate(90deg);margin:10px}.modern-boundary p{font-size:12px;margin:10px 0 0}.modern-boundary b{font-size:15px}.modern-boundary ul{font-size:12px}.control-flow,.operations-flow{display:flex;flex-direction:column;align-items:stretch}.evidence-ledger{padding:20px 16px}.evidence-ledger>div{display:block}.evidence-ledger>div>span{display:block;margin-bottom:12px;font-size:9px}.evidence-ledger strong{font-size:15px}.evidence-ledger ol{display:block;margin:20px 0}.evidence-ledger li{font-size:12px;padding:12px 0}.evidence-ledger li:before{content:'↳';margin-right:10px;color:var(--blue-ink)}.evidence-ledger p{font-size:12px;line-height:1.9}.feedback-track{display:grid;grid-template-columns:25px 1fr;gap:10px;padding:19px 16px}.feedback-track strong{font-size:15px}.feedback-track p{grid-column:2;font-size:12px;line-height:1.9}
}
@media(max-width:370px){.experience-home .wrap,.experience-page .wrap{padding-left:17px;padding-right:17px}.experience-home .header,.experience-page .header{margin-left:17px;margin-right:17px}.experience-home .ai-hero-title{font-size:29px}.service-hero h1{font-size:30px}.technical-figure{padding:17px 12px}.schema-table th,.schema-table td{padding:10px 5px;font-size:9px}.schema-table td{font-size:8px}.key-badge{width:20px}.experience-home .service-grid .service{padding:23px 18px}.experience-home .header .brand-logo,.experience-page .header .brand-logo{width:140px}.service-index{column-gap:12px}.service-index a{font-size:10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.outline-button{transition:none}}
@media print{.service-toc,.service-hero-actions,.service-endnote,.back-services{display:none}.service-deep-dive{display:block;padding-top:25px}.service-chapter{break-inside:avoid}.technical-figure{break-inside:avoid}.architecture-section{background:white}.diagram-devops{background:white;color:black}.diagram-devops .flow-node{background:white;color:black}.diagram-devops .flow-node small,.diagram-devops .node-number,.diagram-devops .figure-label,.diagram-devops figcaption,.diagram-devops .diagram-annotations p,.diagram-devops .diagram-annotations b{color:black}.service-hero-layout{display:block}.service-scope{display:none}}

.parent-table{max-width:84%}.table-relation{display:flex;align-items:center;gap:9px;padding:11px 18px;font:10px/1.5 ui-monospace,monospace;color:var(--blue-ink)}.table-relation b{font-size:20px;font-weight:400}.table-relation small{margin-left:auto;font:10px/1.7 sans-serif;color:var(--muted)}

/* Keep phone schema text readable; wrap identifiers instead of shrinking them. */
@media(max-width:760px){
 .schema-table table{table-layout:fixed}
 .schema-table th,.schema-table td{font-size:13px;line-height:1.7;white-space:normal;overflow-wrap:anywhere;vertical-align:top}
 .schema-table th{width:62%}
 .schema-table td{font-size:12px}
 .key-badge{width:24px;font-size:12px;line-height:1.7}
 .schema-side h3>span,.relation-line{font-size:12px}
 .table-relation{flex-wrap:wrap;font-size:12px}
 .table-relation small{font-size:12px}
 .sync-center>span:not(.sync-symbol),.sync-center small{font-size:12px}
 .mapping-grid>div>span,.mapping-grid strong,.mapping-grid small{font-size:12px}
}
/* Match the sticky header backdrop to the experience's mobile page gutters. */
@media screen and (max-width:760px){.experience-home .header::before,.experience-page .header::before{left:-22px;right:-22px}}
@media screen and (max-width:370px){.experience-home .header::before,.experience-page .header::before{left:-17px;right:-17px}}
/* Above/below business nodes need vertical arrows at every viewport width. */
.business-side .arrow-horizontal{display:none}.business-side .arrow-vertical{display:block;font:23px/1.2 Arial}
/* The medium-width contents rail must clear the two-row sticky header too. */
@media screen and (min-width:761px) and (max-width:820px){.service-toc{top:calc(152px + env(safe-area-inset-top,0px))}}
@media(max-width:760px){.experience-home .contact-layout{grid-template-columns:1fr;gap:35px}.experience-home .form-row{grid-template-columns:1fr;gap:0}}
