/* Editorial imagery: photography for context, diagrams for engineering detail. */
.hero{grid-template-columns:1fr 1fr;gap:48px;min-height:650px}.hero-photo{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.photo-frame{overflow:hidden;background:#153340;position:relative}.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:saturate(.86) contrast(1.025)}.hero-photo .photo-frame{height:480px;border-radius:3px}.hero-photo img{object-position:58% 50%}.hero-photo figcaption,.visual-banner figcaption,.hardware-photo figcaption,.architecture-figure figcaption{display:flex;justify-content:space-between;gap:20px;padding:15px 0;font-size:12px;color:#315862;border-bottom:1px solid #c4d3ce}.hero-photo figcaption>span:first-child{font-weight:600}.hero-photo figcaption>span:last-child{font:10px monospace;text-transform:uppercase;letter-spacing:.7px}.visual-banner{margin:0 0 50px}.visual-banner .photo-frame{height:350px;border-radius:3px}.visual-banner figcaption span:first-child{font-size:14px}.visual-banner figcaption span:last-child{font:10px monospace;text-transform:uppercase;align-self:center}.compact-banner .photo-frame{height:180px}.compact-banner{max-width:900px;margin-bottom:30px}.architecture-figure{margin:10px 0 55px;background:#f7f8f4;border:1px solid #c5d2ca;border-radius:3px;overflow:hidden}.architecture-figure img{display:block;width:100%;height:auto}.architecture-figure figcaption{padding:15px 22px;border-top:1px solid #c5d2ca;border-bottom:0;font-size:13px}.architecture-figure figcaption span{font-size:11px}.scenario .architecture-figure{margin:30px 0}.hardware-photo{margin:0}.hardware-photo .photo-frame{height:360px}.image-credit{padding:0 6vw 25px;font-size:10px;color:#677a7c;max-width:1600px;margin:auto}.image-credit a{text-decoration:underline;text-underline-offset:3px}.pageintro{padding-bottom:36px}.section{border-bottom-color:#d4dcd7}.example-callout{border-left:3px solid #aa7654}.btn{border-radius:2px}.visual-banner + .experience-band{margin-top:35px}@media(hover:hover){.hero-photo:hover img,.visual-banner:hover img{transform:scale(1.025)}}@media(max-width:1000px){.hero{gap:30px}.hero-photo .photo-frame{height:440px}}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:28px;min-height:0}.hero-photo{width:100%;max-width:none}.hero-photo .photo-frame{height:310px}.visual-banner .photo-frame{height:240px}.compact-banner .photo-frame{height:160px}.visual-banner{margin-bottom:30px}.hero-photo figcaption,.visual-banner figcaption,.architecture-figure figcaption{gap:8px;flex-wrap:wrap;font-size:11px}.visual-banner figcaption span:first-child{font-size:12px}.architecture-figure{margin:5px 0 30px}.architecture-figure figcaption{padding:12px 15px}.architecture-figure figcaption span{font-size:10px}.hardware-photo .photo-frame{height:280px}.image-credit{font-size:10px}.pageintro{padding-bottom:26px}}@media(prefers-reduced-motion:reduce){.photo-frame img{transition:none}}

.service-photo{width:100%;height:190px;object-fit:cover;display:block;margin:0 0 23px;border-radius:2px}.service-photo+h3{margin-top:0}@media(max-width:760px){.service-photo{height:180px}}

.unique-banner{margin:0 0 35px;max-width:900px}.unique-banner img{display:block;width:100%;height:auto}.service-photo{object-fit:contain;background:#102f3c}.hero .founder-top{padding-bottom:20px}

.diagram-summary{font-size:15px;line-height:1.7;margin:0;padding:18px 22px;max-width:900px;color:#385963;border-top:1px solid #d8e0d8}@media(max-width:760px){.diagram-summary{padding:15px;font-size:14px}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-disclosure{font-size:13px;margin-top:24px}.form-disclosure .text-link{font-size:13px}
