.foto-section{margin:70px 0 48px;padding:42px;background:#f1f5ff;border-radius:26px;color:#112e65}
.foto-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.foto-eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:#a85b12}.foto-heading h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(34px,4vw,55px);line-height:1.02;margin:12px 0}.foto-heading h2 em{color:#e15d40;font-weight:400}.foto-heading p{font-size:14px;color:#536486;max-width:520px;line-height:1.7}.foto-heading-mark{font-size:90px;line-height:1;color:#ffd438}
.foto-note{padding:13px 17px;background:#fff;border-left:4px solid #f6ba21;border-radius:5px;font-size:12px;line-height:1.55;color:#5b6580}.foto-filters{display:flex;gap:14px;margin-top:24px;align-items:end}.foto-filters label{display:grid;gap:7px;max-width:370px;flex:1;font-size:12px;font-weight:800}.foto-filters input,.foto-filters select{width:100%;height:45px;border:1px solid #c9d7f2;border-radius:10px;background:white;color:#173568;padding:0 13px;font:inherit}.foto-count{font-size:12px;font-weight:700;color:#637393;margin:20px 0 12px}.foto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.foto-card{padding:0;border:0;text-align:left;background:white;border-radius:15px;overflow:hidden;color:#18305d;box-shadow:0 4px 16px #1e3b6b0c;cursor:pointer}.foto-image{display:block;aspect-ratio:1;background:#f5f4f0;overflow:hidden}.foto-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.foto-card:hover img{transform:scale(1.04)}.foto-card-copy{display:grid;gap:5px;padding:14px 15px 16px}.foto-card-copy small,.foto-dialog small{font-size:10px;font-weight:800;color:#9c5c21;text-transform:uppercase;letter-spacing:.04em}.foto-card-copy strong{font-size:14px;line-height:1.3}.foto-card-copy>span{font-size:11px;font-weight:800;color:#1d56b4;margin-top:4px}.foto-more{display:block;margin:28px auto 0;padding:13px 20px;border:1px solid #0b3a92;border-radius:30px;background:white;color:#0b3a92;font-weight:800;cursor:pointer}.foto-more span{font-weight:500;color:#647697;margin-left:8px}.foto-empty{grid-column:1/-1;padding:25px;color:#62728c}
.foto-dialog{max-width:min(900px,92vw);max-height:90vh;padding:0;border:0;border-radius:20px;overflow:auto;color:#173568;box-shadow:0 20px 80px #0005}.foto-dialog::backdrop{background:#071b3bb8}.foto-dialog img{display:block;width:min(570px,90vw);max-height:65vh;object-fit:contain;margin:auto}.foto-dialog>div{padding:20px 26px 26px}.foto-dialog h2{margin:5px 0;font-size:23px}.foto-dialog p{font-size:13px;color:#5a6980}.foto-close{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:38px;height:38px;background:#fff;color:#153774;font-size:25px;cursor:pointer}.foto-card:focus-visible,.foto-more:focus-visible,.foto-close:focus-visible{outline:3px solid #124db6;outline-offset:3px}
@media(max-width:900px){.foto-section{padding:30px}.foto-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.foto-section{padding:23px 16px;margin:45px 0;border-radius:18px}.foto-heading-mark{font-size:50px}.foto-filters{flex-direction:column;align-items:stretch}.foto-filters label{max-width:none}.foto-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.foto-card-copy{padding:11px}.foto-card-copy strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.foto-image img{transition:none}}
