/* Public-site presentation. CMS styles and historical source content stay independent. */
:root{--ink:#22272a;--muted:#626a70;--red:#b52d35;--red-hover:#92242b;--line:#e1e4e7;--soft:#f5f6f8;--green-ink:#4c6471;--green:#eef2f4}
body{font-size:17px}
.container{width:min(1240px,calc(100% - 80px))}
.preview-bar{background:#f5f6f8;color:#59616a;font-size:12px}
.header-inner{height:88px}
.brand-logo{width:234px}
.section{padding-block:72px}
.section-head h2{font-size:34px;line-height:1.45}
.section-head p{font-size:17px;line-height:1.8}
.section-head .eyebrow{font-family:inherit;font-size:14px;color:var(--red)}
.text-link{font-size:15px;white-space:normal}
.button{font-size:16px;border-radius:0;min-height:48px}
.experience-hero{height:510px;min-height:410px;background:#303b40}
.experience-hero:after{background:rgba(10,22,30,.38)}
.experience-hero .hero-photo{object-position:center 56%}
.experience-hero .hero-inner{padding-block:56px}
.experience-hero .eyebrow{font-family:inherit;font-size:16px;color:#fff}
.experience-hero .hero-service-pair{display:inline-block;white-space:nowrap}
@media(max-width:370px){.experience-hero .hero-service-list{display:flex;flex-direction:column;gap:4px}.experience-hero .hero-service-divider{display:none}}
.experience-hero h1{font-size:54px;font-weight:700;text-shadow:0 2px 16px #0006;max-width:100%;overflow-wrap:anywhere}
.experience-hero .hero-copy{font-size:22px;max-width:min(760px,100%);line-height:1.85;font-weight:400;text-shadow:0 1px 12px #0009;overflow-wrap:anywhere}
.experience-hero .hero-copy-phrase{display:inline-block;max-width:100%}
.experience-hero .hero-actions{gap:28px;margin-top:30px;flex-wrap:wrap}
.experience-hero .hero-secondary{font-size:17px}
.service-link{padding-block:26px}
.service-link b{font-size:20px;font-weight:600}
.service-link small{font-size:14px;max-width:none}
.offering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.offering{border:1px solid var(--line);background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}
.offering:hover{transform:translateY(-4px);box-shadow:0 10px 28px #17202712}
.offering-media{aspect-ratio:1.65;overflow:hidden}
.offering-media img{width:100%;height:100%;object-fit:cover}
.offering-copy{padding:24px}
.offering-copy>span{font-size:14px;color:var(--muted)}
.offering h3{font-size:24px;display:flex;gap:12px;align-items:center;margin:10px 0 14px}
.offering h3 svg{color:var(--red);width:24px;height:24px}
.offering p{font-size:16px;line-height:1.85;min-height:89px;color:var(--muted)}
.offering-action{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:16px;color:var(--red);font-weight:600}
.training-case-card h3{font-size:22px;line-height:1.55}
.training-case-card .course-body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:16px;line-height:1.8;margin-top:12px}
.training-case-card .course-category{font-size:14px;color:var(--red)}
.training-case-card .course-bottom{padding-block:18px;font-size:14px}
.training-case-card .course-format{font-size:14px}
.training-case-card .course-image{aspect-ratio:1.65}
.section-bottom{font-size:14px}
.faculty-showcase{background:#f0f3f6}
.faculty-showcase .faculty-grid{gap:32px}
.faculty-showcase .faculty-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;border-top:2px solid #bdc8cf;padding-block:28px;align-items:start}
.faculty-showcase .portrait-placeholder{width:110px;height:148px;aspect-ratio:auto;background:#e4e8eb}
.faculty-showcase .faculty-info .eyebrow{display:none}
.faculty-showcase .faculty-info h3{font-size:25px;margin-bottom:12px}
.faculty-showcase .faculty-info p{font-size:15px;line-height:1.85}
.case-row{padding-block:30px}
.case-row h3{font-size:21px}
.case-row small{font-size:15px;line-height:1.9}
.journey-section .process-grid{gap:32px}
.journey-section .process-step{border-top:1px solid var(--line);padding-top:24px}
.journey-section .number{font-size:32px;color:var(--red)}
.process-step p{font-size:16px}
.contact-band{background:#a92c34}
.contact-band h2{font-size:32px}
.contact-band p{font-size:16px}
.contact-band .eyebrow{display:none}
.page-heading{background:#f1f4f6;padding-block:28px 42px}
.page-heading .eyebrow{font-family:inherit;font-size:14px;color:var(--red)}
.page-heading h1{font-size:40px;overflow-wrap:anywhere}
.page-heading p{font-size:18px;line-height:1.8}
.course-service-links{display:flex;gap:32px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.catalog-workspace{display:grid;grid-template-columns:205px minmax(0,1fr);gap:36px}
.topic-sidebar h2{font-size:18px;margin-bottom:18px}
.topic-sidebar button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 14px;font-size:16px;text-align:left;border-bottom:1px solid var(--line)}
.topic-sidebar button[aria-pressed=true]{background:var(--red);color:white;border-color:var(--red)}
.topic-sidebar button:hover:not([aria-pressed=true]){background:var(--soft)}
.catalog-main{min-width:0}
.outline-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}
[data-page=solutions] .page-heading{padding-bottom:28px}
[data-page=solutions] .page-heading .eyebrow{display:none}
[data-page=solutions] .breadcrumb{margin-bottom:14px}
[data-page=solutions]>.section:first-of-type{padding-top:42px}
[data-page=solutions] .solution-tabs+.section{padding-top:42px}
.catalog-tools{gap:20px}
.catalog-tools .search-field{width:min(380px,55%);padding-block:0}
.catalog-tools>span{font-size:15px}
.catalog-tools input{font-size:16px;min-height:46px}
.catalog-note{font-size:14px;color:var(--muted);margin:12px 0 26px}
.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.discovery-card{border:1px solid var(--line);border-top:3px solid #acbac2;padding:24px;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,box-shadow .2s}
.discovery-card:hover{border-color:var(--red);box-shadow:0 8px 24px #1720270a}
.discovery-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:18px;font-size:14px;color:var(--red)}
.discovery-meta small{color:var(--muted);font-size:13px}
.discovery-card h2{font-size:22px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:20px}
.discovery-card h2 a:hover{color:var(--red)}
.discovery-card p{font-size:15px;color:var(--muted);margin-bottom:16px}
.discovery-actions{display:flex;justify-content:space-between;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.discovery-actions a:last-child{color:var(--red)}
.catalog-more{grid-column:1/-1;display:flex;justify-content:center;padding:14px 0}
.catalog-more .button{min-width:210px}
.discovery-cover{width:100%;aspect-ratio:1.8;margin-bottom:20px}
.contact-context{display:flex;align-items:center;gap:16px;padding:18px 22px;background:#f1f4f6;border-left:3px solid var(--red);margin-bottom:32px;flex-wrap:wrap}
.contact-context span{flex:1;min-width:160px}
.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.contact-options article{border-top:2px solid var(--line);padding-top:24px;min-width:0}
.contact-symbol{display:inline-flex;color:var(--red);margin-bottom:18px}
.contact-symbol svg{width:30px;height:30px}
.contact-options h2{font-size:24px;margin-bottom:14px}
.contact-options p{font-size:16px;color:var(--muted);line-height:1.9}
.contact-number{display:block;font-size:27px;font-weight:600;margin:20px 0}
.contact-options .button{width:100%;max-width:310px}
.contact-qr{width:160px;height:160px;object-fit:contain;margin:26px 0 12px}
.contact-options .contact-follow{margin-top:26px}
.contact-options .contact-follow h3{font-size:20px;margin-bottom:16px}
.contact-options .legacy-body img{max-width:180px;max-height:180px;object-fit:contain}
.contact-experience .legacy-missing{display:none}
.quick-contact{position:fixed;right:18px;bottom:76px;z-index:18;display:none;flex-direction:column;background:#fff;box-shadow:0 4px 22px #19222920;border:1px solid var(--line)}
.quick-contact a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:74px;min-height:76px;padding:10px;font-size:13px}
.quick-contact a+a{border-top:1px solid var(--line);color:var(--red)}
.quick-contact a:hover{background:var(--soft)}
.back-top{right:30px;bottom:20px}
.footer-links a{font-size:15px}
@media(min-width:1101px) and (max-width:1599px){.header-inner.container{width:calc(100% - 48px);gap:18px}.brand-logo{width:210px}.desktop-nav{display:flex;gap:18px}.desktop-nav>a,.nav-cluster>a{font-size:16px}.nav-cluster{gap:3px}.header-actions{gap:6px}.header-contact{display:none}.menu-toggle{display:none}.nav-disclosure{width:20px}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-contact{display:inline-flex}.container{width:calc(100% - 48px)}.faculty-showcase .faculty-grid{gap:22px}.faculty-showcase .faculty-item{grid-template-columns:85px minmax(0,1fr);gap:16px}.faculty-showcase .portrait-placeholder{width:85px;height:116px}.offering-copy{padding:20px}.offering h3{font-size:21px}.offering-grid{gap:20px}.quick-contact{right:8px}.contact-options{gap:24px}.contact-number{font-size:23px}}
@media(max-width:760px){
  .brand-logo{width:210px}
  .service-link,.service-link+.service-link{flex-direction:row;align-items:center;text-align:left;min-height:0}
  .service-link>span{flex:1;width:auto}
  [data-page=solutions] .page-heading{padding-bottom:24px}
  [data-page=solutions] .solution-tabs+.section{padding-top:28px}
  html{scroll-padding-top:90px}body{padding-bottom:64px;font-size:16px}.container{width:calc(100% - 36px)}
  .preview-bar{display:none}.header-inner{height:76px;gap:12px}.brand-logo{width:210px}.header-contact{display:none}.header-actions{gap:4px}.icon-button{width:42px;height:42px}
  .experience-hero{height:450px;min-height:400px}.experience-hero .hero-photo{object-position:60% center}.experience-hero .hero-inner{padding-block:38px;justify-content:center}.experience-hero h1{font-size:35px;line-height:1.5}.experience-hero .eyebrow{font-size:13px;gap:8px}.experience-hero .hero-copy{font-size:18px;line-height:1.9;max-width:420px}.experience-hero .hero-actions{gap:18px}.experience-hero .hero-actions .button{font-size:16px;padding:13px 18px}.experience-hero .hero-secondary{font-size:15px}.hero>.image-note{font-size:11px}
  .service-links{grid-template-columns:1fr}.service-link,.service-link+.service-link{padding:17px 0;gap:16px}.service-link+.service-link{border-top:1px solid var(--line)}.service-link+.service-link:before{display:none}.service-link>svg{width:25px;height:25px}.service-link b{font-size:18px}.service-link small{font-size:14px;max-width:none}.service-link>.end-icon{display:block;width:18px;margin-right:0}
  .section{padding-block:46px}.section-head{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:24px}.section-head h2{font-size:28px}.section-head .eyebrow{font-size:13px}.section-head p{font-size:16px;max-width:none}.text-link{font-size:15px}.offering-grid{grid-template-columns:1fr;gap:24px}.offering h3{font-size:24px}.offering p{min-height:0;font-size:16px}.offering-copy{padding:24px}.offering-media{aspect-ratio:1.8}
  .training-case-card h3{font-size:22px}.training-case-card .course-body>p{font-size:16px}.tabs{flex-wrap:wrap;gap:8px}.tab{font-size:15px;min-height:44px;padding:10px 14px}.section-bottom{gap:16px;flex-wrap:wrap}.section-bottom>span{font-size:14px}.faculty-showcase .faculty-grid{grid-template-columns:1fr}.faculty-showcase .faculty-item{grid-template-columns:108px minmax(0,1fr);gap:24px}.faculty-showcase .portrait-placeholder{width:108px;height:145px}.faculty-showcase .faculty-info p{font-size:16px}
  .case-row h3{font-size:20px}.case-row small{font-size:15px}.journey-section .process-grid{grid-template-columns:1fr 1fr;gap:26px 22px}.process-step h3{font-size:20px}.process-step p{font-size:15px}.contact-band h2{font-size:28px}.contact-band p{font-size:16px}.contact-band .button{font-size:16px}
  .page-heading h1{font-size:32px}.page-heading p{font-size:17px}.breadcrumb{font-size:13px}.page-section{padding-block:30px 44px}.course-service-links{gap:12px 24px;margin-bottom:20px}.catalog-workspace{grid-template-columns:1fr;gap:24px}.topic-sidebar{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.topic-sidebar h2{display:none}.topic-sidebar button{width:auto;flex:none;white-space:nowrap;border:1px solid var(--line);min-height:44px;font-size:15px;padding:8px 14px}.topic-sidebar button svg{display:none}.catalog-tools .search-field{width:100%;order:-1}.catalog-tools{flex-wrap:wrap;gap:12px}.catalog-note{font-size:14px}.discovery-grid{grid-template-columns:1fr}.discovery-card{padding:22px}.discovery-card h2{font-size:22px}
  .contact-options{grid-template-columns:1fr;gap:40px}.contact-number{font-size:30px}.contact-context{padding:16px}.contact-options h2{font-size:25px}
  .quick-contact{display:flex;bottom:0;right:0;left:0;flex-direction:row;border:0;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.quick-contact a{flex:1;flex-direction:row;gap:10px;min-height:58px;font-size:16px}.quick-contact a+a{border-top:0;border-left:1px solid var(--line);background:var(--red);color:white}.back-top{bottom:78px;right:14px}.footer-links a{font-size:15px}.footer-bottom{font-size:12px}
}
@media(max-width:370px){.brand-logo{width:190px}.header-actions .icon-button{width:36px}.experience-hero h1{font-size:31px}.experience-hero .hero-copy{font-size:17px}.section-head h2{font-size:26px}}
@media(max-width:760px){
  [data-page=courses] .page-heading{padding-block:20px 24px}
  [data-page=courses] .page-heading .eyebrow{display:none}
  [data-page=courses] .breadcrumb{margin-bottom:14px}
  .course-discovery{padding-top:22px}
  .course-service-links{gap:12px 18px;padding-bottom:18px;margin-bottom:18px}
  .course-service-links .text-link{font-size:14px;gap:6px}
  .catalog-workspace{gap:16px}
  .catalog-tools{margin-bottom:12px}
  .catalog-note{margin-block:8px 18px}
}
@media(prefers-reduced-motion:reduce){.offering,.discovery-card{transition:none}.offering:hover{transform:none}}

/* The homepage hero carries the first-view navigation; inner pages keep the light header. */
.home-page .preview-bar{display:none}
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:30;background:transparent;border-bottom-color:transparent;color:#fff;transition:background-color .25s,border-color .25s,box-shadow .25s}
.home-page .site-header:not(.is-scrolled){-webkit-backdrop-filter:none;backdrop-filter:none}
.home-page .nav-panel{color:var(--ink)}
.home-page .site-header .brand{position:relative;left:16px;top:-3px;margin-right:12px}
.home-page .site-header .brand-logo{filter:none}
.home-page .site-header .desktop-nav{margin-left:auto;transform:none;min-width:0;flex-shrink:1}
.home-page .site-header .desktop-nav>a{flex-shrink:0}
.home-page .site-header:not(.is-scrolled) .desktop-nav>a,
.home-page .site-header:not(.is-scrolled) .nav-cluster>a,
.home-page .site-header:not(.is-scrolled) .nav-disclosure,
.home-page .site-header:not(.is-scrolled) .header-actions .icon-button{color:#fff;text-shadow:0 1px 8px #0006}
.home-page .site-header:not(.is-scrolled) .desktop-nav>a:hover,
.home-page .site-header:not(.is-scrolled) .nav-cluster>a:hover,
.home-page .site-header:not(.is-scrolled) .nav-disclosure:hover,
.home-page .site-header:not(.is-scrolled) .header-actions .icon-button:hover{color:#fff;background:#ffffff1c}
.home-page .site-header:not(.is-scrolled) .desktop-nav>a[aria-current="page"],
.home-page .site-header:not(.is-scrolled) .nav-cluster>a[aria-current="page"]{color:#fff}
.home-page .site-header:not(.is-scrolled) .desktop-nav>a[aria-current="page"]:after,
.home-page .site-header:not(.is-scrolled) .nav-cluster>a[aria-current="page"]:after{background:#fff}
.home-page .site-header:not(.is-scrolled) .header-contact{background:#ffffff18;color:#fff;border-color:#ffffff9c}
.home-page .site-header:not(.is-scrolled) .header-contact:hover{background:#fff;color:var(--ink);border-color:#fff}
.home-page .site-header.is-scrolled{position:fixed;background:#fffffff2;border-bottom-color:#252a2914;box-shadow:0 8px 22px #17202712;color:var(--ink)}
.home-page .site-header.is-scrolled .brand-logo{filter:none}

@media(max-width:1280px){
  .home-page .site-header:not(.is-scrolled) .mobile-nav{background:#18252de8;border-top-color:#ffffff2e}
  .home-page .site-header:not(.is-scrolled) .mobile-nav a{color:#fff}
  .home-page .site-header:not(.is-scrolled) .mobile-nav a:hover{background:#ffffff18;color:#fff}
  .home-page .site-header:not(.is-scrolled) .mobile-subnav a{color:var(--ink)}
  .home-page .site-header:not(.is-scrolled) .mobile-subnav a:hover,
  .home-page .site-header:not(.is-scrolled) .mobile-subnav a[aria-current="page"]{background:var(--soft);color:var(--red)}
}
@media(min-width:1281px){
  .home-page .site-header .header-inner{width:min(1720px,calc(100% - 48px))}
  .home-page .site-header .desktop-nav{gap:32px}
}
@media(max-width:760px){
  .home-page .experience-hero .hero-inner{padding-top:72px}
}
@media(min-width:1600px){.home-page .site-header .desktop-nav{gap:40px}}
@media(max-width:370px){
  .home-page .experience-hero .hero-inner{padding-top:84px}
}
