/* A field album: real photographs, easy chapters and a little room to explore. */
.site-map{flex:none;height:auto;min-height:0;aspect-ratio:16/10}.site-map>img{object-fit:cover}.map-pin,.map-pin.is-selected{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;font-size:11px}.map-pin.is-selected b{display:none}.map-pin.is-selected{background:#f5d98c;border:2px solid #254b3c;box-shadow:0 0 0 4px #fff7df80,0 3px 6px #132d2d40}.map-pin.is-explored:after{pointer-events:none}.map-toolbar .text-button{min-height:44px}.spot-card #spot-media{height:clamp(230px,23vw,335px)}.plan-invite p{font-size:14px}
.timeline-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:5%;padding:32px 0 10px;min-height:0}.timeline-side-note{display:none}.timeline-stack-wrap{min-width:0}.timeline-caption{padding:0 20px 0 0}.timeline-caption h3{font-size:clamp(30px,3.3vw,46px);letter-spacing:-.8px}.timeline-caption p{font-size:16px;line-height:1.65;max-width:420px}.date-label{font-size:11px}.timeline-caption .text-button{font-size:14px;min-height:44px}#timeline-media{height:340px;box-shadow:0 8px 22px #3b30422b}.timeline-photo{border:9px solid #fffaf0}#timeline-media .media-caption{font-size:11px;padding:9px 11px;line-height:1.5}.timeline-scrubber{margin-top:27px}.timeline-range-wrap input{height:44px;border-radius:0;background:linear-gradient(90deg,#35533f var(--range-progress,0%),#b5a7bd var(--range-progress,0%)) center/100% 6px no-repeat}.timeline-range-wrap input::-webkit-slider-thumb{height:32px;width:44px;border:1px solid #365740;box-shadow:0 2px 4px #3b304233;background-color:#f0d894}.timeline-range-wrap input::-moz-range-thumb{height:30px;width:42px;border:1px solid #365740;box-shadow:0 2px 4px #3b304233;background-color:#f0d894}#timeline-guide{bottom:24px}.timeline-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 17px;padding:0;overflow:visible}.timeline-labels button{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:0;min-height:85px;padding:15px 18px;background:#f8f1df;border:1px solid #bdb3c2;box-shadow:2px 3px 0 #b1a5ba30;border-radius:3px;text-align:left;letter-spacing:0;text-decoration:none}.timeline-labels button small{font:700 9px/1.4 DogeSans,sans-serif;letter-spacing:1.3px;color:#676b59}.timeline-labels button strong{font:22px/1.1 Caprasimo,Georgia,serif;color:#304b3c}.timeline-labels button.is-selected{background:#e7efda;border-color:#365740;outline:1px solid #365740;text-decoration:none}.timeline-labels button.is-selected:after{display:none}.timeline-labels button:hover{background:#fdf8eb}.moment-picker{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 0 0;border-top:1px solid #b6a9bc;font-size:13px;font-weight:700;color:#53614f}.moment-picker span{flex-shrink:0}.moment-picker select{width:min(100%,490px);min-height:48px;padding:11px 36px 11px 14px;background:#faf4e5;border:1px solid #b5a9b9;border-radius:3px;color:#2f4e3d;font:400 15px/1.4 DogeSans,sans-serif;cursor:pointer}
.opening-follow-up{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;padding:16px 8px 0;transform:rotate(1deg)}.opening-follow-up>span{display:block;width:100%;font:700 15px/1.5 DogeSans,sans-serif;color:#305149}.opening-follow-up .button{font-size:13px;min-height:44px;padding:11px 15px}.replay-opening{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#305149}
.dog-details .gallery-controls{gap:12px;align-items:center}.dog-details .gallery-controls button{width:auto;min-width:105px;min-height:46px;padding:11px 15px;border-radius:3px;font:700 13px/1.4 DogeSans,sans-serif;background:#e7ecd7}.portrait-rescue{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 0}
.shelter-film-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid #d2c8ae}.next-shelter-film{display:block;min-height:52px;padding:0;text-align:left;color:#2f4e3d}.next-shelter-film small{display:block;font:700 9px/1.5 DogeSans,sans-serif;letter-spacing:1.4px;color:#69735d;margin-bottom:6px}.next-shelter-film strong{display:block;font:23px/1.15 Caprasimo,Georgia,serif;max-width:470px}.next-shelter-film:hover strong{text-decoration:underline;text-underline-offset:5px}.back-to-stories{flex-shrink:0;min-height:44px;padding:10px 0;font:700 13px/1.4 DogeSans,sans-serif;text-decoration:underline;text-underline-offset:4px;color:#53624f}
@media(max-width:1000px) and (min-width:761px){.site-map{aspect-ratio:1.4}.timeline-story{gap:4%;grid-template-columns:1fr 1fr}.timeline-caption{padding-right:0}#timeline-media{height:300px}.timeline-caption p{font-size:15px}.timeline-labels button{padding:14px 12px}.timeline-labels button strong{font-size:20px}}
@media(max-width:760px){.site-map{aspect-ratio:1.2}.map-pin,.map-pin.is-selected{width:44px;min-width:44px;height:44px;font-size:10px}.map-pin.is-selected{padding:0}.spot-card #spot-media{height:230px}.timeline-story{display:block;padding:27px 0 0}.timeline-caption{padding:25px 0 0}.timeline-caption h3{font-size:32px}.timeline-caption p{font-size:15px}.timeline-caption .text-button{font-size:13px}#timeline-media{height:290px}.timeline-photo{border-width:7px}#timeline-media .media-caption{font-size:10px;padding:7px 8px}.timeline-scrubber{margin-top:30px}.timeline-labels{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px;overflow:visible}.timeline-labels button{min-height:81px;padding:14px 15px}.timeline-labels button small{font-size:8px;letter-spacing:1.2px}.timeline-labels button strong{font-size:21px}.moment-picker{display:block;padding-top:16px}.moment-picker>span{display:block;font-size:12px;margin-bottom:10px}.moment-picker select{display:block;max-width:100%;width:100%;min-height:49px;font-size:16px;padding:10px 30px 10px 12px}.opening-follow-up{padding-top:15px;gap:8px 16px}.opening-follow-up>span{font-size:14px}.opening-follow-up .button{font-size:12px}.dog-details .gallery-controls button{min-width:0;font-size:12px;padding:11px 13px}.shelter-film-footer{display:block;margin-top:17px;padding-top:16px}.next-shelter-film{width:100%}.next-shelter-film strong{font-size:23px}.back-to-stories{margin-top:12px}.portrait-caption{font-size:16px!important}.portrait-rescue{font-size:13px}.timeline-controls>span{display:block;font-size:11px}}
@media(max-width:360px){.site-map{aspect-ratio:1.08}#timeline-media{height:255px}.timeline-labels button{padding:13px 12px}.timeline-labels button strong{font-size:20px}.dog-details .gallery-controls{gap:7px}.dog-details .gallery-controls button{font-size:12px;padding-inline:10px}.spot-card #spot-media{height:210px}}
@media(prefers-reduced-motion:reduce){.opening-follow-up{transform:none}}
.replay-opening,.next-shelter-film,.back-to-stories{background:transparent;border:0;border-radius:0;box-shadow:none}
@media(max-height:500px) and (min-aspect-ratio:1/1){
 #media-dialog{width:min(940px,calc(100vw - 20px));max-height:calc(100dvh - 18px)}
 #media-dialog .modal-header{padding:12px 17px 10px;gap:12px}#media-dialog .modal-header h2{font-size:23px}.modal-header p{font-size:10px;margin-top:4px}
 #media-body{padding:14px 18px 16px}
 #media-body.is-film{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:15px 20px;align-items:start}
 #media-body.is-film video,#media-body.is-film.is-vertical video{grid-column:1;grid-row:1/span 5;width:100%;height:calc(100dvh - 138px);max-height:none;object-fit:contain;background:#14271f}
 #media-body.is-film>:not(video){grid-column:2;margin:0}.shelter-film-footer{display:block;padding-top:14px}.next-shelter-film strong{font-size:21px}.back-to-stories{margin-top:10px;font-size:12px}#media-body.is-film p{font-size:12px;line-height:1.5}
 #media-body.dog-details{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:15px 20px;align-items:center}
 #media-body.dog-details .dog-portrait{grid-row:1/span 3;grid-column:1;max-height:none;width:100%;margin:0}
 #media-body.dog-details .dog-portrait img{height:calc(100dvh - 170px);max-height:none;width:100%;object-fit:contain}
 #media-body.dog-details>:not(.dog-portrait){grid-column:2;margin:0}.dog-details .gallery-controls{flex-wrap:wrap;gap:7px}.dog-details .gallery-controls button{font-size:12px;min-width:0;padding:10px}.portrait-caption{font-size:17px!important}
}

@media(hover:none){.map-pin:hover{transform:translate(-50%,-50%)}.dog-card:hover{transform:none}}

.next-shelter-film strong{display:flex;align-items:baseline;gap:12px}.next-shelter-film strong>span{flex-shrink:0}
