/* Shared phone refinements, loaded after each page's component styles. */
img{max-width:100%}button,a{-webkit-tap-highlight-color:#e5be7655}button{touch-action:manipulation}
@media(max-width:650px){
 header{padding:20px;gap:18px}header nav{display:flex;flex-wrap:wrap;gap:6px 18px;width:100%}header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 .wrap{padding-left:20px;padding-right:20px}.brand{font-size:32px}
 .hero{min-height:0}.hero-copy{padding:34px 22px 105px}.hero h1{font-size:clamp(35px,10vw,44px);line-height:1.08}.hero-copy>p:not(.eyebrow){line-height:1.65}.hero-bottom{left:22px;right:22px;gap:12px;flex-wrap:wrap}.hero-note{display:none}
 .new-album>a{padding:16px;gap:16px}.new-album h2{font-size:30px}.new-album img{height:auto;aspect-ratio:3/2}
 .filter-list button,.places button,.year-jumps a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.filter-list:not(.places){display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.filter-list:not(.places)>button:first-child{grid-column:1/-1}.places{display:grid;grid-template-columns:1fr}.places button{text-align:left;justify-content:flex-start;padding:12px;font-size:15px;line-height:1.45}
 .results-heading .browse-back{min-height:48px;line-height:1.4;padding:13px 16px}.archive-card{padding:18px;min-height:0}.archive-card h3{overflow-wrap:anywhere}
 .postcard{gap:18px}.postcard img{width:100%;height:190px}.postcard h3{font-size:25px}.postcard .eyebrow{font-size:10px}
 .family .pets{gap:0}.family .pets article{padding:18px 10px!important;min-width:0}.family .pets h3,.remembered-pet h3{font-size:26px}.family .pet-album-link{min-height:44px;font-size:13px;line-height:1.5}.family .pets p{font-size:14px}.memorial-grid{gap:24px 14px}
 .pet-album-intro{grid-template-columns:1fr;gap:22px}.album-portrait{grid-row:1;width:150px;height:180px;justify-self:center}.pet-album-intro h1{font-size:48px}.pet-dedication{font-size:20px}.album-summary{margin-top:15px}.family-back{min-height:48px;margin-top:16px;padding:12px 16px}
 .album-intro{padding-top:24px;padding-bottom:22px}.album-intro h1{font-size:clamp(34px,9vw,48px);line-height:1.15;overflow-wrap:anywhere}.album-intro .eyebrow{margin-top:24px;font-size:11px}.album-intro .text-link{display:inline-flex;align-items:center;min-height:44px}.album-body{padding-top:28px}.album-body .section-top{margin-bottom:24px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.photo-open img,.pet-album .photo-open img{height:170px;object-fit:contain}.photo-grid figcaption{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.photo-grid figcaption span{margin-right:6px}.year-heading{gap:10px}.year-heading span{text-align:right}
 dialog#viewer{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));border-radius:0}dialog#viewer[open]{display:flex;flex-direction:column}#close-viewer{min-height:44px;flex-shrink:0;margin-bottom:12px}#large-photo{flex:1;min-height:0;max-height:none;width:100%;object-fit:contain;touch-action:pan-y}.viewer-controls{flex-wrap:wrap;gap:12px;margin-top:12px;flex-shrink:0}.viewer-controls p{order:-1;width:100%;max-height:18dvh;overflow:auto;font-size:14px;line-height:1.45;margin:0}.viewer-controls button{min-height:48px;min-width:112px;font-size:15px}
 footer{gap:16px}footer a{display:inline-flex;align-items:center;min-height:44px}#travel-map{height:55dvh!important;min-height:300px!important}
}
@media(max-width:360px){.wrap{padding-left:16px;padding-right:16px}.postcard{grid-template-columns:1fr}.postcard img{max-width:180px;justify-self:center}.photo-grid{grid-template-columns:1fr}.photo-open img,.pet-album .photo-open img{height:auto;max-height:440px}}
