/* Design-system native variants. Every selector is opt-in; existing homepage and legacy heroes are untouched. */
.aist-designed .dsc-component.aist-compact-hero { position:relative; isolation:isolate; overflow:hidden; padding-block:40px 44px; background:#e9eff4; border-bottom:1px solid #d5dde2; }
.aist-compact-hero::before { content:''; position:absolute; pointer-events:none; z-index:-1; right:-300px; top:50%; transform:translateY(-50%); width:640px; height:640px; opacity:.18; background:url('../images/patterns/aist-concentric-hexagons.svg') center/contain no-repeat; }
.aist-compact-hero__copy { max-width:780px; min-width:0; text-align:left; }
.aist-compact-hero__eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 14px; font:750 12px/1.5 var(--font-label); letter-spacing:.12em; text-transform:uppercase; color:#365c75; }
.aist-compact-hero__eyebrow::before { content:''; width:6px; height:6px; flex:0 0 6px; border:solid #42657d; border-width:2px 2px 0 0; transform:rotate(45deg); }
.aist-designed .aist-compact-hero h1 { max-width:32ch; margin:0; font-size:clamp(34px,3.1vw,44px); line-height:1.1; letter-spacing:-.035em; }
.aist-compact-hero__lead { max-width:72ch; margin:18px 0 0; font-size:17px; line-height:1.65; color:#455b6a; }
.aist-compact-hero__support { max-width:88ch; margin:14px 0 0; font-size:14px; line-height:1.7; color:#51616c; }
.aist-compact-hero .dsc-actions { margin-top:22px; }
/* Full-width introduction: centre the complete block, never only a reserved text column. */
.aist-service-model__intro { display:block; width:100%; }
.aist-designed .aist-service-model .dsc-section-header { display:block; max-width:880px; margin:0; text-align:left; }
.aist-designed .aist-service-model .dsc-section-header--centre { margin-inline:auto; text-align:center; }
.aist-service-model .dsc-section-header--centre :is(h2,.dsc-section-header__intro) { margin-inline:auto; }
.aist-designed .aist-service-model .dsc-section-header h2 { max-width:30ch; }
.aist-designed .aist-service-model .dsc-section-header__intro { margin-top:20px; max-width:78ch; }
.aist-service-model__parts { list-style:none; margin:36px 0 0; padding:28px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; border:1px solid #d8e1e8; border-radius:14px; background:#e9eff4; }
.aist-service-model__parts > li { position:relative; padding:25px 22px; min-width:0; border:1px solid #cddbe6; border-radius:8px; background:white; }
.aist-service-model__arrow { position:absolute; left:-25px; top:50%; transform:translateY(-50%); color:#42657d; }
.aist-service-model__number { font:700 11px/1.5 var(--font-label); color:#526b7d; letter-spacing:.08em; }
.aist-designed .aist-service-model__parts h3 { font-size:19px; line-height:1.35; margin:14px 0 12px; }
.aist-service-model__parts p { font-size:15px; line-height:1.7; margin:0; color:#455b6a; }
.aist-service-model__notes { margin-top:28px; }
.aist-service-model__notes p { margin:0; font-size:15px; line-height:1.75; color:#455b6a; }
/* Symmetrical supporting grids derived from C08; department patterns remain deliberately faint. */
.aist-designed .aist-card-section .dsc-section-header { display:block; text-align:center; max-width:880px; margin:0 auto 36px; }
.aist-designed .aist-card-section .dsc-section-header h2 { max-width:32ch; margin-inline:auto; }
.aist-designed .aist-card-section .dsc-section-header__intro { margin:20px auto 0; max-width:78ch; }
.aist-card-section .dsc-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.aist-card-section--maintenance .dsc-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aist-card-section .dsc-outcome-card { position:relative; isolation:isolate; overflow:hidden; padding:28px; min-width:0; border:1px solid #d8e1e7; border-top:2px solid #a8bfce; border-radius:7px; background:#f7f9fb; }
.aist-card-section--maintenance .dsc-outcome-card { background:white; }
.aist-designed .aist-card-section h3 { font-size:20px; margin:0 0 14px; }
.aist-card-section .dsc-outcome-card__icon { display:block; width:30px; height:30px; margin-bottom:20px; color:#42657d; }
.aist-card-section .dsc-outcome-card__body p { font-size:15px; line-height:1.75; margin:0; }
.aist-card-section .dsc-outcome-card > * { position:relative; z-index:1; }
.aist-card-section--capabilities .dsc-outcome-card::before { content:''; position:absolute; pointer-events:none; width:260px; height:260px; top:-90px; right:-90px; opacity:.12; background:center/contain no-repeat; }
.aist-card-section--capabilities .dsc-outcome-card:nth-child(1)::before { background-image:url('../images/patterns/aist-concentric-circles.svg'); }
.aist-card-section--capabilities .dsc-outcome-card:nth-child(2)::before { background-image:url('../images/patterns/aist-concentric-triangles.svg'); }
.aist-card-section--capabilities .dsc-outcome-card:nth-child(3)::before { background-image:url('../images/patterns/aist-concentric-hexagons.svg'); }
.aist-card-section--capabilities .dsc-outcome-card:nth-child(4)::before { background-image:url('../images/patterns/aist-concentric-squares.svg'); }
.aist-card-section--capabilities .dsc-outcome-card:nth-child(5)::before { background-image:url('../images/patterns/aist-concentric-heptagons.svg'); }
.aist-card-section--capabilities .dsc-outcome-card:nth-child(6)::before { background-image:url('../images/patterns/aist-concentric-waves.svg'); }
.aist-card-section--responsibilities .dsc-outcome-card { background:transparent; border:0; border-top:1px solid #cdd4d8; border-radius:0; padding:24px 0 0; }
.aist-card-section .aist-build-note,.aist-delivery--four .aist-delivery__summary { margin:30px auto 0; max-width:96ch; font-size:15px; line-height:1.75; color:#455b6a; }
.aist-card-section .aist-build-note p + p { margin-top:16px; }
/* C09 four-stage timeline: content-driven halves; mobile retains a natural ordered list. */
.aist-designed .aist-delivery--four .dsc-section-header { display:block; max-width:840px; margin:0 auto 38px; text-align:center; }
.aist-designed .aist-delivery--four .dsc-section-header h2 { max-width:none; }
.aist-designed .aist-delivery--four .dsc-section-header__intro { margin:20px auto 0; max-width:76ch; }
.aist-delivery--four .aist-delivery__timeline { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:0; padding:0 24px; }
.aist-delivery--four .aist-delivery__timeline::before { content:''; position:absolute; top:50%; left:0; right:0; height:1px; background:#c6bfb5; }
.aist-delivery--four .aist-delivery__timeline > li { position:relative; display:grid; grid-template-rows:1fr 1fr; min-height:440px; }
.aist-delivery--four .aist-delivery__timeline > li::before { content:''; position:absolute; width:10px; height:10px; border-radius:50%; background:#42657d; top:50%; left:50%; transform:translate(-50%,-50%); }
.aist-delivery--four .aist-delivery__stage { grid-row:1; align-self:end; padding:0 0 36px; width:300px; max-width:calc(100vw - 80px); margin-inline:calc((100% - 300px) / 2); text-align:center; }
.aist-delivery--four .aist-delivery__timeline > li:nth-child(even) .aist-delivery__stage { grid-row:2; align-self:start; padding:36px 0 0; }
.aist-delivery--four .aist-delivery__stage::before { content:''; }
.aist-delivery--four .aist-delivery__number { display:block; margin:0 0 10px; color:#77654b; font-size:12px; }
.aist-designed .aist-delivery--four h3 { font-size:19px; line-height:1.4; margin:0 0 12px; }
.aist-delivery--four .aist-delivery__stage p { font-size:14px; line-height:1.7; margin:0; color:#455b6a; }
.aist-page-aist-p002 .dsc-faq { max-width:1040px; }
.aist-page-aist-p002 .dsc-faq .dsc-section-header h2 { max-width:none; }
.aist-page-aist-p002 .dsc-faq summary { min-height:56px; padding:18px 22px; }
.aist-page-aist-p002 .dsc-faq summary:focus-visible { outline:3px solid #42657d; outline-offset:4px; }
.aist-page-aist-p002 .dsc-faq__answer { font-size:16px; line-height:1.75; padding:0 22px 22px; }
.aist-page-aist-p002 .dsc-component--cta-band { background:#f3f0eb; color:#455b6a; }
.aist-page-aist-p002 .dsc-component--cta-band h2 { color:#0d1f2d; }
.aist-page-aist-p002 .dsc-component--cta-band .dsc-button { background:#0d1f2d; border-color:#0d1f2d; color:white; }
@media(max-width:1100px) {
 .aist-service-model__parts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .aist-service-model__arrow { display:none; }
 .aist-card-section--capabilities .dsc-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .aist-delivery--four .aist-delivery__timeline { display:block; margin-top:32px; padding:0; }
 .aist-delivery--four .aist-delivery__timeline::before { left:8px; right:auto; top:10px; bottom:14px; width:1px; height:auto; }
 .aist-delivery--four .aist-delivery__timeline > li { display:block; min-height:0; padding:0 0 32px 42px; }
 .aist-delivery--four .aist-delivery__timeline > li:last-child { padding-bottom:0; }
 .aist-delivery--four .aist-delivery__timeline > li::before { left:8px; top:12px; }
 .aist-delivery--four .aist-delivery__stage,.aist-delivery--four .aist-delivery__timeline > li:nth-child(even) .aist-delivery__stage { width:auto; max-width:76ch; margin:0; padding:0; text-align:left; }
}
@media(max-width:820px) {
 .aist-designed .dsc-component.aist-compact-hero { padding-block:36px; }
 .aist-compact-hero::before { display:none; }
 .aist-card-section--responsibilities .dsc-card-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .aist-service-model__parts { grid-template-columns:1fr; padding:18px; gap:16px; }
 .aist-card-section .dsc-card-grid { grid-template-columns:1fr; }
 .aist-service-model__parts > li { padding:22px; }
}
@media(max-width:560px) {
 .aist-designed .dsc-component.aist-compact-hero { padding-block:32px 36px; }
 .aist-designed .aist-compact-hero h1 { font-size:clamp(30px,8vw,36px); max-width:none; }
}

/* Explicit surfaces override inherited brand-subtle/closing defaults. */
.aist-designed .aist-card-section--maintenance { background:#e9eff4; }
.aist-designed.aist-page-aist-p002 .dsc-surface--stone-subtle { background:#f3f0eb; }
.aist-card-section--responsibilities .dsc-outcome-card:not(.dsc-outcome-card--with-icon)::before { content:none; }
.aist-designed.aist-page-aist-p002 .dsc-component--cta-band { background:#f3f0eb; color:#455b6a; --color-focus-ring:#42657d; }
.aist-designed.aist-page-aist-p002 .dsc-cta-band h2 { color:#0d1f2d; }
.aist-designed.aist-page-aist-p002 .dsc-cta-band__copy p { color:#455b6a; }
.aist-designed.aist-page-aist-p002 .dsc-cta-band .dsc-button:hover { background:#233d53; }

/* Shared ancillary-copy card: full main-column width, compact padding and contrasting surface. */
.aist-support-card,
.aist-card-section .aist-build-note.aist-support-card {
 box-sizing:border-box; width:100%; max-width:none; margin:28px 0 0; padding:20px 24px;
 border:1px solid #d8dddF; border-radius:8px; background:#f3f0eb;
 color:#455b6a; font-size:15px; line-height:1.75; text-align:left;
}
.aist-support-card > p { margin:0; max-width:none; }
.aist-support-card > p + p { margin-top:12px; }
.aist-card-section--responsibilities .aist-build-note.aist-support-card,
.aist-card-section--maintenance .aist-build-note.aist-support-card { background:#fff; }
@media(max-width:560px) { .aist-support-card,.aist-card-section .aist-build-note.aist-support-card { padding:18px 20px; } }

/* Shared C05 service-choice variant, extracted unchanged from the approved Training page. */
.aist-card-section--service-routes .dsc-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.aist-designed .aist-card-section--service-routes .dsc-outcome-card {
 display:flex; flex-direction:column; background:#eef4f8; border:1px solid #bdd0de; border-radius:8px;
 padding:28px; transform:none;
}
.aist-card-section--service-routes .dsc-outcome-card::before {
 content:''; position:absolute; pointer-events:none; z-index:0; width:260px; height:260px;
 top:-92px; right:-92px; opacity:.12; background:center/contain no-repeat;
}
.aist-card-section--service-routes .dsc-outcome-card:nth-child(1)::before { background-image:url('../images/patterns/aist-concentric-circles.svg'); }
.aist-card-section--service-routes .dsc-outcome-card:nth-child(2)::before { background-image:url('../images/patterns/aist-concentric-triangles.svg'); }
.aist-card-section--service-routes .dsc-outcome-card:nth-child(3)::before { background-image:url('../images/patterns/aist-concentric-hexagons.svg'); }
.aist-card-section--service-routes .dsc-outcome-card__body { display:flex; flex:1; flex-direction:column; }
.aist-card-section--service-routes .dsc-outcome-card__body p + p { margin-top:12px; }
.aist-designed .aist-card-section--service-routes .dsc-outcome-card__body .aist-route-primary { margin-top:auto; padding-top:22px; }
.aist-card-section--service-routes .aist-route-primary a { font-size:14px; font-weight:700; }
@media(max-width:1100px) {
 .aist-card-section--service-routes .dsc-card-grid { grid-template-columns:1fr; }
 .aist-card-section--service-routes .dsc-outcome-card__body { display:block; }
 .aist-designed .aist-card-section--service-routes .dsc-outcome-card__body .aist-route-primary { margin-top:0; }
}
