/* Approved public-page imagery and layouts. Deliberately not loaded by account pages. */
button{font-family:inherit}button:not(:disabled){touch-action:manipulation}
.hero{grid-template-columns:1fr 1.14fr;gap:45px;max-width:1380px}
.hero h1{font-size:clamp(42px,4.8vw,70px)}
.hero-visual{padding:22px}.hero-slides{aspect-ratio:3/2;background:#e8eef0;border:0;border-radius:0}
.hero-image-button img{object-fit:contain}.hero-image-button::after{border-radius:0;font-size:12px}
.hero-carousel-controls button,.simulation-controls button{border-radius:0;min-width:44px;min-height:44px}
.hero-slide-footer .text-link{font-size:16px;color:#007f86}.hero-carousel-controls .mono{font-size:12px}
.capability-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:38px}
.capability-tile{text-decoration:none;border-top:1px solid #dce5e9;padding-bottom:16px;display:flex;flex-direction:column;align-items:start}
.capability-tile>img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#f1f6f7}
.capability-tile h3{font-size:20px;margin:20px 0 8px}.capability-tile p{font-size:14px;line-height:1.65;margin:0 0 18px}
.capability-tile .text-link{margin-top:auto}.capability-tile:hover h3{color:#007f86}
.simulation-section>.container{padding:0}.simulation-grid{grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.analysis-list{grid-template-columns:1fr;gap:0}.analysis-list button{padding:12px;border-bottom:1px solid #dce5e9;color:#19344b;font-size:14px}
.analysis-list button[aria-pressed=true]{background:#007f86;color:white}.analysis-list button[aria-pressed=true] .icon{color:white}
.simulation-stage{border:0;border-radius:0;background:#e8eef0}.simulation-slide{display:block;position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease}
.simulation-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}.simulation-visual.simulation-carousel{padding:18px}
.thermal-feature .split{align-items:center;gap:50px}.thermal-feature h2{margin-top:18px}.thermal-feature .wrap{padding-top:48px;padding-bottom:48px}
.feature-art img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#10202b}
.detail-intro{gap:48px}.detail-intro figure.study-lead{padding:16px}.study-lead figcaption{font-size:12px;margin-top:12px}
.study-image{display:block;position:relative;width:100%;border:0;padding:0;background:#e8eef0;cursor:zoom-in;color:white}
.study-image img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:contain}
.study-image>span{position:absolute;right:12px;bottom:12px;padding:7px 11px;background:#19344be8;color:#fff;font-size:12px;border:1px solid #ffffff70}
.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:36px}
.study-card{min-width:0;border:1px solid #dce5e9;background:white}.study-card[hidden]{display:none}
.study-card-image{display:block;overflow:hidden;background:#edf2f4}.study-card-image img{width:100%;display:block;aspect-ratio:3/2;object-fit:contain}
.study-card>div{padding:20px 24px 24px}.study-card h3{font-size:23px;margin:10px 0 18px}.study-card .eyebrow{font-size:10px}
.study-card-image:hover{outline:2px solid #007f86;outline-offset:-2px}.study-plain{background:transparent;border:0;padding:0;font:inherit;cursor:pointer}
.study-development{scroll-margin-top:25px}.study-development h2{max-width:850px;margin-bottom:15px}.study-current{font-size:16px;color:#007f86;margin:0 0 24px}
.study-tabs,.project-filters{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid #b8ccd4;margin:26px 0}
.study-tabs button,.project-filters button{background:transparent;color:#19344b;border:0;border-bottom:3px solid transparent;padding:13px 19px;font-size:14px;cursor:pointer}
.study-tabs button[aria-selected=true],.project-filters button[aria-pressed=true]{border-bottom-color:#007f86;color:#007f86;background:#e6f2f2}
.study-tabs button:hover,.project-filters button:hover{background:#e6f2f2}
.study-development-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(220px,1fr);gap:36px;align-items:start}
.study-development-layout>*{min-width:0}.study-development-layout aside{padding-top:18px}.study-development-layout aside h3{font-size:25px;margin:12px 0 20px}
.study-development-layout aside ul{padding-left:20px;font-size:15px;color:#526b7a}.study-development-layout aside li{margin:12px 0}.study-development-layout aside .text-link{display:inline-block;margin-top:15px;font-size:14px}
.study-stage-caption{margin:8px 0 20px;font-size:13px;color:#526b7a}
.study-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.study-thumbnails button{border:1px solid #b9cad1;background:white;padding:5px;cursor:pointer;text-align:left;color:#19344b;min-width:0}
.study-thumbnails button[aria-pressed=true]{outline:2px solid #007f86;outline-offset:0}.study-thumbnails img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain}
.study-thumbnails span{display:block;font-size:10px;padding:6px 3px;overflow-wrap:anywhere}
.analysis-item .study-image{margin-top:20px;max-width:650px}.analysis-item .study-image img{max-height:340px}
.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-grid .study-card h3{font-size:21px}
.study-lightbox{padding:22px;background:#f3f6f7;color:#19344b;border:1px solid #b6c7d0;width:min(1500px,96vw);max-width:96vw;max-height:96dvh;overflow:auto}
.study-lightbox::backdrop{background:#061422e8}.study-lightbox-head{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:15px}
.study-lightbox-head h2{font-size:22px;line-height:1.4;margin:0}.study-lightbox-head button{background:white;border:1px solid #a8bac4;color:#19344b;min-width:44px;min-height:44px;cursor:pointer}
.study-lightbox>img{display:block;width:100%;height:auto;max-height:78dvh;object-fit:contain;background:#e8eef0}.study-lightbox>p{font-size:12px;margin:10px 0 0}
body.study-modal-open{overflow:hidden}
@media(min-width:1051px){.study-gallery-section .study-grid:has(>.study-card:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.hero{gap:28px}.hero-visual{padding:15px}.capability-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.study-development-layout{grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr);gap:24px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.hero,.simulation-grid,.detail-intro,.study-development-layout{grid-template-columns:minmax(0,1fr)}.hero-visual{max-width:100%}.hero h1{font-size:48px}.simulation-grid{gap:30px}.study-development-layout aside{padding-top:0}.study-development-layout aside h3{font-size:24px}.thermal-feature .split{gap:25px}.study-grid{gap:20px}.study-card>div{padding:16px}.study-card h3{font-size:20px}.analysis-list{grid-template-columns:repeat(2,minmax(0,1fr))}.study-tabs button,.project-filters button{padding:12px;font-size:13px}}
@media(max-width:520px){.study-grid,.projects-grid,.capability-tiles{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:42px}.hero-visual{padding:12px}.visual-top{letter-spacing:.4px}.hero-carousel-controls .mono{font-size:11px}.study-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.study-lightbox{padding:12px}.study-lightbox-head h2{font-size:18px}.study-tabs button{padding:10px;font-size:12px}.study-image>span{font-size:11px;right:8px;bottom:8px}.analysis-list button{font-size:12px}.study-development h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.simulation-slide{transition:none}}
