/* Industry presentation, shared by every CMS page linked under Industry. */
.technology-page { color:#111; background:#fff; overflow-wrap:anywhere; }
.technology-page *, .technology-page *::before, .technology-page *::after { box-sizing:border-box; }
.technology-page :is(.tech-container,.tech-shell) { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.technology-page .tech-shell:has(> .tech-section) { width:100%; max-width:none; }
.technology-page .tech-top-data { padding-block:24px; }
.technology-page .tech-section { padding:clamp(36px,5vw,64px) 0; }
.technology-page .tech-section:nth-of-type(even) { background:#fafafa; }
.technology-page .tech-section-head { margin-bottom:28px; max-width:1000px; }
.technology-page h1 { font-size:clamp(28px,3.2vw,44px); line-height:1.12; letter-spacing:-.035em; margin:12px 0 18px; }
.technology-page h2 { font-size:clamp(26px,3vw,42px); line-height:1.16; letter-spacing:-.035em; margin:12px 0 18px; }
.technology-page h3 { font-size:21px; line-height:1.3; margin:0 0 12px; }
.technology-page h4 { font-size:17px; margin:0 0 10px; }
.technology-page :is(p,li) { font-size:15px; line-height:1.7; color:#50565e; }
.technology-page p { margin:0 0 18px; }
.technology-page :is(ul,ol) { padding-left:20px; margin:16px 0; }
.technology-page ul { list-style:disc; }
.technology-page li + li { margin-top:8px; }
.technology-page li::marker, .technology-page li i { color:#f45b1b; }
.technology-page img { display:block; width:100%; max-width:100%; height:auto; object-fit:cover; border-radius:20px; }
.technology-page :is(.tech-eyebrow,.tech-kicker) { display:inline-flex; align-items:center; gap:10px; font-size:11px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:#e94e0e; }
.technology-page :is(.tech-eyebrow,.tech-kicker)::before { content:''; width:24px; height:1px; background:currentColor; flex:none; }
.technology-page :is(.tech-chip,.tech-mini-label,.tech-outcome-tag) { display:block; color:#e94e0e; font-size:11px; font-weight:600; margin-bottom:12px; }
.technology-page .tech-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:#68707a; margin-bottom:28px; }
.technology-page .tech-hero { padding:24px 0 32px; background:linear-gradient(#11111106 1px,transparent 1px),linear-gradient(90deg,#11111106 1px,transparent 1px),radial-gradient(circle at 88% 8%,#fff0e6,transparent 40%),#fff; background-size:48px 48px,48px 48px,auto,auto; border-bottom:1px solid #eceef1; }
.technology-page .tech-hero .tech-breadcrumb { margin-bottom:18px; }
.technology-page .tech-hero .tech-lead { font-size:15px; line-height:1.6; }
.technology-page .tech-hero .tech-hero-actions { margin-top:18px; }
.technology-page :is(.tech-hero-shell,.tech-hero-grid,.tech-editorial-grid,.tech-story-grid,.tech-split-grid,.tech-platform-shell,.tech-compliance-shell,.tech-result-shell,.tech-outcome-shell,.tech-appshowcase,.tech-solution-layout) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.technology-page .tech-lead { font-size:17px; line-height:1.65; }
.technology-page :is(.tech-hero-actions,.tech-cta-actions) { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.technology-page :is(.tech-btn,.tech-btn-secondary) { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid #ff5f1f; border-radius:12px; background:#ff5f1f; color:#fff; font-size:14px; font-weight:600; text-decoration:none; }
.technology-page .tech-btn-secondary { background:#fff; color:#111; border-color:#e4e6ea; }
.technology-page .tech-btn:hover { background:#e94e0e; }
.technology-page a:focus-visible { outline:2px solid #ff5f1f; outline-offset:4px; }
.technology-page :is(.tech-hero-visual,.tech-editorial-media,.tech-story-media,.tech-result-media,.tech-appvisual,.tech-side-image,.tech-image-card,.tech-feature-panel) { min-width:0; }
.technology-page :is(.tech-hero-media,.tech-hero-image-wrap) { position:relative; }
.technology-page :is(.tech-hero-media,.tech-hero-image-wrap) > img { aspect-ratio:3/2; max-height:420px; box-shadow:0 20px 60px #11111114; border-radius:24px; }
.technology-page :is(.tech-float,.tech-float-card,.tech-floating-card) { padding:15px 18px; margin-top:12px; border:1px solid #e4e6ea; border-radius:15px; background:#fff; font-size:14px; line-height:1.5; }
.technology-page :is(.tech-float,.tech-float-card,.tech-floating-card) small { display:block; color:#737b84; font-size:11px; margin-bottom:4px; }
.technology-page :is(.tech-hero-points,.tech-hero-badges,.tech-trust-bar,.tech-trust-strip,.tech-brand-strip,.tech-pill-wrap) { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.technology-page :is(.tech-hero-points,.tech-hero-badges,.tech-trust-bar,.tech-trust-strip,.tech-brand-strip,.tech-pill-wrap) > span { padding:7px 12px; border:1px solid #e4e6ea; border-radius:30px; background:#fff; font-size:12px; line-height:1.5; }
.technology-page :is(.tech-hero-metrics,.tech-metric-row,.tech-mini-panel,.tech-mini-strip,.tech-hero-bottom-bar,.tech-outcome-stats) { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; margin-top:24px; }
.technology-page :is(.tech-metric,.tech-metric-card,.tech-mini-block,.tech-mini-item,.tech-outcome-stats > div) { padding:16px; border:1px solid #e4e6ea; border-radius:16px; background:#fff; }
.technology-page :is(.tech-metric,.tech-metric-card) strong { display:block; color:#e94e0e; font-size:28px; margin-bottom:8px; }
.technology-page :is(.tech-mini-block,.tech-mini-item) small { display:block; color:#737b84; font-size:11px; margin-bottom:6px; }
.technology-page :is(.tech-metric,.tech-metric-card,.tech-mini-block,.tech-mini-item,.tech-outcome-stats > div) span { display:block; font-size:13px; color:#50565e; line-height:1.6; }
.technology-page :is(.tech-solutions-grid,.tech-solution-grid,.tech-note-grid,.tech-outcome-grid,.tech-check-grid,.tech-stack-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.technology-page :is(.tech-card,.tech-solution-card,.tech-feature-card,.tech-process-card,.tech-process-step,.tech-note-card,.tech-side-card,.tech-pill-card,.tech-outcome-card,.tech-panel-item,.tech-apppanel,.tech-stack-pill) { min-width:0; padding:24px; border:1px solid #e4e6ea; border-radius:18px; background:#fff; box-shadow:0 10px 30px #11182708; }
.technology-page :is(.tech-solution-featured,.tech-solution-feature) { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:28px; padding:28px; }
.technology-page :is(.tech-solution-featured,.tech-solution-feature,.tech-feature-copy-wrap) h3 { font-size:clamp(24px,2.35vw,32px); line-height:1.25; letter-spacing:-.025em; margin-bottom:18px; }
.technology-page :is(.tech-solution-featured,.tech-solution-feature,.tech-feature-copy-wrap) :is(p,li) { font-size:clamp(15px,1.25vw,17px); line-height:1.7; }
.technology-page :is(.tech-solution-featured,.tech-solution-feature) li:has(> i) { list-style:none; }
.technology-page :is(.tech-solution-featured,.tech-solution-feature) li > i { margin-right:6px; }
.technology-page :is(.tech-solution-image,.tech-outcome-media,.tech-side-media,.tech-appimage) img { aspect-ratio:4/3; }
.technology-page :is(.tech-process-grid,.tech-process-line) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.technology-page :is(.tech-step,.tech-step-no,.tech-card-index,.tech-icon,.tech-icon-box) { display:inline-grid; place-items:center; flex:none; width:42px; height:42px; border-radius:12px; background:#fff3ed; color:#e94e0e; margin-bottom:16px; font-size:15px; }
.technology-page :is(.tech-editorial-content,.tech-content-stack,.tech-note-list,.tech-feature-list,.tech-capability-list,.tech-compliance-side,.tech-platform-side) { display:grid; gap:20px; }
.technology-page .tech-story-content { display:grid; gap:20px; }
.technology-page .tech-story-content .tech-feature-card { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; align-items:start; }
.technology-page .tech-story-content .tech-feature-card .tech-icon-box { margin:0; }
.technology-page .tech-story-content .tech-feature-card p:last-child { margin-bottom:0; }
.technology-page :is(.tech-feature-row,.tech-feature-item) { display:flex; align-items:flex-start; gap:16px; }
.technology-page :is(.tech-note-item,.tech-capability-item,.tech-check-item) { padding:18px 0; border-bottom:1px solid #e4e6ea; }
.technology-page :is(.tech-note-item,.tech-capability-item) strong { display:block; margin-bottom:6px; }
.technology-page :is(.tech-note-item,.tech-capability-item) span { color:#50565e; font-size:14px; line-height:1.65; }
.technology-page :is(.tech-cta,.tech-cta-box) { padding:clamp(24px,4vw,48px); border:1px solid #ece4df; border-radius:24px; background:radial-gradient(ellipse at top right,#ffe0ca,transparent 65%),#fafafa; text-align:center; }
.technology-page :is(.tech-cta,.tech-cta-box) h2 { max-width:850px; margin-inline:auto; }
.technology-page .tech-cta-actions { justify-content:center; }
.technology-page table { display:block; max-width:100%; overflow-x:auto; }
.technology-page .tech-solutions-expanded { grid-template-columns:1fr; align-items:start; gap:24px; }
.technology-page .tech-solutions-expanded .tech-feature-panel { padding:28px; border:1px solid #e4e6ea; border-radius:20px; background:linear-gradient(120deg,#fff,#fff7f1); }
.technology-page .tech-solutions-expanded .tech-feature-copy-wrap > p { max-width:960px; }
.technology-page .tech-solutions-expanded .tech-feature-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.technology-page .tech-solutions-expanded .tech-feature-item { display:block; border-top:2px solid #ffdec9; padding-top:16px; }
.technology-page .tech-solutions-expanded .tech-feature-item p { margin:0; font-size:15px; }
.technology-page .tech-solutions-expanded .tech-solution-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:1000px) {
 .technology-page .tech-solutions-expanded .tech-solution-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .technology-page .tech-solutions-expanded :is(.tech-solution-grid,.tech-feature-list) { grid-template-columns:1fr; }
 .technology-page .tech-solutions-expanded .tech-feature-panel { padding:20px; }
}
/* Technology-specific gallery and ecosystem layouts from preview(10). */
.technology-page .tech-page-shell { width:100%; max-width:none; }
.technology-page .tech-hero-card { padding:0; background:transparent; }
.technology-page :is(.tech-tech-grid,.tech-ecosystem-grid,.tech-proof-grid) { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.technology-page :is(.tech-story-card,.tech-editorial-card,.tech-tech-panel,.tech-ecosystem-panel,.tech-proof-card,.tech-capability-card,.tech-service-card) { padding:24px; border:1px solid #e4e6ea; border-radius:20px; background:#fff; }
.technology-page :is(.tech-proof-stack,.tech-story-content) { display:grid; gap:18px; }
.technology-page :is(.tech-tech-name,.tech-card-title,.tech-proof-stat) { display:block; font-weight:600; color:#111; margin-bottom:8px; }
.technology-page :is(.tech-tech-copy,.tech-ecosystem-copy,.tech-stack-pill > span) { font-size:14px; color:#50565e; line-height:1.6; }
.technology-page :is(.tech-tech-stack,.tech-stack-grid,.tech-ecosystem-stack) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.technology-page :is(.tech-mini-pills,.tech-hero-badge-row) { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.technology-page .tech-mini-pill { font-size:12px; padding:6px 10px; border-radius:20px; background:#fff3ed; color:#a93b0c; }
.technology-page .tech-hero-collage { display:grid; grid-template-columns:1.4fr 1fr; gap:12px; }
.technology-page .tech-hero-media-main { grid-row:span 2; }
.technology-page .tech-hero-collage > div { min-width:0; overflow:hidden; border-radius:20px; }
.technology-page .tech-hero-collage img { height:100%; min-height:0; aspect-ratio:1; object-fit:cover; }
.technology-page .tech-hero-media-main img { aspect-ratio:3/4; }
.technology-page .tech-cta-card { padding:40px; border:1px solid #ece4df; border-radius:24px; background:radial-gradient(ellipse at top right,#ffe0ca,transparent 65%),#fafafa; text-align:center; }
.technology-page .tech-cta-card .tech-hero-actions { justify-content:center; }
.technology-page .tech-solution-layout { grid-template-columns:1fr; }
.technology-page .tech-solution-layout .tech-solution-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.technology-page .tech-feature-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.technology-page .tech-feature-item { display:block; }
.technology-page .tech-feature-card:has(> .tech-icon-box + div) { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; }
.technology-page .tech-outcome-grid:has(> :nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.technology-page .tech-outcome-body { padding-top:18px; }
@media(max-width:1000px) {
 .technology-page :is(.tech-tech-grid,.tech-ecosystem-grid,.tech-proof-grid) { grid-template-columns:1fr; }
 .technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid,.tech-solution-layout .tech-solution-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid,.tech-feature-list,.tech-solution-layout .tech-solution-grid,.tech-outcome-grid,.tech-tech-stack,.tech-stack-grid,.tech-ecosystem-stack) { grid-template-columns:1fr; }
 .technology-page .tech-outcome-grid:has(> :nth-child(2):last-child) { grid-template-columns:1fr; }
 .technology-page .tech-cta-card { padding:24px 20px; }
 .technology-page .tech-section { padding:32px 0; }
}
@media(max-width:1000px) {
 .technology-page :is(.tech-hero-shell,.tech-hero-grid,.tech-editorial-grid,.tech-story-grid,.tech-split-grid,.tech-platform-shell,.tech-compliance-shell,.tech-result-shell,.tech-outcome-shell,.tech-appshowcase) { grid-template-columns:1fr; gap:28px; }
 .technology-page :is(.tech-solutions-grid,.tech-solution-grid,.tech-note-grid,.tech-outcome-grid,.tech-check-grid,.tech-process-grid,.tech-process-line) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .technology-page .tech-container { width:calc(100% - 40px); }
 .technology-page :is(.tech-solutions-grid,.tech-solution-grid,.tech-note-grid,.tech-outcome-grid,.tech-check-grid,.tech-process-grid,.tech-process-line,.tech-solution-featured,.tech-solution-feature) { grid-template-columns:1fr; }
 .technology-page :is(.tech-btn,.tech-btn-secondary) { width:100%; }
}
/* Consistent full-width ecosystems and balanced content rows. */
.technology-page :is(.tech-tech-grid,.tech-ecosystem-grid) { grid-template-columns:1fr; gap:22px; }
.technology-page :is(.tech-tech-panel,.tech-tech-card,.tech-ecosystem-card) { padding:24px; border:1px solid #e4e6ea; border-radius:18px; background:linear-gradient(120deg,#fff,#fff7f1); }
.technology-page :is(.tech-tech-stack,.tech-tech-pills,.tech-ecosystem-pills) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.technology-page :is(.tech-stack-pill,.tech-ecosystem-pill) { padding:22px; border:1px solid #e4e6ea; border-radius:18px; background:#fff; }
.technology-page :is(.tech-stack-pill .tech-card-title,.tech-ecosystem-name) { display:block; font-size:17px; color:#111; font-weight:600; margin-bottom:8px; }
.technology-page .tech-ecosystem-copytext { display:block; font-size:14px; line-height:1.65; color:#50565e; }
.technology-page :is(.tech-outcome-stack,.tech-editorial-side,.tech-side-stack) { display:grid; gap:18px; }
.technology-page .tech-outcome-grid:has(> .tech-outcome-stack) { grid-template-columns:1fr 1fr; align-items:start; gap:28px; }
.technology-page .tech-outcome-image-card img { aspect-ratio:4/3; object-fit:cover; }
.technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid) { display:flex; flex-wrap:wrap; gap:18px; }
.technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid) > * { flex:1 1 calc((100% - 36px)/3); min-width:0; }
.technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid):has(> :nth-child(4):last-child) > * { flex-basis:calc((100% - 54px)/4); }
.technology-page .tech-content-stack { gap:16px; }
.technology-page .tech-feature-panel { padding:28px; border:1px solid #e4e6ea; border-radius:20px; background:linear-gradient(120deg,#fff,#fff7f1); }
.technology-page .tech-feature-list .tech-feature-item { padding-top:16px; border-top:2px solid #ffdec9; }
@media(max-width:1000px) {
 .technology-page :is(.tech-tech-stack,.tech-tech-pills,.tech-ecosystem-pills) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid) > *,
 .technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid):has(> :nth-child(4):last-child) > * { flex-basis:calc((100% - 18px)/2); }
}
@media(max-width:600px) {
 .technology-page :is(.tech-tech-stack,.tech-tech-pills,.tech-ecosystem-pills),
 .technology-page .tech-outcome-grid:has(> .tech-outcome-stack) { grid-template-columns:1fr; }
 .technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid) > *,
 .technology-page :is(.tech-feature-grid,.tech-service-grid,.tech-capability-grid):has(> :nth-child(4):last-child) > * { flex-basis:100%; }
 .technology-page .tech-feature-panel { padding:20px; }
}
