/* Product media and editorial sections. */
@media(max-width:460px){.showcase-feature.real-app-feature>div{grid-template-columns:1fr!important;gap:8px!important}.showcase-feature.real-app-feature .text-link{grid-column:1!important;grid-row:4!important;justify-self:start}}
.showcase-feature.real-app-feature{display:block;padding:0;overflow:hidden}
.showcase-feature.real-app-feature>img{display:block;width:100%;height:auto;max-width:none;border-radius:0;box-shadow:none;aspect-ratio:1363/936;object-fit:contain}
.showcase-feature.real-app-feature>div{padding:21px 25px;border-top:1px solid #cedbd6;display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center}
.showcase-feature.real-app-feature>div>span{grid-column:1/-1}
.showcase-feature.real-app-feature strong{font-size:25px;margin:0}
.showcase-feature.real-app-feature p{margin:0;grid-row:3;grid-column:1/-1}
.showcase-feature.real-app-feature .text-link{grid-row:2;grid-column:2;margin:0}
.real-app-gallery.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.real-app-gallery .gallery-item{grid-column:auto;grid-row:auto}
.gallery-grid.real-app-gallery .gallery-open{height:auto;aspect-ratio:1348/926;padding:0;background:#f5f9f7}
.real-app-gallery .gallery-open img{width:100%;height:auto;max-height:none;box-shadow:none;border-radius:0}
@media(max-width:740px){.real-app-gallery.gallery-grid{grid-template-columns:1fr;gap:22px}.real-app-gallery .gallery-item-1 .gallery-open{height:auto}.showcase-feature.real-app-feature>div{padding:18px}.showcase-feature.real-app-feature strong{font-size:22px}.showcase-feature.real-app-feature .text-link{font-size:11px}}
.project-films{padding:64px 0;background:#0e202d;border-block:1px solid #2e4656}
.project-films .section-heading,.media-gallery .section-heading,.showcase-practice .section-heading,.engineering-lens .section-heading,.lab-planning .section-heading{margin-bottom:31px}
.project-films .section-heading h2,.media-gallery h2,.showcase-practice h2,.engineering-lens h2,.lab-planning h2{font-size:36px;line-height:1.18;letter-spacing:-1.2px}
.section-heading>div>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#adc2cf;max-width:420px;margin-bottom:15px}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.film-card{min-width:0;overflow:hidden;border:1px solid #395261;border-radius:9px;background:#091925;scroll-margin-top:105px}
.film-player{position:relative;background:#06111a;border-bottom:1px solid #395261}
.film-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#091724;object-fit:contain}
.film-player video:focus-visible{outline:3px solid #8de8dc;outline-offset:-3px}
.film-copy{padding:25px 27px}
.film-meta{display:flex;justify-content:space-between;gap:15px;font:9px/1.6 var(--mono);letter-spacing:1px;color:#97c3c6}
.film-copy h3{font-size:28px;line-height:1.2;margin:16px 0 13px;font-weight:500;letter-spacing:-.5px}
.film-copy>p{font-size:14px;line-height:1.8;color:#b2c4d0;margin:0 0 15px}
.film-copy>.film-note{font-size:11px;line-height:1.7;color:#95afbe}
.film-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:15px;border-top:1px solid #304957;margin-top:19px}
.film-actions .text-link{font-size:12px;gap:14px;min-height:40px}
.film-download{font-size:11px;color:#b8d6d6;min-height:40px;display:flex;align-items:center}
.film-transcript-link{font-size:11px;color:#a9c9d0;display:inline-flex;gap:9px;align-items:center;min-height:36px}
.film-transcript-link .arrow-icon{width:11px;height:11px}
.film-transcript{border-top:1px solid #304957;margin-top:8px;padding-top:5px}
.film-transcript summary{cursor:pointer;font-size:12px;color:#b9d7df;line-height:1.6;padding:15px 0}
.film-transcript ol{list-style:none;padding:0;margin:9px 0 17px}
.film-transcript li{display:grid;grid-template-columns:49px 1fr;gap:15px;margin-bottom:17px}
.film-transcript li>span{font:10px/1.8 var(--mono);color:#80d5cf}
.film-transcript li p{font-size:12px;line-height:1.8;color:#b6cbd6;margin:0}
.film-transcript>a{display:inline-flex;min-height:40px;align-items:center;font-size:12px;color:#a3ddd8}
.media-error{font-size:12px;line-height:1.7;padding:15px;color:#f0d4af;margin:0}
.media-error[hidden]{display:none}
.lab-artwork{margin:0;min-width:0;overflow:hidden;border-radius:9px;border:1px solid #385262;background:#081722}
.lab-artwork img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.lab-artwork figcaption{padding:13px 17px;font-size:10px;line-height:1.7;color:#9ab8c5;border-top:1px solid #2c4654}
.page-home .lab-feature{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:55px}
.page-home .lab-feature-copy p{font-size:15px;line-height:1.85}
.page-home .lab-feature-copy h2{font-size:36px}
.engineering-lens,.lab-planning{padding-block:66px}
.lens-grid,.lab-planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.lens-grid article,.lab-planning-grid article{border-top:1px solid #46616e;padding-top:24px;min-width:0}
.lens-grid article>span,.lab-planning-grid article>span{font:9px/1.6 var(--mono);letter-spacing:1.1px;color:#91b8c5}
.lens-grid h3,.lab-planning-grid h3{font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.4px;margin:21px 0 13px}
.lens-grid p,.lab-planning-grid p{font-size:14px;line-height:1.85;color:#aabfcd;margin-bottom:18px}
.lens-grid .text-link,.lab-planning>.text-link{font-size:12px;min-height:42px}
.lab-planning>.text-link{margin-top:18px}
.showcase-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-block:52px 60px}
.showcase-intro h1{font-size:66px;line-height:1.08;letter-spacing:-2.7px;font-weight:500;margin:25px 0}
.showcase-intro h1>span{color:var(--accent)}
.showcase-intro .page-lead{font-size:17px;line-height:1.8;max-width:400px;margin:0}
.showcase-jumps{display:flex;flex-wrap:wrap;gap:5px 22px;margin-top:22px}
.showcase-jumps a{display:flex;align-items:center;min-height:40px;font-size:11px;color:#b6d4dc}
.showcase-feature{background:#e8efed;border:1px solid #ccd9d6;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:35px;padding:26px 30px;min-width:0;overflow:hidden;color:#17343c}
.showcase-feature>img{width:135px;height:293px;object-fit:contain;box-shadow:0 16px 25px #102f3426;border-radius:16px}
.showcase-feature>div>span{font:9px/1.8 var(--mono);letter-spacing:1.2px;color:#466d74}
.showcase-feature strong{display:block;font-size:25px;line-height:1.3;font-weight:500;margin:16px 0 10px;color:#17343c}
.showcase-feature p{font-size:12px;line-height:1.8;color:#527179}
.showcase-feature .text-link{font-size:12px;color:#235e63;min-height:44px}
.media-gallery{padding-block:66px}
.gallery-grid{display:grid;grid-template-columns:1fr .72fr 1fr;gap:23px;align-items:start}
.gallery-item{margin:0;min-width:0}
.gallery-open{display:flex;position:relative;background:#122936;align-items:center;justify-content:center;height:240px;padding:20px;border:1px solid #385665;border-radius:8px;overflow:hidden}
.gallery-open img{display:block;max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain;box-shadow:0 12px 30px #0003;transition:transform .2s}
.gallery-open:hover img{transform:scale(1.03)}
.gallery-open>span{position:absolute;bottom:11px;right:11px;background:#091724ed;border:1px solid #557482;border-radius:4px;padding:7px 10px;color:#d3e9ea;font-size:10px}
.gallery-item-1 .gallery-open{background:#21343d}
.gallery-item-1 img{border-radius:9px}
.gallery-item figcaption{padding:20px 2px}
.gallery-item figcaption>span{font:9px/1.6 var(--mono);letter-spacing:1px;color:#8db7c2}
.gallery-item h3{font-size:21px;line-height:1.35;font-weight:500;margin:11px 0}
.gallery-item figcaption>p{font-size:11px;line-height:1.8;color:#9fb7c5;min-height:40px;margin:0 0 8px}
.gallery-item .text-link{font-size:12px;min-height:40px}
.showcase-practice{padding-block:12px 30px}
.showcase-practice .lab-artwork img{aspect-ratio:2.4;object-position:center 54%}
.gallery-dialog{width:min(1040px,94vw);max-height:92dvh;padding:22px 26px;border:1px solid #6b929e;border-radius:10px;background:#0b1c29;color:#e1eff3;overflow:auto;box-shadow:0 25px 100px #0009}
.gallery-dialog::backdrop{background:#030c15dc;backdrop-filter:blur(5px)}
.gallery-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
.gallery-dialog-toolbar h2{letter-spacing:0;font-size:19px;line-height:1.4;font-weight:500;margin:0}
.gallery-dialog button{background:#173541;border:1px solid #567b88;color:#d9edf0;border-radius:5px;font:12px/1.5 var(--body);padding:10px 16px;min-height:44px;cursor:pointer}
.gallery-dialog button:disabled{opacity:.4;cursor:default}
.gallery-dialog-image{background:#06111a;display:flex;justify-content:center;align-items:center;height:58dvh;min-height:180px;overflow:auto;border:1px solid #304c59;border-radius:5px}
.gallery-dialog-image img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.gallery-dialog>p{font-size:12px;line-height:1.7;color:#b0c9d4;margin:16px 0}
.gallery-dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:20px}
.gallery-dialog-actions span{font:12px var(--mono);color:#acd2d4}
.gallery-dialog>a{display:inline-flex;align-items:center;gap:12px;min-height:40px;margin-top:8px;font-size:12px;color:#9ddcd4}
.gallery-dialog .arrow-icon{width:13px;height:13px}
.media-route-link{display:flex;align-items:center;gap:10px;font-size:12px;color:#a3c7cf;min-height:38px;margin-top:9px}
.media-route-link .arrow-icon{width:13px;height:13px}
.lab-page-hero .lab-artwork{align-self:center}
.case-film-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px;margin-top:10px;color:#a6d9d4}
@media(max-width:1100px){.showcase-intro{gap:35px}.showcase-intro h1{font-size:57px}.showcase-feature{padding:24px;gap:24px}.showcase-feature>img{width:115px;height:249px}.showcase-feature strong{font-size:23px}.gallery-grid{gap:17px}.gallery-open{height:210px;padding:15px}.film-copy{padding:23px}.page-home .lab-feature{gap:35px}}
@media(max-width:900px){.showcase-feature{gap:17px;padding:21px}.showcase-feature>img{width:100px;height:217px}.showcase-feature strong{font-size:19px}.showcase-feature>div>span{font-size:8px;letter-spacing:.6px}.showcase-feature .text-link{font-size:11px}.showcase-intro h1{font-size:51px}.showcase-intro .page-lead{font-size:15px}.showcase-intro{gap:30px}.showcase-jumps{gap:2px 15px}.film-copy{padding:20px}.film-meta{font-size:8px;letter-spacing:.6px}.film-copy h3{font-size:25px}.film-copy>p{font-size:13px}.film-grid{gap:19px}.lens-grid,.lab-planning-grid{gap:23px}.lens-grid h3,.lab-planning-grid h3{font-size:19px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item-1{grid-column:2;grid-row:1/3}.gallery-item-1 .gallery-open{height:490px}.gallery-item-1 img{border-radius:12px}.page-home .lab-feature-copy h2{font-size:31px}}
@media(max-width:740px){.showcase-intro{grid-template-columns:1fr;padding-block:35px 40px;gap:32px}.showcase-intro h1{font-size:49px;margin:21px 0}.showcase-intro .page-lead{font-size:16px;max-width:500px}.showcase-jumps{gap:2px 18px}.showcase-feature{gap:32px;padding:25px;max-width:500px;width:100%;justify-self:center}.showcase-feature>img{width:115px;height:249px}.showcase-feature strong{font-size:25px}.showcase-feature>div>span{font-size:9px}.showcase-feature .text-link{font-size:12px}.project-films{padding-block:42px}.film-grid{grid-template-columns:1fr;gap:25px}.film-copy{padding:23px}.film-meta{font-size:9px}.film-copy>p{font-size:14px}.film-copy h3{font-size:28px}.project-films .section-heading h2,.media-gallery h2,.showcase-practice h2,.engineering-lens h2,.lab-planning h2{font-size:30px;letter-spacing:-.8px}.section-heading>div>p:not(.eyebrow){font-size:14px;max-width:none}.page-home .lab-feature{grid-template-columns:1fr;gap:28px;padding-block:42px}.page-home .lab-feature-copy h2{font-size:32px}.lab-artwork figcaption{padding:12px 14px}.engineering-lens,.lab-planning,.media-gallery{padding-block:43px}.lens-grid,.lab-planning-grid{grid-template-columns:1fr;gap:25px}.lens-grid article,.lab-planning-grid article{padding-top:22px}.lens-grid h3,.lab-planning-grid h3{font-size:22px;margin-top:13px}.lens-grid p,.lab-planning-grid p{margin-bottom:8px}.showcase-practice{padding-block:3px 12px}.showcase-practice .lab-artwork img{aspect-ratio:1672/941}.gallery-dialog{padding:17px;width:94vw}.gallery-dialog-toolbar{gap:10px}.gallery-dialog-toolbar h2{font-size:17px}.gallery-dialog button{padding-inline:12px;font-size:11px}.gallery-dialog-actions{gap:12px}.gallery-dialog-image{height:56dvh}.gallery-open{height:185px;padding:12px}.gallery-item-1 .gallery-open{height:430px}.gallery-item h3{font-size:19px}}
@media(max-width:460px){.gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-item-1{grid-column:auto;grid-row:auto}.gallery-open{height:230px}.gallery-item-1 .gallery-open{height:380px}.gallery-item figcaption>p{min-height:0}.gallery-item figcaption{padding:19px 1px}.showcase-feature{gap:24px;padding:22px 19px}.showcase-feature>img{width:100px;height:217px}.showcase-feature strong{font-size:21px}.showcase-feature p{font-size:11px}.film-copy{padding:21px 19px}.film-meta{font-size:8px}.showcase-intro h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.gallery-open img{transition:none}.gallery-open:hover img{transform:none}}
@media print{.project-films,.gallery-dialog,.showcase-jumps{display:none!important}.showcase-intro{display:block}.showcase-feature{display:none}.lab-artwork{max-width:500px}.lens-grid,.lab-planning-grid{display:block}.lens-grid article,.lab-planning-grid article{break-inside:avoid}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item-1{grid-column:auto;grid-row:auto}.gallery-open,.gallery-item-1 .gallery-open{height:180px}}
