.photo-section{background:#102c42;color:#fff;position:relative}.photo-section .wrap{max-width:1440px}.photo-heading{display:flex;justify-content:space-between;align-items:end;gap:32px}.photo-heading h2{font-size:clamp(36px,4vw,60px);line-height:1.08;letter-spacing:-2px;font-weight:500;margin:20px 0}.photo-heading .eyebrow{color:#85d6ed}.photo-heading>p{color:#b9cedc;font-size:16px;line-height:1.7;margin-bottom:24px}.photo-demo-note{font-size:14px;color:#e8c3a0;margin:6px 0 24px}.photo-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:240px 240px;gap:18px}.photo-tile{position:relative;overflow:hidden;border:0;border-radius:20px;padding:0;text-align:left;cursor:pointer;background:#244156;color:white}.photo-tile:first-child{grid-row:span 2}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.photo-tile:hover img{transform:scale(1.025)}.photo-tile:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#061b30d9);pointer-events:none}.photo-tile-caption{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;display:flex;flex-direction:column;gap:8px}.photo-tile-caption>span{font-size:23px;line-height:1.3;font-weight:500}.photo-tile-caption small{font-size:14px;color:#d9e7f1}.photo-badge{position:absolute;top:14px;left:14px;z-index:1;border:1px solid #ffffff70;border-radius:20px;background:#0c263bd9;color:#fff;font-size:12px;padding:5px 10px}.case-photo{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:0;border-radius:12px;margin-top:22px;padding:0;cursor:pointer;background:#17364b}.case-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-link{background:transparent;border:0;border-bottom:1px solid #84bbd7;color:#077db9;cursor:pointer;font:inherit;font-size:15px;padding:7px 0;margin-top:12px}.photo-link:hover{color:#b75618}#photo-viewer{width:min(1100px,94vw);max-height:94dvh;padding:22px;border:1px solid #ffffff25;border-radius:20px;background:#10293d;color:white;overflow:auto;box-shadow:0 30px 100px #0009}#photo-viewer::backdrop{background:#061420de;backdrop-filter:blur(8px)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.viewer-toolbar h2{font-size:22px;font-weight:500;line-height:1.35;margin:6px 0}.viewer-eyebrow{font-size:12px;letter-spacing:1.5px;color:#a6c4d9}#viewer-close{border:1px solid #7894a766;background:#ffffff0c;color:#fff;border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer;flex-shrink:0}.viewer-stage{position:relative;border-radius:12px;overflow:hidden;background:#061723}.viewer-stage>img{display:block;width:100%;height: min(57dvh,650px);object-fit:contain}.viewer-stage button{position:absolute;top:45%;width:44px;height:52px;border:1px solid #ffffff44;background:#0e293de6;color:white;font-size:32px;border-radius:10px;cursor:pointer}#viewer-prev{left:12px}#viewer-next{right:12px}.viewer-caption{display:flex;justify-content:space-between;gap:20px;margin:14px 0}.viewer-caption p{margin:0 0 5px;font-size:16px}#viewer-demo{font-size:13px;color:#edbd95}#viewer-count{white-space:nowrap;color:#b6cfdf;font-size:14px}#viewer-thumbs{display:flex;gap:10px;overflow:auto}#viewer-thumbs button{padding:0;width:80px;height:54px;flex-shrink:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:none;cursor:pointer}#viewer-thumbs img{width:100%;height:100%;object-fit:cover}#viewer-thumbs button[aria-pressed=true]{border-color:#f49a51}.photo-tile:focus-visible,.case-photo:focus-visible,.photo-link:focus-visible{outline:3px solid #f49a51;outline-offset:4px}body:has(#photo-viewer[open]) main{overflow:hidden!important}@media(max-width:800px){.photo-heading{display:block}.photo-heading h2{letter-spacing:-1px}.photo-heading>p{margin:10px 0}.photo-grid{grid-template-columns:1fr;grid-template-rows:none}.photo-tile,.photo-tile:first-child{grid-row:auto;height:280px}.photo-tile-caption>span{font-size:21px}#photo-viewer{padding:14px}.viewer-toolbar h2{font-size:18px}.photo-tile-caption{left:18px;bottom:18px}}@media(prefers-reduced-motion:reduce){.photo-tile img{transition:none}}
