/* Additions for the AI content. The supplied style.css is preserved unchanged. */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 1.5rem; }
[hidden] { display: none !important; }
body { overflow-wrap: break-word; }
main, .row > *, .kws-card-content { min-width: 0; }
.brand-logo { width: 150px; height: auto; }
.skip-link { position: absolute; z-index: 100; padding: .8rem 1.2rem; background: #fff; color: #212529; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #ff6600; outline-offset: 4px; }
.form-control:focus { box-shadow: 0 0 0 .2rem rgba(255,102,0,.18); }
.btn-outline-orange { color: #212529; border: 1px solid #ff6600; }
.btn-outline-orange:hover, .btn-outline-orange:focus { background: #fff1e8; color: #212529; border-color: #ff6600; }
.btn-orange:hover, .btn-orange:focus { background: #e65c00; }
.hero-section h1 { line-height: 1.25; }
.hero-mastery { font-size: .875rem; }
.hero-highlights { font-size: .875rem; }
.hero-section .badge { white-space: normal; line-height: 1.6; }
.course-prose { max-width: 980px; }
.context-link { color: #a94400; text-underline-offset: 3px; }
.context-link:hover { color: #803300; }
.ai-flow { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; padding: 0; margin: 0; list-style: none; }
.ai-flow li { position: relative; padding: .4rem .65rem; background: rgba(255,102,0,.08); border: 1px solid rgba(255,102,0,.18); border-radius: .5rem; font-size: .875rem; line-height: 1.5; }
.ai-flow:not(.ai-flow-vertical) li:not(:last-child)::after { content: "\2192"; position: absolute; right: -1.18rem; color: #a94400; }
.ai-flow-vertical { display: flex; flex-direction: column; align-items: stretch; gap: 1.1rem; }
.ai-flow-vertical li { text-align: left; padding: .6rem .85rem; }
.ai-flow-vertical li:not(:last-child)::after { content: "\2193"; position: absolute; bottom: -1.3rem; left: 1rem; color: #a94400; }
.ai-flow-footer { justify-content: center; margin: 1.5rem 0; }
.ai-flow-footer li { color: #fff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.25); }
.ai-flow-footer li:not(:last-child)::after { color: #ff8d40 !important; }
.ai-roadmap > li { position: relative; }
.ai-roadmap .module-card { border-top: 3px solid #ff6600 !important; }
.ai-roadmap .module-card::after { content: ""; position: absolute; top: 3rem; left: -.85rem; width: 1.1rem; border-top: 2px solid #ff6600; }
.ai-roadmap > li:first-child .module-card::after { display: none; }
.career-path { max-width: 850px; margin-inline: auto; }
.career-path .career-item { background: #fafbfd; }
.career-path > li:not(:last-child) .career-item { position: relative; }
.career-path > li:not(:last-child) .career-item::after { content: "\2193"; position: absolute; bottom: -1.6rem; left: 2.35rem; color: #a94400; z-index: 1; }
.career-path .icon-pill { min-width: 3.5rem; }
.accordion-button { line-height: 1.5; gap: .15rem; }
.accordion-button .badge { flex-shrink: 0; }
.accordion-button::after { margin-left: auto; flex-shrink: 0; }
.module-topics { font-size: .9375rem; }
.capstone-topics { font-size: .9375rem; }
.technology-groups .tech-pill { background: rgba(255,255,255,.9); }
.kws-career-support { position: relative; z-index: 6; }
.kws-main-layout { grid-template-columns: minmax(0,1fr) minmax(190px,.95fr) minmax(0,1fr); gap: clamp(18px,2.5vw,45px); }
.kws-side, .kws-card { width: 100%; min-width: 0; }
.kws-center { width: 100%; min-width: 0; }
.kws-card { gap: 18px; }
.kws-card p { font-size: .875rem; line-height: 1.7; }
.kws-header h2 { line-height: 1.2; }
.kws-center-circle { max-width: 100%; }
.kws-ring { max-width: 130%; }
.carousel-track { scroll-snap-type: x proximity; padding-top: 8px; }
.audience-card { scroll-snap-align: start; }
.audience-card .arrow-icon { padding: .45rem .6rem; }
.carousel-btn:disabled { opacity: .4; cursor: default; }
.footer-section .row.pt-4 p { color: rgba(255,255,255,.65); }
.footer-section .navbar-brand { display: inline-flex !important; background: #fff; padding: .6rem .8rem; border-radius: .5rem; }
.footer-section a { overflow-wrap: anywhere; }
.footer-section .btn-outline-light { border-color: rgba(255,255,255,.75) !important; }
.footer-section .card .lead { color: #fff !important; }

@media (min-width: 992px) {
  #navbarNav { display: none !important; }
  .hero-section .row.align-items-center { align-items: flex-start !important; }
  .hero-section .col-lg-5 { padding-top: 1rem; }
  .navbar .d-lg-flex { font-size: .9375rem; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .kws-card { padding: 1.1rem; gap: .8rem; }
  .kws-card-icon { width: 48px; height: 48px; flex-basis: 48px; }
  .kws-card h3 { font-size: 1rem; }
  .kws-center-title { font-size: 2rem; }
}
@media (max-width: 991px) {
  .kws-main-layout { grid-template-columns: 1fr; }
  .kws-side { width: 100%; }
  .kws-center { width: min(300px,100%); margin-inline: auto; }
  .ai-roadmap .module-card::after { display: none; }
}
@media (max-width: 575px) {
  .row.g-5 { --bs-gutter-x: 1.5rem; }
  .hero-section h1 { font-size: 1.85rem; }
  .display-6 { font-size: 1.8rem; }
  .hero-section .hero-highlights { font-size: .9375rem; }
  .hero-section .flex-wrap > .btn { width: 100%; }
  .hero-section .col-lg-5 > div { padding: 1.25rem !important; }
  .trust-bar-section .gap-3 { gap: .5rem !important; align-items: flex-start !important; }
  .trust-bar-section .stat-icon-box { width: 36px; height: 36px; padding: .5rem !important; }
  .trust-bar-section .fs-5 { font-size: 1rem !important; }
  .trust-bar-section .small { font-size: .8rem; }
  .kws-header h2 { font-size: 1.85rem; letter-spacing: -.5px; }
  .kws-card { padding: 1.1rem; }
  .kws-card p { font-size: .875rem; }
  .kws-small-title { font-size: .75rem; letter-spacing: 1px; }
  .audience-card { flex-basis: min(350px,calc(100vw - 48px)); }
  .audience-row-card { padding: 1rem; }
  .icon-box-modern { width: 45px; height: 45px; flex-shrink: 0; }
  .accordion-button { padding: 1rem !important; font-size: .9375rem; }
  .accordion-button .badge { padding: .5rem .65rem !important; margin-right: .5rem !important; }
  .accordion-body { padding-inline: 1rem !important; }
  .ai-flow-footer { justify-content: flex-start; }
  .ai-roadmap > li { padding-left: 1.75rem; }
  .ai-roadmap > li::before { content: ""; position: absolute; top: 0; bottom: -1.5rem; left: .75rem; border-left: 2px solid #ff6600; }
  .ai-roadmap > li:last-child::before { bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .navbar-toggler, .carousel-btn, form, .footer-section, .skip-link { display: none !important; }
  .collapse:not(.show) { display: block !important; }
  .carousel-track { display: block; overflow: visible; }
  .audience-card { break-inside: avoid; margin-bottom: 1rem; }
  .kws-card { break-inside: avoid; }
}
