.photo-intro{padding-top:25px}
.photo-trail,.photo-kicker{margin:0 0 .75rem;font-size:.86rem}
.photo-trail a{color:#226d60}
.photo-kicker{color:#856a39;font-weight:700;letter-spacing:.08em}
.photo-intro h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:#244e44}
.photo-intro p:not(.photo-trail,.photo-kicker){margin:.5rem 0}
.photo-catalog{padding-top:10px}
.photo-filter{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:8px 15px}
.photo-filter label{display:flex;align-items:center;gap:8px;font-weight:650;white-space:nowrap;max-width:100%}
.photo-filter select{font:inherit;width:auto;min-width:0;min-height:44px;border:1px solid #afc6b9;border-radius:7px;color:#245847;background:#fffefa;padding:7px 10px}
#photo-results{font-size:.92rem;margin:16px 0 8px}
#photo-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.photo-card{padding:0;overflow:hidden;border-color:#cbded3;background:#fffefa}
.photo-card-open{width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch;text-align:left;border:0;background:none;color:#244b40;font:inherit;cursor:pointer;padding:9px;gap:9px}
.photo-card-open img{display:block;aspect-ratio:2/3;width:100%;height:auto;object-fit:contain;border-radius:6px;background:#f8efde}
.photo-card-open strong{font-size:.92rem;line-height:1.55;flex:1}
.photo-card-action,.photo-action{font:inherit;font-weight:700;text-align:center;background:#266956;color:#fff;border:1px solid #266956;border-radius:7px;padding:10px 7px;line-height:1.35}
.photo-card-action{font-size:.85rem}
.photo-action{display:block;margin:18px auto 0;cursor:pointer;padding:10px 20px}
.photo-action[hidden]{display:none}
.photo-disclaimer{font-size:.83rem;color:#4e695c}
.photo-card-open:focus-visible,.photo-action:focus-visible,.photo-filter select:focus-visible{outline:3px solid #168996;outline-offset:-3px}
@media(hover:hover){
  .photo-card-open:hover,.photo-filter select:hover{background:#eaf3ec}
  .photo-card-open:hover .photo-card-action,.photo-action:hover{background:#20564c}
}
#card-photo{font-size:.9rem;min-width:0}
#photo-note{font-size:.86rem;margin:0}
#photo-crop{margin:0;padding:4px 0 8px}
#photo-crop label{padding:6px 2px 0;font-size:.86rem}
#photo-crop input{accent-color:#286c5a;padding:0}
@media(max-width:680px){
  #photo-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .photo-card-open{padding:6px;gap:6px}
  .photo-card-open strong,.photo-card-action{font-size:.79rem}
}
