/*
Neutral design-reference stylesheet. Loaded only on /design-reference/ in
Wireframe mode; this is no longer an independently installable site theme.
*/
/* No Blue stylesheet is loaded here. White paper, black type, simple groups. */
:root{color-scheme:light;--gutter:24px;--ink:#000;--muted:#000;--bg:#fff;--surface:#fff;--line:#000;--accent:#000;--on-accent:#000}
*{box-sizing:border-box}
html{background:#fff!important;scroll-behavior:auto}
body{margin:0;background:#fff!important;color:#000;font:16px/1.55 Arial,Helvetica,sans-serif}
body *,body *::before,body *::after{color:#000!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;text-shadow:none!important;border-color:#000!important;border-radius:0!important;animation:none!important;transition:none!important}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl{margin:0 0 16px}
h1{font-size:32px;line-height:1.2}h2{font-size:24px;line-height:1.3}h3{font-size:20px;line-height:1.4}h4,h5,h6{font-size:17px}
h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:700;letter-spacing:normal;text-transform:none}
h1 em,h2 em{font:inherit}
a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:#000;border:1px solid #000;padding:8px;background:#fff}
button,a.button,.text-cta{cursor:pointer}
button:hover{outline:1px solid #000;outline-offset:2px}
:focus-visible{outline:2px dashed #000!important;outline-offset:4px}
[hidden]{display:none!important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-100px}.skip-link:focus{top:8px;z-index:200;background:#fff!important;padding:8px}
.wrap{width:calc(100% - 48px);max-width:1200px;margin-inline:auto}
img,video,iframe{display:block;max-width:100%;filter:grayscale(1)}
img{height:auto;width:auto;max-width:min(100%,var(--media-width,100%));object-fit:contain}
figure img{margin-inline:auto}
figcaption,.hero-caption,.product-note,.session-time{font-size:14px;margin-top:10px}
ul,ol{padding-left:24px}li{margin-bottom:8px}
dd{margin:0 0 14px}dt{font-weight:bold}
.eyebrow,.deck-kicker{font-size:14px;font-weight:normal;letter-spacing:normal;text-transform:none;margin-bottom:12px}
.tiny-mark,.spectrum-mark,.solution-number,.gallery-index,.eyebrow::before{display:none!important}
.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid;padding:12px 24px;font-size:14px}
.scheme-control{display:flex;gap:16px}.scheme-control [aria-current]{font-weight:bold;text-decoration:underline double}
.site-header-shell{border-bottom:1px solid;position:static}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px}
.brand{display:block;width:120px;flex-shrink:0}.brand img{max-width:120px;height:auto;filter:grayscale(1)}
.site-navigation{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.site-navigation .is-active{font-weight:bold;text-decoration:underline double}
.nav-contact,.button{display:inline-block;border:1px solid;padding:8px 14px;text-decoration:none}
.menu-toggle{display:none}
main{padding-block:24px}
main section,main .module,main .page-band,main .project-facts,main .project-story,main .home-heading,main .story-heading{border:1px solid;padding:24px;margin-block:24px;min-width:0}
main section:first-child{margin-top:0}
.page-band{width:calc(100% - 48px);max-width:1200px;margin-inline:auto}
.page-band>.wrap,.page-band>section.wrap{width:100%}
.page-band section,.page-band .module{margin-block:16px}
.home-masthead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;width:calc(100% - 48px);max-width:1200px;margin:auto;align-items:start}
.home-masthead>.wrap{width:100%;margin:0}
.home-title-row{display:block}.home-heading-copy{margin-top:24px}
.home-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-stage{position:relative}.hero-slide{display:none;margin:0}.hero-slide.is-active{display:block}
.hero-slide img{width:auto;max-height:420px;margin:auto}
.hero-toolbar{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.hero-current-caption{margin:0}.hero-controls,.hero-dots{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.hero-dots [aria-current]{font-weight:bold;outline:1px solid;outline-offset:2px}
.home-section-heading,.section-heading,.product-group-heading{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.home-intro{display:grid;grid-template-columns:1fr 3fr;gap:24px}
.home-callout>.wrap{width:100%}
.card-grid,.product-grid,.feature-grid,.profile-grid,.programme-list,.page-link-grid,.page-brand-grid,.solution-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.story-card,.product-card,.feature-grid>article,.profile,.programme-item,.page-link-card,.solution-row,.page-brand-grid>article,.page-office,.review-panel{border:1px solid;padding:16px;min-width:0}
.card-image{display:block;position:relative;margin-bottom:16px}.card-image img{max-height:300px;margin:auto}
.card-arrow{display:inline-block;margin-top:8px;border:1px solid;padding:2px 8px}
.featured-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:24px}
.featured-card .card-image{margin:0}.featured-card .card-image img{max-height:420px}
.product-grid.items-1{grid-template-columns:1fr}.product-grid.items-2,.product-grid.items-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-card .content-image{margin:0 0 16px}.product-copy{padding:0}.product-status{font-size:14px}
.brand-logo,.course-brand{max-width:180px;max-height:90px;object-fit:contain}
.collection-heading{padding-block:24px}.collection-sub{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.collection-tools,.collection-tools nav,.collection-search{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.collection-tools{margin-block:24px;padding-block:16px;border-top:1px solid;border-bottom:1px solid}
.collection-search input{width:200px}.collection-search select{max-width:100%}
.pagination,.nav-links{display:flex;gap:16px;flex-wrap:wrap;padding-block:24px}.pagination .current,.nav-links .current{font-weight:bold;text-decoration:underline}
.story-heading{margin-inline:auto!important}.story-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;margin-bottom:16px}
.news-partner-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}.news-partner-pill{border:1px solid;padding:7px 11px;border-radius:999px}
.story-hero img{max-height:550px;margin-inline:auto}.story-hero{margin-block:24px}
.introduction{font-size:18px;max-width:80ch;margin:24px auto}
.prose{max-width:85ch}.prose>:last-child{margin-bottom:0}
.project-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px}
.key-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:1px solid;padding:16px}
.specifications>div{display:grid;grid-template-columns:1fr 2fr;gap:16px;border-bottom:1px solid;padding-block:12px}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.photo-grid .gallery-frame,.photo-grid>.content-image{border:1px solid;padding:16px;margin:0;min-width:0}
.photo-grid img{max-height:360px;margin:auto}.enlarge-image{display:block}.enlarge-image>span{display:block;margin-top:8px;font-size:14px}
.quote-block,.highlight,.review-panel{border:1px solid;padding:24px}.quote-block blockquote{font-size:18px}
.review-columns,.feature-grid,.profile-grid,.programme-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.video-shell{border:1px solid;padding:16px}.video-poster{max-height:420px;margin:auto}
.play-video{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px auto 0}.play-video span{font-size:24px}
.video-shell iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}.video-section video{width:100%}
.operational-content{max-width:1000px}.operational-content .prose{max-width:85ch}.operational-content .course-brand{margin-bottom:24px}
.page-office-grid,.page-resource-grid,.application-products,.application-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.application-hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.application-hero img{max-height:420px}
.application-intro,.application-content{max-width:1200px;margin:auto}
.application-nav,.application-pagination{display:flex;gap:16px;flex-wrap:wrap;border:1px solid;padding:16px;margin-block:24px}
.application-nav [aria-current],.application-pagination [aria-current]{font-weight:bold}
.application-brands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.application-brands>article{border:1px solid;padding:16px}.application-brands img{max-height:100px;margin:auto}
table{width:100%;border-collapse:collapse;overflow-wrap:anywhere}td,th{border:1px solid;padding:8px;text-align:left}
.page-vacancy,.page-testimonial,.page-resource-group,.application-product{border:1px solid;padding:16px;margin-block:16px}
.site-footer{border-top:1px solid;padding-block:24px}.footer-top{border:1px solid;padding:24px}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-block:24px}
.footer-grid>div{border:1px solid;padding:16px;min-width:0}.footer-grid h3{font-size:17px}.footer-grid p{font-size:14px}
.footer-bottom,.footer-bottom>div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-bottom{border-top:1px solid;padding-top:24px;font-size:14px}
#image-viewer{background:#fff!important;color:#000;width:min(1000px,95vw);max-height:95vh;padding:32px;border:1px solid}
#image-viewer::backdrop{background:#fff}.viewer-close{position:absolute;right:4px;top:4px}
#image-viewer img{max-height:75vh;margin:auto}#image-viewer p{margin-top:16px}
.render-gap{border:2px dashed;padding:16px}
@media(max-width:900px){
 .site-header{flex-wrap:wrap}.site-navigation{gap:16px}
 .card-grid,.product-grid,.solution-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-masthead{grid-template-columns:1fr}.home-intro{grid-template-columns:1fr}
}
@media(max-width:650px){
 .wrap,.page-band,.home-masthead{width:calc(100% - 24px)}
 main section,main .module,main .page-band,main .project-facts,main .project-story,main .home-heading,main .story-heading{padding:16px}
 h1{font-size:28px}h2{font-size:22px}
 .menu-toggle{display:block}.site-navigation{display:none;width:100%;flex-direction:column;align-items:stretch}.site-navigation.is-open{display:flex}
 .card-grid,.product-grid,.product-grid.items-2,.product-grid.items-4,.feature-grid,.profile-grid,.programme-list,.page-link-grid,.page-brand-grid,.solution-list,.featured-card,.project-overview,.photo-grid,.review-columns,.page-office-grid,.page-resource-grid,.application-products,.application-related-grid,.application-hero{grid-template-columns:1fr}
 .key-facts,.specifications>div,.footer-grid{grid-template-columns:1fr}
 .application-brands{grid-template-columns:repeat(2,minmax(0,1fr))}
 .collection-search{width:100%}.collection-search input{width:100%;min-width:0}.collection-tools{align-items:stretch}
 .preview-bar>span{display:none}.preview-bar{padding:12px;font-size:13px}
}
